{"version":3,"file":"main.f584e7ab0ae35e11.js","mappings":"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","sources":["./src/app/app-routing.module.ts","./src/app/app.component.ts","./src/app/app.component.html","./src/app/app.module.ts","./src/app/header/header.component.ts","./src/app/header/header.component.html","./src/app/header/notification-list/notification-list.component.ts","./src/app/header/notification-list/notification-list.component.html","./src/app/header/tree-view/tree-view.component.ts","./src/app/header/tree-view/tree-view.component.html","./src/app/home/home.component.ts","./src/app/home/home.component.html","./src/app/main/breadcrumb/breadcrumb.component.ts","./src/app/main/breadcrumb/breadcrumb.component.html","./src/app/main/filter/filter.component.ts","./src/app/main/filter/filter.component.html","./src/app/main/main-menu/main-menu.component.ts","./src/app/main/main-menu/main-menu.component.html","./src/app/main/main.component.ts","./src/app/main/main.component.html","./src/app/main/mainview/column-settings-dialog/column-settings-dialog.component.ts","./src/app/main/mainview/column-settings-dialog/column-settings-dialog.component.html","./src/app/main/mainview/innerview/document-manager/document-details/inner-panes/view-pane/dwg-viewer/dwg-viewer.component.ts","./src/app/main/mainview/innerview/document-manager/document-details/inner-panes/view-pane/dwg-viewer/dwg-viewer.component.html","./src/app/main/mainview/innerview/document-manager/document-details/inner-panes/view-pane/office-viewer/office-viewer.component.ts","./src/app/main/mainview/innerview/document-manager/document-details/inner-panes/view-pane/office-viewer/office-viewer.component.html","./src/app/main/mainview/innerview/innerview.component.ts","./src/app/main/mainview/innerview/innerview.component.html","./src/app/main/mainview/mainview.component.ts","./src/app/main/mainview/mainview.component.html","./src/app/main/side-panel/bimmodel-filter/bimmodel-filter.component.ts","./src/app/main/side-panel/bimmodel-filter/bimmodel-filter.component.html","./src/app/main/side-panel/bimmodel-preset/bimmodel-preset.component.ts","./src/app/main/side-panel/bimmodel-preset/bimmodel-preset.component.html","./src/app/main/side-panel/explorer/explorer.component.ts","./src/app/main/side-panel/explorer/explorer.component.html","./src/app/main/side-panel/explorer/folder-tree/folder-tree.component.ts","./src/app/main/side-panel/explorer/folder-tree/folder-tree.component.html","./src/app/main/side-panel/side-panel.component.ts","./src/app/main/side-panel/side-panel.component.html","./src/app/main/space-asset-filter/space-asset-filter.component.ts","./src/app/main/space-asset-filter/space-asset-filter.component.html","./src/app/mobilesync/mobilesync.component.ts","./src/app/mobilesync/mobilesync.component.html","./src/app/modules/authentication/auth.service.ts","./src/app/modules/authentication/authentication.module.ts","./src/app/modules/authentication/components/login/login.component.ts","./src/app/modules/authentication/components/login/login.component.html","./src/app/modules/authentication/oauth/oauth.component.ts","./src/app/modules/authentication/oauth/oauth.component.html","./src/app/modules/checklist/checklist-controls/checklist-controls.component.ts","./src/app/modules/checklist/checklist-controls/checklist-controls.component.html","./src/app/modules/checklist/checklist-form/checklist-form-details/checklist-form-details.component.ts","./src/app/modules/checklist/checklist-form/checklist-form-details/checklist-form-details.component.html","./src/app/modules/checklist/checklist.resolve.ts","./src/app/modules/project-manager-settings/Onm/assign-pptemplates/assign-pptemplates.component.ts","./src/app/modules/project-manager-settings/Onm/assign-pptemplates/assign-pptemplates.component.html","./src/app/modules/project/project-children/project.resolve.ts","./src/app/modules/shared/BaseComponent.ts","./src/app/modules/shared/assets-easyweb/assets-easyweb.component.ts","./src/app/modules/shared/assets-easyweb/assets-easyweb.component.html","./src/app/modules/shared/assets-list/assets-list.component.ts","./src/app/modules/shared/assets-list/assets-list.component.html","./src/app/modules/shared/common-menu-controls/common-menu-controls.component.ts","./src/app/modules/shared/common-menu-controls/common-menu-controls.component.html","./src/app/modules/shared/confirmation-popup/confirmation-popup.component.ts","./src/app/modules/shared/confirmation-popup/confirmation-popup.component.html","./src/app/modules/shared/grid-loader/grid-loader.component.ts","./src/app/modules/shared/grid-loader/grid-loader.component.html","./src/app/modules/shared/ifc-mapping/ifc-mapping.component.ts","./src/app/modules/shared/ifc-mapping/ifc-mapping.component.html","./src/app/modules/shared/linked-models-popup/linked-models-popup.component.ts","./src/app/modules/shared/linked-models-popup/linked-models-popup.component.html","./src/app/modules/shared/loader/loader.component.ts","./src/app/modules/shared/loader/loader.component.html","./src/app/modules/shared/message/message.component.ts","./src/app/modules/shared/message/message.component.html","./src/app/modules/shared/name-desc-popup/name-desc-popup.component.ts","./src/app/modules/shared/name-desc-popup/name-desc-popup.component.html","./src/app/modules/shared/organization.resolve.ts","./src/app/modules/shared/pipes/ArraySort.pipe.ts","./src/app/modules/shared/pipes/BytesToSize.pipe.ts","./src/app/modules/shared/pipes/SafeHtmlPipe.pipe.ts","./src/app/modules/shared/pipes/enum-to-array.pipe.ts","./src/app/modules/shared/project-checklists/project-checklists.component.ts","./src/app/modules/shared/project-checklists/project-checklists.component.html","./src/app/modules/shared/qrcode-barcode-component/qrcode-barcode-component.component.ts","./src/app/modules/shared/qrcode-barcode-component/qrcode-barcode-component.component.html","./src/app/modules/shared/services/ability.service.ts","./src/app/modules/shared/services/auth-guard.service.ts","./src/app/modules/shared/services/calendar.service.ts","./src/app/modules/shared/services/cloner.service.ts","./src/app/modules/shared/services/common.service.ts","./src/app/modules/shared/shared.module.ts","./src/app/modules/shared/spaces-list/spaces-list.component.ts","./src/app/modules/shared/spaces-list/spaces-list.component.html","./src/app/modules/shared/system-roles-view/system-roles-view.component.ts","./src/app/modules/shared/system-roles-view/system-roles-view.component.html","./src/app/modules/shared/tickets-grid-view/tickets-grid-view.component.ts","./src/app/modules/shared/tickets-grid-view/tickets-grid-view.component.html","./src/app/modules/shared/userchecklist-grid/userchecklist-grid.component.ts","./src/app/modules/shared/userchecklist-grid/userchecklist-grid.component.html","./src/app/modules/shared/userchecklist-menu-control/userchecklist-menu-control.component.ts","./src/app/modules/shared/userchecklist-menu-control/userchecklist-menu-control.component.html","./src/app/privacy-policy/privacy-policy.component.ts","./src/app/privacy-policy/privacy-policy.component.html","./src/app/public/transmittal-download/transmittal-download.component.ts","./src/app/services/JwtInterceptor.ts","./src/app/services/asset.service.ts","./src/app/services/azure-blob.service.ts","./src/app/services/base-service.ts","./src/app/services/breadcrumb.service.ts","./src/app/services/checklist-response.service.ts","./src/app/services/column-selection.service.ts","./src/app/services/file-storage.service.ts","./src/app/services/file-system-storage.service.ts","./src/app/services/filter.service.ts","./src/app/services/folder.service.ts","./src/app/services/global.service.ts","./src/app/services/ifc-service.ts","./src/app/services/localdb/JSStore/asset-jsstore.service.ts","./src/app/services/localdb/JSStore/checklist-jsstore.service.ts","./src/app/services/localdb/JSStore/jsstoreconnection.ts","./src/app/services/localdb/JSStore/jsstoredbservice.service.ts","./src/app/services/localdb/JSStore/login-jsstore.service.ts","./src/app/services/localdb/JSStore/project-jsstore.service.ts","./src/app/services/localdb/JSStore/space-jsstore.service.ts","./src/app/services/localdb/JSStore/sync-jsstore.service.ts","./src/app/services/localdb/JSStore/ticket-jsstore.service.ts","./src/app/services/localdb/JSStore/user-jsstore.service.ts","./src/app/services/menu.service.ts","./src/app/services/mobilesync.service.ts","./src/app/services/network/online-offline.service.ts","./src/app/services/onm/project-onm.service.ts","./src/app/services/organization.service.ts","./src/app/services/project.service.ts","./src/app/services/scope.service.ts","./src/app/services/signalr/signalr.service.ts","./src/app/services/storage.service.ts","./src/app/services/sw-update.service.ts","./src/app/services/transmittal.service.ts","./src/app/services/upload-job.service.ts","./src/app/services/upload-pane.service.ts","./src/app/services/user.service.ts","./src/app/sw-update/sw-update.component.ts","./src/app/sw-update/sw-update.component.html","./src/app/ticket-download/ticket-download.component.ts","./src/environments/dynamicenvironment.ts","./src/environments/environment.ts","./src/main.ts","./src/shared/Models/API/IFCCategoryModel.ts","./src/shared/Models/API/IFCFloorsModel.ts","./src/shared/Models/API/Project.ts","./src/shared/Models/API/Ticket.ts","./src/shared/Models/API/Workflow.ts","./src/shared/Models/API/WorkflowUserGroup.ts","./src/shared/Models/API/attachment.ts","./src/shared/Models/API/checkListTag.ts","./src/shared/Models/API/checkListTagModel.ts","./src/shared/Models/API/checklist-check.ts","./src/shared/Models/API/checklist-naming-rule.ts","./src/shared/Models/API/checklist-number-setting.ts","./src/shared/Models/API/checklist.ts","./src/shared/Models/API/company.ts","./src/shared/Models/API/companyCategory.ts","./src/shared/Models/API/department.ts","./src/shared/Models/API/document.ts","./src/shared/Models/API/documentCategory.ts","./src/shared/Models/API/documentStatus.ts","./src/shared/Models/API/documentadditionaInfo.ts","./src/shared/Models/API/documentnote.ts","./src/shared/Models/API/documentstatuslist.ts","./src/shared/Models/API/filtermodel.ts","./src/shared/Models/API/folder.ts","./src/shared/Models/API/role.ts","./src/shared/Models/API/user-checklist.ts","./src/shared/Models/Asset.ts","./src/shared/Models/Column-Settings.ts","./src/shared/Models/CurrentStatus.ts","./src/shared/Models/Internal/BlobFileModel.ts","./src/shared/Models/Internal/MessageModel.ts","./src/shared/Models/Internal/data-manager-settings-type.ts","./src/shared/Models/Internal/job.ts","./src/shared/Models/Internal/meta-data.ts","./src/shared/Models/Internal/objecttype.ts","./src/shared/Models/Internal/settings-type.enum.ts","./src/shared/Models/Roles.enum.ts","./src/shared/Models/SortModel.ts","./src/shared/Models/SystemTicketTag.ts","./src/shared/Models/Timing.ts","./src/shared/Models/WorkflowStatusSettings.ts","./src/shared/Models/checklist-attributes.enum.ts","./src/shared/Models/documentApprover.ts","./src/shared/Models/onm/onm.models.ts","./src/shared/Models/organization.ts","./src/shared/Models/projectlocation.ts","./src/shared/Models/scope-tree.ts","./src/shared/Models/space-group.ts","./src/shared/Models/space-update-code.ts","./src/shared/Models/space.ts","./src/shared/Models/transmittals/tranmittals.model.ts","./src/shared/Models/user.ts","./src/shared/Models/useraccess.ts","./src/shared/UI/DocumentStatusItem.ts","./src/shared/UI/PermissionEnums.ts","./src/shared/UI/PermissionModel.ts","./src/shared/UI/SpaceDetailsViewType.ts","./src/shared/UI/ViewTypes.ts","./src/shared/UI/feature-type.enum.ts","./src/shared/UI/grid-column-option.ts","./src/shared/components/import-shell/import-shell.component.ts","./src/shared/components/import-shell/import-shell.component.html","./src/shared/components/pl-uploader/pl-uploader.component.ts","./src/shared/components/pl-uploader/pl-uploader.component.html","./src/shared/components/project-documents/project-documents.component.ts","./src/shared/components/project-documents/project-documents.component.html","./src/shared/components/time-picker/time-picker.component.ts","./src/shared/components/time-picker/time-picker.component.html","./src/shared/components/upload-pane/upload-pane.component.ts","./src/shared/components/upload-pane/upload-pane.component.html","./src/shared/constants/key-constants.ts","./src/shared/directives/debounce-directive/abstract-debounce.directive.ts","./src/shared/directives/debounce-directive/debounce-key-up.directive.ts","./src/shared/utilities/BlobUtil.ts","./src/shared/utilities/Constants.ts","./src/shared/utilities/FileUtil.ts","./src/shared/utilities/PermissionHelper.ts","./src/shared/utilities/PermissionUtil.ts","./src/shared/utilities/SortUtil.ts","./src/shared/utilities/dateUtil.ts","./src/translations/translateloader.ts","./src/assets/i18n/settings/ lazy ^\\.\\/.*\\.json$ namespace object"],"sourcesContent":["import { NgModule } from '@angular/core';\r\nimport { Routes, RouterModule } from '@angular/router';\r\nimport { MainViewType } from 'src/shared/UI/ViewTypes';\r\nimport { HomeComponent } from './home/home.component';\r\nimport { LoginComponent } from './modules/authentication/components/login/login.component';\r\n\r\nimport { OauthComponent } from './modules/authentication/oauth/oauth.component';\r\nimport { OrganizationHierarchyResolve } from './modules/shared/organization.resolve';\r\nimport { AuthGuardService } from './modules/shared/services/auth-guard.service';\r\nimport { PrivacyPolicyComponent } from './privacy-policy/privacy-policy.component';\r\nimport { MobilesyncComponent } from './mobilesync/mobilesync.component';\r\nimport { TicketDownloadComponent } from './ticket-download/ticket-download.component';\r\nimport { TransmittalDownloadComponent } from './public/transmittal-download/transmittal-download.component';\r\n\r\nconst routes: Routes = [\r\n\r\n {\r\n path: 'login',\r\n component: LoginComponent,\r\n },\r\n {\r\n path: 'oauth',\r\n component: OauthComponent,\r\n },\r\n {\r\n path: 'privacy',\r\n component: PrivacyPolicyComponent,\r\n },\r\n {\r\n path: 'mobilesync',\r\n component: MobilesyncComponent,\r\n canActivate: [AuthGuardService],\r\n resolve: {\r\n data: OrganizationHierarchyResolve\r\n },\r\n },\r\n //for older emails for print.Not valid anymore\r\n {\r\n path: 'ticket/print/:id/download',\r\n component:TicketDownloadComponent\r\n },\r\n {\r\n path: 'transmittal/:id/download',\r\n component:TransmittalDownloadComponent\r\n },\r\n //latest path for print should be used\r\n {\r\n path: 'jobs/print/:id/download',\r\n component:TicketDownloadComponent\r\n },\r\n {\r\n path: '',\r\n component: HomeComponent,\r\n canActivate: [AuthGuardService],\r\n data: { permission: [\"Home\"] },\r\n resolve: {\r\n data: OrganizationHierarchyResolve\r\n },\r\n children: [\r\n {\r\n path: 'projects', loadChildren: () => import('./modules/building/building.module').then(m => m.BuildingModule),\r\n data: { menuType: MainViewType.PROJECTS, permission: [\"Projects\"] },\r\n canActivate: [AuthGuardService],\r\n\r\n },\r\n {\r\n path: 'datamanagersettings', loadChildren: () => import('./modules/data-manager-settings/data-manager-settings.module').then(m => m.DataManagerSettingsModule),\r\n data: { menuType: MainViewType.DATA_MANAGER_SETTINGS, permission: [\"Settings\"] },\r\n canActivate: [AuthGuardService]\r\n },\r\n {\r\n path: 'myProfile', loadChildren: () => import('./modules/myProfile/myProfile.module').then(m => m.MyProfileModule),\r\n data: { menuType: MainViewType.MY_PROFILE, permission: [\"Settings\"] },\r\n canActivate: [AuthGuardService]\r\n },\r\n ]\r\n },\r\n {\r\n path: 'public', loadChildren: () => import('./modules/public-links/public-links.module').then(m => m.PublicLinksModule)\r\n },\r\n {\r\n path: 'organization/:id/mobileprojects', loadChildren: () => import('./modules/mobile-projects-view/mobile-projects-view.module').then(m => m.MobileProjectsViewModule),\r\n canActivate: [AuthGuardService],\r\n resolve: {\r\n data: OrganizationHierarchyResolve\r\n },\r\n },\r\n {\r\n path: '**',\r\n redirectTo: '/'\r\n },\r\n];\r\n\r\n@NgModule({\r\n imports: [RouterModule.forRoot(routes, {\r\n paramsInheritanceStrategy: 'always'\r\n })],\r\n exports: [RouterModule]\r\n})\r\nexport class AppRoutingModule { }\r\n","import { Component, OnDestroy, OnInit } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { SwUpdate } from '@angular/service-worker';\r\nimport { DEFAULT_INTERRUPTSOURCES, Idle } from '@ng-idle/core';\r\nimport { Keepalive } from '@ng-idle/keepalive';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { OAuthService } from 'angular-oauth2-oidc';\r\nimport { JwksValidationHandler } from 'angular-oauth2-oidc-jwks';\r\nimport { Subscription } from 'rxjs';\r\nimport { filter } from 'rxjs/operators';\r\nimport { environment } from 'src/environments/environment';\r\nimport { Organization } from 'src/shared/Models/organization';\r\nimport { User } from 'src/shared/Models/user';\r\nimport { AuthService } from './modules/authentication/auth.service';\r\nimport { JSStoreDBService } from './services/localdb/JSStore/jsstoredbservice.service';\r\nimport { SyncJsstoreService } from './services/localdb/JSStore/sync-jsstore.service';\r\nimport { OnlineOfflineService } from './services/network/online-offline.service';\r\nimport { StorageService } from './services/storage.service';\r\nimport { SwUpdateService } from './services/sw-update.service';\r\nimport { UserService } from './services/user.service';\r\n@Component({\r\n selector: 'app-root',\r\n templateUrl: './app.component.html'\r\n})\r\n\r\nexport class AppComponent implements OnInit,OnDestroy {\r\n title = 'app';\r\n idleState = 'Not started.';\r\n timedOut = false;\r\n lastPing?: Date = null;\r\n user: User;\r\n private onlineOfflinesubcription: Subscription;\r\n public isMobile:boolean= false;\r\n constructor(\r\n private auth: AuthService,\r\n private idle: Idle,\r\n private keepalive: Keepalive,\r\n private router: Router,\r\n private readonly translate: TranslateService, private oauthService: OAuthService, private userService: UserService\r\n ,private JsStoreService:JSStoreDBService,private onlineOfflineService:OnlineOfflineService,\r\n private storageservice:StorageService, private syncJsstoreService:SyncJsstoreService,\r\n private swUpdateService: SwUpdateService\r\n ) {\r\n this.isMobile= this.storageservice.getIsMobile();\r\n this.translate.setDefaultLang('en-GB');\r\n this.JsStoreService.initDB(environment.OFFLINE_DB_NAME);\r\n if (environment.AuthenticationType.toLowerCase() == \"adfs\") {\r\n\r\n this.initializeOAuthService();\r\n }\r\n this.onlineOfflinesubcription=this.onlineOfflineService.connectionChanged.subscribe(isConnected => {\r\n if(isConnected!=null)\r\n {\r\n if(this.storageservice.getIsMobile() && isConnected)\r\n {\r\n if(this.auth.getLoggedInStatus())\r\n {\r\n this.syncJsstoreService.StartSynchronization(this.auth.getUser());\r\n }\r\n }\r\n }\r\n });\r\n this.registerForSWUpdates();\r\n \r\n }\r\n initializeOAuthService() {\r\n this.oauthService.configure({\r\n redirectUri: window.location.origin + \"/oauth\",\r\n clientId: environment.adfsClientId,\r\n requireHttps: false,\r\n loginUrl: environment.adfsUrl + '/oauth2/authorize',\r\n issuer: environment.adfsUrl,\r\n scope: \"openid profile email user_impersonation\",\r\n responseType: 'id_token token',\r\n silentRefreshRedirectUri: window.location.origin + \"/silentrefresh.html\",\r\n\r\n oidc: true,\r\n logoutUrl: environment.adfsUrl + '/ls/?wa=wsignoutcleanup1.0&wreply=' + location.protocol + '//' + location.hostname + (location.port ? ':' + location.port : ''), postLogoutRedirectUri: location.protocol + '//' + location.hostname + (location.port ? ':' + location.port : '')\r\n });\r\n this.oauthService.tokenValidationHandler = new JwksValidationHandler(); this.oauthService.setStorage(localStorage);\r\n if (!this.oauthService.hasValidAccessToken()) {\r\n this.oauthService.loadDiscoveryDocumentAndTryLogin().then(() => {\r\n if (!this.oauthService.hasValidAccessToken()) {\r\n this.oauthService.initImplicitFlow();\r\n }\r\n else {\r\n this.LogUserIn();\r\n\r\n }\r\n }\r\n\r\n\r\n\r\n )\r\n }\r\n }\r\n\r\n public LogUserIn() {\r\n var claims = this.oauthService.getIdentityClaims();\r\n const access_token = this.oauthService.getAccessToken();\r\n var expires = this.oauthService.getAccessTokenExpiration();\r\n if (access_token != null && access_token.length > 0) {\r\n var claims = this.oauthService.getIdentityClaims();\r\n var accesstoken = access_token;\r\n\r\n\r\n\r\n var username: string = claims[environment.EmailClaim];\r\n var newUser: User = new User();\r\n newUser.token = accesstoken;\r\n newUser.expires = expires;\r\n this.auth.storeToken(newUser);\r\n\r\n this.userService.getUserbyname(username).subscribe((user: User) => {\r\n if (user != null && user.id > 0) {\r\n\r\n newUser.id = user.id;\r\n newUser.organization = new Organization();\r\n newUser.organization.id = user.organization.id;\r\n newUser.roles = user.roles;\r\n this.auth.storeToken(newUser);\r\n this.router.navigate([\"projects\"]);\r\n }\r\n else {\r\n this.auth.logout();\r\n this.oauthService.logOut();\r\n }\r\n });\r\n }\r\n }\r\n\r\n\r\n ngOnInit() {\r\n this.auth.SetAbilityOfUserByPermissions();\r\n if (this.auth.getLoggedInStatus()) {\r\n this.user = this.auth.getUser();\r\n }\r\n this.auth.LoggedInStatusObservable().subscribe(_status => {\r\n if (_status) {\r\n this.ConfigureIdleSettings();\r\n } else {\r\n this.idle.stop();\r\n }\r\n });\r\n }\r\n\r\n ConfigureIdleSettings() {\r\n // sets an idle timeout of 10 seconds. setIdle accepets time in seconds;\r\n this.idle.setIdle(10);\r\n // sets a timeout period of 1 hour. after 1 hour and 10 seconds of inactivity, the user will be considered timed out.\r\n this.idle.setTimeout(1 * 60 * 60);\r\n // sets the default interrupts, in this case, things like clicks, scrolls, touches to the document\r\n this.idle.setInterrupts(DEFAULT_INTERRUPTSOURCES);\r\n\r\n /* following are the callbacks; use it accordingly\r\n Uncomment the callbacks if needed;\r\n */\r\n\r\n this.idle.onTimeout.subscribe(async () => {\r\n this.idleState = 'Timed out!';\r\n this.timedOut = true;\r\n\r\n\r\n\r\n if (environment.AuthenticationType.toLowerCase() == \"adfs\") {\r\n this.auth.logout();\r\n this.oauthService.logOut();\r\n }\r\n else {\r\n\r\n this.auth.logout();\r\n\r\n\r\n\r\n this.router.navigate(['/login'])\r\n }\r\n\r\n });\r\n\r\n this.idle.onIdleEnd.subscribe(() => {\r\n this.idleState = 'No longer idle.';\r\n this.reset();\r\n });\r\n\r\n this.idle.onIdleStart.subscribe(() => {\r\n this.idleState = 'You\\'ve gone idle!';\r\n });\r\n\r\n // this.idle.onTimeoutWarning.subscribe((countdown) => {\r\n // this.idleState = 'You will time out in ' + countdown + ' seconds!'\r\n // });\r\n\r\n /* sets the ping interval to 5 minutes\r\n every 5 minutes it checks whether expiry is nearing,\r\n if expiry is going to happen then go fetch the new access token\r\n */\r\n this.keepalive.interval(5 * 60);\r\n\r\n this.keepalive.onPing.subscribe(() => {\r\n this.lastPing = new Date();\r\n //it is based on the threshold the refresh token is requested;\r\n var maxThreshold = new Date();\r\n maxThreshold.setMinutes(maxThreshold.getMinutes() + 10);\r\n var _user = this.auth.getUser();\r\n if (_user != null && _user.expires != null) {\r\n var expiry = new Date(_user.expires * 1000);\r\n if (expiry <= maxThreshold) {\r\n\r\n if (environment.AuthenticationType.toLowerCase() == \"adfs\") {\r\n this.oauthService\r\n .silentRefresh()\r\n .then(info => console.debug('refresh ok', info))\r\n .catch(err => console.error('refresh error', err));\r\n\r\n }\r\n else {\r\n this.auth.RequestRefreshedToken();\r\n\r\n }\r\n\r\n }\r\n }\r\n });\r\n\r\n this.reset();\r\n }\r\n\r\n\r\n reset() {\r\n this.idle.watch();\r\n this.idleState = 'Started.';\r\n this.timedOut = false;\r\n }\r\n\r\n\r\n ngOnDestroy(): void {\r\n if (this.onlineOfflinesubcription && !this.onlineOfflinesubcription.closed) {\r\n this.onlineOfflinesubcription.unsubscribe();\r\n }\r\n }\r\n\r\n private registerForSWUpdates(){\r\n if(this.isMobile){\r\n // check the service worker for updates\r\n this.swUpdateService.checkForAvailableUpdates();\r\n }\r\n }\r\n}\r\n","\r\n \r\n \r\n ","import { BrowserModule } from '@angular/platform-browser';\r\nimport { APP_INITIALIZER, Injector, NgModule } from '@angular/core';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { BrowserAnimationsModule } from '@angular/platform-browser/animations';\r\nimport { ToastrModule } from 'ngx-toastr';\r\nimport { CookieService } from 'ngx-cookie-service';\r\nimport { AppComponent } from './app.component';\r\nimport { HomeComponent } from './home/home.component';\r\nimport { HeaderComponent } from './header/header.component';\r\nimport { MainComponent } from './main/main.component';\r\nimport { FilterComponent } from './main/filter/filter.component';\r\nimport { MainviewComponent } from './main/mainview/mainview.component';\r\nimport { InnerviewComponent } from './main/mainview/innerview/innerview.component';\r\nimport { TreeViewComponent } from './header/tree-view/tree-view.component';\r\nimport { SidePanelComponent } from './main/side-panel/side-panel.component';\r\nimport { MainMenuComponent } from './main/main-menu/main-menu.component';\r\nimport { ExplorerComponent } from './main/side-panel/explorer/explorer.component';\r\nimport { AppRoutingModule } from './app-routing.module';\r\nimport { AuthenticationModule } from './modules/authentication/authentication.module';\r\nimport { JwtInterceptor } from './services/JwtInterceptor';\r\nimport { SharedModule } from './modules/shared/shared.module';\r\nimport toastConfig from \"src/shared/utilities/toast-config\";\r\nimport { AbilityModule } from '@casl/angular'\r\nimport { UploadPaneComponent } from '../shared/components/upload-pane/upload-pane.component';\r\nimport { NgIdleKeepaliveModule } from '@ng-idle/keepalive'; // this includes the core NgIdleModule but includes keepalive providers for easy wireup\r\nimport { TranslateLoader, TranslateModule } from '@ngx-translate/core';\r\nimport { TranslateHttpLoader } from '@ngx-translate/http-loader';\r\nimport { DatePipe } from '@angular/common';\r\nimport { environment } from '../environments/environment';\r\n\r\n\r\nimport { OrganizationHierarchyResolve } from './modules/shared/organization.resolve';\r\n\r\nimport { ProjectResolve } from './modules/project/project-children/project.resolve';\r\n\r\nimport { ChecklistTagResolve, TagChecklistResolve } from './modules/checklist/checklist.resolve';\r\nimport { OAuthModule, OAuthService } from 'angular-oauth2-oidc';\r\nimport { OauthComponent } from './modules/authentication/oauth/oauth.component';\r\nimport { PrivacyPolicyComponent } from './privacy-policy/privacy-policy.component';\r\nimport { ServiceWorkerModule, SwRegistrationOptions } from '@angular/service-worker';\r\nimport { MobilesyncComponent } from './mobilesync/mobilesync.component';\r\nimport { CustomTranslateLoader } from 'src/translations/translateloader';\r\nimport { SwUpdateComponent } from './sw-update/sw-update.component';\r\nimport { TicketDownloadComponent } from './ticket-download/ticket-download.component';\r\nimport { DebounceKeyUpDirective } from 'src/shared/directives/debounce-directive/debounce-key-up.directive';\r\nimport { AbstractDebounceDirective } from 'src/shared/directives/debounce-directive/abstract-debounce.directive';\r\nimport { SpaceAssetFilterComponent } from './main/space-asset-filter/space-asset-filter.component';\r\nimport { BimmodelFilterComponent } from './main/side-panel/bimmodel-filter/bimmodel-filter.component';\r\nimport { resolve } from 'dns';\r\nimport { KeyConstants } from 'src/shared/constants/key-constants';\r\nimport { User } from 'src/shared/Models/user';\r\nimport { from } from 'rxjs';\r\nimport { map } from 'rxjs/operators';\r\nimport { OnlineOfflineService } from './services/network/online-offline.service';\r\nimport { TransmittalDownloadComponent } from './public/transmittal-download/transmittal-download.component';\r\nimport { ColumnSettingsDialogComponent } from './main/mainview/column-settings-dialog/column-settings-dialog.component';\r\nimport { StorageService } from './services/storage.service';\r\nimport { HTTP_INTERCEPTORS, HttpClient, HttpClientModule } from '@angular/common/http';\r\nimport { BimmodelPresetComponent } from './main/side-panel/bimmodel-preset/bimmodel-preset.component';\r\ndeclare var window: any;\r\n\r\n@NgModule({\r\n declarations: [\r\n AppComponent,\r\n HomeComponent,\r\n OauthComponent,\r\n MainComponent,\r\n FilterComponent,\r\n ColumnSettingsDialogComponent,\r\n MainviewComponent,\r\n InnerviewComponent,\r\n SidePanelComponent,\r\n MainMenuComponent,\r\n \r\n PrivacyPolicyComponent,\r\n MobilesyncComponent,\r\n SwUpdateComponent, \r\n TicketDownloadComponent,\r\n TransmittalDownloadComponent,\r\n DebounceKeyUpDirective,\r\n SpaceAssetFilterComponent,\r\n BimmodelFilterComponent,\r\n BimmodelPresetComponent\r\n ],\r\n imports: [\r\n BrowserModule.withServerTransition({ appId: 'ng-cli-universal' }),\r\n HttpClientModule,\r\n FormsModule,\r\n AppRoutingModule,\r\n AuthenticationModule,\r\n SharedModule,\r\n\r\n BrowserAnimationsModule, // required animations module\r\n ToastrModule.forRoot({ timeOut: 3000,\r\n positionClass: 'toast-top-center',\r\n preventDuplicates: true,}),\r\n AbilityModule.forRoot(),\r\n NgIdleKeepaliveModule.forRoot(),\r\n TranslateModule.forRoot({\r\n loader: {\r\n provide: TranslateLoader,\r\n useClass:CustomTranslateLoader\r\n // useFactory: (createTranslateLoader),\r\n // deps: [HttpClient],\r\n\r\n },\r\n\r\n defaultLanguage:'en-GB',\r\n }),\r\n OAuthModule.forRoot(),\r\n ServiceWorkerModule.register('ngsw-worker.js')\r\n ],\r\n exports:[\r\n HomeComponent,\r\n OAuthModule,\r\n DebounceKeyUpDirective\r\n ],\r\n providers: [ \r\n {\r\n provide: HTTP_INTERCEPTORS,\r\n useClass: JwtInterceptor,\r\n multi: true\r\n \r\n },\r\n {\r\n provide:APP_INITIALIZER,\r\n useFactory:InitializeApp,\r\n multi:true,\r\n deps:[CookieService,HttpClient,OnlineOfflineService]\r\n },\r\n {\r\n provide: SwRegistrationOptions,\r\n useFactory: () => ({enabled: environment.production,registrationStrategy:'registerImmediately'}),\r\n }, \r\n CookieService,DatePipe,OrganizationHierarchyResolve,ProjectResolve,ChecklistTagResolve,TagChecklistResolve,StorageService],\r\n bootstrap: [AppComponent]\r\n})\r\n\r\nexport class AppModule {\r\n\r\n constructor() {}\r\n}\r\nexport function createTranslateLoader(http: HttpClient) {\r\n return new TranslateHttpLoader(http, environment.SETTINGS_LOCALIZATION_PATH, '.json');\r\n\r\n}\r\n\r\n//Function is an initializer before App component kind of resolver\r\n//Basically now takes the url from storage and stores in window config\r\n//Only used when really somebody is logged in. Else login will do the init of it after logging in\r\n\r\nexport function InitializeApp(cookie:CookieService,httpClient:HttpClient,onlineOfflineService:OnlineOfflineService): () => Promise\r\n\r\n{\r\n \r\n //If user is already logged in, make sure you take the url and set in config file before anything happens\r\n var value = cookie.get(KeyConstants._USER);\r\n if(value != null && value != undefined && value.length >0)\r\n {\r\n var user: User = JSON.parse(value);\r\n if(user.id > 0)\r\n {\r\n return ()=> from(\r\n fetch('assets/client-config.json').then(function(response) {\r\n return response.json();\r\n })\r\n ).pipe(\r\n map((config) => {\r\n config.WebAPIURL= config.WebAPIURL.replace(\"#WEBAPIURL#\",user.url + \":\" + environment.APIPORT + \"/api\");\r\n config.WEB_URL= config.WEB_URL.replace(\"#WEBURL#\",user.url + \"/api\");\r\n window.config = config;\r\n onlineOfflineService.testConnectionStatus().subscribe(()=>{\r\n \r\n \r\n onlineOfflineService.UpdateConnectionStatus(true);\r\n onlineOfflineService.StartConnectionStatusUpdate();\r\n \r\n\r\n },err =>{\r\n \r\n onlineOfflineService.UpdateConnectionStatus(false);\r\n onlineOfflineService.StartConnectionStatusUpdate();\r\n \r\n })\r\n\r\n return \r\n })).toPromise();\r\n \r\n \r\n \r\n \r\n \r\n \r\n }\r\n else\r\n {\r\n return () =>new Promise((resolve,reject)=>{\r\n resolve(1);\r\n })\r\n }\r\n \r\n }\r\n else\r\n {\r\n return () =>new Promise((resolve,reject)=>{\r\n resolve(1);\r\n })\r\n }\r\n \r\n}","import { Component, OnInit, Output, EventEmitter, ViewChild, OnDestroy, ElementRef, SimpleChange, ChangeDetectorRef, Injector, Input } from '@angular/core';\r\n\r\nimport { Scope, ScopeType, OrganisationTreeNode } from \"../../shared/Models/scope-tree\";\r\nimport { UserService } from '../services/user.service';\r\nimport { NotificationModel, NotificationType, Themes, User, UserNotificationModel } from 'src/shared/Models/user';\r\nimport { ScopeService } from '../services/scope.service';\r\nimport { AuthService } from '../modules/authentication/auth.service';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { CommonService } from '../modules/shared/services/common.service';\r\nimport { Subscription } from 'rxjs';\r\nimport { ProjectService } from '../services/project.service';\r\nimport { Role } from 'src/shared/Models/API/role';\r\nimport { Project } from 'src/shared/Models/API/Project';\r\nimport { MenuService } from '../services/menu.service';\r\nimport { HierarchyModificationType, MainView, MainViewType } from 'src/shared/UI/ViewTypes';\r\nimport { UploadPaneService } from '../services/upload-pane.service';\r\nimport { Job } from 'src/shared/Models/Internal/job';\r\nimport { UploadPaneComponent } from 'src/shared/components/upload-pane/upload-pane.component';\r\n\r\nimport { OAuthService } from 'angular-oauth2-oidc';\r\nimport { environment } from 'src/environments/environment';\r\nimport { BaseComponent } from '../modules/shared/BaseComponent';\r\nimport { KeyConstants } from 'src/shared/constants/key-constants';\r\nimport { UserJsstoreService } from '../services/localdb/JSStore/user-jsstore.service';\r\nimport { UserNotificationFilterModel } from 'src/shared/Models/API/filtermodel';\r\n\r\n\r\n\r\n\r\ndeclare var $: any;\r\n\r\n@Component({\r\n selector: 'app-header',\r\n templateUrl: './header.component.html',\r\n styleUrls: ['./header.component.css']\r\n})\r\nexport class HeaderComponent extends BaseComponent implements OnInit, OnDestroy {\r\n @Input()\r\n public IsdisplayScopeTree:boolean;\r\n @Output() toggleUploadPane: EventEmitter = new EventEmitter();\r\n @Output() ResetEvent:EventEmitter = new EventEmitter();\r\n @Output() logoutEvent:EventEmitter = new EventEmitter();\r\n\r\n @ViewChild('dropdownProjects') dropdownProjects: ElementRef;\r\n\r\n public scopeTreeData: Array = new Array();\r\n public selectedTreeNodeName: string = '';\r\n private loadsubcription: Subscription;\r\n public scopeServiceSubscription: Subscription;\r\n public uploadPaneSubscriber: Subscription;\r\n public onGoingUploadsCount: number = 0;\r\n public isUploadPaneVisible: boolean = false;\r\n public isNotPaneVisible:boolean = false;\r\n public uploadJob: Job = new Job();\r\n private currentnode: string = '';\r\n public modifyHierarchySubscription: Subscription;\r\n public showLanguages: boolean = false;\r\n public showThemes: boolean = false;\r\n public isProjectScope:boolean = false;\r\n public projectId:number = 0;\r\n _themes=Themes;\r\n @Input() latestNotification:NotificationModel = null;\r\n @Input() totalCount:number = 0;\r\n _notificationType=NotificationType;\r\n \r\n constructor(\r\n injector: Injector,\r\n private userService: UserService,\r\n private scopeService: ScopeService,\r\n private router: Router,\r\n private commonService: CommonService,\r\n private cdr: ChangeDetectorRef,\r\n private projectService: ProjectService, private menuService: MenuService, private route: ActivatedRoute, private ouathService: OAuthService, private uploadPaneService: UploadPaneService\r\n ,private userJSStoreService:UserJsstoreService\r\n ) {\r\n super(injector);\r\n }\r\n ngOnInit(): void {\r\n\r\n var response = this.route.snapshot.data['data'];\r\n if (response == null || response == undefined) {\r\n //logout if the hierarchy is not available\r\n this.logout();\r\n }\r\n this.user = this.auth.getUser();\r\n this.commonService.SetFeatures(response.features);\r\n this.scopeTreeData.push(response);\r\n this.SetPath(this.scopeTreeData, null);\r\n this.scopeTreeData[0].isSelected = true;\r\n this.scopeTreeData[0].showChildren = false;\r\n this.selectedTreeNodeName = this.scopeTreeData[0].name;\r\n\r\n this.scopeService.emitScopeSelection(this.scopeTreeData[0].scope);\r\n var mainView1 = new MainView();\r\n mainView1.id = \"btn_projects\";\r\n mainView1.displayName = \"Project\";\r\n mainView1.name = \"MainMenu.lblProjects\";\r\n mainView1.type = MainViewType.PROJECTS;\r\n mainView1.icon = \"icon-menu-sketch\";\r\n\r\n this.menuService.emitMainViewSelection(mainView1);\r\n\r\n\r\n\r\n this.scopeServiceSubscription = this.scopeService.scopeObservable().subscribe(selectedScope => {\r\n if (selectedScope && selectedScope.type == ScopeType.PROJECT && this.scopeTreeData.length > 0) {\r\n this.isProjectScope= true;\r\n this.projectId= selectedScope.id;\r\n var selectednode = this.scopeTreeData[0].children.find(x => x.scope.id == selectedScope.id);\r\n if (selectednode) {\r\n\r\n this.scopeTreeData[0].showChildren = true;\r\n this.UpdateNodeSelection(this.scopeTreeData, selectednode);\r\n this.selectedTreeNodeName = selectednode.name;\r\n selectednode.isSelected = true;\r\n\r\n }\r\n }\r\n else if (selectedScope && selectedScope.type == ScopeType.ORGANIZATION) {\r\n this.isProjectScope = false;\r\n this.projectId=0;\r\n //this part is to show folder tree expand if not is opened only if you double click sub folder in documents grid\r\n if (this.scopeTreeData[0].scope.id == selectedScope.id) {\r\n this.scopeTreeData[0].showChildren = false;\r\n this.UpdateNodeSelection(this.scopeTreeData, this.scopeTreeData[0]);\r\n this.selectedTreeNodeName = this.scopeTreeData[0].name;\r\n this.scopeTreeData[0].isSelected = true;\r\n }\r\n }\r\n });\r\n\r\n this.scopeService.RefreshScopeSelectionObservable().subscribe(selectedScope => {\r\n\r\n if (selectedScope && selectedScope.type == ScopeType.PROJECT && this.scopeTreeData.length > 0) {\r\n if (this.scopeTreeData[0].showChildren == false) {\r\n this.scopeTreeData[0].showChildren = true;\r\n }\r\n var selectednode = this.scopeTreeData[0].children.find(x => x.scope.id == selectedScope.id);\r\n if (selectednode != undefined) {\r\n this.onChange(selectednode);\r\n\r\n }\r\n }\r\n });\r\n\r\n this.modifyHierarchySubscription = this.scopeService.modifyHeirarchyObservable().subscribe((data: any) => {\r\n if (data)\r\n this.modifyOrganizationHeirarchy(data);\r\n });\r\n\r\n this.uploadPaneSubscriber = this.uploadPaneService.getOngoingUploadsCount().subscribe((value: number) => {\r\n if (value && value > 0) {\r\n this.onGoingUploadsCount = value;\r\n }\r\n else {\r\n this.onGoingUploadsCount = 0;\r\n }\r\n });\r\n\r\n this.uploadPaneSubscriber = this.uploadPaneService.getVisibility().subscribe((value: boolean) => {\r\n if (value != null && value != undefined) {\r\n this.isUploadPaneVisible = value;\r\n }\r\n });\r\n\r\n this.uploadPaneSubscriber = this.uploadPaneService.getJobs().subscribe((incomingJob: Job) => {\r\n if (incomingJob) {\r\n this.uploadJob = incomingJob;\r\n }\r\n })\r\n }\r\n\r\n\r\n\r\n\r\n ngAfterViewChecked() {\r\n this.cdr.detectChanges();\r\n }\r\n\r\n ngOnDestroy(): void {\r\n if (this.loadsubcription && !this.loadsubcription.closed) {\r\n this.loadsubcription.unsubscribe();\r\n }\r\n if (UploadPaneComponent.onGoingJobs && UploadPaneComponent.onGoingJobs.length == 0 && this.uploadPaneSubscriber && !this.uploadPaneSubscriber.closed) {\r\n this.uploadPaneService.setOngoingUploadsCount(0);\r\n this.uploadPaneService.setVisibility(false);\r\n this.uploadPaneSubscriber.unsubscribe();\r\n }\r\n if (this.modifyHierarchySubscription && !this.modifyHierarchySubscription.closed) {\r\n this.modifyHierarchySubscription.unsubscribe();\r\n }\r\n }\r\n\r\n\r\n\r\n onChange(event: OrganisationTreeNode) {\r\n if (event) {\r\n if (event.name) {\r\n this.UpdateNodeSelection(this.scopeTreeData, event);\r\n this.selectedTreeNodeName = event.name;\r\n if (event.scope.type == ScopeType.PROJECT) {\r\n //we get role ones they change scope\r\n //this.emitProjectRoles(event.scope);\r\n var route: string = \"/projects/\" + event.scope.id+\"/calendar\";\r\n if(this.IsMobile)\r\n {\r\n route=\"/organization/\"+this.user.organization.id+\"/mobileprojects/\"+ event.scope.id+\"/mobileapps\";\r\n }\r\n this.router.navigate([route], { relativeTo: this.route });\r\n }\r\n else {\r\n event.scope.project = null;\r\n event.scope.role = null;\r\n this.scopeService.emitScopeSelection(event.scope);\r\n var route: string = \"/projects/\";\r\n if(this.IsMobile)\r\n {\r\n route=\"/organization/\"+this.user.organization.id+\"/mobileprojects\";\r\n }\r\n this.router.navigate([route], { relativeTo: this.route });\r\n }\r\n if (this.dropdownProjects && this.dropdownProjects.nativeElement)\r\n this.dropdownProjects.nativeElement.classList.remove('show');\r\n }\r\n }\r\n }\r\n\r\n SetPath(tree: Array, path): void {\r\n tree.forEach(node => {\r\n node.scope.path = path ? path + \"/\" + node.name : node.name;\r\n node.scope.name = node.name;\r\n if (node.children)\r\n this.SetPath(node.children, node.scope.path);\r\n });\r\n }\r\n\r\n UpdateNodeSelection(tree: any, selectedNode: any): void {\r\n for (var idx: number = 0; idx < tree.length; idx++) {\r\n if (tree[idx].scope.id == selectedNode.scope.id && tree[idx].scope.type == selectedNode.scope.type) {\r\n tree[idx].isSelected = !tree[idx].isSelected;\r\n }\r\n else {\r\n tree[idx].isSelected = false;\r\n }\r\n if (tree[idx].children && tree[idx].children.length != 0)\r\n this.UpdateNodeSelection(tree[idx].children, selectedNode);\r\n }\r\n }\r\n\r\n LoadOrganizationHeirarchy() {\r\n this.scopeTreeData = new Array();\r\n this.userService.getOrganization(this.user.id).subscribe((response: OrganisationTreeNode) => {\r\n this.commonService.SetFeatures(response.features);\r\n this.scopeTreeData.push(response);\r\n this.SetPath(this.scopeTreeData, null);\r\n this.scopeTreeData[0].isSelected = true;\r\n this.scopeTreeData[0].showChildren = false;\r\n this.selectedTreeNodeName = this.scopeTreeData[0].name;\r\n\r\n this.scopeService.emitScopeSelection(this.scopeTreeData[0].scope);\r\n var mainView1 = new MainView();\r\n mainView1.id = \"btn_projects\";\r\n mainView1.displayName = \"MainMenu.lblProjects\";\r\n mainView1.name = \"Projects\";\r\n mainView1.type = MainViewType.PROJECTS;\r\n mainView1.icon = \"icon-menu-sketch\";\r\n this.menuService.emitMainViewSelection(mainView1);\r\n });\r\n }\r\n\r\n\r\n\r\n public logout() {\r\n\r\n if (environment.AuthenticationType.toLowerCase() == \"adfs\") {\r\n this.auth.logout();\r\n this.logoutEvent.emit();\r\n this.ouathService.logOut();\r\n }\r\n else {\r\n this.router.navigate(['/'], { queryParams: {} });\r\n this.auth.logout();\r\n this.logoutEvent.emit();\r\n\r\n this.router.navigate(['/login'], { queryParams: {} });\r\n\r\n }\r\n \r\n\r\n }\r\n\r\n\r\n emitProjectRoles(_scope: Scope): void {\r\n this.projectService.getProject(_scope.id).subscribe((_project: Project) => {\r\n if (_project) {\r\n _scope.role = _project.role;\r\n _scope.project = _project;\r\n this.scopeService.emitScopeSelection(_scope);\r\n }\r\n });\r\n }\r\n\r\n public onClickNotifications():void{\r\n this.isNotPaneVisible = !this.isNotPaneVisible;\r\n this.cdr.detectChanges();\r\n if(this.isNotPaneVisible)\r\n this.totalCount=0;\r\n \r\n \r\n\r\n }\r\n public ResetNotifications():void {\r\n\r\n this.ResetEvent.emit();\r\n\r\n }\r\n\r\n public onClickUploadPane(): void {\r\n this.isUploadPaneVisible = !this.isUploadPaneVisible;\r\n this.toggleUploadPane.emit(this.isUploadPaneVisible);\r\n }\r\n\r\n public modifyOrganizationHeirarchy(data: any): void {\r\n if (data.type == HierarchyModificationType.Add) {\r\n var newChild: OrganisationTreeNode = new OrganisationTreeNode();\r\n newChild.name = data.project.name;\r\n newChild.scope = new Scope();\r\n newChild.scope.id = data.project.id;\r\n newChild.scope.type = ScopeType.PROJECT;\r\n this.scopeTreeData[0].children.push(newChild);\r\n }\r\n else if (data.type == HierarchyModificationType.Delete) {\r\n this.scopeTreeData.forEach((tree: OrganisationTreeNode) => {\r\n let foundIndex = tree.children.findIndex(element => element.scope.id === data.project.id)\r\n tree.children.splice(foundIndex, 1);\r\n });\r\n }\r\n }\r\n changeTheme(theme:Themes):void {\r\n this.user.theme=theme;\r\n this.userService.updateUser(this.user).subscribe(() => {\r\n this.auth.storeToken(this.user);\r\n window.location.reload();\r\n //set theme here in UI as per user\r\n },\r\n err => {\r\n if (this.IsMobile && !this.isOnline) {\r\n this.auth.storeToken(this.user);\r\n //ismodified set to true, as language is changed\r\n this.userJSStoreService.UpdateUser(this.user,true);\r\n this.showThemes=false;\r\n // window.location.reload();\r\n }\r\n });\r\n }\r\n changelanguage(lang: string): void {\r\n this.translate.use(lang);\r\n this.user.languagePreference = lang;\r\n //update language prefrence and cookie\r\n this.userService.updateUser(this.user).subscribe(() => {\r\n this.auth.storeToken(this.user);\r\n window.location.reload();\r\n },\r\n err => {\r\n if (this.IsMobile && !this.isOnline) {\r\n this.auth.storeToken(this.user);\r\n //ismodified set to true, as language is changed\r\n this.userJSStoreService.UpdateUser(this.user,true);\r\n this.showLanguages=false;\r\n // window.location.reload();\r\n }\r\n });\r\n }\r\n showHideThemes(e:Event):void{\r\n if (this.showThemes)\r\n this.showThemes = false;\r\n else\r\n {\r\n this.showThemes = true;\r\n this.showLanguages=false;\r\n }\r\n e.stopPropagation();\r\n\r\n }\r\n\r\n showHideLanguages(e: Event): void {\r\n if (this.showLanguages)\r\n this.showLanguages = false;\r\n else\r\n {\r\n this.showLanguages = true;\r\n this.showThemes=false;\r\n }\r\n e.stopPropagation();\r\n }\r\n OnMyProfileClick()\r\n {\r\n this.router.navigate(['/myProfile'], { queryParams: {} });\r\n }\r\n}\r\n","\r\n\r\n\r\n\r\n\r\n\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n\r\n \r\n \r\n\r\n \r\n \r\n\r\n \r\n \r\n\r\n \r\n \r\n\r\n \r\n \r\n\r\n \r\n \r\n\r\n \r\n \r\n\r\n \r\n \r\n\r\n \r\n \r\n\r\n \r\n \r\n\r\n \r\n \r\n\r\n \r\n \r\n\r\n \r\n \r\n\r\n \r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n \r\n\r\n \r\n \r\n\r\n \r\n \r\n\r\n \r\n\r\n \r\n
{{latestNotification != null ? (latestNotification.date|date:'dd-MM-yyyy'):''}}
\r\n
\r\n
\r\n
{{latestNotification.projectModel != null ? latestNotification.projectModel.name:'' }}
\r\n
{{latestNotification.name}}
\r\n
{{latestNotification.title}}
\r\n
\r\n \r\n
\r\n
\r\n\r\n\r\n","import { Component, Input,EventEmitter, OnInit, Output } from '@angular/core';\r\nimport { IMyDateRangeModel, IAngularMyDpOptions, IMyDateModel } from 'angular-mydatepicker';\r\n\r\nimport { AuthService } from 'src/app/modules/authentication/auth.service';\r\nimport { CalendarService } from 'src/app/modules/shared/services/calendar.service';\r\nimport { UserService } from 'src/app/services/user.service';\r\nimport { UserNotificationFilterModel } from 'src/shared/Models/API/filtermodel';\r\nimport { NotificationModel, NotificationType, User, UserNotificationModel } from 'src/shared/Models/user';\r\n\r\n@Component({\r\n selector: 'app-notification-list',\r\n templateUrl: './notification-list.component.html',\r\n styleUrls: ['./notification-list.component.css']\r\n})\r\nexport class NotificationListComponent implements OnInit {\r\n\r\n public notifications:Array = new Array();\r\n \r\n notificationFilter:UserNotificationFilterModel = new UserNotificationFilterModel();\r\n _notificationType=NotificationType;\r\n user:User = new User();\r\n @Output() CloseEvent:EventEmitter= new EventEmitter();\r\n @Output() ResetEvent:EventEmitter = new EventEmitter();\r\n public isAllNotificationLoaded:boolean = false;\r\n public filterdatemodel:IMyDateModel=null;\r\n public myDateRangePickerOptions: IAngularMyDpOptions;\r\n IsRefreshDisabled:boolean = false;\r\n constructor(private authService:AuthService,private userService:UserService,private calendarService:CalendarService) { \r\n this.user= authService.getUser();\r\n this.notificationFilter.pn = 1;\r\n this.myDateRangePickerOptions = this.calendarService.getAngularDateRangePickerOptions();\r\n this.myDateRangePickerOptions.dateRange=true;\r\n }\r\n\r\n ngOnInit() {\r\n\r\n this.ResetNotificationCount();\r\n \r\n this.LoadNotifications(true);\r\n }\r\n ResetNotificationCount()\r\n {\r\n this.userService.ResetNotificationCount(this.user.id).subscribe(()=>{\r\n this.ResetEvent.emit();\r\n\r\n });\r\n }\r\n\r\n public onDateRangeChanged(event: IMyDateModel) {\r\n \r\n this.filterdatemodel =event;\r\n this.LoadNotifications(true);\r\n }\r\n\r\n ExportNotifications()\r\n {\r\n if(this.filterdatemodel&& this.filterdatemodel.dateRange && this.filterdatemodel.dateRange.beginJsDate && this.filterdatemodel.dateRange.endJsDate)\r\n {\r\n this.notificationFilter._sd= this.filterdatemodel.dateRange.beginJsDate.toDateString();\r\n this.notificationFilter._ed= this.filterdatemodel.dateRange.endJsDate.toDateString();\r\n\r\n }\r\n else\r\n {\r\n this.notificationFilter= new UserNotificationFilterModel();\r\n \r\n }\r\n this.userService.exportUserNotifications(this.user.id,this.notificationFilter);\r\n }\r\n onRefreshClick()\r\n {\r\n this.IsRefreshDisabled= true;\r\n this.resetFilters();\r\n this.LoadNotifications(true);\r\n }\r\n onclose()\r\n {\r\n this.CloseEvent.emit();\r\n\r\n }\r\n LoadNotifications(bRefresh:boolean)\r\n {\r\n if(bRefresh)\r\n {\r\n this.notifications= new Array();\r\n if(this.filterdatemodel&& this.filterdatemodel.dateRange.beginJsDate && this.filterdatemodel.dateRange.endJsDate)\r\n {\r\n this.notificationFilter._sd= this.filterdatemodel.dateRange.beginJsDate.toDateString();\r\n this.notificationFilter._ed= this.filterdatemodel.dateRange.endJsDate.toDateString();\r\n\r\n }\r\n else\r\n {\r\n this.notificationFilter= new UserNotificationFilterModel();\r\n \r\n }\r\n \r\n }\r\n\r\n \r\n \r\n this.userService.getUserNotifications(this.user.id,this.notificationFilter).subscribe((userNotification:UserNotificationModel)=>{\r\n if(userNotification != null && userNotification.notifications != null && userNotification.notifications.length > 0)\r\n {\r\n userNotification.notifications.forEach((notification)=>{\r\n this.notifications.push(notification);\r\n });\r\n if(userNotification.notifications.length == 0 || userNotification.notifications.length < this.notificationFilter.ps)\r\n this.isAllNotificationLoaded=true;\r\n }\r\n this.IsRefreshDisabled= false;\r\n })\r\n\r\n }\r\n onScroll()\r\n {\r\n this.notificationFilter.pn += 1;\r\n this.LoadNotifications(false);\r\n }\r\n\r\n resetFilters()\r\n {\r\n this.notificationFilter.pn = 1;\r\n this.notificationFilter._ed='';\r\n this.notificationFilter._sd='';\r\n this.filterdatemodel=null;\r\n\r\n }\r\n\r\n\r\n\r\n}\r\n","
\r\n
\r\n Notifications\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n {{ 'Notifications.DateTime' | translate }}\r\n
\r\n
\r\n
\r\n {{ 'MainMenu.lblProject' | translate }}\r\n
\r\n
\r\n {{ 'Notifications.NameCode' | translate }}\r\n
\r\n
\r\n {{ 'Notifications.DescriptionName' | translate }}\r\n
\r\n
\r\n {{ 'Settings.CommonLabel.lblCompany' | translate }}\r\n
\r\n
\r\n {{ 'MainMenu.lblUser' | translate }}\r\n
\r\n\r\n
\r\n\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
{{ 'Notifications.DateTime' | translate }}
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {{notification.date|date:'dd-MM-yyyy h:mm:ss a'}}\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
{{ 'MainMenu.lblProject' | translate }}
\r\n
\r\n
{{notification.projectModel != null ? notification.projectModel.name:'' }}
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
{{ 'Notifications.NameCode' | translate }}
\r\n
\r\n
{{notification.name}}
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
{{ 'Notifications.DescriptionName' | translate }}
\r\n
\r\n
{{notification.title}}
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
{{ 'Settings.CommonLabel.lblCompany' | translate }}
\r\n
\r\n
{{(notification.creator !=null && notification.creator != undefined && \r\n notification.creator.company != null && notification.creator.company.name != null && notification.creator.company.name != undefined\r\n && notification.creator.company.name.length > 0)? notification.creator.company.name :''}}\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
{{ 'MainMenu.lblUser' | translate }}
\r\n
\r\n
{{(\r\n (notification.creator !=null && notification.creator != undefined && \r\n notification.creator.firstName != null && notification.creator.firstName != undefined\r\n && notification.creator.firstName.length > 0)? notification.creator.firstName + ' ' :'') \r\n + \r\n (\r\n (notification.creator !=null && notification.creator != undefined && \r\n notification.creator.lastName != null && notification.creator.lastName != undefined\r\n && notification.creator.lastName.length > 0)? notification.creator.lastName :'')\r\n }}\r\n
\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, Input, Output, EventEmitter } from '@angular/core';\r\nimport { OrganisationTreeNode, ScopeType } from '../../../shared/Models/scope-tree';\r\n\r\n@Component({\r\n selector: 'app-tree-view',\r\n templateUrl: './tree-view.component.html',\r\n styleUrls: ['./tree-view.component.css']\r\n})\r\n\r\nexport class TreeViewComponent implements OnInit {\r\n @Input(\"nodes\") nodes: OrganisationTreeNode;\r\n\r\n @Output() changeEventTriggered = new EventEmitter();\r\n\r\n constructor() { }\r\n\r\n ngOnInit(): void { }\r\n\r\n onClickChild(node: any) {\r\n this.changeEventTriggered.emit(node);\r\n }\r\n\r\n showHideChildren(event: any, node: OrganisationTreeNode) {\r\n // stop drop-down from closing !\r\n if (event)\r\n event.stopPropagation();\r\n\r\n if (node.children && node.children.length > 0)\r\n node.showChildren = !node.showChildren;\r\n }\r\n\r\n setScopeIcon(node: any): string {\r\n if (node && node.scope) {\r\n switch (node.scope.type) {\r\n case ScopeType.ORGANIZATION:\r\n return 'icon-location';\r\n break;\r\n // case ScopeType.CONTINENT:\r\n // return 'icon-language';\r\n // break;\r\n // case ScopeType.COUNTRY:\r\n // return 'icon-country';\r\n // break;\r\n // case ScopeType.CITY:\r\n // return 'icon-city';\r\n // break;\r\n // case ScopeType.ADDRESS:\r\n // return 'icon-address';\r\n // break;\r\n case ScopeType.PROJECT:\r\n return 'icon-building';\r\n break;\r\n }\r\n }\r\n }\r\n\r\n setCSSClasses(node: any): string {\r\n var retVal: string = '';\r\n if (node.showChildren && (node.children && node.children.length != 0))\r\n retVal = 'caret caret-down';\r\n else if (node.isSelected)\r\n retVal = 'caret active1';\r\n else\r\n retVal = 'caret';\r\n\r\n return retVal;\r\n }\r\n}\r\n","
\r\n
    \r\n
  • \r\n \r\n \r\n \r\n\r\n {{node.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","import { Component, OnInit, Input, OnDestroy, Injector, Inject } from '@angular/core';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { Subscription } from 'rxjs';\r\nimport { UserNotificationFilterModel } from 'src/shared/Models/API/filtermodel';\r\nimport { OrganisationTreeNode, Scope, ScopeType } from 'src/shared/Models/scope-tree';\r\nimport { NotificationModel, Themes, User, UserNotificationModel } from 'src/shared/Models/user';\r\nimport { MainView, MainViewType } from 'src/shared/UI/ViewTypes';\r\nimport { AuthService } from '../modules/authentication/auth.service';\r\nimport { BaseComponent } from '../modules/shared/BaseComponent';\r\nimport { GlobalService } from '../services/global.service';\r\nimport { MenuService } from '../services/menu.service';\r\nimport { ScopeService } from '../services/scope.service';\r\nimport { SignalrService } from '../services/signalr/signalr.service';\r\nimport { UploadPaneService } from '../services/upload-pane.service';\r\nimport { UserService } from '../services/user.service';\r\nimport { DOCUMENT } from '@angular/common';\r\n\r\n@Component({\r\n selector: 'app-home',\r\n templateUrl: './home.component.html',\r\n styleUrls: ['./home.component.css']\r\n})\r\nexport class HomeComponent extends BaseComponent implements OnInit, OnDestroy {\r\n public scopeServiceSubscription: Subscription;\r\n public currentScope: Scope = null;\r\n public user:User =null;\r\n public data:NotificationModel= new NotificationModel(); \r\n public latestNotification:NotificationModel;\r\n public signalRSubscription:Subscription;\r\n public totalCount:number =0;\r\n constructor(injector:Injector,\r\n private scopeService: ScopeService,\r\n private menuService:MenuService,\r\n private route:ActivatedRoute,\r\n public router:Router,\r\n private uploadPaneService: UploadPaneService,\r\n private signalRService:SignalrService,\r\n private userService:UserService,\r\n private authService:AuthService,private globalService:GlobalService,\r\n @Inject(DOCUMENT) private document: Document\r\n ) { \r\n super(injector);\r\n this.user = authService.getUser();\r\n this.setTheme(this.user);\r\n }\r\n setTheme(_user: User) {\r\n switch(this.user.theme)\r\n {\r\n case Themes.DARK:\r\n this.document.body.setAttribute(\"class\",\"dark-theme\");\r\n break;\r\n case Themes.LIGHT:\r\n this.document.body.setAttribute(\"class\",\"light-theme\");\r\n break;\r\n default:\r\n this.document.body.setAttribute(\"class\",\"dark-theme\");\r\n break;\r\n }\r\n }\r\n\r\n ngOnInit() {\r\n\r\n \r\n this.signalRSubscription = this.signalRService.notificationObservable().subscribe(notificationModel=>{\r\n if(notificationModel != null)\r\n {\r\n this.latestNotification=notificationModel;\r\n this.totalCount += 1;\r\n this.signalRService.setTotalCount(this.totalCount);\r\n this.signalRService.setUserNotification(this.latestNotification);\r\n }\r\n })\r\n\r\n if(this.signalRService.isRefresh())\r\n this.StartListening();\r\n else\r\n {\r\n this.latestNotification= this.signalRService.getUserNotification();\r\n this.totalCount=this.signalRService.getTotalCount();\r\n }\r\n\r\n this.scopeServiceSubscription = this.scopeService.scopeObservable().subscribe(selectedScope => {\r\n this.currentScope = selectedScope;\r\n });\r\n if(!this.route.firstChild)\r\n {\r\n if(this.IsMobile)\r\n this.router.navigate(['organization/'+this.user.organization.id+'/mobileprojects'],{ relativeTo: this.route });\r\n else\r\n this.router.navigate(['projects'], { relativeTo: this.route });\r\n } \r\n }\r\n StartListening() {\r\n //Only getting the latest notification\r\n var filterModel:UserNotificationFilterModel = new UserNotificationFilterModel();\r\n filterModel.pn= 1;\r\n filterModel.ps=1;\r\n this.userService.getUserNotifications(this.user.id,filterModel).subscribe((userNotificationModel:UserNotificationModel)=>{\r\n if(userNotificationModel != null)\r\n {\r\n this.totalCount=userNotificationModel.totalCount;\r\n this.signalRService.setTotalCount(this.totalCount);\r\n }\r\n\r\n if(userNotificationModel.notifications != null && userNotificationModel.notifications.length > 0)\r\n {\r\n this.latestNotification=userNotificationModel.notifications[0];\r\n this.signalRService.setUserNotification(this.latestNotification);\r\n }\r\n \r\n this.establishSignalRConnection();\r\n \r\n \r\n })\r\n }\r\n\r\n ResetNotifications()\r\n {\r\n this.totalCount=0;\r\n this.signalRService.setTotalCount(this.totalCount);\r\n }\r\n establishSignalRConnection() {\r\n \r\n this.signalRService.startConnection().then(()=>{\r\n this.signalRService.startNotificationListen();\r\n \r\n \r\n }\r\n ).catch((error)=>console.log(\"errored out :\" + error))\r\n }\r\n public logoutEvent()\r\n {\r\n this.ngOnDestroy();\r\n this.signalRService.resetHubConnection();\r\n\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.scopeServiceSubscription.unsubscribe();\r\n this.signalRSubscription.unsubscribe();\r\n this.latestNotification=null;\r\n this.signalRService.ClearSubject();\r\n }\r\n\r\n public toggleUploadPane(value: boolean): void {\r\n this.uploadPaneService.setVisibility(value);\r\n }\r\n}\r\n","\r\n\r\n","import { Component, Input, OnInit,ElementRef, ChangeDetectorRef } from '@angular/core';\r\nimport { Router,ActivatedRoute } from '@angular/router';\r\nimport { Subscription } from 'rxjs';\r\nimport { breadcrumbService } from 'src/app/services/breadcrumb.service';\r\nimport { FolderService } from 'src/app/services/folder.service';\r\nimport { Folder } from 'src/shared/Models/API/folder';\r\nimport { Scope, ScopeType } from 'src/shared/Models/scope-tree';\r\nimport { MainView, MainViewType } from 'src/shared/UI/ViewTypes';\r\nimport { KeyValue } from '@angular/common';\r\nimport { StorageService } from 'src/app/services/storage.service';\r\nimport { User } from 'src/shared/Models/user';\r\nimport { AuthService } from 'src/app/modules/authentication/auth.service';\r\n\r\n@Component({\r\n selector: 'app-breadcrumb',\r\n templateUrl: './breadcrumb.component.html',\r\n styleUrls: ['./breadcrumb.component.css']\r\n})\r\nexport class BreadcrumbComponent implements OnInit{\r\n public trail: Array = null;\r\n private _currentScope: Scope;\r\n public get currentScope(): Scope {\r\n return this._currentScope;\r\n }\r\n public folderSelectionSubscription: Subscription;\r\n public pathSubscription: Subscription;\r\n @Input()\r\n public set currentScope(value: Scope) {\r\n this._currentScope = value;\r\n if (value && value.path) {\r\n this.trail = value.path.split(\"/\");\r\n }\r\n }\r\n private user: User;\r\n public _mainview: MainView;\r\n public _mainviewType=MainViewType;\r\n public pathsdict = new Map();\r\n @Input()\r\n public set mainview(value: MainView) {\r\n this._mainview = value;\r\n if (value) {\r\n if((this._mainview.type==MainViewType.DATA_MANAGER_SETTINGS || this._mainview.type==MainViewType.MY_PROFILE) && this._currentScope.type==ScopeType.PROJECT)\r\n {\r\n this.trail=new Array();\r\n this.trail.push(this._currentScope.path.split(\"/\")[0]);\r\n\r\n }\r\n else{\r\n this.trail = this._currentScope.path.split(\"/\");\r\n }\r\n }\r\n }\r\n constructor(private folderService: FolderService,\r\n private route: ActivatedRoute,\r\n public router: Router,\r\n private elementRef: ElementRef,\r\n private breadCrumbService: breadcrumbService,\r\n private cdr:ChangeDetectorRef,\r\n private storageService:StorageService,private authservice:AuthService) { }\r\n\r\n ngOnInit() {\r\n this.user = this.authservice.getUser();\r\n this.folderSelectionSubscription = this.folderService.folderSelectionObservable().subscribe((folder:Folder) => {\r\n if(folder!=null)\r\n {\r\n if(this._currentScope && this._currentScope.type==ScopeType.PROJECT)\r\n {\r\n this.pathsdict.clear();\r\n this.pathsdict.set(this._currentScope.project.projectLocation.organization.id,this._currentScope.project.projectLocation.organization.name)\r\n folder.paths.forEach((value: String, key: Number)=>{\r\n this.pathsdict.set(key,value)\r\n });\r\n }\r\n }\r\n else{\r\n this.pathsdict.clear();\r\n }\r\n });\r\n this.pathSubscription = this.breadCrumbService.pathUpdateObservable().subscribe((path: string) => {\r\n if(path)\r\n {\r\n this.buildBreadcrumbs(path);\r\n }\r\n else\r\n {\r\n this.pathsdict.clear();\r\n }\r\n });\r\n }\r\n\r\n ngOnDestroy(): void {\r\n if (this.folderSelectionSubscription && !this.folderSelectionSubscription.closed) {\r\n this.folderSelectionSubscription.unsubscribe();\r\n }\r\n if (this.pathSubscription && !this.pathSubscription.closed) {\r\n this.breadCrumbService.clearPathUpdate();\r\n this.pathSubscription.unsubscribe();\r\n }\r\n }\r\n //this method will navigate to /projects if user click on Organization link in documents grid\r\n //if they click on folder it will emit a event to explorer(left side folder tree)\r\n onFolderLinkClick(value:Number,isorganizationnode:boolean)\r\n {\r\n if(isorganizationnode)\r\n {\r\n this.NavigatetoProjectsView();\r\n }\r\n else{\r\n this.folderService.emitdocumentFolderSelection(value);\r\n }\r\n\r\n }\r\n\r\n buildBreadcrumbs(path: string): void {\r\n this.pathsdict.clear();\r\n if (path != null && path != \"\" && path != '') {\r\n var pathKey = path.split('_')[0]; //get path key : ex for tag: 1/2030/14\r\n var pathValue = path.split('_')[1];//get path value : ex for tag: Anafyo/Projectname/tagname\r\n var keycount = pathKey.split('/').length\r\n for (var i = 0; i < keycount; i++) {\r\n this.pathsdict.set(parseInt(pathKey.split('/')[i]), pathValue.split('/')[i])\r\n }\r\n }\r\n\r\n }\r\n\r\n //this method will navigate to respective url based on breadcrumbs key value\r\n Navigate(value: number, index: number): void {\r\n if (index == 0)\r\n {\r\n this.NavigatetoProjectsView();\r\n }\r\n else {\r\n var viewURL: string = this.getMainViewURL();\r\n if (index == 1) {\r\n this.router.navigate(['projects/' + value + '/' + viewURL]);\r\n }\r\n else {\r\n var array = Array.from(this.pathsdict, ([key, value]) => ({ key, value }));\r\n var url: string = 'projects/' + this._currentScope.id + '/' + viewURL;\r\n for (var i = 2; i <= index; i++) {\r\n url = url + '/' + array[i].key;\r\n }\r\n this.router.navigate([url]);\r\n }\r\n }\r\n }\r\n\r\n getMainViewURL(): string {\r\n if (this._mainview.type == MainViewType.CHECKLIST)\r\n return \"checklist\";\r\n }\r\n\r\n keepOriginalOrder = (a: KeyValue, b: KeyValue): number => {\r\n return 0;\r\n }\r\n ngAfterViewChecked() {\r\n this.cdr.detectChanges();\r\n }\r\n\r\n onBreadCrumbClick(index: number)\r\n {\r\n if (index == 0)\r\n {\r\n this.NavigatetoProjectsView();\r\n }\r\n }\r\n\r\n //IN BreadCrumb Click on Organization from any page this below function will be triggered\r\n NavigatetoProjectsView()\r\n {\r\n var url=(this.storageService.getIsMobile())?'/organization/'+this.user.organization.id+'/mobileprojects':'projects';\r\n this.router.navigate([url]);\r\n }\r\n}\r\n","\r\n
\r\n
    \r\n
  • \r\n {{item.value}}{{(i< pathsdict.size -1) ? ' / ': ''}}\r\n
  • \r\n
\r\n
    \r\n
  • \r\n {{item}}{{(i< trail.length -1) ? ' / ': ''}}\r\n
  • \r\n
\r\n
    \r\n
  • \r\n {{item.value}}{{(i< pathsdict.size -1) ? ' / ': ''}}\r\n
  • \r\n
\r\n
\r\n\r\n\r\n\r\n
\r\n \r\n
\r\n","import { Component, Injector, Input, OnDestroy, OnInit,EventEmitter, Output } from '@angular/core';\r\nimport { Params, Router } from '@angular/router';\r\nimport { Subscription } from 'rxjs';\r\nimport { BaseComponent } from 'src/app/modules/shared/BaseComponent';\r\nimport { FolderService } from 'src/app/services/folder.service';\r\nimport { MenuService } from 'src/app/services/menu.service';\r\nimport { ProjectService } from 'src/app/services/project.service';\r\nimport { OrganizationService } from 'src/app/services/organization.service'\r\nimport { ScopeService } from 'src/app/services/scope.service';\r\nimport { DocAddlInformation } from 'src/shared/Models/API/documentadditionaInfo';\r\nimport { AddlInformationsFilterModel, ScopeFilterModel } from 'src/shared/Models/API/filtermodel';\r\nimport { Folder } from 'src/shared/Models/API/folder';\r\nimport { WorkflowUserGroup } from 'src/shared/Models/API/WorkflowUserGroup';\r\nimport { Scope, ScopeType } from 'src/shared/Models/scope-tree';\r\nimport { radioButtonOptions } from 'src/shared/Models/space';\r\nimport { CategoryControlType, MainView, MainViewType } from 'src/shared/UI/ViewTypes';\r\nimport { FilterService } from 'src/app/services/filter.service';\r\n\r\ndeclare var $: any;\r\n@Component({\r\n selector: 'app-filter',\r\n templateUrl: './filter.component.html',\r\n styleUrls: ['./filter.component.css']\r\n})\r\n\r\nexport class FilterComponent extends BaseComponent implements OnInit, OnDestroy {\r\n\r\n public documentAddlInformations:Array = new Array();\r\n\r\n _CategoryControlType = CategoryControlType;\r\n _radioButtonOptions=radioButtonOptions;\r\n \r\n public filter: ScopeFilterModel = new ScopeFilterModel();\r\n private currentFolder: Folder = new Folder();\r\n public folderServiceSubscription: Subscription;\r\n @Output() OnApplyDocFilter:EventEmitter=new EventEmitter();\r\n public workflowUserGroups:Array;\r\n constructor(injector:Injector,\r\n private router: Router,\r\n private folderService: FolderService,\r\n private projectService:ProjectService,\r\n private scopeService:ScopeService,\r\n private menuService:MenuService,private organizationService:OrganizationService,\r\n private filterService:FilterService\r\n\r\n ) {\r\n super(injector);\r\n this.folderServiceSubscription = this.folderService.folderSelectionObservable().subscribe((selectedFolder: Folder) => {\r\n this.currentFolder = selectedFolder;\r\n // refresh filter on folder change.\r\n this.filter = new ScopeFilterModel();\r\n });\r\n }\r\n\r\n ngOnInit() {\r\n this.scopeService.scopeObservable().subscribe(selectedScope => {\r\n this.currentScope = selectedScope;\r\n });\r\n \r\n this.filterService.ClearDocFilterObservable().subscribe(()=>{\r\n this.clearFilter();\r\n })\r\n \r\n\r\n this.menuService.mainViewObservable().subscribe(emitedSelection => {\r\n if(emitedSelection.type == MainViewType.DOCUMENTS && this.currentScope.type == ScopeType.PROJECT)\r\n {\r\n this.loadWorkflowUserGroups(this.currentScope.id);\r\n this.loadDocAddlInformations(this.currentScope.id);\r\n\r\n }\r\n });\r\n \r\n}\r\n clearFilter() {\r\n this.filter= new ScopeFilterModel();\r\n if(this.documentAddlInformations != null && this.documentAddlInformations.length > 0)\r\n {\r\n this.documentAddlInformations.forEach((addlInformation:DocAddlInformation)=>{\r\n addlInformation.attributeValue='';\r\n addlInformation.selectedRadioOption= radioButtonOptions.UNKNOWN;\r\n })\r\n }\r\n }\r\n loadDocAddlInformations(projectid: number) {\r\n this.organizationService.getDocumentAdditionalInformations(this.user.organization.id,projectid).subscribe((docAddlInformations:Array)=>{\r\n\r\n if(docAddlInformations != null)\r\n {\r\n\r\n var realDocddlInformations = docAddlInformations.filter(x=>x.projectId == projectid);\r\n if(realDocddlInformations != null && realDocddlInformations.length > 0)\r\n {\r\n realDocddlInformations.forEach((addlInformation:DocAddlInformation)=>{\r\n var docAddlInformationValue:DocAddlInformation = new DocAddlInformation();\r\n docAddlInformationValue.id= addlInformation.id;\r\n docAddlInformationValue.attributeName= addlInformation.attributeName;\r\n docAddlInformationValue.attributeType= addlInformation.attributeType;\r\n this.documentAddlInformations.push(docAddlInformationValue);\r\n\r\n });\r\n }\r\n\r\n }\r\n\r\n });\r\n }\r\n\r\n ngOnDestroy() {\r\n this.folderServiceSubscription.unsubscribe();\r\n }\r\n\r\n onChangeBoolean(docAddlInformation:DocAddlInformation,value:number)\r\n {\r\n if(value == 1)\r\n docAddlInformation.attributeValue=\"true\";\r\n else\r\n docAddlInformation.attributeValue=\"false\";\r\n\r\n }\r\n\r\n public onSearch(): void {\r\n if (this.currentScope && this.currentScope.id > 0) {\r\n \r\n if(this.ValidateSearchCriteria())\r\n {\r\n this.filterService.emitSearchView(true);\r\n this.filter._scid=this.currentFolder.id;\r\n this.filter._sct= this.currentFolder.type;\r\n this.fillDocdditionalInformations();\r\n\r\n \r\n this.OnApplyDocFilter.emit(this.filter);\r\n }\r\n else\r\n super.warningMsg(this.translate.instant('SearchFilters.warningInvalidSearch'));\r\n\r\n }\r\n }\r\n\r\n fillDocdditionalInformations() {\r\n if(this.documentAddlInformations != null)\r\n {\r\n var docAddlInformationWithValues:Array = this.documentAddlInformations.filter\r\n (x=>(x.attributeValue != null && x.attributeValue.length> 0));\r\n if(docAddlInformationWithValues != null && docAddlInformationWithValues.length > 0)\r\n {\r\n var _ais:Array= new Array();\r\n\r\n docAddlInformationWithValues.forEach((docAddlInformationValue:DocAddlInformation)=>{\r\n var addlInformationFilter: AddlInformationsFilterModel= new AddlInformationsFilterModel();\r\n addlInformationFilter._i= docAddlInformationValue.id;\r\n \r\n addlInformationFilter._v= docAddlInformationValue.attributeValue;\r\n \r\n _ais.push(addlInformationFilter);\r\n\r\n })\r\n this.filter._strais=JSON.stringify(_ais);\r\n\r\n }\r\n }\r\n }\r\n ValidateSearchCriteria():boolean {\r\n var validated:boolean = false;\r\n var docAddlInformationValue =null;\r\n if(this.documentAddlInformations != null && this.documentAddlInformations.length > 0)\r\n {\r\n docAddlInformationValue = this.documentAddlInformations.find(x=>(x.attributeValue != null && x.attributeValue.length> 0));\r\n }\r\n else\r\n docAddlInformationValue= new DocAddlInformation();\r\n\r\n if((this.filter._n == null || this.filter._n == undefined || this.filter._n.trim().length == 0 ) &&\r\n (this.filter._t == null || this.filter._t == undefined || this.filter._t.trim().length == 0 ) &&\r\n (this.filter._dt == null || this.filter._dt == undefined || this.filter._dt.trim().length == 0 ) &&\r\n (this.filter._u == null || this.filter._u == undefined || this.filter._u.length == 0 )&&\r\n (this.filter._ext == null || this.filter._ext == undefined || this.filter._ext.trim().length == 0 ) &&\r\n (docAddlInformationValue == null || docAddlInformationValue == undefined))\r\n return validated;\r\n\r\n validated=true;\r\n\r\n\r\n return validated;\r\n }\r\n\r\n public loadWorkflowUserGroups(projectid:number)\r\n {\r\n this.projectService.getWorkflowUserGroups(projectid).subscribe((workflowusergroups:WorkflowUserGroup[]) => {\r\n if(workflowusergroups)\r\n {\r\n this.workflowUserGroups = workflowusergroups;\r\n setTimeout(() => {\r\n $('.selectpicker').selectpicker('refresh');\r\n }, 500);\r\n }\r\n });\r\n }\r\n}\r\n","
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\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\" class=\"mb-2 search add-text-color\">\r\n
DataManagerSettings.lblAdditionalInformations
\r\n \r\n
\r\n
0\">\r\n
\r\n
\r\n
{{docAddlInformation.attributeName}}
\r\n\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n\r\n\r\n
\r\n \r\n \r\n
\r\n
\r\n
\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 { AfterContentChecked, ChangeDetectorRef, Component, Injector, Input, OnChanges, OnDestroy, OnInit } from '@angular/core';\r\nimport { ActivatedRoute, ActivationStart, NavigationEnd, Router } from '@angular/router';\r\nimport { Subscription } from 'rxjs';\r\nimport { MenuService } from 'src/app/services/menu.service';\r\nimport { Scope, ScopeType } from 'src/shared/Models/scope-tree';\r\nimport { MainView, MainViewType } from 'src/shared/UI/ViewTypes';\r\nimport { Ability } from '@casl/ability';\r\nimport { Role } from 'src/shared/Models/API/role';\r\nimport { SystemRoles } from 'src/shared/Models/Roles.enum';\r\nimport { PermissionTypes } from 'src/shared/utilities/PermissionHelper';\r\nimport { BaseComponent } from 'src/app/modules/shared/BaseComponent';\r\nimport { FeatureType } from 'src/shared/UI/feature-type.enum';\r\n\r\n@Component({\r\n selector: 'app-main-menu',\r\n templateUrl: './main-menu.component.html',\r\n styleUrls: ['./main-menu.component.css']\r\n})\r\nexport class MainMenuComponent extends BaseComponent implements OnInit, OnDestroy {\r\n public menuServiceSubscription: Subscription;\r\n public mainviews: Array = new Array();\r\n public settingsViews: Array = new Array();\r\n public currentMainView: MainView = null;\r\n private _currentscope: Scope;\r\n public get currentscope(): Scope {\r\n return this._currentscope;\r\n }\r\n @Input()\r\n public set currentscope(v: Scope) {\r\n this._currentscope = v;\r\n this.SetMainView();\r\n }\r\n public currentType: MainViewType;\r\n public orgfeature=FeatureType;\r\n constructor(injector:Injector,\r\n private menuService: MenuService,\r\n private router: Router,\r\n private activtedRoute: ActivatedRoute,\r\n private ability: Ability,\r\n private cdr:ChangeDetectorRef) {\r\n super(injector);\r\n var snapshot = this.activtedRoute.snapshot;\r\n if (snapshot && snapshot.firstChild && snapshot.firstChild.url && snapshot.firstChild.url.length > 0) {\r\n this.currentType = this.activtedRoute.snapshot.firstChild ? this.activtedRoute.snapshot.firstChild.data.menuType : this.activtedRoute.snapshot.data.menuType;\r\n }\r\n }\r\n\r\n ngOnInit(): void {\r\n this.menuServiceSubscription = this.menuService.mainViewObservable().subscribe(emitedSelection => {\r\n if (emitedSelection) {\r\n this.currentMainView = emitedSelection;\r\n }\r\n });\r\n }\r\n\r\n ngAfterViewChecked() {\r\n this.cdr.detectChanges();\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.menuServiceSubscription.unsubscribe();\r\n }\r\n\r\n public GetMainViews(type: ScopeType): Array {\r\n // Removed support and settings view for now.\r\n // Also, removing permission check for other views\r\n var mainViewsForBuilding = new Array();\r\n if(type == ScopeType.ORGANIZATION)\r\n {\r\n var mainView1 = new MainView();\r\n mainView1.id = \"btn_projects\";\r\n mainView1.displayName = 'MainMenu.lblProjects';\r\n mainView1.name = \"Projects\";\r\n mainView1.type = MainViewType.PROJECTS;\r\n mainView1.icon = \"icon-menu-sketch\";\r\n mainViewsForBuilding.push(mainView1);\r\n }\r\n else\r\n {\r\n var mainView1 = new MainView();\r\n mainView1.id = \"btn_projects\";\r\n mainView1.displayName = 'MainMenu.lblProject' ;\r\n mainView1.name = \"details\";\r\n mainView1.type = MainViewType.PROJECTS;\r\n mainView1.icon = \"icon-menu-sketch\";\r\n mainViewsForBuilding.push(mainView1);\r\n }\r\n if (type != ScopeType.ORGANIZATION) {\r\n if(this.IsRoleBasedPermissionExists(PermissionTypes.VIEWDOCUMENTANDFOLDERS) && super.IsOrganizationFeatureExists(this.orgfeature.Document))\r\n {\r\n mainView1 = new MainView();\r\n mainView1.id = \"btn_documents\";\r\n mainView1.displayName = 'MainMenu.lblDocuments';\r\n mainView1.name = \"Documents\";\r\n mainView1.type = MainViewType.DOCUMENTS;\r\n mainView1.icon = \"icon-menu-doc\";\r\n mainViewsForBuilding.push(mainView1);\r\n }\r\n if(this.IsRoleBasedPermissionExists(PermissionTypes.TICKET) && super.IsOrganizationFeatureExists(this.orgfeature.Ticket))\r\n {\r\n mainView1 = new MainView();\r\n mainView1.id = \"btn_ticket\";\r\n mainView1.displayName = 'MainMenu.lblTicket';\r\n mainView1.name = \"Ticket\";\r\n mainView1.type = MainViewType.TICKET;\r\n mainView1.icon = \"icon-menu-ticket\";\r\n mainViewsForBuilding.push(mainView1);\r\n } \r\n if(this.IsRoleBasedPermissionExists(PermissionTypes.CHECKLIST) && super.IsOrganizationFeatureExists(this.orgfeature.Checklist) )\r\n {\r\n mainView1 = new MainView();\r\n mainView1.id = \"btn_menu\";\r\n mainView1.displayName = 'MainMenu.lblChecklist';;\r\n mainView1.name = \"Checklist\";\r\n mainView1.type = MainViewType.CHECKLIST;\r\n mainView1.icon = \"icon-menu-list\";\r\n\r\n mainViewsForBuilding.push(mainView1);\r\n }\r\n if(this.IsRoleBasedPermissionExists(PermissionTypes.VIEWFEDERATEDMODELS) && super.IsOrganizationFeatureExists(this.orgfeature.BIM))\r\n {\r\n mainView1 = new MainView();\r\n mainView1.id = \"btn_bim_model\";\r\n mainView1.displayName ='MainMenu.lblBIMModel';\r\n mainView1.name = \"BIMModel\";\r\n mainView1.type = MainViewType.BIM_MODEL;\r\n mainView1.icon = \"icon-cube\";\r\n mainViewsForBuilding.push(mainView1);\r\n\r\n }\r\n if(this.IsRoleBasedPermissionExists(PermissionTypes.TRANSMITTALS))\r\n {\r\n mainView1 = new MainView();\r\n mainView1.id = \"btn_transmiitals\";\r\n mainView1.displayName ='MainMenu.lblTransmittals';\r\n mainView1.name = \"Transmittals\";\r\n mainView1.type = MainViewType.TRANSMITTALS;\r\n mainView1.icon = \"icon-transmittals\";\r\n mainViewsForBuilding.push(mainView1);\r\n }\r\n \r\n\r\n if (this.IsRoleBasedPermissionExists(PermissionTypes.SPACEDETAILS) && super.IsOrganizationFeatureExists(this.orgfeature.Space)) {\r\n mainView1 = new MainView();\r\n mainView1.id = \"btn_spaces_view\";\r\n mainView1.displayName ='MainMenu.lblSpaces';\r\n mainView1.name = \"Spaces\";\r\n mainView1.type = MainViewType.SPACES;\r\n mainView1.icon = \"icon-layer\";\r\n mainViewsForBuilding.push(mainView1);\r\n }\r\n\r\n if (this.IsRoleBasedPermissionExists(PermissionTypes.ASSETDETAILS) && super.IsOrganizationFeatureExists(this.orgfeature.Asset)) {\r\n mainView1 = new MainView();\r\n mainView1.id = \"btn_assets_view\";\r\n mainView1.displayName ='MainMenu.lblAssets';\r\n mainView1.name = \"Assets\";\r\n mainView1.type = MainViewType.ASSETS;\r\n mainView1.icon = \"icon-menu-asset-management\";\r\n mainViewsForBuilding.push(mainView1);\r\n }\r\n if (this.IsRoleBasedPermissionExists(PermissionTypes.OperationAndMaintenance) && super.IsOrganizationFeatureExists(this.orgfeature.OperationandMaintenance)) {\r\n mainView1 = new MainView();\r\n mainView1.id = \"btn_onm_view\";\r\n mainView1.displayName ='MainMenu.lblONM';\r\n mainView1.name = \"onm\";\r\n mainView1.type = MainViewType.ONM;\r\n mainView1.icon = \"icon-maintenance\";\r\n mainViewsForBuilding.push(mainView1);\r\n }\r\n if (super.IsOrganizationFeatureExists(this.orgfeature.IOT)) {\r\n mainView1 = new MainView();\r\n mainView1.id = \"btn_iot_view\";\r\n mainView1.displayName ='MainMenu.lblIOT';\r\n mainView1.name = \"iot\";\r\n mainView1.type = MainViewType.IOT;\r\n mainView1.icon = \"icon-iot\";\r\n mainViewsForBuilding.push(mainView1);\r\n }\r\n\r\n \r\n if(this.ifAnyReportPermissionExists())\r\n {\r\n mainView1 = new MainView();\r\n mainView1.id = \"btn_report_view\";\r\n mainView1.displayName ='MainMenu.lblReports';\r\n mainView1.name = \"reports\";\r\n mainView1.type = MainViewType.REPORTS;\r\n mainView1.icon = \"icon-report\";\r\n mainViewsForBuilding.push(mainView1);\r\n }\r\n \r\n\r\n //calendar no permission need to check it is available for all users \r\n mainView1 = new MainView();\r\n mainView1.id = \"btn_calendar\";\r\n mainView1.displayName = 'MainMenu.lblCalendar';\r\n mainView1.name = \"calendar\";\r\n mainView1.type = MainViewType.CALENDAR;\r\n mainView1.icon = \"icon-calendar\";\r\n mainViewsForBuilding.push(mainView1);\r\n }\r\n\r\n return mainViewsForBuilding;\r\n }\r\n ifAnyReportPermissionExists() :boolean{\r\n return this.IsPMDMRolePermissionExists(PermissionTypes.DOCUMENTREPORT) ||\r\n this.IsPMDMRolePermissionExists(PermissionTypes.TICKETREPORT) ||\r\n this.IsPMDMRolePermissionExists(PermissionTypes.CHECKLISTREPORT) ||\r\n this.IsPMDMRolePermissionExists(PermissionTypes.TRANSMITTALREPORT) ||\r\n this.IsPMDMRolePermissionExists(PermissionTypes.SPACEREPORT) ||\r\n this.IsPMDMRolePermissionExists(PermissionTypes.ASSETREPORT) ||\r\n this.IsPMDMRolePermissionExists(PermissionTypes.ONMREPORT);\r\n }\r\n\r\n public GetSettingViews(type: ScopeType):Array{\r\n var settingsView: Array = new Array();\r\n if (type === ScopeType.ORGANIZATION && this.user && this.user.roles) {\r\n var dmRole: Role = this.user.roles.find((role: Role) => { return role.id == SystemRoles.DataManager && role.isSystem == true; });\r\n if (dmRole) {\r\n var dmView: MainView = new MainView();\r\n dmView.id = \"btn_data_manager\";\r\n dmView.name = \"DataManagerSettings\";\r\n dmView.displayName ='MainMenu.lblDataManagerSettings';\r\n dmView.type = MainViewType.DATA_MANAGER_SETTINGS;\r\n dmView.icon = \"icon-menu-dm-settings\";\r\n settingsView.push(dmView);\r\n }\r\n }\r\n if (type !== ScopeType.ORGANIZATION && this.currentscope.role) {\r\n if ( this.currentscope.role.id == SystemRoles.ProjectManager && this.currentscope.role.isSystem)\r\n {\r\n // Recycle Bin icon\r\n mainView1 = new MainView();\r\n mainView1.id = \"btn_recycle_bin\";\r\n mainView1.displayName = 'MainMenu.lblRecycleBin';\r\n mainView1.name = \"recyclebin\";\r\n mainView1.type = MainViewType.RECYCLE_BIN;\r\n mainView1.icon = \"icon-recycle\";\r\n settingsView.push(mainView1);\r\n\r\n var mainView1 = new MainView();\r\n mainView1.id = \"btn_project_manager\";\r\n mainView1.displayName = 'MainMenu.lblProjectManagerSettings';\r\n mainView1.name = \"ProjectManagerSettings\";\r\n mainView1.type = MainViewType.PROJECT_MANAGER_SETTINGS;\r\n mainView1.icon = \"icon-menu-settings\";\r\n settingsView.push(mainView1);\r\n }\r\n }\r\n return settingsView;\r\n }\r\n\r\n\r\n public Onclick(view: MainView): void {\r\n\r\n this.currentType = view.type;\r\n this.menuService.emitMainViewSelection(view);\r\n if (this.currentscope.type == ScopeType.ORGANIZATION)\r\n this.router.navigate([view.name.toLocaleLowerCase()]);\r\n else if (this.currentscope.type == ScopeType.PROJECT) {\r\n var route:string = \"/projects/\" + this.currentscope.id + \"/\" + view.name.toLocaleLowerCase();\r\n this.router.navigate([route]);\r\n }\r\n }\r\n\r\n public SetMainView(): void {\r\n if (this.currentscope != null) {\r\n if (this.currentscope.type == ScopeType.ORGANIZATION) {\r\n this.mainviews = this.GetMainViews(this.currentscope.type);\r\n this.settingsViews = this.GetSettingViews(this.currentscope.type);\r\n if(this.currentMainView != null) {\r\n if(this.currentMainView.type == MainViewType.DOCUMENTS || this.currentMainView.type == MainViewType.CHECKLIST || this.currentMainView.type == MainViewType.PROJECT_MANAGER_SETTINGS ) {\r\n this.Onclick(this.mainviews.find(it => it.type == MainViewType.PROJECTS))\r\n }\r\n }\r\n\r\n }\r\n else if (this.currentscope.type == ScopeType.PROJECT) {\r\n this.mainviews = this.GetMainViews(this.currentscope.type);\r\n this.settingsViews = this.GetSettingViews(this.currentscope.type);\r\n\r\n } else {\r\n this.mainviews = this.GetMainViews(this.currentscope.type);\r\n this.settingsViews = this.GetSettingViews(this.currentscope.type);\r\n }\r\n\r\n }\r\n\r\n }\r\n\r\n\r\n\r\n IsRoleBasedPermissionExists(permission: PermissionTypes): boolean {\r\n if(this._currentscope && this._currentscope.role)\r\n {\r\n return this._currentscope.role.permissions.includes(permission);\r\n }\r\n return true;\r\n }\r\n IsPMDMRolePermissionExists(_permission:PermissionTypes)\r\n {\r\n return this.permissionUtil.IsPermissionExists(this.user,this._currentscope,_permission)\r\n }\r\n\r\n\r\n\r\n\r\n}\r\n","
\r\n
    \r\n \r\n
  • \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 { ChangeDetectorRef, Injector, OnChanges, OnDestroy } from '@angular/core';\r\nimport { Component, OnInit, Input } from '@angular/core';\r\nimport { Subscription } from 'rxjs';\r\n\r\nimport { Scope, ScopeType } from 'src/shared/Models/scope-tree';\r\nimport { MainView } from 'src/shared/UI/ViewTypes';\r\nimport { BaseComponent } from '../modules/shared/BaseComponent';\r\nimport { MenuService } from '../services/menu.service';\r\n\r\n\r\n@Component({\r\n selector: 'app-main',\r\n templateUrl: './main.component.html',\r\n styleUrls: ['./main.component.css']\r\n})\r\nexport class MainComponent extends BaseComponent implements OnInit, OnDestroy,OnChanges {\r\n @Input()\r\n public currentscope: Scope = null;\r\n public menuServiceSubscription: Subscription;\r\n public currentMainView: MainView = new MainView();\r\n public eScopeTypes = ScopeType;\r\n constructor(injector:Injector,\r\n private menuService: MenuService,private cd: ChangeDetectorRef) {\r\n super(injector);\r\n }\r\n\r\n ngOnInit(): void {\r\n this.menuServiceSubscription = this.menuService.mainViewObservable().subscribe(emitedSelection => {\r\n this.currentMainView = emitedSelection;\r\n });\r\n }\r\n\r\n ngOnChanges(): void {\r\n this.cd.detectChanges();\r\n }\r\n ngOnDestroy(): void {\r\n this.menuServiceSubscription.unsubscribe();\r\n }\r\n}\r\n","
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n","import { Component, Injector, Input, OnChanges, OnInit, Output, SimpleChanges,EventEmitter } from '@angular/core';\r\nimport { verify } from 'crypto';\r\nimport { User } from 'oidc-client';\r\nimport { Subscription } from 'rxjs';\r\n\r\nimport { BaseComponent } from 'src/app/modules/shared/BaseComponent';\r\nimport { ColumnSelectionService } from 'src/app/services/column-selection.service';\r\nimport { OrganizationService } from 'src/app/services/organization.service';\r\nimport { ProjectService } from 'src/app/services/project.service';\r\nimport { DocAddlInformation } from 'src/shared/Models/API/documentadditionaInfo';\r\nimport { AssetAddlinformation } from 'src/shared/Models/Asset';\r\nimport { ColumnsData, ColumnType, ProjectColumns } from 'src/shared/Models/Column-Settings';\r\nimport { Scope, ScopeType } from 'src/shared/Models/scope-tree';\r\nimport { SpaceAddlinformation } from 'src/shared/Models/space';\r\nimport { MainView, MainViewType } from 'src/shared/UI/ViewTypes';\r\n\r\n@Component({\r\n selector: 'app-column-settings-dialog',\r\n templateUrl: './column-settings-dialog.component.html',\r\n styleUrls: ['./column-settings-dialog.component.css']\r\n})\r\nexport class ColumnSettingsDialogComponent extends BaseComponent implements OnInit,OnChanges {\r\n\r\n @Input()\r\n public currentMainView: MainView = new MainView();\r\n\r\n @Input()\r\n public projectId: number=0;\r\n\r\n @Input() public isDisplayed:boolean = false;\r\n\r\n public lstColumns:Array = new Array();\r\n\r\n @Output() cancelEvent:EventEmitter = new EventEmitter();\r\n subType:number =-1;\r\n subscription: Subscription=null;\r\n\r\n constructor(injector:Injector,private columnSettingsService:ColumnSelectionService,private projectService:ProjectService,\r\n private organizationService:OrganizationService) { super(injector); }\r\n\r\n ngOnInit() {\r\n this.InitSubTypeSubscription();\r\n \r\n }\r\n InitSubTypeSubscription() {\r\n if(this.subscription && !this.subscription.closed)\r\n this.subscription.unsubscribe();\r\n this.subscription = this.columnSettingsService.subTypeObservable().subscribe((subType:number)=>{\r\n this.subType =subType;\r\n this.getAllColumns();\r\n \r\n });\r\n }\r\n ngOnChanges(changes: SimpleChanges): void {\r\n if(changes && changes.currentMainView && changes.currentMainView.currentValue)\r\n {\r\n this.getAllColumns();\r\n\r\n }\r\n else if(changes && changes.isDisplayed && changes.isDisplayed.currentValue)\r\n {\r\n \r\n if(this.isDisplayed)\r\n this.SetColumnsData();\r\n }\r\n }\r\n SetColumnsData() {\r\n //this will check the available default or local settings column for project and user\r\n // and set isVisible\r\n var selectedColumns = this.columnSettingsService.getSelectedColumns(this.projectId,this.user.id,this.currentMainView.type,this.subType);\r\n if(this.lstColumns)\r\n {\r\n this.lstColumns.forEach((column:ColumnsData)=>{\r\n var selectedColumn:ColumnsData = selectedColumns.find(x=>x.id == column.id && x.type== column.type);\r\n if(selectedColumn)\r\n {\r\n column.isVisible= true;\r\n column.width= selectedColumn.width;\r\n column.widthDisabled=false;\r\n }\r\n else\r\n {\r\n column.isVisible=false;\r\n column.width=null;\r\n column.widthDisabled=true;\r\n }\r\n\r\n });\r\n }\r\n\r\n\r\n }\r\n\r\n OnReset()\r\n {\r\n var selectedColumns = this.columnSettingsService.getStandardColumns(this.currentMainView.type,this.subType);\r\n if(this.lstColumns)\r\n {\r\n this.lstColumns.forEach((column:ColumnsData)=>{\r\n var selectedColumn:ColumnsData = selectedColumns.find(x=>x.id == column.id && x.type== column.type);\r\n if(selectedColumn)\r\n {\r\n column.isVisible= true;\r\n column.width= selectedColumn.width;\r\n column.widthDisabled=false;\r\n }\r\n else\r\n {\r\n column.isVisible=false;\r\n column.width=null;\r\n column.widthDisabled=true;\r\n }\r\n\r\n });\r\n }\r\n\r\n }\r\n OnClose()\r\n {\r\n this.cancelEvent.emit();\r\n }\r\n getAllColumns() {\r\n //this will fetch the additional information and in subscribe will do assign visibility\r\n this.lstColumns = this.columnSettingsService.getStandardColumns(this.currentMainView.type,this.subType);\r\n\r\n switch(this.currentMainView.type)\r\n {\r\n case MainViewType.DOCUMENTS:\r\n {\r\n this.AppendDocumentCustomColumns();\r\n }\r\n break;\r\n case MainViewType.SPACES:\r\n {\r\n this.AppendSpaceCustomColumns();\r\n }\r\n break;\r\n case MainViewType.ASSETS:\r\n {\r\n this.ApppendAssetCustomColumns();\r\n\r\n }\r\n break;\r\n default:break;\r\n }\r\n }\r\n ApppendAssetCustomColumns() {\r\n this.lstColumns = this.lstColumns.filter(x=>x.type != ColumnType.CUSTOM);\r\n this.organizationService.getAssetAdditionalInformations(this.user.organization.id,this.projectId).subscribe((assetsAddlInformations:Array)=>{\r\n this.lstColumns = this.lstColumns.filter(x=>x.type != ColumnType.CUSTOM);\r\n\r\n if(assetsAddlInformations)\r\n {\r\n var projectAssetAddlInformations:Array = assetsAddlInformations.filter(x=>x.projectId == this.projectId);\r\n\r\n if(projectAssetAddlInformations)\r\n {\r\n projectAssetAddlInformations.forEach((addlInformation:AssetAddlinformation)=>{\r\n var columnData:ColumnsData = new ColumnsData();\r\n columnData.id= addlInformation.id;\r\n columnData.name=addlInformation.attributeName;\r\n columnData.isVisible=false;\r\n columnData.width=null;\r\n columnData.type= ColumnType.CUSTOM;\r\n columnData.customColumnType = addlInformation.attributeType;\r\n this.lstColumns.push(columnData);\r\n\r\n });\r\n }\r\n }\r\n });\r\n }\r\n AppendSpaceCustomColumns() {\r\n this.lstColumns = this.lstColumns.filter(x=>x.type != ColumnType.CUSTOM);\r\n this.organizationService.getSpaceAdditionalInformations(this.user.organization.id,this.projectId).subscribe((spaceAddlInformations:Array)=>{\r\n\r\n this.lstColumns = this.lstColumns.filter(x=>x.type != ColumnType.CUSTOM);\r\n if(spaceAddlInformations)\r\n {\r\n var projectSpaceAddlInformations:Array = spaceAddlInformations.filter(x=>x.projectId == this.projectId);\r\n\r\n if(projectSpaceAddlInformations)\r\n {\r\n projectSpaceAddlInformations.forEach((addlInformation:SpaceAddlinformation)=>{\r\n var columnData:ColumnsData = new ColumnsData();\r\n columnData.id= addlInformation.id;\r\n columnData.name=addlInformation.attributeName;\r\n columnData.isVisible=false;\r\n columnData.width=null;\r\n columnData.type= ColumnType.CUSTOM;\r\n columnData.customColumnType = addlInformation.attributeType;\r\n this.lstColumns.push(columnData);\r\n\r\n });\r\n }\r\n }\r\n\r\n });\r\n }\r\n AppendDocumentCustomColumns() {\r\n this.lstColumns = this.lstColumns.filter(x=>x.type != ColumnType.CUSTOM);\r\n this.projectService.getDocumentAdditionalInfos(this.projectId).subscribe((addlInfos:Array)=>{\r\n this.lstColumns = this.lstColumns.filter(x=>x.type != ColumnType.CUSTOM);\r\n if(addlInfos && addlInfos.length > 0)\r\n {\r\n addlInfos.forEach((addlInfo:DocAddlInformation)=>{\r\n var columnData:ColumnsData = new ColumnsData();\r\n columnData.id= addlInfo.id;\r\n columnData.name=addlInfo.attributeName;\r\n columnData.isVisible=false;\r\n columnData.width=null;\r\n columnData.type= ColumnType.CUSTOM;\r\n columnData.customColumnType=addlInfo.attributeType;\r\n this.lstColumns.push(columnData);\r\n\r\n\r\n })\r\n }\r\n\r\n });\r\n }\r\n\r\n OnSave(){\r\n if(this.ValidateDialog())\r\n {\r\n var visibleColumns:Array = this.lstColumns.filter(x=>x.isVisible == true);\r\n this.columnSettingsService.saveColumns(visibleColumns,this.projectId,this.user.id,this.currentMainView.type,this.subType);\r\n\r\n var projectColumn:ProjectColumns= new ProjectColumns();\r\n projectColumn.columns=visibleColumns;\r\n projectColumn.viewType= this.currentMainView.type;\r\n projectColumn.userid=this.user.id;\r\n projectColumn.projectId=this.projectId;\r\n projectColumn.subviewType= this.subType;\r\n this.columnSettingsService.emitColumnSelection(projectColumn);\r\n\r\n this.cancelEvent.emit();\r\n \r\n }\r\n }\r\n ValidateDialog():boolean {\r\n var isValid:boolean=false;\r\n\r\n var visibleColumns:Array = this.lstColumns.filter(x=>x.isVisible == true);\r\n\r\n if(visibleColumns)\r\n {\r\n var nowidthColumn:ColumnsData = visibleColumns.find(x=>x.width == null || x.width <= 0);\r\n if(nowidthColumn)\r\n {\r\n this.warningMsg(this.translate.instant('ColumnSettings.lblWarningSelectWidth'));\r\n return isValid;\r\n }\r\n }\r\n\r\n isValid=true;\r\n return isValid;\r\n }\r\n\r\n OnChangeVisible(column:ColumnsData,event: any)\r\n {\r\n var status = event.target.checked;\r\n if(!status)\r\n {\r\n column.width=null;\r\n column.widthDisabled=true;\r\n }\r\n else\r\n column.widthDisabled=false;\r\n }\r\n}\r\n","
\r\n
\r\n
\r\n
\r\n
{{'ColumnSettings.GridSettings'|translate}}
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
{{'ColumnSettings.ColumnName'|translate}}
\r\n
\r\n
{{'ColumnSettings.OnOff'|translate}}
\r\n
\r\n
{{'ColumnSettings.Width'|translate}}
\r\n
{{'ColumnSettings.MinMax'|translate}}
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
{{column.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
","import { Input } from '@angular/core';\r\nimport { Component, OnInit } from '@angular/core';\r\nimport { DomSanitizer, SafeResourceUrl } from '@angular/platform-browser';\r\nimport { ActivatedRoute } from '@angular/router';\r\nimport { environment } from 'src/environments/environment';\r\n\r\n@Component({\r\n selector: 'app-dwg-viewer',\r\n templateUrl: './dwg-viewer.component.html',\r\n styleUrls: ['./dwg-viewer.component.css']\r\n})\r\nexport class DwgViewerComponent implements OnInit {\r\n\r\n public urlSafe: SafeResourceUrl;\r\n \r\n\r\n @Input()\r\n public url:string='';\r\n\r\n constructor(private sanitizer: DomSanitizer, private route: ActivatedRoute) { }\r\n\r\n ngOnInit(): void {\r\n this.urlSafe = this.sanitizer.bypassSecurityTrustResourceUrl(environment.DWG_VIEWER_URL +\r\n this.url);\r\n }\r\n}\r\n","\r\n","import { HttpUrlEncodingCodec } from '@angular/common/http';\r\nimport { Input } from '@angular/core';\r\nimport { Component, OnInit } from '@angular/core';\r\nimport { DomSanitizer, SafeResourceUrl } from '@angular/platform-browser';\r\nimport { AuthService } from 'src/app/modules/authentication/auth.service';\r\nimport { environment } from 'src/environments/environment';\r\nimport { FileUtil } from 'src/shared/utilities/FileUtil';\r\n\r\n@Component({\r\n selector: 'app-office-viewer',\r\n templateUrl: './office-viewer.component.html',\r\n styleUrls: ['./office-viewer.component.css']\r\n})\r\nexport class OfficeViewerComponent implements OnInit {\r\n \r\n\r\n @Input() url:string='';\r\n \r\n public urlSafe: SafeResourceUrl;\r\n\r\n codec = new HttpUrlEncodingCodec;\r\n private utilFile: FileUtil = new FileUtil();\r\n \r\n constructor(private sanitizer: DomSanitizer,\r\n private authService: AuthService) { }\r\n\r\n ngOnInit(): void {\r\n \r\n this.urlSafe = this.sanitizer.bypassSecurityTrustResourceUrl(environment.OFFICE_APP_URL + '?src='\r\n + this.url + this.codec.encodeValue('&_r='+this.utilFile.getrandomString(5)));\r\n }\r\n\r\n}\r\n","\r\n","import { Component, OnInit, Input, OnChanges } from '@angular/core';\r\nimport { Scope } from 'src/shared/Models/scope-tree';\r\nimport { MainView, MainViewType, SubView } from 'src/shared/UI/ViewTypes';\r\n\r\n@Component({\r\n selector: 'app-innerview',\r\n templateUrl: './innerview.component.html',\r\n styleUrls: ['./innerview.component.css']\r\n})\r\nexport class InnerviewComponent implements OnInit, OnChanges {\r\n @Input()\r\n public currentScope: Scope = null;\r\n public subviews: Array = new Array();\r\n public currentSubView: SubView = new SubView();\r\n private _mainview: MainView;\r\n public get mainview(): MainView {\r\n return this._mainview;\r\n }\r\n @Input()\r\n public set mainview(v: MainView) {\r\n this._mainview = v;\r\n if (v) {\r\n this.SetSubViews();\r\n }\r\n }\r\n public mainViewType = MainViewType;\r\n constructor() {\r\n }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n ngOnChanges(): void {\r\n\r\n /**********THIS FUNCTION WILL TRIGGER WHEN PARENT COMPONENT UPDATES 'someInput'**************/\r\n //update the view here for individual componets\r\n // main view gives the idea of which view it is\r\n //current scope is the current scope selected at top\r\n //Basically create the sub menus here based in mainview type\r\n }\r\n\r\n public GetSubViews(): Array {\r\n var subviews = Array();\r\n var subView: SubView = new SubView();\r\n subView.id = \"property\";\r\n subView.name = \"Property\";\r\n subView.aria_controls = \"pills-property\"\r\n subviews.push(subView);\r\n\r\n subView = new SubView();\r\n subView.id = \"team\";\r\n subView.name = \"Team\";\r\n subView.aria_controls = \"pills-team\"\r\n subviews.push(subView);\r\n\r\n subView = new SubView();\r\n subView.id = \"linked_models\";\r\n subView.name = \"Linked Models\";\r\n subView.aria_controls = \"pills-linked-models\"\r\n subviews.push(subView);\r\n\r\n subView = new SubView();\r\n subView.id = \"floor_management\";\r\n subView.name = \"Floor Management\";\r\n subView.aria_controls = \"pills-floor-management\"\r\n subviews.push(subView);\r\n\r\n subView = new SubView();\r\n subView.id = \"Map\";\r\n subView.name = \"Map\";\r\n subView.aria_controls = \"pills-map\"\r\n subviews.push(subView);\r\n\r\n subView = new SubView();\r\n subView.id = \"pills_log_tab\";\r\n subView.name = \"Log\";\r\n subView.aria_controls = \"pills-log\"\r\n subviews.push(subView);\r\n\r\n subView = new SubView();\r\n subView.id = \"pills_lists_settings_tab\";\r\n subView.name = \"Lists Settings\";\r\n subView.aria_controls = \"pills-lists-settings\"\r\n subviews.push(subView);\r\n\r\n subView = new SubView();\r\n subView.id = \"pills_operation_tab\";\r\n subView.name = \"Operation in the Queue\";\r\n subView.aria_controls = \"pills-operation\"\r\n subviews.push(subView);\r\n\r\n subView = new SubView();\r\n subView.id = \"pills-chats-tab\";\r\n subView.name = \"Chat\";\r\n subView.aria_controls = \"pills-chats\"\r\n subviews.push(subView);\r\n return subviews;\r\n }\r\n\r\n public Onclick(view: SubView): void {\r\n this.currentSubView = view;\r\n }\r\n\r\n public SetSubViews(): void {\r\n this.subviews = this.GetSubViews();\r\n this.currentSubView = this.subviews[0];\r\n }\r\n}\r\n","\r\n\r\n","import { Component, OnInit, Input, OnChanges, SimpleChanges, Injector, ChangeDetectorRef } from '@angular/core';\r\nimport { sub } from 'date-fns';\r\nimport { Subscription } from 'rxjs';\r\nimport { BaseComponent } from 'src/app/modules/shared/BaseComponent';\r\nimport { ColumnSelectionService } from 'src/app/services/column-selection.service';\r\nimport { ScopeService } from 'src/app/services/scope.service';\r\nimport { UploadPaneService } from 'src/app/services/upload-pane.service';\r\nimport { Job } from 'src/shared/Models/Internal/job';\r\nimport { Scope, ScopeType } from 'src/shared/Models/scope-tree';\r\nimport { MainView, MainViewType } from 'src/shared/UI/ViewTypes';\r\n\r\ndeclare var $: any;\r\n\r\n@Component({\r\n selector: 'app-mainview',\r\n templateUrl: './mainview.component.html',\r\n styleUrls: ['./mainview.component.css']\r\n})\r\nexport class MainviewComponent extends BaseComponent implements OnInit, OnChanges {\r\n @Input()\r\n public currentscope: Scope;\r\n @Input()\r\n public currentMainView: MainView = new MainView();\r\n public eScopeType = ScopeType;\r\n public scopeTypes = ScopeType;\r\n IsSettings:boolean=false;\r\n projectId:number =0;\r\n IsSettingSupported:boolean = true;\r\n \r\n\r\n disabledApps:Array = [MainViewType.CHECKLIST,MainViewType.CALENDAR,MainViewType.IOT,MainViewType.REPORTS,MainViewType.BIM_MODEL,MainViewType.PROJECT_MANAGER_SETTINGS,\r\n MainViewType.DATA_MANAGER_SETTINGS,MainViewType.RECYCLE_BIN,MainViewType.PROJECTS,MainViewType.MY_PROFILE];\r\n\r\n constructor(injector:Injector,\r\n private uploadPaneService: UploadPaneService,private cdref:ChangeDetectorRef,private scopeService:ScopeService) {\r\n super(injector);\r\n }\r\n\r\n ngOnInit() { \r\n\r\n this.InitScopeSubscription();\r\n \r\n }\r\n \r\n InitScopeSubscription() {\r\n this.scopeService.scopeObservable().subscribe((scope: Scope)=>{\r\n if(scope.type == ScopeType.PROJECT )\r\n {\r\n this.projectId = scope.id;\r\n \r\n }\r\n\r\n });\r\n }\r\n\r\n CloseSettings()\r\n {\r\n this.IsSettings=false;\r\n \r\n $('#GirdSettings').modal('hide');\r\n\r\n }\r\n\r\n OnSettingDialog()\r\n {\r\n this.IsSettings=true;\r\n \r\n $('#GirdSettings').modal('show');\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges) { \r\n\r\n if(changes && changes.currentMainView && changes.currentMainView.currentValue)\r\n {\r\n if(this.disabledApps.includes(this.currentMainView.type))\r\n this.IsSettingSupported=false;\r\n else \r\n this.IsSettingSupported=true;\r\n\r\n }\r\n }\r\n\r\n toggleSidepannel() {\r\n switch (this.currentMainView.type) {\r\n case MainViewType.PROJECT_MANAGER_SETTINGS:\r\n return true;\r\n case MainViewType.DATA_MANAGER_SETTINGS:\r\n return true;\r\n case MainViewType.MY_PROFILE:\r\n return true;\r\n case MainViewType.RECYCLE_BIN:\r\n return true;\r\n \r\n case MainViewType.CHECKLIST:\r\n if(this.IsMobile)\r\n return true;\r\n else return false;\r\n \r\n case MainViewType.TICKET:\r\n return true;\r\n case MainViewType.ONM:\r\n return true;\r\n case MainViewType.CALENDAR:\r\n return true;\r\n case MainViewType.TRANSMITTALS:\r\n return true;\r\n case MainViewType.IOT:\r\n return true;\r\n case MainViewType.REPORTS:\r\n return true;\r\n default:\r\n return false;\r\n }\r\n }\r\n}\r\n","
\r\n \r\n \r\n
\r\n
\r\n

{{currentMainView.displayName |translate}}

\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n","import { Component, Injector, Input, OnChanges,EventEmitter, OnInit, SimpleChanges, Output } from '@angular/core';\r\n\r\nimport { AuthService } from 'src/app/modules/authentication/auth.service';\r\nimport { BaseComponent } from 'src/app/modules/shared/BaseComponent';\r\nimport { FilterService } from 'src/app/services/filter.service';\r\nimport { GlobalService } from 'src/app/services/global.service';\r\nimport { IFCService } from 'src/app/services/ifc-service';\r\nimport { OrganizationService } from 'src/app/services/organization.service';\r\nimport { Document } from 'src/shared/Models/API/document';\r\nimport { BIMFilterModel, FilterOperator, IFCFieldType, IFCFilterColumn, IFCFilterFields, IFCFilterModel, IFCOperatorUI, Operator } from 'src/shared/Models/API/filtermodel';\r\nimport { IFCCategoryModel } from 'src/shared/Models/API/IFCCategoryModel';\r\nimport { IFCFloorsModel, IFCObjectViewType } from 'src/shared/Models/API/IFCFloorsModel';\r\nimport { SpaceAssetAdditionalInformations } from 'src/shared/Models/API/Project';\r\nimport { AssetAddlinformation } from 'src/shared/Models/Asset';\r\nimport { Scope } from 'src/shared/Models/scope-tree';\r\nimport { SpaceAddlinformation } from 'src/shared/Models/space';\r\nimport { User } from 'src/shared/Models/user';\r\n@Component({\r\n selector: 'app-bimmodel-filter',\r\n templateUrl: './bimmodel-filter.component.html',\r\n styleUrls: ['./bimmodel-filter.component.css']\r\n})\r\nexport class BimmodelFilterComponent extends BaseComponent implements OnInit,OnChanges {\r\n\r\n public AddOrClicked:boolean = false;\r\n public _c1isRange:boolean= false;\r\n public _c2isRange:boolean= false;\r\n @Input() visibleValue:boolean = false;\r\n\r\n @Input() documents:Array = null;\r\n @Input() scope:Scope =null;\r\n\r\n user:User = null;\r\n c1FieldId:number ;\r\n c2FieldId:number;\r\n\r\n isAllPropertiesDisabled:boolean = false;\r\n\r\n ifcCategories:Array = new Array();\r\n isApplyDisabled:boolean = false;\r\n\r\n _ifcViewType = IFCObjectViewType;\r\n public currentIFCView:IFCObjectViewType = IFCObjectViewType.NONE;\r\n ifcFilter:IFCFilterModel = new IFCFilterModel();\r\n ifcFields:Array = new Array();\r\n _c1OperatorValues:Array = new Array();\r\n _c2OperatorValues:Array = new Array();\r\n\r\n _filteroperator=FilterOperator;\r\n SecondDivName:string='';\r\n _c1valueText:String =\"\";\r\n _c2valueText:String =\"\";\r\n public selectedFloorId1:number =null;\r\n public selectedFloorId2:number =null;\r\n\r\n public bimFilter:BIMFilterModel = new BIMFilterModel();\r\n\r\n public floors:Array = new Array();\r\n\r\n @Output() OnApplyEvent:EventEmitter = new EventEmitter();\r\n constructor(injector:Injector,private ifcService:IFCService,private authService:AuthService,\r\n private globalService:GlobalService,private organizationService:OrganizationService,\r\n private filterService:FilterService) {\r\n super(injector);\r\n this.user = authService.getUser();\r\n this._c1valueText=this.translate.instant(\"BIMModels.Filters.Value\");\r\n this._c2valueText=this.translate.instant(\"BIMModels.Filters.Value\");\r\n }\r\n\r\n ngOnInit() {\r\n var allIFCCategory = new IFCCategoryModel();\r\n allIFCCategory.id= 0;\r\n allIFCCategory.name=this.translate.instant(\"Settings.CommonLabel.lblAll\");\r\n this.ifcCategories.push(allIFCCategory);\r\n this.filterService.emitIFCViewType(IFCObjectViewType.NONE);\r\n \r\n this.filterService.presetFilterObservable().subscribe((bimFilter:BIMFilterModel)=>{\r\n if(bimFilter)\r\n {\r\n this.bimFilter=bimFilter;\r\n \r\n \r\n }\r\n })\r\n \r\n }\r\n EnableFilter(bEnable:boolean)\r\n {\r\n this.isApplyDisabled=!bEnable;\r\n }\r\n getSpaceAssetAdditionalInformations() {\r\n \r\n \r\n \r\n this.globalService.getSpaceAssetAddlInformations(this.user.organization.id,this.scope.project.id).subscribe((SpaceAssetAdditionalInformations:SpaceAssetAdditionalInformations)=>{\r\n \r\n var spaceAddlInformations:Array = new Array();\r\n\r\n if(SpaceAssetAdditionalInformations.spaceAddlInformations != null && SpaceAssetAdditionalInformations.spaceAddlInformations.length > 0)\r\n {\r\n spaceAddlInformations = SpaceAssetAdditionalInformations.spaceAddlInformations.filter(x=>x.projectId ==this.scope.project.id );\r\n }\r\n var assetAddlInformations:Array = new Array();\r\n\r\n if(SpaceAssetAdditionalInformations.assetAddlInformations != null && SpaceAssetAdditionalInformations.assetAddlInformations.length > 0)\r\n {\r\n assetAddlInformations = SpaceAssetAdditionalInformations.assetAddlInformations.filter(x=>x.projectId ==this.scope.project.id );\r\n }\r\n this.fillFilterFields(spaceAddlInformations,assetAddlInformations);\r\n \r\n \r\n });\r\n }\r\n fillFilterFields(spaceAddlInfos:Array,assetAddlInfos:Array) {\r\n var filterField:IFCFilterFields = new IFCFilterFields();\r\n var id:number = -1;\r\n filterField.column = IFCFilterColumn.SPACE_SITENAME;\r\n filterField.id= id--;\r\n filterField.name=this.translate.instant(\"BIMModels.Filters.SpaceSiteName\");\r\n filterField.type = IFCFieldType.STRING;\r\n this.ifcFields.push(filterField);\r\n \r\n filterField = new IFCFilterFields();\r\n filterField.id= id--;\r\n filterField.column = IFCFilterColumn.SPACE_BUILTNAME;\r\n filterField.name=this.translate.instant(\"BIMModels.Filters.SpaceBuildName\");\r\n filterField.type = IFCFieldType.STRING;\r\n this.ifcFields.push(filterField);\r\n\r\n filterField = new IFCFilterFields();\r\n filterField.id= id--;\r\n filterField.column = IFCFilterColumn.SPACE_CODE;\r\n filterField.name=this.translate.instant(\"BIMModels.Filters.SpaceCode\");\r\n filterField.type = IFCFieldType.STRING;\r\n this.ifcFields.push(filterField);\r\n \r\n filterField = new IFCFilterFields();\r\n filterField.id= id--;\r\n filterField.column = IFCFilterColumn.SPACE_TYPE;\r\n filterField.name=this.translate.instant(\"BIMModels.Filters.SpaceType\");\r\n filterField.type = IFCFieldType.STRING;\r\n this.ifcFields.push(filterField);\r\n\r\n filterField = new IFCFilterFields();\r\n filterField.id= id--;\r\n filterField.column = IFCFilterColumn.SPACE_CLASSIFICATION;\r\n filterField.name=this.translate.instant(\"BIMModels.Filters.SpaceClassification\");;\r\n filterField.type = IFCFieldType.STRING;\r\n this.ifcFields.push(filterField);\r\n\r\n filterField = new IFCFilterFields();\r\n filterField.id= id--;\r\n filterField.column = IFCFilterColumn.SPACE_NAME;\r\n filterField.name=this.translate.instant(\"BIMModels.Filters.SpaceName\");;\r\n filterField.type = IFCFieldType.STRING;\r\n this.ifcFields.push(filterField);\r\n\r\n filterField = new IFCFilterFields();\r\n filterField.id= id--;\r\n filterField.column = IFCFilterColumn.SPACE_OCCUPANCY;\r\n filterField.name=this.translate.instant(\"BIMModels.Filters.SpaceOccupancy\");\r\n filterField.type = IFCFieldType.STRING;\r\n this.ifcFields.push(filterField);\r\n\r\n filterField = new IFCFilterFields();\r\n filterField.id= id--;\r\n filterField.column = IFCFilterColumn.SPACE_LEVEL;\r\n filterField.name=this.translate.instant(\"BIMModels.Filters.SpaceLevel\");\r\n filterField.type = IFCFieldType.STRING;\r\n this.ifcFields.push(filterField);\r\n\r\n filterField = new IFCFilterFields();\r\n filterField.id= id--;\r\n filterField.column = IFCFilterColumn.ZONE_NAME;\r\n filterField.name=this.translate.instant(\"BIMModels.Filters.ZoneName\");\r\n filterField.type = IFCFieldType.STRING;\r\n this.ifcFields.push(filterField);\r\n\r\n filterField = new IFCFilterFields();\r\n filterField.id= id--;\r\n filterField.column = IFCFilterColumn.ZONE_DESCRIPTION;\r\n filterField.name=this.translate.instant(\"BIMModels.Filters.ZoneDescription\");\r\n filterField.type = IFCFieldType.STRING;\r\n this.ifcFields.push(filterField);\r\n\r\n if(spaceAddlInfos != null && spaceAddlInfos.length > 0 )\r\n {\r\n \r\n spaceAddlInfos.forEach((addlinfo:SpaceAddlinformation)=>{\r\n filterField = new IFCFilterFields();\r\n filterField.column = IFCFilterColumn.SPACE_ADDL_KEY;\r\n filterField.id= id--;\r\n filterField.name=addlinfo.attributeName;\r\n filterField.type = IFCFieldType.STRING;\r\n filterField.addlInfoId= addlinfo.id;\r\n this.ifcFields.push(filterField);\r\n \r\n\r\n });\r\n }\r\n\r\n\r\n filterField = new IFCFilterFields();\r\n filterField.id= id--;\r\n filterField.column = IFCFilterColumn.ASSET_CIRCUIT;\r\n filterField.name=this.translate.instant(\"BIMModels.Filters.AssetCircuit\");\r\n filterField.type = IFCFieldType.STRING;\r\n this.ifcFields.push(filterField);\r\n\r\n filterField = new IFCFilterFields();\r\n filterField.id= id--;\r\n filterField.column = IFCFilterColumn.ASSET_CODE;\r\n filterField.name=this.translate.instant(\"BIMModels.Filters.AssetCode\");\r\n filterField.type = IFCFieldType.STRING;\r\n this.ifcFields.push(filterField);\r\n\r\n filterField = new IFCFilterFields();\r\n filterField.id= id--;\r\n filterField.column = IFCFilterColumn.ASSET_CLASSIFICATION;\r\n filterField.name=this.translate.instant(\"BIMModels.Filters.AssetClassification\");\r\n filterField.type = IFCFieldType.STRING;\r\n this.ifcFields.push(filterField);\r\n\r\n filterField = new IFCFilterFields();\r\n filterField.id= id--;\r\n filterField.column = IFCFilterColumn.ASSET_NAME;\r\n filterField.name=this.translate.instant(\"BIMModels.Filters.AssetName\");\r\n filterField.type = IFCFieldType.STRING;\r\n this.ifcFields.push(filterField);\r\n\r\n \r\n\r\n filterField = new IFCFilterFields();\r\n filterField.id= id--;\r\n filterField.column = IFCFilterColumn.ASSET_ACCOUNTABLE;\r\n filterField.name=this.translate.instant(\"BIMModels.Filters.AssetAccountable\");\r\n filterField.type = IFCFieldType.STRING;\r\n this.ifcFields.push(filterField);\r\n\r\n filterField = new IFCFilterFields();\r\n filterField.id= id--;\r\n filterField.column = IFCFilterColumn.ASSET_DESCRIPTION;\r\n filterField.name=this.translate.instant(\"BIMModels.Filters.AssetDescription\");\r\n filterField.type = IFCFieldType.STRING;\r\n this.ifcFields.push(filterField);\r\n\r\n filterField = new IFCFilterFields();\r\n filterField.id= id--;\r\n filterField.column = IFCFilterColumn.ASSET_SPACE_SITENAME;\r\n filterField.name=this.translate.instant(\"BIMModels.Filters.AssetSpaceSiteName\");\r\n filterField.type = IFCFieldType.STRING;\r\n this.ifcFields.push(filterField);\r\n\r\n filterField = new IFCFilterFields();\r\n filterField.id= id--;\r\n filterField.column = IFCFilterColumn.ASSET_SPACE_BUILTNAME;\r\n filterField.name=this.translate.instant(\"BIMModels.Filters.AssetSpaceBuildingName\");\r\n filterField.type = IFCFieldType.STRING;\r\n this.ifcFields.push(filterField);\r\n\r\n filterField = new IFCFilterFields();\r\n filterField.id= id--;\r\n filterField.column = IFCFilterColumn.ASSET_SPACE_CODE;\r\n filterField.name=this.translate.instant(\"BIMModels.Filters.AssetSpaceCode\");\r\n filterField.type = IFCFieldType.STRING;\r\n this.ifcFields.push(filterField);\r\n\r\n filterField = new IFCFilterFields();\r\n filterField.id= id--;\r\n filterField.column = IFCFilterColumn.ASSET_SPACE_TYPE;\r\n filterField.name=this.translate.instant(\"BIMModels.Filters.AssetSpaceType\");\r\n filterField.type = IFCFieldType.STRING;\r\n this.ifcFields.push(filterField);\r\n\r\n filterField = new IFCFilterFields();\r\n filterField.id= id--;\r\n filterField.column = IFCFilterColumn.ASSET_SPACE_LEVEL;\r\n filterField.name=this.translate.instant(\"BIMModels.Filters.AssetSpaceLevel\");\r\n filterField.type = IFCFieldType.STRING;\r\n this.ifcFields.push(filterField);\r\n\r\n filterField = new IFCFilterFields();\r\n filterField.id= id--;\r\n filterField.column = IFCFilterColumn.ASSET_SPACE_NAME;\r\n filterField.name=this.translate.instant(\"BIMModels.Filters.AssetSpaceName\");\r\n filterField.type = IFCFieldType.STRING;\r\n this.ifcFields.push(filterField);\r\n\r\n filterField = new IFCFilterFields();\r\n filterField.id= id--;\r\n filterField.column = IFCFilterColumn.ASSET_ZONE_NAME;\r\n filterField.name=this.translate.instant(\"BIMModels.Filters.AssetSpaceZoneName\");\r\n filterField.type = IFCFieldType.STRING;\r\n this.ifcFields.push(filterField);\r\n\r\n if(assetAddlInfos != null && assetAddlInfos.length > 0)\r\n {\r\n \r\n assetAddlInfos.forEach((addlInfo:AssetAddlinformation)=>{\r\n filterField = new IFCFilterFields();\r\n filterField.id= id--;\r\n filterField.column =IFCFilterColumn.ASSET_ADDL_INFORMATION;\r\n filterField.name=addlInfo.attributeName;\r\n filterField.type = IFCFieldType.STRING;\r\n filterField.addlInfoId= addlInfo.id;\r\n this.ifcFields.push(filterField);\r\n \r\n\r\n });\r\n }\r\n\r\n \r\n\r\n }\r\n onC2FieldChange()\r\n {\r\n if(this.c2FieldId ==undefined || this.c2FieldId >= 0)\r\n {\r\n this._c2OperatorValues =[];\r\n this._c2isRange= false;\r\n this._c2valueText=this.translate.instant(\"BIMModels.Filters.Value\");\r\n this.ifcFilter._c2._op= null;\r\n return;\r\n }\r\n else\r\n {\r\n\r\n var ifcFilterField:IFCFilterFields = this.ifcFields.find(x=>x.id == this.c2FieldId )\r\n\r\n if(ifcFilterField == null)\r\n return;\r\n this._c2OperatorValues = [];\r\n this._c2isRange= false;\r\n this._c2valueText=this.translate.instant(\"BIMModels.Filters.Value\");\r\n this.fillOperatorValues(ifcFilterField.column ,false);\r\n }\r\n \r\n \r\n }\r\n onC1FieldChange()\r\n {\r\n if(this.c1FieldId ==undefined || this.c1FieldId >= 0)\r\n {\r\n this._c1OperatorValues =[];\r\n this._c1isRange= false;\r\n this._c1valueText=this.translate.instant(\"BIMModels.Filters.Value\");\r\n this.ifcFilter._c1._op= null;\r\n return;\r\n }\r\n else\r\n {\r\n\r\n var ifcFilterField:IFCFilterFields = this.ifcFields.find(x=>x.id == this.c1FieldId )\r\n\r\n if(ifcFilterField == null)\r\n return;\r\n this._c1OperatorValues = [];\r\n this._c1isRange= false;\r\n this._c1valueText=this.translate.instant(\"BIMModels.Filters.Value\");\r\n this.fillOperatorValues(ifcFilterField.column ,true);\r\n }\r\n \r\n \r\n }\r\n fillOperatorValues(_clm: IFCFilterColumn, isC1:boolean) {\r\n var ifcField:IFCFilterFields = this.ifcFields.find(x=>x.column == _clm);\r\n if(ifcField != null)\r\n {\r\n switch(ifcField.type)\r\n {\r\n case IFCFieldType.STRING:\r\n var operatorUI = new IFCOperatorUI();\r\n operatorUI.id = Operator.EQUAL;\r\n operatorUI.name= this.translate.instant(\"BIMModels.Filters.Equals\");\r\n if(isC1)\r\n this._c1OperatorValues.push(operatorUI);\r\n else \r\n this._c2OperatorValues.push(operatorUI);\r\n\r\n operatorUI = new IFCOperatorUI();\r\n operatorUI.id = Operator.NOTEQUAL;\r\n operatorUI.name= this.translate.instant(\"BIMModels.Filters.NotEquals\");\r\n if(isC1)\r\n this._c1OperatorValues.push(operatorUI);\r\n else \r\n this._c2OperatorValues.push(operatorUI);\r\n\r\n operatorUI = new IFCOperatorUI();\r\n operatorUI.id = Operator.CONTAINS;\r\n operatorUI.name= this.translate.instant(\"BIMModels.Filters.Contains\");\r\n if(isC1)\r\n this._c1OperatorValues.push(operatorUI);\r\n else \r\n this._c2OperatorValues.push(operatorUI);\r\n\r\n\r\n break;\r\n case IFCFieldType.INT:\r\n var operatorUI = new IFCOperatorUI();\r\n operatorUI.id = Operator.RANGEIN;\r\n operatorUI.name= this.translate.instant(\"BIMModels.Filters.InRange\");\r\n if(isC1)\r\n this._c1OperatorValues.push(operatorUI);\r\n else \r\n this._c2OperatorValues.push(operatorUI);\r\n\r\n operatorUI = new IFCOperatorUI();\r\n operatorUI.id = Operator.RANGENOTIN;\r\n operatorUI.name= this.translate.instant(\"BIMModels.Filters.NotInRange\");\r\n if(isC1)\r\n this._c1OperatorValues.push(operatorUI);\r\n else \r\n this._c2OperatorValues.push(operatorUI);\r\n if(isC1)\r\n {\r\n this._c1isRange= true;\r\n this._c1valueText=this.translate.instant(\"BIMModels.Filters.MinimumValue\");\r\n }\r\n else\r\n {\r\n this._c2isRange = true;\r\n this._c2valueText=this.translate.instant(\"BIMModels.Filters.MinimumValue\");\r\n }\r\n \r\n break;\r\n }\r\n }\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n if(changes && changes.documents != null && changes.documents.currentValue)\r\n {\r\n if(this.documents.length > 0)\r\n {\r\n var document:Document = this.documents.find(x=>x.isIFCPropertiesGenerated == true);\r\n if(document)\r\n {\r\n this.isAllPropertiesDisabled=false;\r\n this.FillIFCCategories();\r\n this.getSpaceAssetAdditionalInformations();\r\n this.FillIFCFloors();\r\n }\r\n else\r\n this.isAllPropertiesDisabled=true;\r\n\r\n }\r\n\r\n }\r\n \r\n \r\n }\r\n private getDocumentsData(): string {\r\n var documents: string = \"\";\r\n if (this.documents != null && this.documents.length > 0) {\r\n var counter: number = 0;\r\n this.documents.forEach((document: Document) => {\r\n if(document.isIFCPropertiesGenerated)\r\n {\r\n documents += document.id + \",\" + document.version;\r\n if (++counter < this.documents.length) { documents += \"|\"; }\r\n }\r\n });\r\n }\r\n return documents;\r\n }\r\n FillIFCFloors() {\r\n this.floors=[];\r\n var documents:string =this.getDocumentsData();\r\n this.ifcService.getFloors(documents,this.bimFilter).subscribe((floorsModels: Array) => {\r\n if(floorsModels && floorsModels.length > 0)\r\n {\r\n floorsModels.forEach((document:IFCFloorsModel)=>{\r\n if(document.innerObjects && document.innerObjects.length > 0)\r\n {\r\n document.innerObjects.forEach((floor:IFCFloorsModel)=>{ \r\n if(floor.ifcElementIds && floor.ifcElementIds.length > 0)\r\n {\r\n var findIndex:IFCFloorsModel = this.floors.find(x=>x.ifcElementIds && x.ifcElementIds.length > 0 &&\r\n x.ifcElementIds[0] == floor.ifcElementIds[0]\r\n\r\n )\r\n if(findIndex == null)\r\n this.floors.push(floor); \r\n }\r\n })\r\n }\r\n })\r\n }\r\n });\r\n \r\n }\r\n FillIFCCategories() {\r\n var strDocuments:string ='';\r\n this.documents.forEach((document:Document)=>{\r\n strDocuments += document.id;\r\n strDocuments += \",\";\r\n strDocuments+= document.version;\r\n strDocuments += \"|\";\r\n\r\n });\r\n this.ifcService.getCategories(strDocuments).subscribe((categories:Array)=>{\r\n this.ifcCategories = this.ifcCategories.concat(categories);\r\n });\r\n\r\n }\r\n onORClick()\r\n {\r\n if(this.ifcFilter._fop != FilterOperator.OR)\r\n {\r\n this.ifcFilter._fop= FilterOperator.OR;\r\n this.AddOrClicked= true;\r\n this.SecondDivName=this.translate.instant(\"BIMModels.Filters.OR\");\r\n }\r\n else\r\n {\r\n this.ifcFilter._fop= FilterOperator.UNKNOWN;\r\n this.AddOrClicked= false;\r\n this.SecondDivName=\"\";\r\n\r\n }\r\n }\r\n onAndClick()\r\n {\r\n if(this.ifcFilter._fop != FilterOperator.AND)\r\n {\r\n this.ifcFilter._fop= FilterOperator.AND;\r\n this.AddOrClicked= true;\r\n this.SecondDivName=this.translate.instant(\"BIMModels.Filters.AND\");\r\n }\r\n else\r\n {\r\n this.ifcFilter._fop= FilterOperator.UNKNOWN;\r\n this.AddOrClicked= false;\r\n this.SecondDivName=\"\";\r\n\r\n }\r\n }\r\n OnApply()\r\n {\r\n this.isApplyDisabled= true;\r\n if(this.c1FieldId != undefined && this.c1FieldId < 0)\r\n {\r\n var ifcField:IFCFilterFields = this.ifcFields.find(x=>x.id == this.c1FieldId);\r\n if(ifcField != null && ifcField != undefined)\r\n {\r\n this.ifcFilter._c1._clm = ifcField.column;\r\n this.ifcFilter._c1._aid= ifcField.addlInfoId;\r\n }\r\n }\r\n if(this.c2FieldId != undefined && this.c2FieldId < 0)\r\n {\r\n var ifcField:IFCFilterFields = this.ifcFields.find(x=>x.id == this.c2FieldId);\r\n if(ifcField != null && ifcField != undefined)\r\n {\r\n this.ifcFilter._c2._clm = ifcField.column;\r\n this.ifcFilter._c2._aid= ifcField.addlInfoId;\r\n }\r\n }\r\n\r\n \r\n this.ifcFilter._c1._l= this.selectedFloorId1; \r\n this.ifcFilter._c2._l= this.selectedFloorId2;\r\n \r\n if(this.ValidateFilters())\r\n {\r\n this.OnApplyEvent.emit(this.getFilterModel()); \r\n }\r\n else\r\n this.isApplyDisabled= false;\r\n }\r\n private getFilterModel():IFCFilterModel {\r\n //this will check if all 3 columns(field,op,value) are selcted in UI then it will send ifcfilter.c1 and same for c2 \r\n const ifcFilter: IFCFilterModel = new IFCFilterModel();\r\n\r\n if (this.ifcFilter._c1._v &&\r\n this.ifcFilter._c1._op &&\r\n this.ifcFilter._c1._clm) {\r\n ifcFilter._c1 = this.ifcFilter._c1;\r\n }\r\n if (this.ifcFilter._c2._v &&\r\n this.ifcFilter._c2._op &&\r\n this.ifcFilter._c2._clm) {\r\n ifcFilter._c2 = this.ifcFilter._c2;\r\n }\r\n if (ifcFilter._c1._v != \"\" || ifcFilter._c2._v != \"\") {\r\n ifcFilter._fop = this.ifcFilter._fop;\r\n ifcFilter._prflrs = this.ifcFilter._prflrs;\r\n }\r\n ifcFilter._c1._l= this.selectedFloorId1; \r\n ifcFilter._c2._l= this.selectedFloorId2;\r\n return ifcFilter;\r\n }\r\n ValidateFilters():boolean {\r\n return true;\r\n // var bValidated:boolean = false;\r\n\r\n \r\n // if(this.ifcFilter._c1._cid == undefined || this.ifcFilter._c1._cid < 0)\r\n // {\r\n // super.errorMsg(this.translate.instant(\"BIMModels.Filters.EnterC1Category\"));\r\n // return bValidated;\r\n // }\r\n // if(this.ifcFilter._c1._clm != undefined && this.ifcFilter._c1._clm <=0)\r\n // {\r\n // super.errorMsg(this.translate.instant(\"BIMModels.Filters.EnterC1Field\"));\r\n // return bValidated;\r\n\r\n // }\r\n \r\n // if(this.ifcFilter._c1._op == undefined || this.ifcFilter._c1._op <= 0)\r\n // {\r\n // super.errorMsg(this.translate.instant(\"BIMModels.Filters.EnterC1Operator\"));\r\n // return bValidated;\r\n // }\r\n \r\n // var ifcField:IFCFilterFields = this.ifcFields.find(x=>x.column == this.ifcFilter._c1._clm );\r\n // if(ifcField == null)\r\n // {\r\n // super.errorMsg(this.translate.instant(\"BIMModels.Filters.C1FieldNotFound\"));\r\n // return bValidated;\r\n // }\r\n // var fieldType:IFCFieldType = ifcField.type;\r\n\r\n // if(this.ifcFilter._c1._v == null || this.ifcFilter._c1._v == undefined || this.ifcFilter._c1._v.trim().length == 0)\r\n // {\r\n // if(fieldType == IFCFieldType.STRING)\r\n // super.errorMsg(this.translate.instant(\"BIMModels.Filters.EnterC1Value\"));\r\n // else \r\n // super.errorMsg(this.translate.instant(\"BIMModels.Filters.EnterC1MinimumValue\"));\r\n\r\n // return bValidated;\r\n // }\r\n // if( fieldType == IFCFieldType.INT && (this.ifcFilter._c1._v == null || this.ifcFilter._c1._v == undefined || this.ifcFilter._c1._v.trim().length == 0) )\r\n // {\r\n // super.errorMsg(this.translate.instant(\"BIMModels.Filters.EnterC1MaxmimumValue\"));\r\n // return bValidated;\r\n // }\r\n // if(this.ifcFilter._fop != undefined && this.ifcFilter._fop != FilterOperator.UNKNOWN)\r\n // { \r\n // if(this.ifcFilter._c2._cid == undefined || this.ifcFilter._c2._cid < 0)\r\n // {\r\n // super.errorMsg(this.translate.instant(\"BIMModels.Filters.EnterC2Category\"));\r\n // return bValidated;\r\n // }\r\n // if(this.ifcFilter._c2._clm == undefined || this.ifcFilter._c2._clm <=0)\r\n // {\r\n // super.errorMsg(this.translate.instant(\"BIMModels.Filters.EnterC2Field\"));\r\n // return bValidated;\r\n\r\n // }\r\n \r\n \r\n // if(this.ifcFilter._c2._op == undefined || this.ifcFilter._c2._op <= 0 )\r\n // {\r\n // super.errorMsg(this.translate.instant(\"BIMModels.Filters.EnterC2Operator\"));\r\n // return bValidated;\r\n // }\r\n // var ifcField:IFCFilterFields = this.ifcFields.find(x=>x.column == this.ifcFilter._c2._clm );\r\n // if(ifcField == null)\r\n // {\r\n // super.errorMsg(this.translate.instant(\"BIMModels.Filters.C2FieldNotFound\"));\r\n // return bValidated;\r\n // }\r\n // var fieldType2:IFCFieldType = ifcField.type;\r\n\r\n // if(this.ifcFilter._c2._v == null || this.ifcFilter._c2._v == undefined || this.ifcFilter._c2._v.trim().length == 0)\r\n // {\r\n // if(fieldType2 == IFCFieldType.STRING)\r\n // super.errorMsg(this.translate.instant(\"BIMModels.Filters.EnterC2Value\"));\r\n // else \r\n // super.errorMsg(this.translate.instant(\"BIMModels.Filters.EnterC2MinimumValue\"));\r\n\r\n // return bValidated;\r\n // }\r\n // if( fieldType2 == IFCFieldType.INT && (this.ifcFilter._c2._v == null || this.ifcFilter._c2._v == undefined || this.ifcFilter._c2._v.trim().length == 0) )\r\n // {\r\n // super.errorMsg(this.translate.instant(\"BIMModels.Filters.EnterC2MaxmimumValue\"));\r\n // return bValidated;\r\n // }\r\n\r\n // }\r\n \r\n \r\n\r\n // bValidated = true;\r\n // return bValidated;\r\n }\r\n\r\n public clearFilter():void{\r\n this.selectedFloorId1=null;\r\n this.selectedFloorId2=null;\r\n this.ifcFilter = new IFCFilterModel();\r\n this.c1FieldId=null;\r\n this.c2FieldId=null;\r\n this.currentIFCView=IFCObjectViewType.NONE;\r\n this.AddOrClicked=false;\r\n\r\n }\r\n OnChangeViewType():void {\r\n this.filterService.emitIFCViewType(this.currentIFCView);\r\n }\r\n\r\n}\r\n","
\r\n
\r\n \r\n
\r\n
\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.name}}\r\n\r\n \r\n
\r\n
\r\n \r\n {{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 {{item.name}}\r\n\r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n
{{SecondDivName}}
\r\n
\r\n
\r\n \r\n\r\n\r\n \r\n
\r\n
\r\n \r\n {{item.name}}\r\n \r\n \r\n
\r\n
\r\n \r\n {{item.name}}\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n \r\n {{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 \r\n
\r\n \r\n \r\n
\r\n \r\n \r\n
\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 { AfterViewInit, Component, ElementRef, EventEmitter, HostListener, Injector, Input, OnChanges, OnDestroy, OnInit, Output, QueryList, SimpleChanges, ViewChildren } from '@angular/core';\r\nimport { Subscription } from 'rxjs';\r\nimport { BaseComponent } from 'src/app/modules/shared/BaseComponent';\r\nimport { FilterService } from 'src/app/services/filter.service';\r\nimport { ProjectService } from 'src/app/services/project.service';\r\nimport { Project } from 'src/shared/Models/API/Project';\r\nimport { BIMFilterModel } from 'src/shared/Models/API/filtermodel';\r\nimport { ProjectFloor } from 'src/shared/Models/projectFloor';\r\nimport { Scope, ScopeType } from 'src/shared/Models/scope-tree';\r\n\r\n@Component({\r\n selector: 'app-bimmodel-preset',\r\n templateUrl: './bimmodel-preset.component.html',\r\n styleUrls: ['./bimmodel-preset.component.css']\r\n})\r\nexport class BimmodelPresetComponent extends BaseComponent implements OnInit,OnChanges,OnDestroy{\r\n\r\n\r\n @Input() scope:Scope = new Scope();\r\n\r\n presetFloorSubscription:Subscription=null;\r\n\r\n public _projectFloors:Array = new Array();\r\n public bimMOdelFilter:BIMFilterModel = new BIMFilterModel();\r\n\r\n @Output() OnApplyEvent:EventEmitter = new EventEmitter();\r\n @Output() OnClearEvent:EventEmitter = new EventEmitter();\r\n @ViewChildren(\"checkboxes\") checkboxes: QueryList;\r\n constructor(injector:Injector,private projectService:ProjectService,private filterService:FilterService)\r\n {\r\n super(injector);\r\n }\r\n\r\n OnApply()\r\n {\r\n if(this.validateSelection())\r\n {\r\n this.OnApplyEvent.emit(this.bimMOdelFilter);\r\n }\r\n\r\n }\r\n\r\n \r\n \r\n\r\n ngOnDestroy(): void {\r\n this.ClearFilter();\r\n }\r\n\r\n ClearFilter()\r\n {\r\n this.bimMOdelFilter= new BIMFilterModel();\r\n this.checkboxes.forEach((element) => {\r\n element.nativeElement.checked = false;\r\n });\r\n }\r\n validateSelection() {\r\n var bValidated:boolean = false;\r\n\r\n if(this.bimMOdelFilter && this.bimMOdelFilter._prflrs && this.bimMOdelFilter._prflrs.length > 0)\r\n bValidated=true;\r\n else\r\n this.errorMsg(this.translate.instant('SearchFilters.lblSelectFloor'));\r\n\r\n return bValidated;\r\n }\r\n\r\n ngOnInit(): void {\r\n this.OnApplyEvent.emit(new BIMFilterModel());\r\n this.OnClearEvent.emit(null);\r\n\r\n \r\n }\r\n onClear()\r\n { \r\n this.bimMOdelFilter = new BIMFilterModel();\r\n this.checkboxes.forEach((element) => {\r\n element.nativeElement.checked = false;\r\n });\r\n this.OnClearEvent.emit(new BIMFilterModel());\r\n\r\n }\r\n\r\n OnSelectionChange(projectFloor:ProjectFloor,e:any)\r\n {\r\n var status = e.target.checked;\r\n if(status)\r\n {\r\n if(!this.bimMOdelFilter._prflrs)\r\n this.bimMOdelFilter._prflrs= new Array();\r\n this.bimMOdelFilter._prflrs.push(projectFloor.id);\r\n }\r\n else\r\n {\r\n var index:number = this.bimMOdelFilter._prflrs.findIndex(x=>x == projectFloor.id);\r\n if(index != -1)\r\n this.bimMOdelFilter._prflrs=this.bimMOdelFilter._prflrs.slice(index);\r\n }\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n \r\n\r\n if(changes && changes.scope && changes.scope.currentValue )\r\n {\r\n if(this.scope && this.scope.type == ScopeType.PROJECT && this.scope.id > 0)\r\n this.getFloors();\r\n }\r\n }\r\n getFloors() {\r\n this.projectService.getFloorIFCFloorMapping(this.scope.id).subscribe((projectFloors:Array)=>{\r\n if(projectFloors)\r\n {\r\n this._projectFloors = projectFloors.filter(x=>x.ifcFloors && x.ifcFloors.length > 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
","import { KeyValuePipe } from '@angular/common';\r\nimport { Component, EventEmitter, Injector, Input, OnDestroy, OnInit, Output } from '@angular/core';\r\nimport { ActivatedRoute, ParamMap } from '@angular/router';\r\nimport { Subscription } from 'rxjs';\r\nimport { BaseComponent } from 'src/app/modules/shared/BaseComponent';\r\nimport { FolderService } from 'src/app/services/folder.service';\r\nimport { Folder } from 'src/shared/Models/API/folder';\r\nimport { Scope, ScopeType } from 'src/shared/Models/scope-tree';\r\nimport { folderPermissions } from 'src/shared/UI/ViewTypes';\r\n\r\n@Component({\r\n selector: 'app-explorer',\r\n templateUrl: './explorer.component.html',\r\n styleUrls: ['./explorer.component.css']\r\n})\r\nexport class ExplorerComponent extends BaseComponent implements OnInit, OnDestroy {\r\n\r\n @Input() displayHeader:boolean = true;\r\n private _scope: Scope;\r\n @Input()\r\n public folderTree: Array;\r\n @Output()\r\n public onFolderClick = new EventEmitter();\r\n public get scope(): Scope {\r\n return this._scope;\r\n }\r\n @Input()\r\n public set scope(value: Scope) {\r\n this._scope = value;\r\n if (value) {\r\n this.GetFolderTree();\r\n }\r\n }\r\n @Input() isSearchView:boolean;\r\n public folderServiceSubscription: Subscription;\r\n public refreshFolderSubscription: Subscription;\r\n public refreshExplorerSubscription: Subscription;\r\n public refreshFolderPermissionSubscription: Subscription;\r\n public onDoubleClickSubscription: Subscription;\r\n public permissiontype = folderPermissions;\r\n public refreshFolderTreeSubscription: Subscription;\r\n\r\n private searchedScope: Scope = new Scope();\r\n public documentFolderSelectionSubscription:Subscription;\r\n constructor(injector:Injector,\r\n private folderService: FolderService, \r\n private route: ActivatedRoute) {\r\n super(injector);\r\n this.route.queryParamMap.subscribe((params: ParamMap) => {\r\n this.searchedScope = new Scope();\r\n if (params.get('p_id')) {\r\n this.searchedScope.id = parseInt(params.get('p_id'));\r\n }\r\n if (params.get('p_type')) {\r\n this.searchedScope.type = parseInt(params.get('p_type'));\r\n }\r\n });\r\n }\r\n\r\n ngOnInit() {\r\n //this Subscription will recieve a folderid emitted from other placesa and find the element matching folder and trigger click event\r\n this.documentFolderSelectionSubscription=this.folderService.documentFolderSelectionObservable().subscribe((folderid:Number)=>{\r\n if(folderid>0)\r\n {\r\n //finding a span by #id and triggering click\r\n let element:HTMLElement=document.getElementById('tree_'+folderid) as HTMLElement;\r\n if(element!=null)\r\n {\r\n element.click();\r\n }\r\n }\r\n });\r\n this.refreshFolderSubscription = this.folderService.refreshFolderObservable().subscribe((folder: Folder) => {\r\n if (folder) {\r\n this.AddNode(this.folderTree, folder);\r\n }\r\n });\r\n this.refreshExplorerSubscription = this.folderService.refreshExplorerObservable().subscribe((projectId:number) => {\r\n if (projectId > 0 ) {\r\n this.GetFolderTree(projectId);\r\n }\r\n });\r\n this.refreshFolderPermissionSubscription = this.folderService.refreshFolderPermissionObservable().subscribe((value: Folder) => {\r\n if (value) {\r\n this.UpdateCurrentFolderPermissions(value)\r\n }\r\n });\r\n this.onDoubleClickSubscription = this.folderService.onFolderDoubleClickObservable().subscribe((folderClicked: Folder) => {\r\n if (folderClicked) {\r\n if(this.folderTree.length>0)\r\n {\r\n if(this.folderTree[0].showChildren==false)\r\n {\r\n this.folderTree[0].showChildren=true;\r\n }\r\n }\r\n this.OnChange(folderClicked)\r\n }\r\n });\r\n this.refreshFolderTreeSubscription = this.folderService.refreshFolderTreeObservable().subscribe((folder: Folder) => {\r\n if (folder) {\r\n this.RefreshTree(this.folderTree, folder);\r\n }\r\n });\r\n }\r\n\r\n ngOnDestroy(): void {\r\n if (this.folderServiceSubscription && !this.folderServiceSubscription.closed) {\r\n this.folderServiceSubscription.unsubscribe();\r\n }\r\n if (this.refreshFolderPermissionSubscription && !this.refreshFolderPermissionSubscription.closed) {\r\n this.refreshFolderPermissionSubscription.unsubscribe();\r\n }\r\n if (this.onDoubleClickSubscription && !this.onDoubleClickSubscription.closed) {\r\n this.onDoubleClickSubscription.unsubscribe();\r\n }\r\n if (this.documentFolderSelectionSubscription && !this.documentFolderSelectionSubscription.closed) {\r\n this.documentFolderSelectionSubscription.unsubscribe();\r\n }\r\n if (this.refreshFolderTreeSubscription && !this.refreshFolderTreeSubscription.closed) {\r\n this.refreshFolderTreeSubscription.unsubscribe();\r\n }\r\n this.folderService.emitFolderSelection(null);\r\n this.folderService.emitOnFolderDoubleClick(null);\r\n }\r\n\r\n GetFolderTree(projectid:number = 0): void {\r\n this.folderTree = new Array();\r\n var projId:number = projectid;\r\n if(projId == 0)\r\n projId=this.scope.id;\r\n this.folderServiceSubscription = this.folderService.getFoldertree(ScopeType.ORGANIZATION, projId, false).subscribe(response => {\r\n this.SetFolderPath(response);\r\n response.forEach(it => {\r\n it.isSelected = false;\r\n it.showChildren = false;\r\n });\r\n if (response.length > 0) {\r\n this.folderTree[0] = response[0];\r\n // this.folderTree[0].isSelected = true;\r\n this.GetSubFolderTree(this.folderTree[0], false);\r\n }\r\n else {\r\n this.folderService.emitFolderSelection(null);\r\n }\r\n });\r\n }\r\n\r\n SetFolderPath(tree: Array, path: string = '',paths:Map=undefined): void {\r\n tree.forEach(node => {\r\n if (path != undefined && path.length > 0) {\r\n node.path = path + '/' + node.name;\r\n if(node.paths==undefined)\r\n {\r\n node.paths= new Map()\r\n }\r\n paths.forEach((value: String, key: Number)=>{\r\n node.paths.set(key,value)\r\n });\r\n node.paths.set(node.id,node.name);\r\n }\r\n else {\r\n node.path = node.name;\r\n if(node.paths==undefined)\r\n {\r\n node.paths= new Map()\r\n }\r\n node.paths.set(node.id,node.name);\r\n }\r\n if (node.subFolders) {\r\n this.SetFolderPath(node.subFolders, node.path,node.paths);\r\n }\r\n else {\r\n node.subFolders = new Array();\r\n }\r\n });\r\n }\r\n OnChange(folder: Folder): void {\r\n if (folder) {\r\n var expandTree:boolean = !folder.isfetched? true:false;\r\n this.GetSubFolderTree(folder, expandTree); \r\n this.UpdateNodeSelection(this.folderTree, folder);\r\n }\r\n }\r\n\r\n GetSubFolderTree(folder: Folder, isTreeExpand: boolean = false): void {\r\n this.folderServiceSubscription = this.folderService.getFoldertree(folder.type, folder.id, false).subscribe(response => {\r\n this.SetFolderPath(response, folder.path, folder.paths);\r\n response.forEach(it => {\r\n it.isSelected = false;\r\n it.showChildren = false;\r\n });\r\n if (response.length > 0) {\r\n folder.subFolders = response;\r\n if (isTreeExpand) {\r\n this.folderTree.forEach(x => x.isSelected = false);\r\n folder.isSelected = true\r\n folder.showChildren = true;\r\n }\r\n }\r\n else {\r\n folder.subFolders = null;\r\n }\r\n this.folderService.emitFolderSelection(folder);\r\n folder.isfetched = true;\r\n if (this.searchedScope.type == ScopeType.FOLDER && this.searchedScope.id > 0) {\r\n this.selectFolder(this.folderTree);\r\n this.searchedScope = new Scope();\r\n folder.isSelected = false;\r\n }\r\n else {\r\n folder.isSelected = true;\r\n }\r\n });\r\n }\r\n\r\n UpdateNodeSelection(tree: Array, selectedNode: Folder): void {\r\n for (var idx: number = 0; idx < tree.length; idx++) {\r\n // if (tree[idx].scopeId == selectedNode.scopeId && tree[idx].scopeType == selectedNode.scopeType) {\r\n if (tree[idx].id == selectedNode.id) {\r\n tree[idx].isSelected = true;\r\n }\r\n else {\r\n tree[idx].isSelected = false;\r\n }\r\n if (tree[idx].subFolders && tree[idx].subFolders.length != 0)\r\n this.UpdateNodeSelection(tree[idx].subFolders, selectedNode);\r\n }\r\n }\r\n\r\n AddNode(tree: Array, newNode: Folder): void {\r\n for (var idx: number = 0; idx < tree.length; idx++) {\r\n if (tree[idx].id == newNode.scopeId) {\r\n if (tree[idx].subFolders == null) {\r\n tree[idx].subFolders = new Array();\r\n }\r\n newNode.subFolders= new Array();\r\n newNode.type = ScopeType.FOLDER;\r\n tree[idx].subFolders.push(newNode);\r\n tree[idx].isSelected = true;\r\n this.folderService.emitFolderSelection(tree[idx]);\r\n }\r\n else {\r\n tree[idx].isSelected = false;\r\n }\r\n if (tree[idx].subFolders && tree[idx].subFolders.length != 0)\r\n this.AddNode(tree[idx].subFolders, newNode);\r\n }\r\n }\r\n\r\n UpdateCurrentFolderPermissions(folder: Folder): void {\r\n if (!folder.permissions.includes(this.permissiontype.VIEW)) {\r\n this.folderServiceSubscription = this.folderService.getFoldertree(folder.scopeType, (folder.scopeType == ScopeType.ORGANIZATION) ? folder.id : folder.scopeId, false).subscribe((response: Array) => {\r\n response.forEach(it => {\r\n it.isSelected = false;\r\n it.showChildren = false;\r\n });\r\n if (folder.type == ScopeType.ORGANIZATION) {\r\n this.SetFolderPath(response, this.folderTree.find(x => x.id == folder.id).path, this.folderTree.find(x => x.id == folder.id).paths);\r\n this.folderTree.find(x => x.id == folder.id).subFolders = response;\r\n this.folderTree.find(x => x.id == folder.id).isfetched = true;\r\n this.folderTree.find(x => x.id == folder.id).isSelected = true;\r\n this.folderService.emitFolderSelection(this.folderTree.find(x => x.id == folder.id));\r\n }\r\n if (folder.type == ScopeType.FOLDER) {\r\n this.UpdateSubFolderPermission(this.folderTree, folder.scopeId, response, true);\r\n }\r\n });\r\n }\r\n else {\r\n this.folderServiceSubscription = this.folderService.getFoldertree(folder.type, folder.id, false).subscribe((response: Array) => {\r\n response.forEach(it => {\r\n it.isSelected = false;\r\n it.showChildren = false;\r\n });\r\n if (response.length > 0) {\r\n if (folder.type == ScopeType.PROJECT) {\r\n this.folderTree.find(x => x.id == folder.id).subFolders = response;\r\n this.folderTree.find(x => x.id == folder.id).isfetched = true;\r\n this.SetFolderPath(response, this.folderTree.find(x => x.id == folder.id).path,this.folderTree.find(x => x.id == folder.id).paths);\r\n }\r\n if (folder.type == ScopeType.FOLDER) {\r\n this.UpdateSubFolderPermission(this.folderTree, folder.id, response);\r\n }\r\n }\r\n });\r\n }\r\n }\r\n UpdateSubFolderPermission(tree: Array, id: number, response: Array, isparentfolderSelected: boolean = false): void {\r\n for (var node of tree) {\r\n if (node.id == id) {\r\n this.SetFolderPath(response, node.path,node.paths);\r\n node.subFolders = response;\r\n node.showChildren = (response.length > 0) ? true : false;\r\n node.isfetched = true;\r\n if (isparentfolderSelected) {\r\n node.isSelected = true;\r\n this.folderService.emitFolderSelection(node);\r\n }\r\n break;\r\n }\r\n if (node.subFolders) {\r\n this.UpdateSubFolderPermission(node.subFolders, id, response, isparentfolderSelected);\r\n }\r\n }\r\n }\r\n private selectFolder(folderTree: Array): void {\r\n for (var idx: number = 0; idx < folderTree.length; idx++) {\r\n if (folderTree[idx].id == this.searchedScope.id && folderTree[idx].type == this.searchedScope.type) {\r\n folderTree[idx].isSelected = true;\r\n folderTree[idx].showChildren = false;\r\n break;\r\n }\r\n else {\r\n folderTree[idx].showChildren = true;\r\n if (folderTree[idx].subFolders && folderTree[idx].subFolders.length > 0){\r\n this.selectFolder(folderTree[idx].subFolders);\r\n }\r\n }\r\n }\r\n }\r\n\r\n RefreshTree(tree: Array, folder: Folder): void {\r\n if (folder.subFolders)\r\n this.SetFolderPath(folder.subFolders, folder.path, folder.paths);\r\n\r\n for (var idx: number = 0; idx < tree.length; idx++) {\r\n if (tree[idx].id == folder.id) {\r\n if (tree[idx].subFolders == null && (folder.subFolders && folder.subFolders.length > 0)) {\r\n tree[idx].subFolders = new Array();\r\n }\r\n if (folder.subFolders && folder.subFolders.length > 0)\r\n tree[idx].subFolders = folder.subFolders;\r\n else\r\n tree[idx].subFolders = null;\r\n return;\r\n }\r\n if (tree[idx].subFolders && tree[idx].subFolders.length != 0)\r\n this.RefreshTree(tree[idx].subFolders, folder);\r\n }\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, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\nimport { Folder } from 'src/shared/Models/API/folder';\r\n\r\n@Component({\r\n selector: 'app-folder-tree',\r\n templateUrl: './folder-tree.component.html',\r\n styleUrls: ['./folder-tree.component.css']\r\n})\r\nexport class FolderTreeComponent implements OnInit {\r\n\r\n @Input()\r\n public nodes: Array\r\n\r\n @Output()\r\n public onFolderClick = new EventEmitter();\r\n constructor() { }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n OnClickChild(event: any, node: Folder): void {\r\n if (event)\r\n event.stopPropagation();\r\n this.onFolderClick.emit(node);\r\n }\r\n\r\n ShowHideChildren(event: any, node: Folder): void {\r\n // stop drop-down from closing !\r\n if (event)\r\n event.stopPropagation();\r\n this.onFolderClick.emit(node);\r\n if (node.subFolders && node.subFolders.length > 0)\r\n node.showChildren = !node.showChildren;\r\n }\r\n}\r\n","
\r\n
    \r\n
  • \r\n \r\n \r\n 0 && node.namingRulesId>0)),\r\n 'icon-folder-workflow1': (!node.showChildren && (node.workflowId>0)),\r\n 'icon-naming-attribute': (!node.showChildren && (node.namingRulesId>0 && node.workflowId==0 && node.statusListId==0)),\r\n 'icon-naming-workflow-open': node.showChildren && (node.subFolders) && (node.workflowId>0 && node.namingRulesId>0),\r\n 'icon-folder-open-workflow1':node.showChildren && (node.subFolders) && (node.workflowId>0),\r\n 'icon-naming-attribute-open':node.showChildren && (node.subFolders) && (node.namingRulesId>0 && node.workflowId==0 && node.statusListId==0),\r\n 'icon-folder-status-list':(!node.showChildren && (node.statusListId>0 && node.namingRulesId==0)),\r\n 'icon-folder-open-status-list':node.showChildren && (node.subFolders) && (node.statusListId>0 && node.namingRulesId==0),\r\n 'icon-folder-naming-status-list':(!node.showChildren && (node.statusListId>0 && node.namingRulesId>0)),\r\n 'icon-folder-open-naming-status-list':node.showChildren && (node.subFolders) && (node.statusListId>0 && node.namingRulesId>0)\r\n }\">\r\n \r\n {{node.name}}\r\n \r\n\r\n \r\n \r\n \r\n
  • \r\n
\r\n
\r\n","import { ChangeDetectorRef, Component, Injector, Input, OnDestroy, OnInit, ViewChild } from '@angular/core';\r\nimport { Subscription } from 'rxjs';\r\nimport { BaseComponent } from 'src/app/modules/shared/BaseComponent';\r\nimport { DocumentService } from 'src/app/services/document.service';\r\nimport { FilterService } from 'src/app/services/filter.service';\r\nimport { Folder } from 'src/shared/Models/API/folder';\r\nimport { Scope } from 'src/shared/Models/scope-tree';\r\nimport { MainView, MainViewType } from 'src/shared/UI/ViewTypes';\r\nimport { Document } from 'src/shared/Models/API/document';\r\nimport { BIMFilterModel, IFCFilterModel, ScopeFilterModel } from 'src/shared/Models/API/filtermodel';\r\nimport { BimmodelFilterComponent } from './bimmodel-filter/bimmodel-filter.component';\r\nimport { ExplorerComponent } from './explorer/explorer.component';\r\nimport { FilterComponent } from '../filter/filter.component';\r\nimport { BimmodelPresetComponent } from './bimmodel-preset/bimmodel-preset.component';\r\n@Component({\r\n selector: 'app-side-panel',\r\n templateUrl: './side-panel.component.html',\r\n styleUrls: ['./side-panel.component.css']\r\n})\r\nexport class SidePanelComponent extends BaseComponent implements OnInit {\r\n @Input()\r\n public scope: Scope;\r\n @Input()\r\n public mainMenuSelected: MainView;\r\n public mainMenuType = MainViewType;\r\n public folderTree: Array;\r\n public searchViewSubscription: Subscription;\r\n public ifcViewSubscription: Subscription;\r\n public isDocumentSearchView :boolean= false;\r\n public isIFCViewerOn:boolean = false;\r\n public ifcDocumentsSubscription:Subscription;\r\n public enableFilterSubscription:Subscription;\r\n public emitIFCBackSubscription:Subscription;\r\n \r\n\r\n public ifcDocuments:Array =null;\r\n\r\n \r\n @ViewChild('bimfilter') bimfilter: BimmodelFilterComponent;\r\n\r\n @ViewChild('bimpresetfilter') bimpresetfilter: BimmodelPresetComponent;\r\n \r\n \r\n\r\n constructor(injector:Injector,\r\n private filterService: FilterService,\r\n private cdr:ChangeDetectorRef) {\r\n super(injector);\r\n }\r\n\r\n ngOnInit(): void {\r\n this.searchViewSubscription =\r\n this.filterService.searchViewObservable().subscribe(searchView => {\r\n this.isDocumentSearchView = searchView;\r\n\r\n }); \r\n this.SubscribeBIMClose();\r\n\r\n \r\n this.ifcViewSubscription = this.filterService.IFCViewObservable().subscribe((view:boolean)=>{\r\n this.isIFCViewerOn= view;\r\n });\r\n this.ifcDocumentsSubscription = this.filterService.DocumentsObservable().subscribe((documents:Array)=>{\r\n this.ifcDocuments=documents;\r\n });\r\n this.enableFilterSubscription = this.filterService.EnableFilterObservable().subscribe((bEnable:boolean)=>{\r\n if(bEnable != null && bEnable != undefined)\r\n {\r\n if(this.bimfilter)\r\n this.bimfilter.EnableFilter(bEnable);\r\n }\r\n\r\n });\r\n\r\n this.filterService.IFCBackObservable().subscribe(()=>{\r\n if(this.bimfilter)\r\n this.bimfilter.clearFilter();\r\n })\r\n\r\n }\r\n SubscribeBIMClose() {\r\n this.filterService.BIMCloseObservable().subscribe(()=>{\r\n if(this.bimpresetfilter)\r\n this.bimpresetfilter.ClearFilter();\r\n });\r\n }\r\n ngAfterViewChecked() {\r\n this.cdr.detectChanges();\r\n }\r\n\r\n ngOnDestroy(): void {\r\n if (this.searchViewSubscription && !this.searchViewSubscription.closed) {\r\n this.searchViewSubscription.unsubscribe();\r\n }\r\n if (this.ifcViewSubscription && !this.ifcViewSubscription.closed) {\r\n this.ifcViewSubscription.unsubscribe();\r\n }\r\n if (this.ifcDocumentsSubscription && !this.ifcDocumentsSubscription.closed) {\r\n this.ifcDocumentsSubscription.unsubscribe();\r\n }\r\n if (this.enableFilterSubscription && !this.enableFilterSubscription.closed) {\r\n this.enableFilterSubscription.unsubscribe();\r\n }\r\n \r\n if(this.bimpresetfilter)\r\n this.bimpresetfilter.ClearFilter();\r\n }\r\n OnApplyModelFilter(filter:IFCFilterModel)\r\n {\r\n this.filterService.emitModelFilter(filter);\r\n }\r\n OnApplyPresetFilter(bimModelFilter:BIMFilterModel)\r\n {\r\n this.filterService.emitPresetFilter(bimModelFilter);\r\n }\r\n OnApplyDocFilter(filter:ScopeFilterModel)\r\n {\r\n this.filterService.emitDocFilterView(filter);\r\n\r\n }\r\n OnClearPresetFilter(bimFilterModel:BIMFilterModel)\r\n {\r\n this.filterService.emitClearPresetFilter(bimFilterModel);\r\n }\r\n}\r\n\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, Injector, Input, OnInit, SimpleChanges } from '@angular/core';\r\nimport { ActivatedRoute, Params, Router } from '@angular/router';\r\nimport { IAngularMyDpOptions } from 'angular-mydatepicker';\r\nimport { AuthService } from 'src/app/modules/authentication/auth.service';\r\nimport { BaseComponent } from 'src/app/modules/shared/BaseComponent';\r\nimport { FilterService } from 'src/app/services/filter.service';\r\nimport { OrganizationService } from 'src/app/services/organization.service';\r\nimport { ProjectService } from 'src/app/services/project.service';\r\nimport { AddlInformationsFilterModel, AssetsFilterModel, SpaceFilterModel } from 'src/shared/Models/API/filtermodel';\r\nimport { Asset, AssetAddlinformation, AssetAddlinformationValue } from 'src/shared/Models/Asset';\r\nimport { Scope, ScopeType } from 'src/shared/Models/scope-tree';\r\nimport { BuildingNameModel, CircuitModel, radioButtonOptions, SiteNameModel, SpaceAddlinformation, SpaceAddlInformationValue, SpaceStatus, ZoneNameModel } from 'src/shared/Models/space';\r\nimport { User } from 'src/shared/Models/user';\r\nimport { MainView, MainViewType, SpaceAssetAttributeTypes } from 'src/shared/UI/ViewTypes';\r\n\r\n@Component({\r\n selector: 'app-space-asset-filter',\r\n templateUrl: './space-asset-filter.component.html',\r\n styleUrls: ['./space-asset-filter.component.css']\r\n})\r\n\r\n\r\nexport class SpaceAssetFilterComponent extends BaseComponent implements OnInit {\r\n @Input() public mainView: MainView;\r\n @Input() public project: Scope;\r\n mainViewType=MainViewType;\r\n _SpaceAssetAttributeTypes=SpaceAssetAttributeTypes;\r\n spaceAddlInformationValues:Array =new Array();\r\n assetAddlInformationValues:Array = new Array();\r\n _radioButtonOptions=radioButtonOptions;\r\n\r\n public siteNames:Array = new Array();\r\n public buildingNames:Array = new Array();\r\n public zoneNames:Array = new Array();\r\n public circuits:Array = new Array();\r\n myDatePickerOptions: IAngularMyDpOptions = {\r\n // other options...\r\n dateFormat: 'dd-mm-yyyy',\r\n alignSelectorRight: true\r\n \r\n };\r\n public filter;\r\n constructor(injector:Injector,\r\n private filterservice:FilterService,private organizationService:OrganizationService,\r\n \r\n private authService:AuthService,private projectService:ProjectService\r\n ) \r\n {\r\n super(injector);\r\n this.user= authService.getUser();\r\n }\r\n ngOnInit() {\r\n this.InitFilterModel();\r\n \r\n }\r\n private InitFilterModel() {\r\n this.filter =(this.mainView.type == this.mainViewType.SPACES)? new SpaceFilterModel():new AssetsFilterModel();\r\n if(this.mainView.type == this.mainViewType.SPACES)\r\n {\r\n if(this.spaceAddlInformationValues != null && this.spaceAddlInformationValues.length > 0)\r\n {\r\n this.spaceAddlInformationValues.forEach((addlInfoValue:SpaceAddlInformationValue)=>{\r\n addlInfoValue.value='';\r\n addlInfoValue.DateValue=null;\r\n addlInfoValue.selectedRadioOption= radioButtonOptions.UNKNOWN;\r\n\r\n })\r\n }\r\n }\r\n if(this.mainView.type == this.mainViewType.ASSETS)\r\n {\r\n if(this.assetAddlInformationValues != null && this.assetAddlInformationValues.length > 0)\r\n {\r\n this.assetAddlInformationValues.forEach((addlInfoValue:AssetAddlinformationValue)=>{\r\n addlInfoValue.value='';\r\n addlInfoValue.DateValue=null;\r\n addlInfoValue.selectedRadioOption= radioButtonOptions.UNKNOWN;\r\n\r\n })\r\n }\r\n }\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges) {\r\n // on change of view we are reinitilaizing\r\n \r\n if (changes && changes.mainView && changes.mainView.currentValue) {\r\n this.InitFilterModel();\r\n if(this.project != null && this.project != undefined && this.project.id >0 && this.project.type == ScopeType.PROJECT)\r\n {\r\n this.fillSiteNames();\r\n this.fillBuildingNames();\r\n if(this.mainView.type == MainViewType.SPACES)\r\n {\r\n this.getSpaceAdditionalInformations();\r\n \r\n this.fillZoneNames();\r\n }\r\n else if(this.mainView.type == MainViewType.ASSETS)\r\n this.getAssetAdditionalInformations();\r\n this.fillCircuits();\r\n }\r\n \r\n }\r\n\r\n if(changes && changes.project && changes.project.currentValue)\r\n {\r\n if(this.project.type == ScopeType.PROJECT)\r\n {\r\n this.fillSiteNames();\r\n this.fillBuildingNames();\r\n if(this.mainView.type == MainViewType.SPACES)\r\n {\r\n \r\n this.fillZoneNames();\r\n this.getSpaceAdditionalInformations();\r\n }\r\n \r\n else if(this.mainView.type == MainViewType.ASSETS)\r\n this.getAssetAdditionalInformations();\r\n this.fillCircuits();\r\n }\r\n }\r\n }\r\n fillCircuits() {\r\n this.projectService.getCircuits(this.project.id).subscribe((_circuits:Array)=>{\r\n this.circuits=_circuits;\r\n });\r\n }\r\n\r\n getViewSiteNames(siteNames:Array)\r\n {\r\n var _siteNames:Array = new Array();\r\n if(siteNames)\r\n _siteNames = siteNames.filter(x=>x.isView == true);\r\n return _siteNames;\r\n }\r\n getViewBuildingNames(buildingNames:Array)\r\n {\r\n var _buildingNames:Array = new Array();\r\n if(buildingNames)\r\n _buildingNames = buildingNames.filter(x=>x.isView == true);\r\n return _buildingNames;\r\n }\r\n \r\n getViewZoneNames(zoneNames:Array)\r\n {\r\n var _zoneNames:Array = new Array();\r\n if(zoneNames)\r\n _zoneNames = zoneNames.filter(x=>x.isView == true);\r\n return _zoneNames;\r\n }\r\n\r\n getViewCircuits()\r\n {\r\n var _circuits:Array = new Array();\r\n if(this.circuits)\r\n _circuits = this.circuits.filter(x=>x.isView == true);\r\n return _circuits;\r\n }\r\n fillZoneNames() {\r\n this.projectService.getSpaceZoneNames(this.project.id).subscribe((_zoneNames:Array)=>{\r\n this.zoneNames=_zoneNames;\r\n });\r\n }\r\n fillBuildingNames() {\r\n this.projectService.getSpaceBuildingNames(this.project.id).subscribe((_buildingNames:Array)=>{\r\n this.buildingNames=_buildingNames;\r\n });\r\n }\r\n fillSiteNames() {\r\n this.projectService.getSpaceSiteNames(this.project.id).subscribe((_siteNames:Array)=>{\r\n this.siteNames=_siteNames;\r\n });\r\n }\r\n getAssetAdditionalInformations() {\r\n \r\n this.organizationService.getAssetAdditionalInformations(this.user.organization.id,this.project.id).subscribe((assetAddlInformations:Array)=>{\r\n\r\n this.assetAddlInformationValues=[];\r\n if(assetAddlInformations != null)\r\n {\r\n var realAssetAddlInformations = assetAddlInformations.filter(x=>x.projectId == this.project.id);\r\n if(realAssetAddlInformations != null && realAssetAddlInformations.length > 0)\r\n {\r\n realAssetAddlInformations.forEach((addlInformation:AssetAddlinformation)=>{\r\n var assetAddlInformationValue:AssetAddlinformationValue = new AssetAddlinformationValue();\r\n assetAddlInformationValue.id= addlInformation.id;\r\n assetAddlInformationValue.attributeName= addlInformation.attributeName;\r\n assetAddlInformationValue.attributeType= addlInformation.attributeType;\r\n this.assetAddlInformationValues.push(assetAddlInformationValue);\r\n\r\n });\r\n }\r\n }\r\n\r\n });\r\n }\r\n\r\n onChangeAssetBoolean(assetAddlInformation:AssetAddlinformationValue,value:number)\r\n {\r\n if(value == 1)\r\n assetAddlInformation.value=\"TRUE\";\r\n else\r\n assetAddlInformation.value=\"FALSE\";\r\n\r\n }\r\n onChangeBoolean(spaceAddlInformation:SpaceAddlInformationValue,value:number)\r\n {\r\n if(value == 1)\r\n spaceAddlInformation.value=\"TRUE\";\r\n else\r\n spaceAddlInformation.value=\"FALSE\";\r\n\r\n }\r\n getSpaceAdditionalInformations() {\r\n \r\n this.organizationService.getSpaceAdditionalInformations(this.user.organization.id,this.project.id).subscribe((spaceAddlInformations:Array)=>{\r\n this.spaceAddlInformationValues =[];\r\n if(spaceAddlInformations != null)\r\n {\r\n var realSpaceAddlInformations = spaceAddlInformations.filter(x=>x.projectId == this.project.id);\r\n if(realSpaceAddlInformations != null && realSpaceAddlInformations.length > 0)\r\n {\r\n realSpaceAddlInformations.forEach((addlInformation:SpaceAddlinformation)=>{\r\n var spaceAddlInformationValue:SpaceAddlInformationValue = new SpaceAddlInformationValue();\r\n spaceAddlInformationValue.id= addlInformation.id;\r\n spaceAddlInformationValue.attributeName= addlInformation.attributeName;\r\n spaceAddlInformationValue.attributeType= addlInformation.attributeType;\r\n this.spaceAddlInformationValues.push(spaceAddlInformationValue);\r\n\r\n });\r\n }\r\n }\r\n\r\n });\r\n }\r\n public onSearch(): void {\r\n if(this.ValidateSearchCriteria())\r\n {\r\n this.filter._strais=\"\";\r\n this.fillSpaceAdditionalInformations();\r\n this.fillAssetAdditionalInformations();\r\n \r\n this.filter.pn=1;\r\n this.filter._searchview=true;\r\n this.filter._st=SpaceStatus.ACTIVE;\r\n\r\n this.filterservice.emitSpaceAssetFilterView(this.filter);\r\n }\r\n else{\r\n super.warningMsg(this.translate.instant('SearchFilters.warningInvalidSearch'));\r\n }\r\n }\r\n fillAssetAdditionalInformations() {\r\n if(this.assetAddlInformationValues != null)\r\n {\r\n var assetAddlInformationWithValues:Array = this.assetAddlInformationValues.filter\r\n (x=>(x.value != null && x.value.length> 0) || (x.value != null && x.attributeType == SpaceAssetAttributeTypes.INTEGER \r\n && x.value != undefined && x.value != \"\") || (x.value != null && x.attributeType == SpaceAssetAttributeTypes.NUMBER \r\n && x.value != undefined && x.value != \"\")|| (x.DateValue != null));\r\n if(assetAddlInformationWithValues != null && assetAddlInformationWithValues.length > 0)\r\n {\r\n var _ais:Array= new Array();\r\n\r\n assetAddlInformationWithValues.forEach((assetAddlInformationValue:AssetAddlinformationValue)=>{\r\n var addlInformationFilter: AddlInformationsFilterModel= new AddlInformationsFilterModel();\r\n addlInformationFilter._i= assetAddlInformationValue.id;\r\n if(assetAddlInformationValue.attributeType == SpaceAssetAttributeTypes.DATE)\r\n {\r\n if(assetAddlInformationValue.DateValue && assetAddlInformationValue.DateValue.singleDate)\r\n addlInformationFilter._v = assetAddlInformationValue.DateValue.singleDate.jsDate.getTime().toString();\r\n else\r\n addlInformationFilter._v=null;\r\n }\r\n else\r\n {\r\n addlInformationFilter._v= assetAddlInformationValue.value;\r\n }\r\n _ais.push(addlInformationFilter);\r\n\r\n })\r\n this.filter._strais=JSON.stringify(_ais);\r\n\r\n }\r\n }\r\n }\r\n fillSpaceAdditionalInformations() {\r\n if(this.spaceAddlInformationValues != null)\r\n {\r\n var spaceAddlInformationWithValues:Array = this.spaceAddlInformationValues.filter\r\n (x=>(x.value != null && x.value.length> 0) || (x.value != null && x.attributeType == SpaceAssetAttributeTypes.INTEGER \r\n && x.value != undefined && x.value != \"\") || (x.value != null && x.attributeType == SpaceAssetAttributeTypes.NUMBER \r\n && x.value != undefined && x.value != \"\")|| (x.DateValue != null));\r\n if(spaceAddlInformationWithValues != null && spaceAddlInformationWithValues.length > 0)\r\n {\r\n var _ais:Array= new Array();\r\n\r\n spaceAddlInformationWithValues.forEach((spaceAddlInformationValue:SpaceAddlInformationValue)=>{\r\n var addlInformationFilter: AddlInformationsFilterModel= new AddlInformationsFilterModel();\r\n addlInformationFilter._i= spaceAddlInformationValue.id;\r\n if(spaceAddlInformationValue.attributeType == SpaceAssetAttributeTypes.DATE)\r\n {\r\n if(spaceAddlInformationValue.DateValue && spaceAddlInformationValue.DateValue.singleDate)\r\n addlInformationFilter._v = spaceAddlInformationValue.DateValue.singleDate.jsDate.getTime().toString();\r\n else\r\n addlInformationFilter._v =null;\r\n\r\n\r\n }\r\n else\r\n {\r\n addlInformationFilter._v= spaceAddlInformationValue.value;\r\n }\r\n _ais.push(addlInformationFilter);\r\n\r\n })\r\n this.filter._strais=JSON.stringify(_ais);\r\n\r\n }\r\n }\r\n }\r\n onClear():void\r\n {\r\n this.InitFilterModel();\r\n this.filterservice.emitSpaceAssetFilterView(this.filter);\r\n }\r\n\r\n ValidateSearchCriteria():boolean\r\n {\r\n if(this.mainView.type == this.mainViewType.SPACES )\r\n {\r\n var spaceAddlInformationValue = this.spaceAddlInformationValues.find(x=>(x.value != null && x.value.length> 0) || (x.value != null && x.attributeType == SpaceAssetAttributeTypes.INTEGER \r\n && x.value != undefined && x.value != \"\") || (x.value != null && x.attributeType == SpaceAssetAttributeTypes.NUMBER \r\n && x.value != undefined && x.value != \"\")|| (x.DateValue != null));\r\n if((this.filter._ssnid == null || this.filter._ssnid < 0) && (this.filter._bnid == null || this.filter._bnid < 0) && this.filter._spt==''&& (this.filter._znid == null || this.filter._znid < 0) && spaceAddlInformationValue == null)\r\n return false;\r\n }\r\n \r\n else if (this.mainView.type == this.mainViewType.ASSETS )\r\n {\r\n var assetAddlInformationValue = this.assetAddlInformationValues.find(x=>(x.value != null && x.value.length> 0) || (x.value != null && x.attributeType == SpaceAssetAttributeTypes.INTEGER \r\n && x.value != undefined && x.value != \"\") || (x.value != null && x.attributeType == SpaceAssetAttributeTypes.NUMBER \r\n && x.value != undefined && x.value != \"\")|| (x.DateValue != null));\r\n\r\n if((this.filter._ssnid == null || this.filter._ssnid < 0) && (this.filter._bnid == null || this.filter._bnid < 0) && (this.filter._ci == null || this.filter._ci < 0) && assetAddlInformationValue == null)\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
{{'ProjectManagerSettings.Spaces.lblSiteName' | translate}}
\r\n \r\n {{ 'Settings.CommonLabel.lblAll' | translate }}\r\n {{siteName.name}}\r\n \r\n
\r\n
\r\n
{{'ProjectManagerSettings.Spaces.lblBuildingName' | translate}}
\r\n \r\n {{ 'Settings.CommonLabel.lblAll' | translate }}\r\n {{buildingName.name}}\r\n \r\n \r\n
\r\n
\r\n
{{'ProjectManagerSettings.Spaces.lblZoneName' | translate}}
\r\n\r\n \r\n {{ 'Settings.CommonLabel.lblAll' | translate }}\r\n {{zoneName.name}}\r\n \r\n
\r\n
\r\n
{{'ProjectManagerSettings.Assets.lblDiscipline' | translate}}
\r\n \r\n {{ 'Settings.CommonLabel.lblAll' | translate }}\r\n {{circuit.name}}\r\n \r\n \r\n
\r\n
\r\n
{{'ProjectManagerSettings.SpaceGroups.lblSpaceType' | translate}}
\r\n
{{'ProjectManagerSettings.Spaces.lblSpaceLevel' | translate}}
\r\n \r\n \r\n
\r\n
\r\n
0\" translate>DataManagerSettings.lblAdditionalInformations
\r\n
0\" translate>DataManagerSettings.lblAdditionalInformations
\r\n
\r\n
\r\n
\r\n
\r\n
{{spaceAddlInformation.attributeName}}
\r\n\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n\r\n\r\n
\r\n
\r\n \r\n\r\n \r\n \r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n\r\n\r\n
\r\n
\r\n
\r\n
\r\n
{{assetAddlInformation.attributeName}}
\r\n\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n\r\n\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n\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, Injector, OnInit } from '@angular/core';\r\nimport { ActivatedRoute, ParamMap, Router } from '@angular/router';\r\nimport { KeyConstants } from 'src/shared/constants/key-constants';\r\nimport { CheckList } from 'src/shared/Models/API/checklist';\r\nimport { ChecklistTag } from 'src/shared/Models/API/checkListTag';\r\nimport { CheckListTagModel } from 'src/shared/Models/API/checkListTagModel';\r\nimport { Project } from 'src/shared/Models/API/Project';\r\nimport { TicketStatus } from 'src/shared/Models/API/Ticket';\r\nimport { UserChecklist } from 'src/shared/Models/API/user-checklist';\r\nimport { Asset } from 'src/shared/Models/Asset';\r\nimport { IRTemplate } from 'src/shared/Models/onm/onm.models';\r\nimport { Space } from 'src/shared/Models/space';\r\nimport { BaseComponent } from '../modules/shared/BaseComponent';\r\nimport { GlobalService } from '../services/global.service';\r\nimport { AssetJSStoreService } from '../services/localdb/JSStore/asset-jsstore.service';\r\nimport { ChecklistJsstoreService } from '../services/localdb/JSStore/checklist-jsstore.service';\r\nimport { ProjectJSStoreService } from '../services/localdb/JSStore/project-jsstore.service';\r\nimport { SpaceJSStoreService } from '../services/localdb/JSStore/space-jsstore.service';\r\nimport { TicketJSStoreService } from '../services/localdb/JSStore/ticket-jsstore.service';\r\nimport { MobileSyncService } from '../services/mobilesync.service';\r\nimport { StorageService } from '../services/storage.service';\r\n@Component({\r\n selector: 'app-mobilesync',\r\n templateUrl: './mobilesync.component.html',\r\n styleUrls: ['./mobilesync.component.css']\r\n})\r\nexport class MobilesyncComponent extends BaseComponent implements OnInit {\r\n public Issyncfailed:boolean=false;\r\n public IsproceedwithprevsyncData:boolean=false;\r\n constructor(injector:Injector,private mobileSyncService:MobileSyncService,\r\n private router: Router,\r\n private projectJSStoreService:ProjectJSStoreService,\r\n private checklistJsstoreService:ChecklistJsstoreService,\r\n private storageService:StorageService,\r\n private route:ActivatedRoute,\r\n private globalService:GlobalService,\r\n private spaceJSStoreService:SpaceJSStoreService,\r\n private assetJSStoreService:AssetJSStoreService,\r\n private ticketJSStoreService:TicketJSStoreService) {\r\n super(injector);\r\n }\r\n\r\n ngOnInit() {\r\n this.Issyncfailed=false;\r\n this.IsproceedwithprevsyncData=false;\r\n if(this.isOnline)\r\n {\r\n this.route.queryParamMap.subscribe((params: ParamMap): void => {\r\n if (params.has('_n')) {\r\n if (params.get('_n') != '') {\r\n var isexistinguser:string = params.get('_n');\r\n if(isexistinguser == \"1\")\r\n {\r\n //if existing user then ask for do you want to continue with last synced data\r\n this.IsproceedwithprevsyncData=true;\r\n }\r\n else{\r\n //clear index DB tables before sync\r\n this.ClearTablesandSync();\r\n }\r\n }\r\n }\r\n });\r\n }\r\n }\r\n InitSynchronization()\r\n {\r\n this.getProjects();\r\n this.getSpaces();\r\n this.getAssets();\r\n this.getIRTemplates();\r\n this.getFlowStatuses();\r\n }\r\n\r\n async ClearTablesandSync()\r\n {\r\n //this code is to check whether any unsynced user checklist exists before we clear the user checklists\r\n await this.syncJsstoreService.syncUserChecklistsFromIndexDbToServer(this.user,false);\r\n await this.syncJsstoreService.syncTickets(this.user);\r\n this.spaceJSStoreService.ClearSpacesTable();\r\n this.assetJSStoreService.ClearAssetsTable();\r\n this.projectJSStoreService.ClearProjectsTable();\r\n this.checklistJsstoreService.ClearAllChecklistTables();\r\n this.ticketJSStoreService.ClearAllTicketTables();\r\n this.InitSynchronization();\r\n }\r\n getProjects()\r\n {\r\n this.mobileSyncService.GetProjects(this.user.id).subscribe((_projects:Array)=>{\r\n if(_projects)\r\n {\r\n this.projectJSStoreService.AddProjects(_projects);\r\n }\r\n }, error => {\r\n this.setSynchronizationFailed();\r\n },\r\n ()=>{\r\n //on complete of get projects call next GetChecklistTags\r\n this.GetChecklistTags();\r\n });\r\n }\r\n GetChecklistTags()\r\n {\r\n this.mobileSyncService.GetChecklistTags(this.user.id).subscribe((_checklisttags:Array)=>{\r\n if(_checklisttags)\r\n {\r\n this.checklistJsstoreService.addChecklistTags(_checklisttags,this.user.id);\r\n }\r\n }, error => {\r\n this.setSynchronizationFailed();\r\n },\r\n ()=>{\r\n //on complete of get GetChecklistTags call next GetChecklists\r\n this.GetChecklists();\r\n });\r\n }\r\n GetChecklists()\r\n {\r\n this.mobileSyncService.GetChecklists(this.user.id).subscribe((_checklists:Array)=>{\r\n if(_checklists)\r\n {\r\n //clearing checklist checks & values since we dont have primary key to update\r\n this.checklistJsstoreService.addChecklistTemplate(_checklists,null);\r\n }\r\n }, error => {\r\n this.setSynchronizationFailed()\r\n },\r\n ()=>{\r\n //on complete of get GetChecklists call next GetUserChecklists\r\n this.GetUserChecklists();\r\n });\r\n }\r\n async GetUserChecklists()\r\n {\r\n await this.checklistJsstoreService.ClearUserChecklistsFromIndexDB(this.user.id);\r\n this.mobileSyncService.GetUserChecklists(this.user.id).subscribe((_userchecklists:Array)=>{\r\n if(_userchecklists)\r\n {\r\n this.checklistJsstoreService.addUserChecklists(_userchecklists,this.user.id);\r\n }\r\n }, error => {\r\n this.setSynchronizationFailed();\r\n },\r\n ()=>{\r\n this.moveToNextPage();\r\n });\r\n }\r\n\r\n moveToNextPage()\r\n {\r\n //mobile projects page\r\n var route=\"/organization/\"+this.user.organization.id+\"/mobileprojects\";\r\n this.router.navigate([route]);\r\n }\r\n NavigateToLoginPage()\r\n {\r\n this.storageService.removeCookie(KeyConstants._USER,'/');\r\n this.router.navigate(['/login'], { queryParams: { mb: 1 } });\r\n }\r\n\r\n\r\n OnClickSync()\r\n {\r\n //this will be called when existing user asked for sync new data\r\n this.IsproceedwithprevsyncData=false;\r\n this.ClearTablesandSync();\r\n }\r\n\r\n setSynchronizationFailed(){\r\n // while synchronizing failed, calling this connection status immediately required\r\n // as different messages and actions need to be shown based on online and offline\r\n this.globalService.getConnectionStatus().subscribe((res)=>{\r\n //if synchronization failed due to some other reason other than internet connectivity lost(unable to reach server)\r\n // this function response will return, still synchronization failed so set isfailed to true\r\n this.Issyncfailed=true;\r\n\r\n },err=>{\r\n //if synchronization failed due to internet connectivity lost (unable to reach server),this method comes to error block\r\n // then set online status to false isSyncfailed to true\r\n this.isOnline= false;\r\n this.Issyncfailed=true;\r\n })\r\n }\r\n getSpaces()\r\n {\r\n this.mobileSyncService.GetSpaces(this.user.id).subscribe((_spaces:Array)=>{\r\n if(_spaces)\r\n {\r\n this.spaceJSStoreService.AddSpaces(_spaces);\r\n }\r\n }, error => {\r\n this.setSynchronizationFailed();\r\n });\r\n }\r\n getAssets()\r\n {\r\n this.mobileSyncService.GetAssets(this.user.id).subscribe((_assets:Array)=>{\r\n if(_assets)\r\n {\r\n this.assetJSStoreService.AddAssets(_assets);\r\n }\r\n }, error => {\r\n this.setSynchronizationFailed();\r\n });\r\n }\r\n\r\n getIRTemplates()\r\n {\r\n this.mobileSyncService.GetIRTemplates(this.user.id).subscribe((_irTemplates:Array)=>{\r\n if(_irTemplates)\r\n {\r\n this.ticketJSStoreService.AddIrTemplates(_irTemplates);\r\n }\r\n }, error => {\r\n this.setSynchronizationFailed();\r\n });\r\n }\r\n getFlowStatuses()\r\n {\r\n this.mobileSyncService.GetFlowStatuses(this.user.id).subscribe((_statuses:Array)=>{\r\n if(_statuses)\r\n {\r\n this.ticketJSStoreService.AddStatuses(_statuses);\r\n }\r\n }, error => {\r\n this.setSynchronizationFailed();\r\n });\r\n }\r\n}\r\n","\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
mobileApp.lblonlinesyncMSG
\r\n
\r\n
\r\n \"Off\r\n
mobileApp.lbloffline
\r\n
mobileApp.lblofflinesyncMSG
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
mobileApp.syncFailedError
\r\n
mobileApp.lbldoyouwanttocontinue
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
mobileApp.syncFailedError
\r\n
mobileApp.lblUnableToProceed
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
mobileApp.lbllastsyncMSG
\r\n \r\n
\r\n
\r\n
\r\n
\r\n","import { Inject, Injectable } from '@angular/core';\r\nimport { RawRule } from '@casl/ability';\r\nimport { BehaviorSubject, from, Observable } from 'rxjs';\r\nimport { map, tap } from 'rxjs/operators';\r\nimport { OnlineOfflineService } from 'src/app/services/network/online-offline.service';\r\nimport { StorageService } from 'src/app/services/storage.service';\r\nimport { UploadPaneService } from 'src/app/services/upload-pane.service';\r\nimport { environment } from 'src/environments/environment';\r\nimport { UploadPaneComponent } from 'src/shared/components/upload-pane/upload-pane.component';\r\nimport { KeyConstants } from 'src/shared/constants/key-constants';\r\nimport { Job } from 'src/shared/Models/Internal/job';\r\nimport { User } from 'src/shared/Models/user';\r\nimport { PermissionHelper } from 'src/shared/utilities/PermissionHelper';\r\nimport { AbilityService } from '../shared/services/ability.service';\r\nimport * as data from '../../../assets/client-config.json'\r\nimport { HttpClient, HttpParams } from '@angular/common/http';\r\nimport { DOCUMENT } from '@angular/common';\r\ndeclare var window: any;\r\n\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class AuthService {\r\n private apiURL: string = null;\r\n private loggedInStatus = new BehaviorSubject(this.getLoggedInStatus());\r\n\r\n constructor(\r\n private httpClient: HttpClient,\r\n private storageService: StorageService,\r\n private abilityService: AbilityService,\r\n private uploadPaneService: UploadPaneService,private onlineOfflineService:OnlineOfflineService,\r\n @Inject(DOCUMENT) private document: Document) {\r\n this.apiURL = environment.WebAPIURL;\r\n }\r\n\r\n\r\n login(user: User,culture:string): Observable {\r\n var body = {\r\n userName: user.userName,\r\n password: user.password,\r\n };\r\n this.apiURL = environment.WebAPIURL;\r\n let cparams = new HttpParams().set('culture',culture);\r\n var url = `${this.apiURL}/Organization/${user.organization.name}/Users/Login`;\r\n return this.httpClient.put(url, body,{ params: cparams })\r\n .pipe(tap((user: User) => {\r\n if (user.id > 0) {\r\n //this.storeToken(user);\r\n this.SetAbilityOfUserByPermissions();\r\n if(!user.access.isAccessDenied)\r\n this.EmitLoggedinStatus(true);\r\n\r\n //set theme here in UI as per user\r\n }\r\n }));\r\n }\r\n\r\n getLoggedInStatus() {\r\n const user = this.storageService.getCookie(KeyConstants._USER);\r\n if (user && user.token) {\r\n return true;\r\n } else {\r\n return false;\r\n }\r\n }\r\n\r\n public storeToken(user: User) {\r\n var expiry: Date = new Date(user.expires * 1000);\r\n // expiry.setSeconds(user.expires);\r\n this.storageService.setCookie(KeyConstants._USER, user, expiry, \"/\", \"\", environment.secureCookieFlag, \"Strict\");\r\n }\r\n\r\n public getAccessToken(): string {\r\n var userModel: User = this.storageService.getCookie(KeyConstants._USER);\r\n if (userModel) {\r\n return userModel.token;\r\n }\r\n return null;\r\n }\r\n\r\n public logout(): void {\r\n // reset upload pane.\r\n this.apiURL= environment.WebAPIURL;\r\n \r\n var url = `${this.apiURL}/User/Logout`;\r\n if(!this.apiURL.startsWith(\"#WEBAPIURL#\"))\r\n {\r\n try\r\n {\r\n this.httpClient.put(url,{}).subscribe((res: any) => {\r\n });\r\n }\r\n catch{\r\n \r\n }\r\n }\r\n this.onlineOfflineService.StopConnectionStatusUpdate();\r\n window.config= null;\r\n UploadPaneComponent.onGoingJobs = new Array();\r\n UploadPaneService.uploadJobs = new BehaviorSubject(null);\r\n this.uploadPaneService.setVisibility(false);\r\n this.uploadPaneService.setOngoingUploadsCount(0);\r\n\r\n this.storageService.removeCookie(KeyConstants._USER,'/');\r\n this.abilityService.RemoveAllRules();\r\n this.EmitLoggedinStatus(false);\r\n //setting to dark for login\r\n this.document.body.removeAttribute(\"class\");\r\n \r\n }\r\n\r\n public getUser(): User {\r\n var userModel: User = this.storageService.getCookie(KeyConstants._USER);\r\n if (!userModel) {\r\n this.logout();\r\n location.reload();\r\n }\r\n return userModel;\r\n }\r\n\r\n \r\n public getClientJsonData()\r\n {\r\n\r\n \r\n\r\n return (data as any).default;\r\n \r\n }\r\n\r\n SetAbilityOfUserByPermissions() {\r\n var rules = new Array();\r\n if (this.getLoggedInStatus()) {\r\n var user = this.getUser();\r\n\r\n if (user.permissions) {\r\n user.permissions.forEach(it => {\r\n var permision = PermissionHelper.getPermissionModel(it);\r\n var rule: RawRule = {\r\n actions: 'access',\r\n subject: permision.name\r\n };\r\n\r\n rules.push(rule);\r\n });\r\n }\r\n\r\n var rule: RawRule = {\r\n actions: 'access',\r\n subject: 'Projects'\r\n };\r\n\r\n rules.push(rule);\r\n }\r\n\r\n this.abilityService.AddRules(rules);\r\n }\r\n\r\n EmitLoggedinStatus(value: boolean) {\r\n this.loggedInStatus.next(value);\r\n }\r\n\r\n LoggedInStatusObservable(): Observable {\r\n return this.loggedInStatus.asObservable();\r\n }\r\n\r\n public RequestRefreshedToken() {\r\n var currentUser: User = this.getUser();\r\n if (currentUser.id > 0) {\r\n var body = {\r\n accessToken: currentUser.token,\r\n refreshToken: currentUser.refreshToken,\r\n };\r\n var url = `${this.apiURL}/Organization/${currentUser.organization.id}/Users/RefreshAccessToken`;\r\n this.httpClient.post(url, body).subscribe((accessToken: any) => {\r\n if (accessToken != null) {\r\n currentUser.token = accessToken.accessToken;\r\n currentUser.refreshToken = accessToken.refreshToken;\r\n currentUser.expires = accessToken.expires;\r\n this.storeToken(currentUser);\r\n }\r\n });\r\n }\r\n }\r\n public getLanguagePreference(): string {\r\n var userModel: User = this.storageService.getCookie(KeyConstants._USER);\r\n if (userModel) {\r\n return userModel.languagePreference;\r\n }\r\n return null;\r\n }\r\n\r\n SendForgotPasswordEmail(url:string,user: User,culture:string): Observable {\r\n let cparams = new HttpParams().set('culture',culture);\r\n var url = `${url}/Organization/${user.organization.name}/User/${user.userName}/ForgotPassword`;\r\n return this.httpClient.put(url, user,{ params: cparams })\r\n .pipe(tap((user: User) => {\r\n }));\r\n\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { LoginComponent } from './components/login/login.component';\r\nimport { SharedModule } from '../shared/shared.module';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { TranslateModule } from '@ngx-translate/core';\r\nimport { RouterModule } from '@angular/router';\r\n\r\n\r\n@NgModule({\r\n imports: [\r\n RouterModule,\r\n SharedModule,\r\n ReactiveFormsModule,\r\n TranslateModule\r\n ],\r\n declarations: [\r\n LoginComponent\r\n ]\r\n})\r\nexport class AuthenticationModule { }\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { UntypedFormGroup, UntypedFormControl, UntypedFormBuilder, Validators } from '@angular/forms';\r\nimport { OrganizationService } from 'src/app/services/organization.service';\r\n\r\nimport { AuthService } from '../../auth.service';\r\nimport { LoginInfo, User } from 'src/shared/Models/user';\r\nimport { ActivatedRoute, ParamMap, Router } from '@angular/router';\r\nimport { Ability } from '@casl/ability';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { UserService } from 'src/app/services/user.service';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { StorageService } from 'src/app/services/storage.service';\r\nimport { LoginJSStoreService } from 'src/app/services/localdb/JSStore/login-jsstore.service';\r\nimport { Subscription } from 'rxjs';\r\nimport { OnlineOfflineService } from 'src/app/services/network/online-offline.service';\r\nimport { basename } from 'path';\r\nimport { environment } from 'src/environments/environment';\r\nimport { log } from 'util';\r\ndeclare var $: any;\r\ndeclare var window: any;\r\n@Component({\r\n selector: 'app-login',\r\n templateUrl: './login.component.html',\r\n styleUrls: ['./login.component.css']\r\n})\r\nexport class LoginComponent implements OnInit {\r\n\r\n public selectedLanguage:string ='';\r\n public validationMessages: any;\r\n public returnUrl: string;\r\n public submitted: boolean = false;\r\n public error: string;\r\n public user = new User();\r\n public requestSent:boolean =false;\r\n public isForgotPwdUI:boolean=false;\r\n public isMobile:boolean = false;\r\n public isForgotPwdSucess:boolean=false;\r\n private onlineOfflinesubcription:Subscription;\r\n public isOnline:boolean=true;\r\n public isExisitingUser:boolean=false;\r\n public isRememberMe:boolean = false;\r\n loginForm = new UntypedFormGroup({\r\n username: new UntypedFormControl(),\r\n password: new UntypedFormControl(),\r\n organizationname: new UntypedFormControl()\r\n });\r\n public expireInDays:number=0;\r\n constructor(private router: Router,\r\n private route: ActivatedRoute,\r\n private fb: UntypedFormBuilder, private organisationService: OrganizationService,\r\n private authService: AuthService,\r\n private ability: Ability,private translate: TranslateService,\r\n private userservice:UserService,private toaster:ToastrService,private storageService:StorageService,\r\n private loginJSStoreService:LoginJSStoreService,private onlineOfflineService:OnlineOfflineService) {\r\n this.isMobile=this.storageService.getIsMobile();\r\n this.route.queryParamMap.subscribe((params: ParamMap): void => {\r\n if (params.has('_t') && params.has('u')) {\r\n \r\n\r\n\r\n if (params.get('_t') != '' && params.get('u') != '') {\r\n var url:string = params.get('u') + \":\" + environment.APIPORT + \"/api\";\r\n this.userservice.UnlockUser(url,params.get('_t')).subscribe((_res:any)=>{\r\n this.toaster.success(this.translate.instant('login.unlockSuccessMSg'),this.translate.instant('Settings.CommonLabel.lblSuccess'));\r\n }, err => {\r\n if (err && err.error) {\r\n this.toaster.error(err.error,this.translate.instant('Settings.CommonLabel.lblError'));\r\n }\r\n });\r\n }\r\n }\r\n if (params.has('_mb')) {\r\n if (params.get('_mb') != '') {\r\n var mobile:string = params.get('_mb');\r\n if(mobile == \"1\")\r\n {\r\n this.storageService.setMobileValue(true);\r\n\r\n }\r\n }\r\n }\r\n });\r\n \r\n var isloggedIn = this.authService.getLoggedInStatus();\r\n if (isloggedIn) {\r\n if(this.storageService.getIsMobile()){\r\n var user:User= this.authService.getUser();\r\n this.router.navigate(['/organization/'+user.organization.id+'/mobileprojects'])\r\n }\r\n else\r\n this.router.navigate(['/projects']);\r\n }\r\n this.setLanguagePreference();\r\n }\r\n\r\n ngOnInit() {\r\n var loginInfo:LoginInfo = this.storageService.getLocalStorageItem(\"CBOX_LOGINUSER\")\r\n var userName=\"\";\r\n var url=\"\";\r\n if(loginInfo != null && loginInfo != undefined && loginInfo.userName != null && loginInfo.userName != undefined && loginInfo.userName.length > 0)\r\n {\r\n this.isRememberMe = true;\r\n userName= loginInfo.userName;\r\n url = loginInfo.URL;\r\n }\r\n\r\n this.onlineOfflinesubcription=this.onlineOfflineService.connectionChanged.subscribe(isConnected => {\r\n if(isConnected!=null)\r\n {\r\n this.isOnline=isConnected;\r\n }\r\n });\r\n this.InitForm(userName, '', '',url);\r\n }\r\n changelanguage(lang: string) {\r\n this.translate.use(lang);\r\n this.selectedLanguage = lang;\r\n }\r\n\r\n get f() { return this.loginForm.controls; }\r\n\r\n\r\n\r\n\r\n // initialize the login form with values assigned\r\n InitForm(username, password, organizationname,url) {\r\n this.loginForm = this.fb.group({\r\n username: [username, Validators.required],\r\n password: [password, Validators.required],\r\n organizationname: [organizationname, Validators.required],\r\n url: [url]\r\n });\r\n }\r\n\r\n \r\n LoginUser(url:string):void {\r\n this.authService.login(this.user, this.selectedLanguage).subscribe(async (_user: User) => {\r\n if (_user && _user.id>0) {\r\n this.user = _user;\r\n this.user.password = '';\r\n this.user.url=url;\r\n\r\n if(this.isRememberMe)\r\n {\r\n var loginInfo:LoginInfo = new LoginInfo();\r\n loginInfo.URL= this.loginForm.value.url;\r\n loginInfo.userName=this.user.userName;\r\n this.storageService.setLocalStorage(\"CBOX_LOGINUSER\",loginInfo);\r\n }\r\n else\r\n {\r\n this.storageService.removeLocalStorage(\"CBOX_LOGINUSER\");\r\n }\r\n if (this.user.access.isAccessDenied) {\r\n this.requestSent = false;\r\n $('#forcedisconnectmodal').modal('show');\r\n return;\r\n }\r\n else if (this.user.token && this.user.expires) {\r\n if(this.storageService.getIsMobile())\r\n {\r\n \r\n await this.saveLoggedInUserToIndexDB(Object.assign(new User(), _user));\r\n \r\n \r\n }\r\n\r\n \r\n this.setExpiryDays();\r\n if (!this.user.languagePreference || this.user.languagePreference.trim() == '') {\r\n this.setLanguagePreference();\r\n this.user.languagePreference = this.selectedLanguage;\r\n }\r\n this.authService.storeToken(this.user);\r\n if(this.expireInDays >0 && this.expireInDays<= this.user.organization.notificationBeforeDays)\r\n {\r\n $('#expiremodal').modal('show');\r\n }\r\n else\r\n {\r\n this.NavigateToReturnUrl(_user.organization.id);\r\n }\r\n }\r\n else {\r\n this.error = this.translate.instant('error.lblUserNameorPassowrdIncorrect');\r\n }\r\n }\r\n else {\r\n this.error = this.translate.instant('error.lblUserNameorPassowrdIncorrect');\r\n }\r\n this.requestSent = false;\r\n }, err => {\r\n //A function which checks whether the status is the issue or some other error\r\n this.handleLoginError(err);\r\n \r\n this.requestSent = false;\r\n })\r\n }\r\n handleLoginError(err: any) {\r\n if (err && err.error && err.error.errorMessage) \r\n this.error = err.error.errorMessage;\r\n else \r\n this.error = this.translate.instant('error.lblUserNameorPassowrdIncorrect');\r\n \r\n \r\n }\r\n\r\n\r\n GetURL():string {\r\n var returnURL:string =\"\";\r\n \r\n if(this.storageService.getIsMobile())\r\n {\r\n if(this.loginForm.value.url == null || this.loginForm.value.url.length == 0)\r\n return returnURL;\r\n if(!this.loginForm.value.url.startsWith(\"http://\") && !this.loginForm.value.url.startsWith(\"https://\"))\r\n returnURL += \"https://\";\r\n\r\n returnURL += this.loginForm.value.url;\r\n \r\n \r\n }\r\n else\r\n {\r\n \r\n returnURL=environment.SERVERURL;\r\n }\r\n return returnURL;\r\n \r\n }\r\n\r\n\r\n Login():void {\r\n this.error = '';\r\n this.submitted = true;\r\n\r\n \r\n \r\n \r\n if (!this.requestSent && this.loginForm.valid) {\r\n \r\n this.requestSent = true;\r\n this.user = new User();\r\n this.user.userName = this.loginForm.value.username;\r\n this.user.password = this.loginForm.value.password;\r\n this.user.organization.name = this.loginForm.value.organizationname;\r\n this.user.url= this.GetURL();\r\n\r\n \r\n try\r\n {\r\n var data:any = this.authService.getClientJsonData();\r\n var environmentVar:any = Object.assign({},data);\r\n environmentVar.WebAPIURL= environmentVar.WebAPIURL.replace(\"#WEBAPIURL#\",this.user.url + \":\" + environment.APIPORT + \"/api\");\r\n environmentVar.WEB_URL= environmentVar.WEB_URL.replace(\"#WEBURL#\",this.user.url + \"/api\");\r\n window.config = environmentVar;\r\n \r\n this.onlineOfflineService.testConnectionStatus().subscribe(()=>{\r\n \r\n this.isOnline = true;\r\n this.onlineOfflineService.UpdateConnectionStatus(this.isOnline);\r\n this.onlineOfflineService.StartConnectionStatusUpdate();\r\n this.LoginUser(this.user.url);\r\n this.requestSent=false;\r\n\r\n },err =>{\r\n this.isOnline = false;\r\n this.onlineOfflineService.UpdateConnectionStatus(this.isOnline);\r\n this.onlineOfflineService.StartConnectionStatusUpdate();\r\n if(this.storageService.getIsMobile())\r\n this.logInFromIndexDB();\r\n else\r\n\r\n this.requestSent= false;\r\n })\r\n\r\n \r\n \r\n \r\n\r\n \r\n }\r\n catch\r\n {\r\n this.error = this.translate.instant(\"login.LoginServerFailed\");\r\n }\r\n \r\n }\r\n }\r\n\r\n NavigateToReturnUrl(organizationid:number): void {\r\n // Removing permission check(s) for now.\r\n var defaultUrl: string = \"projects\";\r\n var mobile:boolean = false;\r\n mobile = this.storageService.getIsMobile();\r\n if(mobile)\r\n {\r\n var url:string = 'mobilesync?_n='+((this.isExisitingUser)?\"1\":\"0\");\r\n //if it is offline/online then go to mobilesync always\r\n //if(!window.navigator.onLine)\r\n //url=\"organization/\" + organizationid.toString() + \"/mobileprojects\";\r\n if(this.route.snapshot.queryParams['returnUrl'] != null && this.route.snapshot.queryParams['returnUrl'] != undefined)\r\n url += \"?returnUrl=\" + this.route.snapshot.queryParams['returnUrl'];\r\n this.router.navigateByUrl(url);\r\n\r\n }\r\n else\r\n {\r\n if (this.route.snapshot.queryParams['returnUrl'] == '/')\r\n this.returnUrl = defaultUrl;\r\n else\r\n this.returnUrl = this.route.snapshot.queryParams['returnUrl'] || `${defaultUrl}`;\r\n // Re-directing to 'PROJECTS' or the one in queryParams.\r\n this.router.navigateByUrl(this.returnUrl);\r\n }\r\n\r\n\r\n }\r\n\r\n\r\n\r\n OnForceDisconnect()\r\n {\r\n \r\n this.userservice.sendForceDisconnectEmail(this.user,this.selectedLanguage).subscribe((res:any) => {\r\n $('#forcedisconnectmodal').modal('hide');\r\n this.toaster.success(this.translate.instant('login.forcediscemailsSuccessMSg'),this.translate.instant('Settings.CommonLabel.lblSuccess'));\r\n }, err => {\r\n if (err && err.error && err.error.errorMessage) {\r\n this.error = err.error.errorMessage;\r\n }\r\n });\r\n\r\n }\r\n public openWebsite():void{\r\n var url:string = window.location.origin;\r\n window.open(url, \"_blank\");\r\n }\r\n\r\n private setLanguagePreference() :void{\r\n //step 1 adding languages supported by US\r\n this.translate.addLangs(['en-GB', 'it-IT','fr-FR']);\r\n //step 2 check browser lang is not null else default language\r\n if(this.translate.getBrowserCultureLang()!='' && this.translate.getBrowserCultureLang()!=null)\r\n {\r\n //step 3 if browser lang supported by us show in brwser lang else default language as english\r\n const browserLang = this.translate.getBrowserCultureLang();\r\n if (browserLang.includes('it'))\r\n this.selectedLanguage = 'it-IT';\r\n else if (browserLang.includes('en'))\r\n this.selectedLanguage = 'en-GB';\r\n else if (browserLang.includes('fr'))\r\n this.selectedLanguage = 'fr-FR';\r\n else\r\n this.selectedLanguage = this.translate.getDefaultLang();\r\n this.translate.use(this.selectedLanguage);\r\n }\r\n else{\r\n this.selectedLanguage = this.translate.getDefaultLang();\r\n this.translate.use(this.selectedLanguage);\r\n }\r\n }\r\n SetPasswordFieldValidation(isfieldvisible:boolean)\r\n {\r\n const pwdControl = this.loginForm.get('password');\r\n pwdControl.setValidators(isfieldvisible?[Validators.required]:null);\r\n pwdControl.updateValueAndValidity();\r\n }\r\n OnForgotPasswordClick()\r\n {\r\n this.SetPasswordFieldValidation(false);\r\n this.error='';\r\n this.submitted=false;\r\n this.isForgotPwdUI=true;\r\n }\r\n OnBackToLogin()\r\n {\r\n this.SetPasswordFieldValidation(false);\r\n this.error='';\r\n this.submitted=false;\r\n this.isForgotPwdUI=false;\r\n this.isForgotPwdSucess=false;\r\n }\r\n OnForgotPasswordSubmit()\r\n {\r\n this.error='';\r\n this.submitted=true;\r\n if (!this.requestSent && this.loginForm.valid) {\r\n this.requestSent =true;\r\n this.user = new User();\r\n this.user.userName = this.loginForm.value.username;\r\n this.user.organization.name = this.loginForm.value.organizationname;\r\n var url = this.GetURL();\r\n url += \":\" + environment.APIPORT + \"/api\";\r\n this.authService.SendForgotPasswordEmail(url,this.user, this.selectedLanguage).subscribe((_user: User) => {\r\n if (_user) {\r\n this.user = _user;\r\n if (this.user.id > 0) {\r\n this.isForgotPwdSucess = true;\r\n }\r\n }\r\n this.requestSent=false;\r\n }, err => {\r\n if (err && err.error && err.error.errorMessage) {\r\n this.error = err.error.errorMessage;\r\n }\r\n else \r\n this.error=this.translate.instant('error.lblUserNameorPassowrdIncorrect');\r\n this.isForgotPwdSucess=false;\r\n this.requestSent=false;\r\n });\r\n }\r\n }\r\n\r\n setExpiryDays():void{\r\n var currentDate: Date = new Date();\r\n if (this.user.organization.expiry) {\r\n var expiryDate: Date = new Date(this.user.organization.expiry)\r\n if (this.getDate(currentDate) < this.getDate(expiryDate)) {\r\n this.expireInDays = Math.floor((Date.UTC(expiryDate.getFullYear(), expiryDate.getMonth(), expiryDate.getDate()) - Date.UTC(currentDate.getFullYear(), currentDate.getMonth(), currentDate.getDate())) / (1000 * 60 * 60 * 24));\r\n }\r\n }\r\n}\r\n private getDate(date: Date): Date {\r\n return new Date(date.getFullYear(), date.getMonth(), date.getDate());\r\n }\r\n\r\n async saveLoggedInUserToIndexDB(_user:User){\r\n //saving to indexdb - account table\r\n _user.password= this.loginForm.value.password;\r\n this.isExisitingUser=await this.loginJSStoreService.getIsUserExistsInIndexDB(_user);\r\n this.loginJSStoreService.addLoggedInUser(_user);\r\n }\r\n\r\n private logInFromIndexDB() {\r\n this.loginJSStoreService.getLoggedInUser(this.user).then((_user: User) => {\r\n if (_user && _user.id > 0) {\r\n this.user = _user;\r\n var currentDate = new Date();\r\n this.user.expires = (new Date(currentDate.getTime() + 60 * 60000)).getTime() / 1000;\r\n this.setExpiryDays();\r\n if (!this.user.languagePreference || this.user.languagePreference.trim() == '') {\r\n this.setLanguagePreference();\r\n this.user.languagePreference = this.selectedLanguage;\r\n }\r\n this.authService.storeToken(this.user);\r\n if (this.expireInDays > 0 && this.expireInDays <= this.user.organization.notificationBeforeDays) {\r\n $('#expiremodal').modal('show');\r\n }\r\n else {\r\n this.NavigateToReturnUrl(_user.organization.id);\r\n }\r\n this.requestSent= false;\r\n }\r\n else {\r\n this.requestSent= false;\r\n this.error = this.translate.instant('error.lblUserNameorPassowrdIncorrect');\r\n }\r\n },(err) => {\r\n this.requestSent= false;\r\n this.error = this.translate.instant('error.lblUserNameorPassowrdIncorrect');\r\n });\r\n }\r\n\r\n\r\n ngOnDestroy(): void {\r\n if (this.onlineOfflinesubcription && !this.onlineOfflinesubcription.closed) {\r\n this.onlineOfflinesubcription.unsubscribe();\r\n }\r\n }\r\n\r\n\r\n}\r\n\r\n","
\r\n
\r\n
\r\n
\r\n
{{'login.lblUserLogin' | translate}}
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
login.lblForgotPassword
\r\n
login.lblforgotpwdheader
\r\n
\r\n
\r\n
\r\n {{error}}\r\n
\r\n
\r\n login.lblselectorganization\r\n
\r\n \r\n\r\n
\r\n error.UserNameRequiredError\r\n
\r\n \r\n\r\n
\r\n error.PasswordRequiredError\r\n
\r\n \r\n\r\n
\r\n error.URLRequiredError\r\n
\r\n \r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n
login.lblforgotpwdsuccessMSG
\r\n \r\n
\r\n \r\n\r\n\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\"Logo\"
\r\n \r\n
\r\n
    \r\n
  • \r\n
  • \r\n
  • \r\n \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.CommonLabel.lblAccessDenied
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
login.lblaccessdeniedmsg
\r\n
Settings.CommonLabel.lblIP : {{user.access ? user.access.ipAddress:''}}
\r\n
Settings.CommonLabel.lblOS : {{user.access ? user.access.osName:''}}
\r\n
\r\n
\r\n
\r\n
\r\n
login.lblforcedisconnectmsg
\r\n
login.lblforcedisconnectemailmsg
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n
login.lblExpiration
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n {{'login.lblExpireInMsg'|translate}}\r\n {{expireInDays}} {{'Settings.CommonLabel.lblDays'|translate}}\r\n {{'login.lblContactSyntonAdmin'|translate}}\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 { ActivatedRoute, Router } from '@angular/router';\r\nimport { OAuthService } from 'angular-oauth2-oidc';\r\nimport { UserService } from 'src/app/services/user.service';\r\nimport { Organization } from 'src/shared/Models/organization';\r\nimport { User } from 'src/shared/Models/user';\r\nimport { AuthService } from '../auth.service';\r\n\r\n@Component({\r\n selector: 'app-oauth',\r\n templateUrl: './oauth.component.html',\r\n styleUrls: ['./oauth.component.css']\r\n})\r\nexport class OauthComponent implements OnInit {\r\n\r\n constructor(private route: ActivatedRoute,private oauthService:OAuthService,private userService:UserService,\r\n private auth: AuthService, private router:Router) { }\r\n\r\n ngOnInit() {\r\n \r\n \r\n // this.route.fragment.subscribe((fragment: string) => {\r\n // if(this.auth.getLoggedInStatus() == true)\r\n // {\r\n \r\n // window.location.href= window.location.origin + \"/projects\";\r\n // return;\r\n // }\r\n\r\n // console.log(fragment);\r\n // const urlParams = new URLSearchParams(fragment);\r\n // var claims = this.oauthService.getIdentityClaims();\r\n // const access_token = urlParams.get('access_token');\r\n // var expires = urlParams.get('expires_in');\r\n // if(access_token != null && access_token.length > 0)\r\n // {\r\n // var claims = this.oauthService.getIdentityClaims();\r\n // var accesstoken = access_token;\r\n \r\n // var x: { upn?: string; unique_name?: string; } = {};\r\n // x= claims;\r\n \r\n\r\n\r\n // this.userService.getUser(25).subscribe((user: User) => {\r\n // if (user != null && user.id > 0) {\r\n // var newUser:User = new User();\r\n // newUser.id = user.id;\r\n // newUser.organization = new Organization();\r\n // newUser.organization.id= user.organization.id;\r\n // newUser.token= accesstoken;\r\n // newUser.expires= parseInt(expires);\r\n // this.auth.storeToken(newUser);\r\n // this.router.navigate([\"projects\"]);\r\n // }\r\n // else {\r\n \r\n // }\r\n // });\r\n // //get a standard uder hard coded right now(need to be read from claims actually)\r\n // //then call this.storeToken(user);\r\n // // this.SetAbilityOfUserByPermissions();\r\n // // this.EmitLoggedinStatus(true);\r\n // }\r\n \r\n // })\r\n }\r\n\r\n}\r\n","

oauth works!

\r\n","import { Component, EventEmitter, Injector, Input, OnInit, Output } from '@angular/core';\r\nimport { DomSanitizer, SafeUrl } from '@angular/platform-browser';\r\nimport jsQR, { QRCode } from 'jsqr';\r\nimport { Subscription } from 'rxjs';\r\nimport { ChecklistResponseService } from 'src/app/services/checklist-response.service';\r\nimport { ChecklistJsstoreService } from 'src/app/services/localdb/JSStore/checklist-jsstore.service';\r\nimport { ProjectJSStoreService } from 'src/app/services/localdb/JSStore/project-jsstore.service';\r\nimport { ProjectService } from 'src/app/services/project.service';\r\nimport { ScopeService } from 'src/app/services/scope.service';\r\nimport { StorageService } from 'src/app/services/storage.service';\r\nimport { CheckListChecks } from 'src/shared/Models/API/checklist-check';\r\nimport { Project } from 'src/shared/Models/API/Project';\r\nimport { UserChecklist } from 'src/shared/Models/API/user-checklist';\r\nimport { BlobFile } from 'src/shared/Models/Internal/BlobFileModel';\r\nimport { Scope, ScopeType } from 'src/shared/Models/scope-tree';\r\nimport { CheckTypes } from 'src/shared/utilities/Constants';\r\nimport { FileUtil } from 'src/shared/utilities/FileUtil';\r\nimport { BaseComponent } from '../../shared/BaseComponent';\r\ndeclare var $: any;\r\n\r\n@Component({\r\n selector: 'app-checklist-controls',\r\n templateUrl: './checklist-controls.component.html',\r\n styleUrls: ['./checklist-controls.component.css']\r\n})\r\nexport class ChecklistControlsComponent extends BaseComponent implements OnInit {\r\n\r\n @Input() public userChecklist: UserChecklist;\r\n @Input() public check: CheckListChecks;\r\n @Input() public checkIndex: number;\r\n @Input() public relatedCheckIndex: number;\r\n @Input() public sasURLAndToken: string = '';\r\n public CheckTypes = CheckTypes;\r\n\r\n @Output() public AddFilesToUploadEvent = new EventEmitter();\r\n @Output() public removeDocumentsEvent = new EventEmitter();\r\n private utilFile: FileUtil = new FileUtil();\r\n video: HTMLVideoElement;\r\n canvasElement: HTMLCanvasElement;\r\n canvasContext: CanvasRenderingContext2D;\r\n isScannerEnabled:boolean=false;\r\n tracks:MediaStreamTrack[];\r\n public scanning:boolean = true;\r\n scopeSubscription: any;\r\n project:Project;\r\n constructor(injector:Injector,\r\n private sanitizer: DomSanitizer,\r\n private responseservice:ChecklistResponseService,\r\n private storageService:StorageService,\r\n private checklistJsstoreService:ChecklistJsstoreService,private scopeService:ScopeService,\r\n private projectService:ProjectService,\r\n private projectJSStoreService:ProjectJSStoreService\r\n\r\n ) {\r\n super(injector);\r\n }\r\n\r\n ngOnInit() {\r\n this.scopeSubscription = this.scopeService.scopeObservable().subscribe((selectedScope: Scope) => {\r\n if (selectedScope && selectedScope.type == ScopeType.PROJECT) {\r\n this.getProject(selectedScope.id);\r\n }\r\n });\r\n }\r\n getProject(projectId: number): void {\r\n if(!this.isOnline)\r\n {\r\n this.projectJSStoreService.getProject(projectId).then((project: Project) => {\r\n this.project=project;\r\n });\r\n }\r\n else{\r\n this.projectService.getProject(projectId).subscribe((_project: Project) => {\r\n if (_project) {\r\n this.project=_project;\r\n }\r\n });\r\n }\r\n }\r\n\r\n public changeCheckbox(check: CheckListChecks, value: string, event: any): void {\r\n var answer: string = (check.answer == null) ? '' : check.answer;\r\n var checked = event.target.checked;\r\n if (checked) {\r\n answer += value + \",\";\r\n }\r\n else {\r\n answer = answer.replace(value + \",\", \"\");\r\n }\r\n check.answer = answer;\r\n }\r\n\r\n public downloadCheckDocument(userchecklistid:number,checkid:number)\r\n {\r\n if(this.IsMobile && !this.isOnline)\r\n this.checklistJsstoreService.downloadCheckDocument(userchecklistid,checkid);\r\n else\r\n this.responseservice.downloadCheckDocument(userchecklistid,checkid);\r\n }\r\n\r\n public changeRadio(check: CheckListChecks, value: string, event: any): void {\r\n check.answer = value;\r\n }\r\n\r\n public isCheckboxValueSelected(check: CheckListChecks, value: string): boolean {\r\n var answer: string = (check.answer == null) ? '' : check.answer;\r\n if (answer != null && answer != \"\") {\r\n return (answer.indexOf(value) > -1);\r\n }\r\n return false;\r\n }\r\n\r\n public isRadioValueSelected(check: CheckListChecks, value: string): boolean {\r\n var answer: string = (check.answer == null) ? '' : check.answer;\r\n if (answer != null && answer != \"\" && answer == value) {\r\n return true;\r\n }\r\n return false;\r\n }\r\n\r\n public isListValueSelected(check: CheckListChecks, value: string): boolean {\r\n var answer: string = (check.answer == null) ? '' : check.answer;\r\n if (answer != null && answer != \"\" && answer == value) {\r\n return true;\r\n }\r\n return false;\r\n }\r\n\r\n public getQRCodeImageUrl(check: CheckListChecks): SafeUrl {\r\n if (check.qrCode != null && check.qrCode != undefined && check.qrCode != '') {\r\n let objectURL = 'data:image/png;base64,' + check.qrCode;\r\n return this.sanitizer.bypassSecurityTrustUrl(objectURL);\r\n }\r\n }\r\n\r\n public readFile(check: CheckListChecks, input: any): void {\r\n if (input.files && input.files[0]) {\r\n var file = input.files[0];\r\n var reader = new FileReader();\r\n reader.onload = (e: any) => {\r\n this.AddFilesToUpload(check, file);\r\n };\r\n reader.readAsDataURL(input.files[0]);\r\n }\r\n }\r\n\r\n public removeFile(check: CheckListChecks, checkIndex: number): void {\r\n if (check.answer != null && check.answer != \"\") {\r\n this.removeDocumentsEvent.emit(check);\r\n }\r\n check.documentName = '';\r\n check.answer = '';\r\n check.documentSize = 0;\r\n $(\"#uploadFile\" + checkIndex).val('');\r\n }\r\n\r\n private AddFilesToUpload(check: CheckListChecks, file: any): void {\r\n var tempFile: BlobFile = new BlobFile();\r\n tempFile.setFile(file);\r\n tempFile.setSASUrl(this.sasURLAndToken);\r\n tempFile = this.utilFile.createBlobFileObject(tempFile);\r\n\r\n check.documentName = file.name;\r\n check.answer = tempFile.getGUID();\r\n check.documentSize = tempFile.getSize();\r\n check.IsDocumentUpdated = true;\r\n this.AddFilesToUploadEvent.emit(tempFile);\r\n }\r\n\r\n public getCheckboxId(i: number): string {\r\n return 'CheckForm_Check_' + this.checkIndex + (this.relatedCheckIndex != null ? this.relatedCheckIndex : \"\") + '_' + i;\r\n }\r\n\r\n public getRadioId(i: number): string {\r\n return 'CheckForm_Radio_' + this.checkIndex + (this.relatedCheckIndex != null ? this.relatedCheckIndex : \"\") + '_' + i;\r\n }\r\n ShowQrCodeScanner()\r\n {\r\n this.isScannerEnabled=true;\r\n this.canvasElement = document.getElementById('qr-canvas');\r\n this.canvasElement.hidden=false;\r\n this.canvasContext = this.canvasElement.getContext('2d');\r\n this.video = document.createElement('video');\r\n navigator.mediaDevices.getUserMedia({ video: { facingMode: 'environment' } }).then(async (stream: MediaStream) => {\r\n this.scanning = true;\r\n this.video.srcObject = stream;\r\n this.tracks = stream.getVideoTracks();\r\n this.video.setAttribute('playsinline', 'true'); // required to tell iOS safari we don't want fullscreen\r\n await this.video.play();\r\n requestAnimationFrame(this.tick.bind(this));\r\n });\r\n }\r\n drawLine(begin, end, color): void {\r\n this.canvasContext.beginPath();\r\n this.canvasContext.moveTo(begin.x, begin.y);\r\n this.canvasContext.lineTo(end.x, end.y);\r\n this.canvasContext.lineWidth = 4;\r\n this.canvasContext.strokeStyle = color;\r\n this.canvasContext.stroke();\r\n}\r\n\r\ntick(): void {\r\n if (this.video.readyState === this.video.HAVE_ENOUGH_DATA) {\r\n this.canvasElement.hidden = false;\r\n this.canvasElement.height = this.video.videoHeight;\r\n this.canvasElement.width = this.video.videoWidth;\r\n this.canvasContext.drawImage(this.video, 0, 0, this.canvasElement.width, this.canvasElement.height);\r\n const imageData: ImageData = this.canvasContext.getImageData(0, 0, this.canvasElement.width, this.canvasElement.height);\r\n const code: QRCode = jsQR(imageData.data, imageData.width, imageData.height);\r\n if (code && code.data!='') {\r\n this.drawLine(code.location.topLeftCorner, code.location.topRightCorner, '#FF3B58');\r\n this.drawLine(code.location.topRightCorner, code.location.bottomRightCorner, '#FF3B58');\r\n this.drawLine(code.location.bottomRightCorner, code.location.bottomLeftCorner, '#FF3B58');\r\n this.drawLine(code.location.bottomLeftCorner, code.location.topLeftCorner, '#FF3B58');\r\n this.scanning = false;\r\n this.SetQRcodeValue(code.data);\r\n } else {\r\n this.scanning = true;\r\n }\r\n }\r\n if(this.scanning)\r\n {\r\n requestAnimationFrame(this.tick.bind(this));\r\n }\r\n}\r\n\r\nSetQRcodeValue(_code:string)\r\n{ \r\n //if project has external settings it will do substring of scanned value from qr code and set it to answer box \r\n if(this.project.noOfDigitsToIgnore!=null && this.project.noOfDigitsToIdentify!=null && (this.project.noOfDigitsToIgnore>0 && this.project.noOfDigitsToIdentify>0))\r\n {\r\n if(_code.length>this.project.noOfDigitsToIgnore+this.project.noOfDigitsToIdentify)\r\n {\r\n //substr (start,no of characters to extract);\r\n _code=_code.substr(this.project.noOfDigitsToIgnore,this.project.noOfDigitsToIdentify).trim();\r\n }\r\n else{\r\n this.errorMsg(this.translate.instant('mobileApp.lblInvalidQrCode'));\r\n this.ShowQrCodeScanner();\r\n return;\r\n }\r\n } \r\n this.check.answer=_code;\r\n}\r\n\r\nremoveQrCode(check: CheckListChecks)\r\n{\r\n check.answer='';\r\n this.isScannerEnabled=false;\r\n}\r\nngOnDestroy()\r\n{\r\n this.offCamera();\r\n}\r\n\r\noffCamera()\r\n{\r\n this.isScannerEnabled=false;\r\n if(this.canvasElement){\r\n this.canvasElement.hidden = true;\r\n }\r\n //this will turn of camera on page destroy\r\n if(this.tracks)\r\n {\r\n this.tracks.forEach(track => {\r\n track.stop();\r\n });\r\n}\r\n}\r\n}\r\n","\r\n
\r\n
{{'CheckList.lblText' | translate}} :
\r\n
\r\n \r\n\r\n
\r\n
\r\n\r\n
\r\n
{{'CheckList.lblNumber' | translate}}\r\n {{(check.checklistNumberSettings.minValue > 0 && check.checklistNumberSettings.maxValue>0)\r\n ? '['+check.checklistNumberSettings.minValue+'-'+check.checklistNumberSettings.maxValue+']'\r\n :''}}:\r\n
\r\n
\r\n \r\n\r\n
\r\n
\r\n\r\n
\r\n
{{'CheckList.lblSelectAny' | translate}} :
\r\n
\r\n \r\n\r\n
\r\n
\r\n\r\n
\r\n
{{'CheckList.lblChooseOptions' | translate}} :
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n\r\n
\r\n
{{'CheckList.lblChooseAny' | translate}} :
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n\r\n
\r\n
{{'CheckList.lblQrCode' | translate}} :\r\n
\r\n
\r\n
\r\n {{'Settings.CommonLabel.lblclktoscan' | translate}}\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n {{check.answer}}\r\n \r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
{{'CheckList.lblSelectFile' | translate}} :
\r\n
\r\n
\r\n
\r\n {{ (IsMobile) ? translate.instant('CheckList.lblSelectFiles'):translate.instant('CheckList.lblDragFiles')}}\r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
{{'CheckList.lblSelectedFile' | translate}} :
\r\n \r\n
\r\n
\r\n\r\n\r\n","import { Component, EventEmitter, Injector, Input, OnChanges, OnInit, Output } from '@angular/core';\r\nimport { DomSanitizer, SafeUrl } from '@angular/platform-browser';\r\nimport { AzureBlobService } from 'src/app/services/azure-blob.service';\r\nimport { CheckList } from 'src/shared/Models/API/checklist';\r\nimport { CheckListChecks } from 'src/shared/Models/API/checklist-check';\r\nimport { UserChecklist } from 'src/shared/Models/API/user-checklist';\r\nimport { BlobFile } from 'src/shared/Models/Internal/BlobFileModel';\r\nimport { CheckTypes } from 'src/shared/utilities/Constants';\r\nimport { FileUtil } from 'src/shared/utilities/FileUtil';\r\nimport { FileStorageService } from 'src/app/services/file-storage.service';\r\nimport { BaseComponent } from 'src/app/modules/shared/BaseComponent';\r\nimport { OrganizationService } from 'src/app/services/organization.service';\r\nimport { Organization } from 'src/shared/Models/organization';\r\n\r\n@Component({\r\n selector: 'app-checklist-form-details',\r\n templateUrl: './checklist-form-details.component.html',\r\n styleUrls: ['./checklist-form-details.component.css']\r\n})\r\nexport class ChecklistFormDetailsComponent extends BaseComponent implements OnInit {\r\n @Input() public userChecklist: UserChecklist;\r\n @Output() public closeEvent = new EventEmitter();\r\n @Output() public saveCallback = new EventEmitter();\r\n\r\n\r\n public CheckTypes = CheckTypes;\r\n private utilFile: FileUtil = new FileUtil();\r\n\r\n public sasURLAndToken: string = '';\r\n private documentsToUpload: Array = new Array();\r\n private removeDocuments: Array = new Array();\r\n @Input() public saveButtonDisabled: boolean = false;\r\n @Input() public isNamingRuleEnabled:boolean = false;\r\n constructor(injector: Injector,\r\n private sanitizer: DomSanitizer,\r\n private fileStorageService: FileStorageService,private organizationService:OrganizationService) {\r\n super(injector);\r\n\r\n }\r\n\r\n ngOnInit() {\r\n this.loadSassToken();\r\n if(this.userChecklist != null && this.userChecklist != null)\r\n {\r\n if(this.userChecklist.id == 0)\r\n this.userChecklist.openDate = new Date();\r\n }\r\n }\r\n ngOnChanges() {\r\n this.refreshDropdownsByClassName(\"selectpicker\");\r\n }\r\n public closeDetailsPane(): void {\r\n this.showBodyOverflow();\r\n this.closeEvent.emit();\r\n }\r\n\r\n loadSassToken(): void {\r\n if (this.sasURLAndToken == '') {\r\n this.fileStorageService.getSasToken().subscribe((response: any) => {\r\n if (response) {\r\n this.sasURLAndToken = response.baseURL + \"?\" + response.blobSASToken;\r\n }\r\n });\r\n }\r\n }\r\n\r\n public saveDetails(closeAndCompleteDetailsPane: boolean = false): void {\r\n if (this.isFormValid()) {\r\n if (closeAndCompleteDetailsPane) {\r\n this.userChecklist.isCompleted = true;\r\n }\r\n\r\n this.saveAndClose(closeAndCompleteDetailsPane);\r\n }\r\n }\r\n\r\n private clearControls(): void {\r\n this.documentsToUpload = new Array();\r\n this.removeDocuments = new Array();\r\n }\r\n\r\n public isFormValid(): boolean {\r\n var isValid: boolean = true;\r\n\r\n if (this.userChecklist.isCompleted) {\r\n this.warningMsg(this.translate.instant('CheckListForm.ValidCheckIsCompleted'));\r\n isValid = false;\r\n }\r\n if(!this.isNamingRuleEnabled && this.userChecklist.name.trim() ==\"\")\r\n {\r\n this.errorMsg(this.translate.instant('CheckListForm.lblChecklistNameRequired'),this.translate.instant('Settings.CommonLabel.lblError'));\r\n isValid=false;\r\n }\r\n\r\n this.userChecklist.checkModels.forEach((check: CheckListChecks) => {\r\n if (isValid) {\r\n\r\n if (check.relatedChecks == null || check.relatedChecks.length == 0) {\r\n //no related checks\r\n if (isValid && check.isMandatory) {\r\n if (check.answer == null || check.answer == \"\") {\r\n this.errorMsg(this.translate.instant('CheckListForm.ValidCheckAnswer') + \" \" + check.description);\r\n isValid = false;\r\n }\r\n }\r\n isValid = this.isValidCheck(isValid, check, true);\r\n }\r\n else {\r\n\r\n //parent check\r\n var isValidRelatedCheck: boolean = isValid;\r\n if(check.type == CheckTypes.NUMBER){\r\n isValidRelatedCheck = this.isValidCheck(isValidRelatedCheck, check, true);\r\n if(isValidRelatedCheck == false){\r\n isValid = false;\r\n }\r\n }\r\n else{\r\n isValidRelatedCheck = this.isValidCheck(isValidRelatedCheck, check);\r\n }\r\n\r\n var NumberCheckLists: Array;\r\n NumberCheckLists = check.relatedChecks.filter(x => x.type == CheckTypes.NUMBER)\r\n if(NumberCheckLists != undefined || NumberCheckLists.length > 1) {\r\n NumberCheckLists.forEach((check: CheckListChecks) => {\r\n isValidRelatedCheck = this.isValidCheck(isValidRelatedCheck, check, true);\r\n if(isValidRelatedCheck == false) {\r\n isValid = false;\r\n }\r\n });\r\n }\r\n\r\n //related checks - or conditions with checks\r\n if ((check.answer == null || check.answer == \"\") && check.isMandatory == true\r\n && check.relatedChecks.filter(x => x.answer == null || x.answer == \"\").length == check.relatedChecks.length) {\r\n this.errorMsg(this.translate.instant('CheckListForm.ValidMandatoryCheck'));\r\n isValid = false;\r\n }\r\n\r\n }\r\n\r\n }\r\n\r\n });\r\n\r\n\r\n return isValid;\r\n }\r\n\r\n private isValidCheck(isValid: boolean, check: CheckListChecks, showError: boolean = false): boolean {\r\n if (check => (check.type == CheckTypes.TEXT || check.type == CheckTypes.NUMBER || check.type == CheckTypes.LIST\r\n || check.type == CheckTypes.CHECKBOX || check.type == CheckTypes.RADIO)) {\r\n var answer: string = (check.answer == null) ? '' : check.answer;\r\n if (check.type == CheckTypes.NUMBER) {\r\n if ((answer != null && answer != \"\") && isNaN(parseInt(answer))) {\r\n if (showError) {\r\n this.errorMsg(this.translate.instant('CheckListForm.ValidNumber'));\r\n }\r\n isValid = false;\r\n }\r\n else if (check.checklistNumberSettings != null\r\n && check.checklistNumberSettings.minValue != null && check.checklistNumberSettings.maxValue != null\r\n && check.checklistNumberSettings.minValue > 0 && check.checklistNumberSettings.maxValue > 0) {\r\n if (check.checklistNumberSettings.minValue > parseInt(answer) || parseInt(answer) > check.checklistNumberSettings.maxValue) {\r\n if (showError) {\r\n this.errorMsg(this.translate.instant('CheckListForm.ValidNumberBetween') + \" \" + check.checklistNumberSettings.minValue + \" to \" + check.checklistNumberSettings.maxValue + \" for '\" + check.description + \"'\");\r\n }\r\n isValid = false;\r\n }\r\n }\r\n }\r\n }\r\n\r\n if (check.type == CheckTypes.DOCUMENT) {\r\n if (isValid && check.isMandatory && (check.documentName == null || check.documentName == \"\")) {\r\n if (showError) {\r\n this.errorMsg(this.translate.instant('CheckListForm.ValidDocument') + \" \" + check.description + '');\r\n isValid = false;\r\n }\r\n }\r\n }\r\n\r\n if (check.type == CheckTypes.QRCODE) {\r\n if (isValid && check.isMandatory && (check.qrCode == null || check.qrCode == \"\")) {\r\n if (showError) {\r\n this.errorMsg(this.translate.instant('CheckListForm.ValidQRCode') + \" \" + check.description + '');\r\n isValid = false;\r\n }\r\n }\r\n }\r\n\r\n return isValid;\r\n }\r\n\r\n public removeFile(check: CheckListChecks): void {\r\n if (check.answer != null && check.answer != \"\") {\r\n var blobFile:BlobFile = new BlobFile();\r\n blobFile.setSize(check.documentSize);\r\n blobFile.setGUID(check.answer);\r\n this.removeDocuments.push(blobFile);\r\n }\r\n }\r\n\r\n public AddFilesToUpload(tempFile: BlobFile): void {\r\n this.documentsToUpload.push(tempFile);\r\n this.refreshTooltips();\r\n }\r\n\r\n private saveAndClose(closeAndCompleteDetailsPane: boolean = false): void {\r\n var size:number = this.getFileTotalSize();\r\n if((this.removeDocuments != null && this.removeDocuments.length > 0) ||\r\n (this.documentsToUpload && this.documentsToUpload.length>0))\r\n {\r\n var organization:Organization = new Organization();\r\n organization.storageSpace= size;\r\n this.organizationService.updateStorageSpace(this.user.organization.id,organization,1).subscribe(()=>{\r\n this.EmitSave(closeAndCompleteDetailsPane);\r\n })\r\n \r\n }\r\n else\r\n {\r\n this.EmitSave(closeAndCompleteDetailsPane);\r\n \r\n }\r\n \r\n\r\n \r\n }\r\n EmitSave(closeAndCompleteDetailsPane: boolean) {\r\n if (this.removeDocuments != null && this.removeDocuments.length > 0) {\r\n //delete existing files\r\n this.removeDocuments.forEach((blobFile: BlobFile) => {\r\n this.fileStorageService.deleteFile(blobFile.getGUID()).subscribe(() => {\r\n // console.log(\"file removed\");\r\n \r\n });\r\n });\r\n }\r\n //copy documents to upload to new variable to send it indexdb\r\n //copying because once chunked in filestorage, size blobid values etc,, will be changed\r\n //not using clonseservice -deepclone method as it goes in depth to copy each object value\r\n // and File.size is readonly and no setter available\r\n if(this.documentsToUpload && this.documentsToUpload.length>0){\r\n var documents: Array= new Array();\r\n this.documentsToUpload.forEach(doc=>{\r\n documents.push(Object.assign(new BlobFile(),doc));\r\n });\r\n }\r\n \r\n //upload files\r\n if(this.isOnline){\r\n if (this.documentsToUpload != null && this.documentsToUpload.length > 0) {\r\n this.documentsToUpload.forEach((file: BlobFile) => {\r\n this.fileStorageService.uploadFileInBlocks(file, (uploadedFile: BlobFile) => {\r\n //upload completed\r\n // console.log(uploadedFile);\r\n }, () => {\r\n //upload failure\r\n });\r\n });\r\n }\r\n }\r\n \r\n \r\n //save user checklist\r\n var data :Object = {'UserChecklist':this.userChecklist,'Documents': documents };\r\n this.saveCallback.emit(data);\r\n this.clearControls();\r\n if (closeAndCompleteDetailsPane) {\r\n this.closeDetailsPane();\r\n }\r\n }\r\n getFileTotalSize(): number {\r\n var size:number =0;\r\n if (this.removeDocuments != null && this.removeDocuments.length > 0)\r\n {\r\n this.removeDocuments.forEach((document:BlobFile)=>{\r\n size = size - document.size;\r\n })\r\n }\r\n if(this.documentsToUpload != null && this.documentsToUpload.length > 0)\r\n {\r\n this.documentsToUpload.forEach((document:BlobFile)=>{\r\n size = size + document.size;\r\n })\r\n }\r\n\r\n return size;\r\n }\r\n\r\n}\r\n\r\n","
\r\n
\r\n
\r\n
\r\n
{{ 'Settings.CommonLabel.lblName' | translate }}
\r\n
\r\n \r\n *\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
{{ 'Settings.CommonLabel.lblDesc' | translate }}
\r\n \r\n\r\n
\r\n
\r\n
\r\n
\r\n *\r\n
0\">\r\n
\r\n CheckListForm.lblmandatoryCheck\r\n
\r\n
\r\n
\r\n
\r\n {{check.description}}\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
OR
\r\n
\r\n
\r\n
\r\n {{relatedCheck.description}}\r\n
\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 { HttpClient } from \"@angular/common/http\";\r\nimport { Injectable } from \"@angular/core\";\r\nimport { Resolve, ActivatedRouteSnapshot } from \"@angular/router\";\r\nimport { Observable, EMPTY } from \"rxjs\";\r\nimport { catchError, map } from \"rxjs/operators\";\r\nimport { ChecklistJsstoreService } from \"src/app/services/localdb/JSStore/checklist-jsstore.service\";\r\nimport { StorageService } from \"src/app/services/storage.service\";\r\nimport { environment } from \"src/environments/environment\";\r\nimport { CheckList } from \"src/shared/Models/API/checklist\";\r\nimport { CheckListTagModel } from \"src/shared/Models/API/checkListTagModel\";\r\n\r\n@Injectable()\r\nexport class ChecklistTagResolve implements Resolve {\r\n constructor(private http: HttpClient,\r\n private storageService: StorageService,\r\n private ChecklistJsstoreService: ChecklistJsstoreService) {\r\n\r\n }\r\n private appURL: string = '/Project';\r\n private apiURL = environment.WebAPIURL;\r\n public data: CheckListTagModel;\r\n\r\n resolve(route: ActivatedRouteSnapshot): Observable {\r\n var projectid = route.paramMap.get('id');\r\n var tagid = route.paramMap.get('tagid');\r\n return this.http.get(this.apiURL + this.appURL + '/' + projectid + '/' + tagid).pipe(\r\n map(tag => tag),\r\n catchError(err => {\r\n if (this.storageService.getIsMobile())\r\n return this.ChecklistJsstoreService.getCheckListTag(parseInt(tagid),parseInt(projectid));\r\n else\r\n return EMPTY\r\n })\r\n );\r\n }\r\n}\r\n\r\n@Injectable()\r\nexport class TagChecklistResolve implements Resolve {\r\n constructor(private http: HttpClient,\r\n private storageService: StorageService,\r\n private ChecklistJsstoreService: ChecklistJsstoreService) {\r\n\r\n }\r\n private appURL: string = '/Project';\r\n private apiURL = environment.WebAPIURL;\r\n\r\n resolve(route: ActivatedRouteSnapshot): Observable {\r\n var projectid = route.paramMap.get('id');\r\n var tagid = route.paramMap.get('tagid');\r\n var checklistid = route.paramMap.get('checklistid');\r\n var url: string = this.apiURL + this.appURL + '/' + projectid + '/' + tagid + '/' + checklistid;\r\n return this.http.get(url).pipe(\r\n map(tag => tag),\r\n catchError(async err => {\r\n if (this.storageService.getIsMobile()) {\r\n var checklist: CheckList = await this.ChecklistJsstoreService.getChecklistTemplate(parseInt(tagid), parseInt(checklistid),parseInt(projectid));\r\n if (checklist != null && checklist.id > 0)\r\n checklist.checks = await this.ChecklistJsstoreService.getChecklistChecks(checklist.id);\r\n return checklist;\r\n }\r\n else\r\n return EMPTY\r\n })\r\n );\r\n }\r\n}\r\n\r\n\r\n","import { Component,ElementRef,EventEmitter, Injector, Input, OnChanges, OnInit, Output, SimpleChanges, ViewChild } from '@angular/core';\r\n\r\nimport { IAngularMyDpOptions, IMyDateModel } from 'angular-mydatepicker';\r\nimport { fromEvent } from 'rxjs';\r\nimport { debounceTime, distinctUntilChanged, map } from 'rxjs/operators';\r\nimport { BaseComponent } from 'src/app/modules/shared/BaseComponent';\r\nimport { ValidateChecklistParamsGuardService } from 'src/app/modules/shared/services/validation-guard.service';\r\nimport { ProjectOnMService } from 'src/app/services/onm/project-onm.service';\r\nimport { PPSpaceGroupFilterModel, PPTemplateColumns, PPTemplateFilterModel } from 'src/shared/Models/API/filtermodel';\r\nimport { PPTemplate } from 'src/shared/Models/onm/onm.models';\r\nimport { SortOrder } from 'src/shared/UI/ViewTypes';\r\nimport { SortUtil } from 'src/shared/utilities/SortUtil';\r\n\r\n@Component({\r\n selector: 'app-assign-pptemplates',\r\n templateUrl: './assign-pptemplates.component.html',\r\n styleUrls: ['./assign-pptemplates.component.css']\r\n})\r\nexport class AssignPptemplatesComponent extends BaseComponent implements OnInit,OnChanges {\r\n\r\n \r\n @ViewChild('inpName', { static: true }) ppname: ElementRef;\r\n @ViewChild('inpDesc', { static: true }) ppdesc: ElementRef;\r\n @ViewChild('inpcompanyname', { static: true }) company: ElementRef;\r\n \r\n @Input() isLaterOption:boolean = true;\r\n @Input() startDateEditable:boolean=true;\r\n @Input() public isAsset:boolean = false;\r\n @Input() public ppTemplates:Array = new Array();\r\n @Output() SaveLaterEvent:EventEmitter> = new EventEmitter>();\r\n @Output() SaveNowEvent:EventEmitter> = new EventEmitter>();\r\n public filteredppTemplates:Array = new Array();\r\n public filterAndSortOptions: PPTemplateFilterModel = new PPTemplateFilterModel();\r\n _ppTemplateColumns = PPTemplateColumns;\r\n _sortOrder=SortOrder;\r\n sgStartDateModel:any;\r\n \r\n public sortUtil:SortUtil = new SortUtil();\r\n myDatePickerOptions: IAngularMyDpOptions = {\r\n // other options...\r\n dateFormat: 'dd-mm-yyyy',\r\n alignSelectorRight:true\r\n \r\n };\r\n ppstartDate:Date =null;\r\n ppendDate:Date =null;\r\n constructor(private injector:Injector, private projectOnmService:ProjectOnMService) {\r\n super(injector);\r\n }\r\n\r\n ngOnInit() {\r\n this.bindKeyUpEvent();\r\n \r\n }\r\n\r\n private bindKeyUpEvent(): void {\r\n var elements: Array = new Array();\r\n elements = [this.ppname, this.ppdesc,this.company];\r\n\r\n elements.forEach((ele: ElementRef): void => {\r\n fromEvent(ele.nativeElement, 'keyup').pipe(\r\n // Get value\r\n map((event: any) => {\r\n return event.target.value;\r\n })\r\n // Time in milliseconds between key events\r\n , debounceTime(1000)\r\n // IF previous query is diffent from current\r\n , distinctUntilChanged()\r\n // Subscription for response\r\n ).subscribe((text: string) => {\r\n this.applyFilter();\r\n });\r\n });\r\n }\r\n\r\n onDateChanged(event:IMyDateModel,columnname:string)\r\n {\r\n if(columnname == \"ppstartdate\")\r\n {\r\n if(event && event.singleDate)\r\n this.filterAndSortOptions._ppstartdate = event.singleDate.jsDate;\r\n else\r\n this.filterAndSortOptions._ppstartdate =null;\r\n }\r\n if(columnname == \"ppenddate\")\r\n {\r\n if(event && event.singleDate)\r\n this.filterAndSortOptions._ppenddate = event.singleDate.jsDate;\r\n else\r\n this.filterAndSortOptions._ppenddate =null;\r\n\r\n }\r\n \r\n if(columnname == \"sgstartdate\")\r\n {\r\n if(event && event.singleDate)\r\n this.filterAndSortOptions._sgstartdate=event.singleDate.jsDate;\r\n else\r\n this.filterAndSortOptions._sgstartdate =null;\r\n\r\n }\r\n \r\n\r\n\r\n this.applyFilter();\r\n }\r\n\r\n applyFilter()\r\n {\r\n //copy the startdate model to main templates to make sure changes remain\r\n this.filteredppTemplates.forEach((filteredTemplate)=>{\r\n var template:PPTemplate = this.ppTemplates.find(x=>x.id == filteredTemplate.id);\r\n if(template != null)\r\n template.sgStartDateModel= filteredTemplate.sgStartDateModel;\r\n })\r\n this.filteredppTemplates=[];\r\n this.ppTemplates.forEach(val => this.filteredppTemplates.push(Object.assign({}, val)));\r\n\r\n if(this.filterAndSortOptions._n != null && this.filterAndSortOptions._n.length > 0)\r\n {\r\n this.filteredppTemplates= this.filteredppTemplates.filter((ppTemplate:PPTemplate)=>\r\n ppTemplate.name.toLowerCase().indexOf(this.filterAndSortOptions._n.toLowerCase()) !== -1\r\n );\r\n }\r\n if(this.filterAndSortOptions._d != null && this.filterAndSortOptions._d.length > 0)\r\n {\r\n this.filteredppTemplates= this.filteredppTemplates.filter((ppTemplate:PPTemplate)=>\r\n ppTemplate.description != null && ppTemplate.description.toLowerCase().indexOf(this.filterAndSortOptions._d.toLowerCase()) !== -1\r\n );\r\n }\r\n if(this.filterAndSortOptions._company != null && this.filterAndSortOptions._company.length > 0)\r\n {\r\n this.filteredppTemplates= this.filteredppTemplates.filter((ppTemplate:PPTemplate)=>\r\n ppTemplate.company != null && ppTemplate.company.name != null && ppTemplate.company.name.toLowerCase().indexOf(this.filterAndSortOptions._company.toLowerCase()) !== -1\r\n );\r\n }\r\n if(this.filterAndSortOptions._ppstartdate)\r\n {\r\n this.filteredppTemplates= this.filteredppTemplates.filter((ppTemplate:PPTemplate)=>\r\n ppTemplate != null && new Date(String(ppTemplate.startDate).split('T')[0] + 'T00:00:00').valueOf() == this.filterAndSortOptions._ppstartdate.valueOf()\r\n );\r\n }\r\n if(this.filterAndSortOptions._ppenddate)\r\n {\r\n this.filteredppTemplates= this.filteredppTemplates.filter((ppTemplate:PPTemplate)=>\r\n ppTemplate != null && new Date(String(ppTemplate.endDate).split('T')[0] + 'T00:00:00').valueOf() == this.filterAndSortOptions._ppenddate.valueOf()\r\n );\r\n }\r\n if(this.filterAndSortOptions._sgstartdate)\r\n {\r\n this.filteredppTemplates= this.filteredppTemplates.filter((ppTemplate:PPTemplate)=>\r\n ppTemplate != null && ppTemplate.sgStartDateModel.singleDate.jsDate.valueOf() == this.filterAndSortOptions._sgstartdate.valueOf()\r\n );\r\n }\r\n }\r\n\r\n sortBy(order:SortOrder,column:PPTemplateColumns)\r\n {\r\n this.filterAndSortOptions.sortcolumn = column;\r\n this.filterAndSortOptions.obd = order;\r\n if(column == PPTemplateColumns.NAME)\r\n {\r\n this.sortUtil.sortByProperty(this.filteredppTemplates,\"name\",order);\r\n }\r\n if(column == PPTemplateColumns.DESC)\r\n {\r\n this.sortUtil.sortByProperty(this.filteredppTemplates,\"description\",order);\r\n }\r\n if(column == PPTemplateColumns.COMPANY)\r\n {\r\n this.sortUtil.sortByProperty(this.filteredppTemplates,\"company.name\",order);\r\n }\r\n if(column == PPTemplateColumns.PPSTARTDATE)\r\n {\r\n this.filteredppTemplates.sort((a:PPTemplate,b:PPTemplate)=>{\r\n if(a.startDate < b.startDate)\r\n return -1;\r\n else if(a.startDate > b.startDate)\r\n return 1;\r\n else\r\n return 0;\r\n\r\n });\r\n if(order == SortOrder.DESC)\r\n this.filteredppTemplates.reverse();\r\n \r\n }\r\n if(column == PPTemplateColumns.PPENDDATE)\r\n {\r\n this.filteredppTemplates.sort((a:PPTemplate,b:PPTemplate)=>{\r\n if(a.endDate < b.endDate)\r\n return -1;\r\n else if(a.endDate > b.endDate)\r\n return 1;\r\n else\r\n return 0;\r\n\r\n });\r\n if(order == SortOrder.DESC)\r\n this.filteredppTemplates.reverse();\r\n \r\n }\r\n if(column == PPTemplateColumns.SGSTARTDATE)\r\n {\r\n this.filteredppTemplates.sort((a:PPTemplate,b:PPTemplate)=>{\r\n if(a.sgStartDateModel && a.sgStartDateModel.singleDate && b.sgStartDateModel && b.sgStartDateModel.singleDate)\r\n {\r\n if(a.sgStartDateModel.singleDate.jsDate < b.sgStartDateModel.singleDate.jsDate)\r\n return -1;\r\n else if(a.sgStartDateModel.singleDate.jsDate > b.sgStartDateModel.singleDate.jsDate)\r\n return 1;\r\n else\r\n return 0;\r\n\r\n }\r\n else\r\n return 0;\r\n \r\n\r\n });\r\n if(order == SortOrder.DESC)\r\n this.filteredppTemplates.reverse();\r\n \r\n }\r\n }\r\n\r\n ngOnChanges(simpleChange:SimpleChanges){\r\n if(simpleChange && simpleChange.ppTemplates && simpleChange.ppTemplates.currentValue)\r\n {\r\n this.filterAndSortOptions= new PPTemplateFilterModel();\r\n this.ppstartDate=null;\r\n this.ppendDate=null;\r\n this.filteredppTemplates = simpleChange.ppTemplates.currentValue;\r\n this.filteredppTemplates.forEach(x=>{\r\n if(!this.isAsset)\r\n {\r\n if(x.sgStartDate != null)\r\n x.sgStartDateModel={isRange:false}\r\n x.sgStartDateModel.singleDate ={\r\n date:undefined,\r\n jsDate: new Date(x.sgStartDate),\r\n formatted: undefined,\r\n epoc: 0\r\n };\r\n }\r\n else\r\n {\r\n if(x.agStartDate != null)\r\n x.sgStartDateModel={isRange:false}\r\n x.sgStartDateModel.singleDate ={\r\n date:undefined,\r\n jsDate: new Date(x.agStartDate),\r\n formatted: undefined,\r\n epoc: 0\r\n };\r\n\r\n }\r\n if(x.groupId > 0)\r\n x.isSelected=true;\r\n \r\n })\r\n }\r\n \r\n }\r\n\r\n ChangeSelected(id, e):void {\r\n var status = e.target.checked;\r\n if (id > 0) {\r\n var fTemplate:PPTemplate =this.ppTemplates.find(x=>x.id == id);\r\n fTemplate.isSelected= status;\r\n\r\n }\r\n \r\n }\r\n\r\n OnSave(blater:boolean)\r\n {\r\n\r\n if(this.isValidModel())\r\n {\r\n var selectedPPTemplates:Array = this.ppTemplates.filter(x=>x.isSelected == true);\r\n \r\n\r\n if(selectedPPTemplates.length >0){\r\n \r\n selectedPPTemplates.forEach(x=>{\r\n if(!this.isAsset)\r\n {\r\n if(x.sgStartDateModel != null && x.sgStartDateModel.singleDate.jsDate != null)\r\n {\r\n x.sgStartDate = new Date(x.sgStartDateModel.singleDate.jsDate.valueOf());\r\n }\r\n }\r\n else\r\n {\r\n if(x.sgStartDateModel != null && x.sgStartDateModel.singleDate.jsDate != null)\r\n {\r\n x.agStartDate = new Date(x.sgStartDateModel.singleDate.jsDate.valueOf());\r\n }\r\n\r\n }\r\n })\r\n }\r\n if(blater)\r\n this.SaveLaterEvent.emit(selectedPPTemplates);\r\n else\r\n this.SaveNowEvent.emit(selectedPPTemplates);\r\n\r\n }\r\n \r\n }\r\n\r\n isValidModel():boolean\r\n {\r\n var bValid:boolean = true;\r\n\r\n var selectedPPTemplates:Array = this.filteredppTemplates.filter(x=>x.isSelected == true);\r\n if(selectedPPTemplates.length == 0)\r\n return true;\r\n if(this.startDateEditable)\r\n {\r\n for(var i = 0;i enddate)\r\n {\r\n var message:string = this.translate.instant(\"Settings.plannedProcedure.lblTemplateStartDateWrongValue\");\r\n message = message.replace(\"%%TEMPLATENAME%%\",template.name);\r\n bValid = false;\r\n this.warningMsg(message);\r\n break;\r\n }\r\n }\r\n }\r\n\r\n \r\n\r\n\r\n return bValid;\r\n\r\n }\r\n \r\n\r\n}\r\n","
\r\n
\r\n
\r\n
\r\n
{{ 'ProjectManagerSettings.PlannedProcedure.lblAssignedPPTemplates' | translate }}
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
{{ 'Settings.CommonLabel.lblName' | translate }}
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
{{ 'Settings.CommonLabel.lblDesc' | translate }}
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
{{ 'Documents.lblCompanyName' | translate }}
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
{{ 'ProjectManagerSettings.PlannedProcedure.lblPPStartDate' | translate }}
\r\n \r\n \r\n
\r\n
\r\n \r\n\r\n
\r\n \r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
{{ 'ProjectManagerSettings.PlannedProcedure.lblPPEndDate' | translate }}
\r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
{{'Projects.logspane.lblStartDate' | translate}}
\r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
Procedure Name
\r\n
{{item.name}}
\r\n
\r\n
\r\n
\r\n
\r\n
Description
\r\n
{{item.description}}
\r\n
\r\n
\r\n
\r\n
\r\n
Company Name
\r\n
{{item.company != null ? item.company.name:''}}
\r\n
\r\n
\r\n
\r\n
\r\n
Start Date
\r\n
{{item.startDate | date: 'dd-MM-yyyy'}}
\r\n
\r\n
\r\n
\r\n
\r\n
Start Date
\r\n
{{item.endDate | date: 'dd-MM-yyyy'}}
\r\n
\r\n
\r\n
\r\n
\r\n
Start Date
\r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \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 { HttpClient } from \"@angular/common/http\";\r\nimport { Injectable } from \"@angular/core\";\r\nimport { Resolve, ActivatedRouteSnapshot } from \"@angular/router\";\r\nimport { Observable, throwError,EMPTY } from \"rxjs\";\r\n\r\nimport { catchError, map } from \"rxjs/operators\";\r\nimport { ProjectJSStoreService } from \"src/app/services/localdb/JSStore/project-jsstore.service\";\r\nimport { StorageService } from \"src/app/services/storage.service\";\r\nimport { environment } from \"src/environments/environment\";\r\nimport { Project } from \"src/shared/Models/API/Project\";\r\n\r\n\r\n\r\n\r\n@Injectable()\r\nexport class ProjectResolve implements Resolve {\r\n constructor(private http: HttpClient,\r\n private storageservice:StorageService,\r\n private ProjectJSStoreService:ProjectJSStoreService) {\r\n\r\n }\r\n private appURL: string = '/Organization';\r\n private apiURL = environment.WebAPIURL;\r\n public data:Project;\r\n\r\n resolve(route: ActivatedRouteSnapshot): Observable {\r\n var id =route.paramMap.get('id');\r\n return this.http.get(this.apiURL + this.appURL + '/projects/' + id+'?al=true').pipe(\r\n map(dataFromApi => dataFromApi),\r\n catchError(async err =>{\r\n if(this.storageservice.getIsMobile())\r\n return await this.ProjectJSStoreService.getProject(parseInt(id));\r\n else\r\n return EMPTY;\r\n } )\r\n );\r\n\r\n }\r\n}\r\n","import { AfterViewInit, Injectable, Injector, OnDestroy, OnInit } from '@angular/core';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { Subscription } from 'rxjs';\r\nimport { AuthService } from 'src/app/modules/authentication/auth.service';\r\nimport { SyncJsstoreService } from 'src/app/services/localdb/JSStore/sync-jsstore.service';\r\nimport { OnlineOfflineService } from 'src/app/services/network/online-offline.service';\r\nimport { StorageService } from 'src/app/services/storage.service';\r\nimport { Scope } from 'src/shared/Models/scope-tree';\r\nimport { User } from 'src/shared/Models/user';\r\nimport { FeatureType } from 'src/shared/UI/feature-type.enum';\r\nimport { MainViewType } from 'src/shared/UI/ViewTypes';\r\nimport { PermissionTypes } from 'src/shared/utilities/PermissionHelper';\r\nimport { PermissionUtil } from 'src/shared/utilities/PermissionUtil';\r\ndeclare var $: any;\r\n\r\n@Injectable()\r\n//Base class to add common functionality here\r\nexport abstract class BaseComponent implements OnInit, AfterViewInit, OnDestroy {\r\n public user: User;\r\n protected auth: AuthService\r\n private toastr: ToastrService;\r\n public readonly translate: TranslateService;\r\n protected currentScope: Scope = null;\r\n protected currentScopeSubscription: Subscription;\r\n protected onlineOfflineService: OnlineOfflineService;\r\n protected storageservice:StorageService\r\n protected syncJsstoreService:SyncJsstoreService;\r\n public offlineonlineSubscriber : Subscription;\r\n public isOnline:boolean=false;\r\n public IsMobile:boolean=false;\r\n public permissionUtil:PermissionUtil= new PermissionUtil();\r\n _permissionType=PermissionTypes;\r\n _orgfeature=FeatureType;\r\n _mainViewType=MainViewType; \r\n public readonly _fileTypes: string[] = [\"ppt\", \"txt\", \"doc\", \"docx\", \"gif\", \"jpg\", \"pdf\", \"xls\", \"xlsx\", \"zip\", \"tif\", \"jpeg\", \"png\", \"rvt\", \"ifc\", \"csv\"];\r\n constructor(injector: Injector) {\r\n this.auth = injector.get(AuthService);\r\n this.toastr = injector.get(ToastrService);\r\n this.translate = injector.get(TranslateService);\r\n this.onlineOfflineService = injector.get(OnlineOfflineService);\r\n this.storageservice=injector.get(StorageService);\r\n this.syncJsstoreService=injector.get(SyncJsstoreService);\r\n this.translate.use(this.auth.getLanguagePreference());\r\n //setup base class data\r\n this.onLoad();\r\n //set ismobile mode and is online mode and use it in child components\r\n this.isOnline = this.onlineOfflineService.isOnline;\r\n this.IsMobile=this.storageservice.getIsMobile()\r\n this.offlineonlineSubscriber=this.onlineOfflineService.connectionChanged.subscribe((status)=>{\r\n if(status!=null)\r\n {\r\n this.isOnline = status;\r\n }\r\n });\r\n }\r\n\r\n ngOnInit() {\r\n this.hideTooltips();\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n }\r\n\r\n ngOnDestroy() {\r\n this.unsubscribe(this.currentScopeSubscription);\r\n this.unsubscribe(this.offlineonlineSubscriber);\r\n this.hideTooltips();\r\n }\r\n\r\n ngAfterViewInit() {\r\n this.refreshTooltips();\r\n }\r\n\r\n private onLoad(): void {\r\n this.user = this.auth.getUser();\r\n this.loadPLUploadLocalizationScript();\r\n }\r\n\r\n protected unsubscribe(subscription: Subscription): void {\r\n try {\r\n if (subscription && !subscription.closed) {\r\n subscription.unsubscribe();\r\n }\r\n }\r\n catch { }\r\n }\r\n\r\n protected refresh(): void {\r\n this.onLoad();\r\n }\r\n\r\n /* Start: popup helper functions */\r\n\r\n protected modelPopup(controlId: string, show: boolean = true): void {\r\n $('#' + controlId).modal((show ? 'show' : 'hide'));\r\n }\r\n\r\n\r\n /* Start: toast service msg */\r\n protected errorMsg(msg: string, title: string = ''): void {\r\n if (title == '')\r\n title= this.translate.instant('Settings.CommonLabel.lblError');\r\n this.toastr.error(msg,title);\r\n }\r\n\r\n protected warningMsg(msg: string, title: string = ''): void {\r\n if (title == '')\r\n title= this.translate.instant('Settings.CommonLabel.lblWarning');\r\n this.toastr.warning(msg,title);\r\n }\r\n\r\n protected successMsg(msg: string, title: string = ''): void {\r\n if (title == '')\r\n title= this.translate.instant('Settings.CommonLabel.lblSuccess');\r\n this.toastr.success(msg,title);\r\n }\r\n protected informationMsg(msg: string, title: string = ''): void {\r\n if (title != '')\r\n this.toastr.info(msg, title);\r\n else\r\n this.toastr.info(msg);\r\n }\r\n /* End: toast service msg */\r\n\r\n /* Start: handle errors */\r\n protected handleError(err: any, defaultMsg: string = ''): void {\r\n var title:string = this.translate.instant('Settings.CommonLabel.lblFailed');\r\n if (err && err.error && err.error.errorMessage) {\r\n this.errorMsg(err.error.errorMessage, title);\r\n } else {\r\n if (defaultMsg != '') {\r\n this.errorMsg(defaultMsg,title);\r\n }\r\n }\r\n }\r\n /* End: handle errors */\r\n\r\n /* Start: Dropdown Utility */\r\n protected refreshDropdown(controlId: string): void {\r\n setTimeout(() => {\r\n $('#' + controlId).selectpicker('refresh');\r\n }, 500);\r\n }\r\n\r\n protected refreshDropdownWithValue(controlId: string, value: string): void {\r\n setTimeout(() => {\r\n $('#' + controlId).val(value);\r\n $('#' + controlId).selectpicker('refresh');\r\n }, 500);\r\n }\r\n\r\n protected refreshDropdownsByClassName(cssClass: string): void {\r\n setTimeout(() => {\r\n $('.' + cssClass).selectpicker('refresh');\r\n }, 500);\r\n }\r\n\r\n protected setDropdownValue(controlId: string, value: string): void {\r\n $('#' + controlId).val(value);\r\n this.refreshDropdown(controlId);\r\n }\r\n /* End: Dropdown Utility */\r\n\r\n /* Start: Date range */\r\n\r\n protected initDateRange(): any {\r\n $('.input-daterange').datepicker({\r\n autoclose: true,\r\n format: \"mm-dd-yyyy\"\r\n });\r\n\r\n $('.input-daterange .icon').each(function (i, ele) {\r\n $(ele).unbind(\"click\").click(function () {\r\n $(ele).parents(\".date-input\").find(\"input\").focus();\r\n });\r\n });\r\n return $('.input-daterange').datepicker();\r\n }\r\n\r\n /* End: Date range */\r\n\r\n /* Start: Refresh Tooltip */\r\n\r\n protected refreshTooltips(): void {\r\n $('[data-toggle=\"tooltip\"]').tooltip();\r\n $('[data-toggle=\"tooltip\"]').on('click', function () {\r\n $(this).tooltip('hide')\r\n });\r\n }\r\n protected hideTooltips(): void {\r\n $(\"[data-toggle='tooltip']\").tooltip('hide');\r\n }\r\n\r\n protected InitSelectPicker()\r\n {\r\n $('.selectpicker').selectpicker();\r\n }\r\n /* End: Refresh Tooltip */\r\n\r\n public loadPLUploadLocalizationScript() {\r\n if (!document.getElementById('plupload_i18n')) {\r\n let body = document.body;\r\n let script = document.createElement('script');\r\n var srcUrl: string = 'assets/js/plupload_i18n/' + this.translate.currentLang + '.js';\r\n script.src = srcUrl;\r\n script.id='plupload_i18n'\r\n body.appendChild(script);\r\n }\r\n }\r\n\r\n\r\n IsOrganizationFeatureExists(_feature: FeatureType): boolean {\r\n if(this.user && this.user.id>0 && this.user.organization)\r\n {\r\n return this.user.organization.features.includes(_feature);\r\n }\r\n return true;\r\n }\r\n\r\n HideBodyOverflow(){\r\n $('body').addClass('overflow-h')\r\n }\r\n\r\n showBodyOverflow(){\r\n $(\"body\").removeClass('overflow-h');\r\n }\r\n\r\n IsRolePermissionExists(_permission:PermissionTypes)\r\n {\r\n return this.permissionUtil.IsPermissionExists(this.user,this.currentScope,_permission)\r\n }\r\n parsedText(text) {\r\n const dom = new DOMParser().parseFromString(\r\n '' + text,\r\n 'text/html');\r\n const decodedString = dom.body.textContent;\r\n return decodedString;\r\n }\r\n}\r\n","import { Component, Injector, Input, OnChanges, OnInit, SimpleChanges } from '@angular/core';\r\nimport { IMyDateModel, IAngularMyDpOptions } from 'angular-mydatepicker';\r\nimport { AssetService } from 'src/app/services/asset.service';\r\nimport { Asset, EasyWebAssetModel } from 'src/shared/Models/Asset';\r\nimport { BaseComponent } from '../BaseComponent';\r\n\r\n@Component({\r\n selector: 'app-assets-easyweb',\r\n templateUrl: './assets-easyweb.component.html',\r\n styleUrls: ['./assets-easyweb.component.css']\r\n})\r\nexport class AssetsEasywebComponent extends BaseComponent implements OnInit,OnChanges {\r\n\r\n @Input() asset:Asset = null;\r\n @Input() isEasyWebLoaded:boolean = false;\r\n myDatePickerOptionsFilter: IAngularMyDpOptions ;\r\n\r\n public easyWebAssetModel:EasyWebAssetModel = new EasyWebAssetModel();\r\n public dateFattura:IMyDateModel =null;\r\n\r\n constructor(injector:Injector,private assetService:AssetService) { \r\n super(injector);\r\n }\r\n\r\n ngOnInit() {\r\n this.myDatePickerOptionsFilter= {\r\n dateFormat: 'dd-mm-yyyy',\r\n alignSelectorRight: true,\r\n \r\n\r\n };\r\n \r\n }\r\n ngOnChanges(changes: SimpleChanges): void {\r\n if(changes && changes.isEasyWebLoaded && changes.isEasyWebLoaded.currentValue)\r\n {\r\n this.getEasyWebInformation();\r\n }\r\n }\r\n getEasyWebInformation() {\r\n this.assetService.getAssetEasyWebInformation(this.asset.id).subscribe((easyWebAssetModel:EasyWebAssetModel)=>{\r\n this.easyWebAssetModel = easyWebAssetModel;\r\n var d = new Date(\"0001-01-01T00:00:00\");\r\n if(new Date(easyWebAssetModel.dataFattura).getTime() != d.getTime())\r\n {\r\n this.dateFattura={isRange:false};\r\n this.dateFattura.singleDate={};\r\n this.dateFattura.singleDate ={\r\n date:undefined,\r\n jsDate: new Date(easyWebAssetModel.dataFattura),\r\n formatted: undefined,\r\n epoc: 0\r\n };\r\n }\r\n },(err)=>{\r\n this.handleError(err,this.translate.instant(\"EasyWeb.ErrorURL\"));\r\n })\r\n }\r\n\r\n}\r\n","
\r\n
\r\n
EasyWeb.Acquisto
\r\n
\r\n
\r\n
\r\n
\r\n
EasyWeb.NFattura
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
EasyWeb.Fornitore
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
EasyWeb.DataFattura
\r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
EasyWeb.Buonodicarico
\r\n
\r\n
\r\n
\r\n
\r\n
EasyWeb.Tipo
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
EasyWeb.Anno
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
EasyWeb.Causale
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
EasyWeb.Numero
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
EasyWeb.Valoreiniziale
\r\n
\r\n
\r\n
\r\n
\r\n
EasyWeb.Imponibile
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
EasyWeb.Sconto
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
EasyWeb.AliquotaIVA
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
EasyWeb.IVATotale
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
EasyWeb.IVAindetraibile
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
EasyWeb.Importototale
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
EasyWeb.Costoeffettivo
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
","import { HttpErrorResponse } from '@angular/common/http';\r\nimport { Component, Injector, Input, OnInit, Output, SimpleChanges,EventEmitter } from '@angular/core';\r\nimport { assert, timeStamp } from 'console';\r\n\r\nimport { IMyDateModel, IAngularMyDpOptions } from 'angular-mydatepicker';\r\nimport { Subject } from 'rxjs';\r\nimport { debounceTime, distinctUntilChanged } from 'rxjs/operators';\r\nimport { AssetUpdateCodeService } from 'src/app/services/assetupdatecode.service';\r\nimport { FilterService } from 'src/app/services/filter.service';\r\nimport { ProjectService } from 'src/app/services/project.service';\r\nimport { KeyConstants } from 'src/shared/constants/key-constants';\r\nimport { BIMModel, Document } from 'src/shared/Models/API/document';\r\nimport { AddlInformationsFilterModel, AssetColumns, AssetsFilterModel, BIMFilterModel, FilterColumnType, PagingModel } from 'src/shared/Models/API/filtermodel';\r\nimport { IFCElementModel } from 'src/shared/Models/API/IFCElementModel';\r\nimport { Asset, AssetAddlinformationValue, AssetHistory, AssetsList, AssetUpdateCode, MatchStatus } from 'src/shared/Models/Asset';\r\nimport { IFCElement } from 'src/shared/Models/Internal/IFCElement';\r\nimport { BuildingNameModel, CircuitModel, OnmStatus, SiteNameModel, Space, SpaceAssetSource, SpaceStatus, ZoneNameModel } from 'src/shared/Models/space';\r\nimport { AssetGridColumnOption } from 'src/shared/UI/grid-column-option';\r\nimport { SortOrder, SpaceAssetAttributeTypes } from 'src/shared/UI/ViewTypes';\r\nimport { DropdownActions } from '../../ifc-viewer/ifc-viewer.component';\r\nimport { BaseComponent } from '../BaseComponent';\r\nimport { ColumnType } from 'src/shared/Models/Column-Settings';\r\nimport { DatePipe } from '@angular/common';\r\nimport { CalendarService } from '../services/calendar.service';\r\nimport { DropdownPosition } from '@ng-select/ng-select';\r\ndeclare var $:any;\r\n@Component({\r\n selector: 'app-assets-list',\r\n templateUrl: './assets-list.component.html',\r\n styleUrls: ['./assets-list.component.css']\r\n})\r\nexport class AssetsListComponent extends BaseComponent implements OnInit {\r\n @Input() projectId: number;\r\n @Input() isActiveOnly: boolean = false;\r\n @Input() gridColumns: Array = new Array();\r\n @Input() selectedAssets: Array = new Array();\r\n @Input() isUnassignedAssets: boolean = false;\r\n @Input() isLoadAssets: boolean = false;\r\n @Input() space:Space;\r\n @Input() isClearSelectedOnRefresh: boolean = true;\r\n @Input() documents:Array = new Array();\r\n @Input()\r\npublic bimfilter:BIMFilterModel = new BIMFilterModel();\r\n public assets: Array = new Array();\r\n public isAllAssetsLoaded: boolean = false;\r\n public isSelectAll: boolean = false;\r\n public isCollapsedAll:boolean =true;\r\n _matchStatus=MatchStatus;\r\n // Filtering & Sorting . . .\r\n private keyupFilter = new Subject();\r\n public filterAndSortingOptions: AssetsFilterModel = new AssetsFilterModel();\r\n public isMobileFilterEnabled: boolean = false;\r\n public isMobileSortingEnabled: boolean = false;\r\n public iServerAssetCount:number =-1;\r\n public iTotalCount:number =0;\r\n public iselectedCount:number=0;\r\n iactiveCount:number =0;\r\n iarchiveCount:number =0;\r\n isLoaderEnabled:boolean=false;\r\n //enum\r\n public onmstatus=OnmStatus;\r\n public assetColumns = AssetColumns;\r\n public sortDirection = SortOrder;\r\n public columnTypes = FilterColumnType;\r\n public assetStatus = SpaceStatus;\r\n public assetSource = SpaceAssetSource;\r\n\r\n @Input() dropDownPosition:DropdownPosition = \"auto\";\r\n\r\n //date range picker\r\n myDatePickerOptions: IAngularMyDpOptions = {\r\n // other options...\r\n dateFormat: 'dd-mm-yyyy',\r\n alignSelectorRight: true\r\n \r\n };\r\n filterSubscriber: any;\r\n\r\n @Input() public siteNames:Array = new Array();\r\n @Input() public buildingNames:Array = new Array();\r\n @Input() public zoneNames:Array = new Array();\r\n @Input() public circuits:Array = new Array();\r\n\r\n @Output() public assetSelected:EventEmitter> = new EventEmitter>();\r\n @Output() public AllAssetsSelected:EventEmitter> = new EventEmitter>();\r\n \r\n private selectedElementids:Array = new Array();\r\n constructor(injector: Injector,\r\n private projectService: ProjectService,\r\n private filterService:FilterService,private datepipe:DatePipe) {\r\n super(injector);\r\n \r\n }\r\n\r\n ngOnInit() {\r\n this.InitAssetFilterSubscription();\r\n }\r\n ngOnDestroy(): void {\r\n if (this.filterSubscriber && !this.filterSubscriber.closed) {\r\n this.filterSubscriber.unsubscribe();\r\n this.filterService.clearSpaceAssetFilterSubscribers();\r\n }\r\n }\r\n clearAllSelection()\r\n {\r\n if(this.isSelectAll)\r\n {\r\n this.isSelectAll=false;\r\n }\r\n var selectedAssets = this.assets.filter(x=>x.isSelected == true);\r\n if(selectedAssets)\r\n {\r\n selectedAssets.forEach(x=>{\r\n x.isSelected=false;\r\n if(x.childAssets)\r\n x.childAssets.forEach(x=>x.isSelected = false);\r\n })\r\n }\r\n }\r\n InitAssetFilterSubscription()\r\n {\r\n this.filterSubscriber= this.filterService.SpaceAssetfilterViewObservable().subscribe((filter:AssetsFilterModel) => {\r\n if(filter instanceof AssetsFilterModel)\r\n {\r\n this.isLoaderEnabled=true;\r\n this.gridColumns.find(x=>x.column==this.assetColumns.STATUS).filterColumnValue=(filter._searchview)?this.assetStatus.ACTIVE:this.assetStatus.UNKNOWN;\r\n this.filterAndSortingOptions=filter;\r\n this.loadAssets(true);\r\n }\r\n }); \r\n }\r\n\r\n RemoveAllAssets()\r\n {\r\n this.assets=[];\r\n }\r\n\r\n //expand/collapse\r\n\r\n OnExpandCollapseAll()\r\n {\r\n this.isCollapsedAll=!this.isCollapsedAll;\r\n if(this.assets != null && this.assets != undefined && this.assets.length > 0)\r\n {\r\n this.assets.forEach((asset:Asset)=>asset.isCollapsed = this.isCollapsedAll);\r\n }\r\n\r\n }\r\n\r\n OnExpandAsset(asset:Asset)\r\n {\r\n asset.isCollapsed=!asset.isCollapsed;\r\n }\r\n showDocuments(asset:Asset)\r\n {\r\n if(asset.showDocuments)\r\n {\r\n asset.showDocuments = false;\r\n }\r\n else\r\n {\r\n this.assets.forEach(x=>x.showDocuments = false);\r\n asset.showDocuments=true;\r\n }\r\n\r\n }\r\n\r\n ngOnChanges(change: SimpleChanges) {\r\n if (change && change.isLoadAssets && change.isLoadAssets.currentValue) {\r\n this.assets = new Array();\r\n this.clearGridFilters();\r\n this.setFilterOptions();\r\n this.loadAssets(true);\r\n }\r\n }\r\n ngAfterViewInit() {\r\n this.bindDefaultFilterDropDownValues();\r\n this.bindKeyUp();\r\n }\r\n onScroll(): void {\r\n this.filterAndSortingOptions.pn += 1;\r\n this.loadAssets(false);\r\n }\r\n\r\n private loadAssets(isRefreshed: boolean): void {\r\n if (isRefreshed)\r\n this.assets = new Array();\r\n //setting space id as filter\r\n if(this.space && this.space.id>0)\r\n {\r\n this.filterAndSortingOptions._sid=this.space.id;\r\n }\r\n if(this.documents && this.documents.length > 0)\r\n {\r\n var documentStr:string='';\r\n this.documents.forEach((doc)=>{\r\n documentStr += doc.id.toString();\r\n documentStr+=\",\";\r\n documentStr+= doc.version.toString();\r\n documentStr += \"|\";\r\n })\r\n this.filterAndSortingOptions._d=documentStr;\r\n }\r\n if(this.bimfilter && this.bimfilter._prflrs)\r\n this.filterAndSortingOptions._prflrs=this.bimfilter._prflrs;\r\n this.projectService.getAssets(this.projectId, this.filterAndSortingOptions).subscribe((_assetslist: AssetsList) => {\r\n var _assets:Array = _assetslist.assets;\r\n this.iTotalCount= _assetslist.totalCount;\r\n this.iactiveCount=_assetslist.activeCount;\r\n this.iarchiveCount=_assetslist.archiveCount;\r\n if (_assets && _assets.length > 0) {\r\n var count:number = 0;\r\n _assets.forEach((asset: Asset) => {\r\n asset.isSelected = false;\r\n asset.isCollapsed=true;\r\n if(asset.childAssets != null && asset.childAssets.length > 0)\r\n {\r\n asset.childAssets.forEach((childAsset:Asset)=>{\r\n var _selectedAssetIndex: number = this.selectedAssets.findIndex(x => x.id == childAsset.id);\r\n if (_selectedAssetIndex >= 0)\r\n childAsset.isSelected = true;\r\n\r\n })\r\n }\r\n //if selected assets is there mark as selected\r\n if (this.selectedAssets != null && this.selectedAssets.length > 0) {\r\n var _selectedAssetIndex: number = this.selectedAssets.findIndex(x => x.id == asset.id);\r\n if (_selectedAssetIndex >= 0)\r\n asset.isSelected = true;\r\n }\r\n \r\n //this in paging if select all is selected then set all to true \r\n if (this.isSelectAll) {\r\n asset.isSelected = true;\r\n }\r\n if(this.isCollapsedAll)\r\n asset.isCollapsed= true;\r\n else \r\n asset.isCollapsed=false;\r\n count += this.MergeIntoAssets(asset);\r\n\r\n if(this.selectedElementids && this.selectedElementids.length > 0 && asset.ifcElements && asset.ifcElements.length > 0)\r\n {\r\n var ifcElementId:IFCElementModel = asset.ifcElements.find(x=>this.selectedElementids.find(y=>y == x.ifcElementId) != null);\r\n if(ifcElementId)\r\n asset.isSelected= true;\r\n }\r\n });\r\n if (_assets && count + 1 < this.filterAndSortingOptions.ps) {\r\n this.isAllAssetsLoaded = true;\r\n }\r\n else {\r\n this.isAllAssetsLoaded = false;\r\n }\r\n }\r\n this.isLoaderEnabled=false;\r\n if (this.isSelectAll)\r\n {\r\n this.iselectedCount=this.iTotalCount;\r\n }\r\n else{\r\n this.iselectedCount=this.assets.filter(x=>x.isSelected).length;\r\n }\r\n },\r\n (error: HttpErrorResponse): void => {\r\n this.isLoaderEnabled=false;\r\n super.handleError(error);\r\n });\r\n \r\n }\r\n MergeIntoAssets(asset: Asset):number {\r\n var count:number = 0;\r\n var existingAsset=this.assets.find(x=>x.id==asset.id);\r\n if(existingAsset== null || existingAsset == undefined)\r\n {\r\n count += 1;\r\n if(asset.childAssets != null)\r\n count += asset.childAssets.length;\r\n this.assets.push(asset);\r\n }\r\n else{\r\n var newAsset = Object.assign({},existingAsset);\r\n if(newAsset.childAssets == null)\r\n newAsset.childAssets= new Array();\r\n count += asset.childAssets.length;\r\n newAsset.childAssets = newAsset.childAssets.concat(asset.childAssets);\r\n var findindex = this.assets.findIndex(x=>x.id==asset.id);\r\n this.assets.splice(findindex, 1, newAsset);\r\n }\r\n return count;\r\n }\r\n onCustomFilterDropdownChange(column:AssetGridColumnOption)\r\n {\r\n if(this.filterAndSortingOptions._ais == null)\r\n this.filterAndSortingOptions._ais= new Array();\r\n if(column.filterColumnValue == null || column.filterColumnValue == \"-1\")\r\n {\r\n this.filterAndSortingOptions._ais = this.filterAndSortingOptions._ais.filter(x=>x._i != column.column);\r\n \r\n\r\n this.filterAndSortingOptions._strais=JSON.stringify(this.filterAndSortingOptions._ais);\r\n\r\n }\r\n else\r\n {\r\n this.filterAndSortingOptions._ais = this.filterAndSortingOptions._ais.filter(x=>x._i != column.column);\r\n var addlInformationFilter:AddlInformationsFilterModel = new AddlInformationsFilterModel();\r\n addlInformationFilter._i= column.column;\r\n if(column.filterColumnValue == \"0\")\r\n addlInformationFilter._v= \"False\";\r\n else\r\n addlInformationFilter._v= \"True\";\r\n this.filterAndSortingOptions._ais.push(addlInformationFilter);\r\n this.filterAndSortingOptions._strais=JSON.stringify(this.filterAndSortingOptions._ais);\r\n }\r\n this.loadAssets(true);\r\n \r\n }\r\n\r\n\r\n private setFilterOptions(): void {\r\n this.filterAndSortingOptions = new AssetsFilterModel();\r\n this.gridColumns.forEach((column: AssetGridColumnOption): void => {\r\n if(column.type == ColumnType.STANDARD)\r\n {\r\n if (column.column == AssetColumns.CODE)\r\n this.filterAndSortingOptions._ac = column.filterColumnValue;\r\n else if(column.column == AssetColumns.LASTMODIFIED)\r\n {\r\n if(column.filterColumnValue && column.filterColumnValue.singleDate)\r\n this.filterAndSortingOptions._lm = column.filterColumnValue.singleDate.jsDate.toDateString();\r\n \r\n\r\n }\r\n else if (column.column == AssetColumns.DISCIPLINE)\r\n this.filterAndSortingOptions._ci = column.filterColumnValue;\r\n else if (column.column == AssetColumns.ASSETDESCRIPTION)\r\n this.filterAndSortingOptions._ad = column.filterColumnValue;\r\n else if (column.column == AssetColumns.PARENT)\r\n this.filterAndSortingOptions._pac = column.filterColumnValue;\r\n else if (column.column == AssetColumns.CLASSIFICATION)\r\n this.filterAndSortingOptions._acl = column.filterColumnValue;\r\n else if (column.column == AssetColumns.SITENAME)\r\n this.filterAndSortingOptions._ssnid = column.filterColumnValue;\r\n \r\n else if (column.column == AssetColumns.BUILDINGNAME)\r\n this.filterAndSortingOptions._bnid = column.filterColumnValue;\r\n else if (column.column == AssetColumns.SPACECODE)\r\n this.filterAndSortingOptions._spc = column.filterColumnValue;\r\n else if (column.column == AssetColumns.SPACEZONE)\r\n this.filterAndSortingOptions._znid = column.filterColumnValue;\r\n else if (column.column == AssetColumns.SPACELEVEL)\r\n this.filterAndSortingOptions._spl = column.filterColumnValue;\r\n else if (column.column == AssetColumns.ASSETNAME)\r\n this.filterAndSortingOptions._an = column.filterColumnValue;\r\n else if (column.column == AssetColumns.ASSETACCOUNTABLE)\r\n this.filterAndSortingOptions._aa = column.filterColumnValue;\r\n else if (column.column == AssetColumns.SPACETYPE)\r\n this.filterAndSortingOptions._spt = column.filterColumnValue;\r\n else if (column.column == AssetColumns.SPACENAME)\r\n this.filterAndSortingOptions._sn = column.filterColumnValue;\r\n else if (column.column == AssetColumns.SPACEZONEDESCRIPTION)\r\n this.filterAndSortingOptions._znd = column.filterColumnValue;\r\n else if (column.column == AssetColumns.UPDATECODE)\r\n this.filterAndSortingOptions._uc = column.filterColumnValue;\r\n else if (column.column == AssetColumns.SOURCE) {\r\n if (column.filterColumnValue != '')\r\n this.filterAndSortingOptions._s = column.filterColumnValue;\r\n else\r\n this.filterAndSortingOptions._s = SpaceAssetSource.UNKNOWN;\r\n }\r\n else if (column.column == AssetColumns.STATUS) {\r\n if (column.filterColumnValue != '')\r\n this.filterAndSortingOptions._st = column.filterColumnValue;\r\n else\r\n this.filterAndSortingOptions._st = SpaceStatus.UNKNOWN;\r\n }\r\n }\r\n else if(column.type == ColumnType.CUSTOM)\r\n {\r\n if(this.filterAndSortingOptions._ais == null)\r\n this.filterAndSortingOptions._ais= new Array();\r\n if(column.filterColumnValue && column.filterColumnValue.length > 0)\r\n {\r\n var addlInformationFilter:AddlInformationsFilterModel = new AddlInformationsFilterModel();\r\n addlInformationFilter._i= column.column;\r\n \r\n addlInformationFilter._v= column.filterColumnValue;\r\n this.filterAndSortingOptions._ais.push(addlInformationFilter);\r\n\r\n this.filterAndSortingOptions._strais=JSON.stringify(this.filterAndSortingOptions._ais);\r\n }\r\n else\r\n { \r\n this.filterAndSortingOptions._ais = this.filterAndSortingOptions._ais.filter(x=>x._i != column.column);\r\n this.filterAndSortingOptions._strais=JSON.stringify(this.filterAndSortingOptions._ais);\r\n }\r\n\r\n }\r\n });\r\n this.filterAndSortingOptions._una = this.isUnassignedAssets;\r\n if (this.isActiveOnly)\r\n this.filterAndSortingOptions._st = SpaceStatus.ACTIVE;\r\n }\r\n\r\n onCustomDateChanged(event:IMyDateModel,column:AssetGridColumnOption)\r\n {\r\n if(this.filterAndSortingOptions._ais == null)\r\n this.filterAndSortingOptions._ais= new Array();\r\n\r\n if(event && event.singleDate.jsDate)\r\n {\r\n this.filterAndSortingOptions._ais = this.filterAndSortingOptions._ais.filter(x=>x._i != column.column);\r\n var addlInformation:AddlInformationsFilterModel = new AddlInformationsFilterModel();\r\n addlInformation._i= column.column;\r\n addlInformation._v =new Date(event.singleDate.jsDate).getTime().toString();\r\n column.filterColumnValue =event.singleDate.jsDate.getTime().toString();\r\n this.filterAndSortingOptions._ais.push(addlInformation);\r\n this.filterAndSortingOptions._strais=JSON.stringify(this.filterAndSortingOptions._ais);\r\n }\r\n else\r\n { \r\n this.filterAndSortingOptions._ais = this.filterAndSortingOptions._ais.filter(x=>x._i != column.column);\r\n this.filterAndSortingOptions._strais=JSON.stringify(this.filterAndSortingOptions._ais);\r\n }\r\n this.loadAssets(true);\r\n\r\n }\r\n public GetAssetsBySorting(sortColumn: AssetColumns, sortDir: SortOrder,type:number = 1): void {\r\n this.setFilterOptions();\r\n this.filterAndSortingOptions._odby = sortColumn;\r\n this.filterAndSortingOptions._od = sortDir;\r\n this.filterAndSortingOptions.obt=type;\r\n\r\n if(this.isClearSelectedOnRefresh)\r\n this.selectedAssets = new Array();\r\n this.loadAssets(true);\r\n }\r\n\r\n public getAssignedAssets(): Array {\r\n var assignedAssets: Array;\r\n if (this.assets && this.assets.length > 0) {\r\n var assignedAssets: Array = this.assets.filter(_asset => _asset.isSelected);\r\n\r\n this.assets.forEach(x=>{\r\n if(x.childAssets != null && x.childAssets.length > 0)\r\n {\r\n var childAssetsAssigned:Array = x.childAssets.filter(_asset => _asset.isSelected);\r\n if(childAssetsAssigned != null && childAssetsAssigned.length > 0)\r\n {\r\n childAssetsAssigned.forEach((childAsset:Asset)=>{\r\n assignedAssets.push(childAsset);\r\n\r\n })\r\n }\r\n }\r\n })\r\n }\r\n return assignedAssets;\r\n }\r\n\r\n public ApplyFiltersOnKeyUp(value: string): void {\r\n this.keyupFilter.next(value);\r\n }\r\n\r\n\r\n private bindKeyUp(): void {\r\n this.keyupFilter.pipe(debounceTime(2000), distinctUntilChanged())\r\n .subscribe((value: string) => {\r\n this.setFilterOptions();\r\n if(this.isClearSelectedOnRefresh)\r\n this.selectedAssets = new Array();\r\n this.loadAssets(true);\r\n });\r\n }\r\n\r\n onDateChanged(event: IMyDateModel) {\r\n \r\n this.setFilterOptions();\r\n if(this.isClearSelectedOnRefresh)\r\n this.selectedAssets = new Array();\r\n this.loadAssets(true);\r\n }\r\n\r\n private bindDefaultFilterDropDownValues(): void {\r\n this.gridColumns.filter((col: AssetGridColumnOption) => col.filterColumnType == FilterColumnType.DROPDOWN)\r\n .forEach((dropDownColumn: AssetGridColumnOption) => {\r\n if (dropDownColumn.column == AssetColumns.SOURCE)\r\n dropDownColumn.filterColumnValue = SpaceAssetSource.UNKNOWN;\r\n else if (dropDownColumn.column == AssetColumns.STATUS)\r\n dropDownColumn.filterColumnValue = SpaceStatus.UNKNOWN;\r\n else if (dropDownColumn.column == AssetColumns.SITENAME)\r\n dropDownColumn.filterColumnValue = -1;\r\n else if (dropDownColumn.column == AssetColumns.BUILDINGNAME)\r\n dropDownColumn.filterColumnValue = -1;\r\n else if (dropDownColumn.column == AssetColumns.SPACEZONE)\r\n dropDownColumn.filterColumnValue = -1;\r\n else if (dropDownColumn.column == AssetColumns.DISCIPLINE)\r\n dropDownColumn.filterColumnValue = -1;\r\n \r\n });\r\n\r\n var compareLocation:AssetGridColumnOption = this.gridColumns.find((col:AssetGridColumnOption)=>col.column == this.assetColumns.ASSET_COMPARE_LOCATION);\r\n if(compareLocation != null && compareLocation != undefined)\r\n compareLocation.filterColumnValue = MatchStatus.ALL;\r\n\r\n }\r\n\r\n public onFilterDropdownChange(column: AssetColumns, value: any): void {\r\n if (column == AssetColumns.STATUS)\r\n this.filterAndSortingOptions._st = value;\r\n if (column == AssetColumns.SOURCE)\r\n this.filterAndSortingOptions._s = value;\r\n if (column == AssetColumns.ASSET_COMPARE_LOCATION)\r\n this.filterAndSortingOptions._ms = value;\r\n\r\nif(column == AssetColumns.SITENAME)\r\n {\r\n \r\n this.filterAndSortingOptions._ssnid=value;\r\n }\r\n if(column == AssetColumns.BUILDINGNAME)\r\n {\r\n \r\n this.filterAndSortingOptions._bnid=value;\r\n }\r\n if(column == AssetColumns.SPACEZONE)\r\n {\r\n \r\n this.filterAndSortingOptions._znid=value;\r\n }\r\n if(column == AssetColumns.DISCIPLINE)\r\n {\r\n \r\n this.filterAndSortingOptions._ci=value;\r\n }\r\n if(this.isClearSelectedOnRefresh)\r\n this.selectedAssets = new Array();\r\n this.loadAssets(true);\r\n }\r\n\r\n getAddlColumnValue(column:AssetGridColumnOption,asset:Asset){\r\n var value:string=\"--\";\r\n if(!asset.assetAddlInformations || asset.assetAddlInformations.length == 0)\r\n return value;\r\n var assetAddlInformation:AssetAddlinformationValue = asset.assetAddlInformations.find(x=>x.id == column.column );\r\n if(assetAddlInformation)\r\n {\r\n if(column.customColumnType == SpaceAssetAttributeTypes.DATE)\r\n {\r\n if(assetAddlInformation.value)\r\n {\r\n var d = new Date(parseInt(assetAddlInformation.value)); // The 0 there is the key, which sets the date to the epoch\r\n \r\n value=this.datepipe.transform(d.toDateString(), 'dd-MM-yyyy');\r\n }\r\n\r\n }\r\n else if(column.customColumnType == SpaceAssetAttributeTypes.BOOLEAN)\r\n {\r\n if(assetAddlInformation.value)\r\n {\r\n if(assetAddlInformation.value.toLowerCase() == \"true\")\r\n value=\"Yes\";\r\n else if(assetAddlInformation.value.toLowerCase() == \"false\")\r\n value=\"No\";\r\n }\r\n\r\n }\r\n else value=assetAddlInformation.value;\r\n }\r\n\r\n\r\n\r\n return value;\r\n\r\n\r\n\r\n }\r\n private clearGridFilters(): void {\r\n this.filterAndSortingOptions = new AssetsFilterModel;\r\n this.gridColumns.forEach((col: AssetGridColumnOption) => {\r\n if (col.type ==1 && col.column == AssetColumns.SOURCE)\r\n col.filterColumnValue = SpaceAssetSource.UNKNOWN;\r\n else if ( col.type ==1 && col.column == AssetColumns.STATUS)\r\n col.filterColumnValue = SpaceStatus.UNKNOWN;\r\n else if ( col.type ==1 && col.column == AssetColumns.SITENAME)\r\n col.filterColumnValue = -1;\r\n else if ( col.type ==1 && col.column == AssetColumns.BUILDINGNAME)\r\n col.filterColumnValue = -1;\r\n else if ( col.type ==1 && col.column == AssetColumns.SPACEZONE)\r\n col.filterColumnValue = -1;\r\n else if ( col.type ==1 && col.column == AssetColumns.DISCIPLINE)\r\n col.filterColumnValue = -1;\r\n else if(col.type == 2 && col.customColumnType == SpaceAssetAttributeTypes.BOOLEAN)\r\n col.filterColumnValue=-1;\r\n else\r\n col.filterColumnValue = '';\r\n });\r\n }\r\n\r\n\r\n // begin Mobile Filter and Sorting functionalities //\r\n public showMobileFilters(): void {\r\n this.isMobileFilterEnabled = true;\r\n }\r\n public applyMobileFilter(): void {\r\n this.isMobileFilterEnabled = false;\r\n this.setFilterOptions();\r\n if(this.isClearSelectedOnRefresh)\r\n this.selectedAssets = new Array();\r\n this.loadAssets(true);\r\n }\r\n public clearMobileFilters(): void {\r\n this.isMobileFilterEnabled = false;\r\n this.clearGridFilters();\r\n this.setFilterOptions();\r\n if(this.isClearSelectedOnRefresh)\r\n this.selectedAssets = new Array();\r\n this.loadAssets(true);\r\n }\r\n public cancelMobileFilters(): void {\r\n this.isMobileFilterEnabled = false;\r\n }\r\n public showMobileSorting(): void {\r\n this.isMobileSortingEnabled = true;\r\n }\r\n public closeMobileSorting(): void {\r\n this.isMobileSortingEnabled = false;\r\n }\r\n // end Mobile Filter and Sorting functionalities //\r\n\r\n\r\n OnSaveDocuments(documents:Array)\r\n {\r\n this.selectedAssets[0].documents= documents;\r\n }\r\n OnSavePhoto(history:AssetHistory)\r\n {\r\n this.selectedAssets[0].ifcElements=[];\r\n this.selectedAssets[0].assetHistories[0]=history;\r\n }\r\n onSaveddetails(asset:Asset)\r\n {\r\n var incomingAssets:Array = new Array();\r\n incomingAssets.push(asset);\r\n this.MergeUpdateAssets(incomingAssets)\r\n \r\n }\r\n MergeUpdateAssets(incomingAssets:Array) {\r\n incomingAssets.forEach((incomingAsset:Asset)=>{\r\n var parentAsset:Asset = this.assets.find(x=>x.id == incomingAsset.id);\r\n if(parentAsset != null)\r\n {\r\n var foundAsset:number = this.assets.findIndex(x=>x.id == incomingAsset.id);\r\n this.MergeParentAsset(parentAsset,incomingAsset,foundAsset);\r\n }\r\n else\r\n {\r\n var parentAsset:Asset = this.assets.find((asset)=>\r\n asset.childAssets != null && asset.childAssets.length > 0 && asset.childAssets.find(x=>x.id == incomingAsset.id) != null);\r\n if(parentAsset != null && parentAsset != undefined)\r\n this.MergeChildAsset(parentAsset,incomingAsset);\r\n }\r\n\r\n });\r\n }\r\n MergeChildAsset(parentAsset: Asset,incomingAsset:Asset) {\r\n var childAsset:Asset = parentAsset.childAssets.find(x=>x.id == incomingAsset.id) \r\n if(incomingAsset.assetHistories != null && incomingAsset.assetHistories.length > 0 \r\n && (incomingAsset.assetHistories[0].parentAsset == null || incomingAsset.assetHistories[0].parentAsset.id <=0))\r\n {\r\n if(parentAsset.childAssets != null && parentAsset.childAssets.length > 0)\r\n parentAsset.childAssets = parentAsset.childAssets.filter(x=>x.id != childAsset.id);\r\n var newAssets:Array = new Array();\r\n newAssets.push(childAsset);\r\n\r\n var filteredAssets:Array = this.getFilteredAssets(newAssets);\r\n var assetFound:Asset = filteredAssets.find(x=>x.id == childAsset.id);\r\n //here the assets parent has been removed so add it to grid as parent\r\n if(assetFound != null)\r\n this.assets.push(incomingAsset)\r\n \r\n }\r\n else if(incomingAsset.assetHistories != null && incomingAsset.assetHistories.length > 0 \r\n && incomingAsset.assetHistories[0].parentAsset != null && incomingAsset.assetHistories[0].parentAsset.id >=0 &&\r\n incomingAsset.assetHistories[0].parentAsset.id != childAsset.assetHistories[0].parentAsset.id)\r\n {\r\n // here parent has been changed to we need to remove from old parent and add to new parent\r\n if(parentAsset.childAssets != null && parentAsset.childAssets.length > 0)\r\n parentAsset.childAssets = parentAsset.childAssets.filter(x=>x.id != childAsset.id);\r\n var currentParent:Asset = this.assets.find(x=>x.id == incomingAsset.assetHistories[0].parentAsset.id);\r\n if(currentParent != null)\r\n {\r\n if(currentParent.childAssets == null)\r\n currentParent.childAssets = new Array();\r\n currentParent.childAssets.push(incomingAsset);\r\n }\r\n }\r\n else\r\n {\r\n //getting the child asset\r\n var childAsset:Asset = parentAsset.childAssets.find(x=>x.id == incomingAsset.id);\r\n var foundChildAsset:number = parentAsset.childAssets.findIndex(x=>x.id == incomingAsset.id);\r\n if(childAsset != null && foundChildAsset != -1)\r\n {\r\n \r\n //updating only the asset with incomingasset\r\n parentAsset.childAssets[foundChildAsset]=incomingAsset;\r\n this.selectedAssets[0]=incomingAsset;\r\n incomingAsset.isSelected = true;\r\n incomingAsset.isCollapsed= true;\r\n }\r\n \r\n\r\n }\r\n }\r\n MergeParentAsset(parentAsset:Asset,incomingAsset: Asset,foundAsset:number) {\r\n \r\n if(foundAsset != -1)\r\n {\r\n //case where Parent remains parent\r\n if(incomingAsset.assetHistories != null && incomingAsset.assetHistories.length > 0 \r\n && (incomingAsset.assetHistories[0].parentAsset == null || incomingAsset.assetHistories[0].parentAsset.id <=0))\r\n {\r\n var newAsset:Asset = new Asset();\r\n //this will update the base asset to make sure all base asset properties updated and reflected\r\n newAsset = incomingAsset;\r\n //this is done because in update we don't get the children back\r\n //so whatever parent has already put it in as child is same and has not been updated\r\n //parent's parent cannot be updated too\r\n newAsset.childAssets = parentAsset.childAssets;\r\n this.assets[foundAsset]=newAsset;\r\n this.selectedAssets[0]=newAsset;\r\n newAsset.isSelected = true;\r\n newAsset.isCollapsed=true;\r\n }\r\n else if(incomingAsset.assetHistories != null && incomingAsset.assetHistories.length > 0 \r\n && incomingAsset.assetHistories[0].parentAsset != null && incomingAsset.assetHistories[0].parentAsset.id > 0)\r\n {\r\n //case of parent becoming child (of course if it has children this should not be allowed)\r\n this.assets = this.assets.filter(x=>x.id != incomingAsset.id);\r\n\r\n var currentParent:Asset = this.assets.find(x=>x.id == incomingAsset.assetHistories[0].parentAsset.id);\r\n if(currentParent != null)\r\n {\r\n if(currentParent.childAssets == null)\r\n currentParent.childAssets = new Array();\r\n currentParent.childAssets.push(incomingAsset);\r\n }\r\n\r\n }\r\n }\r\n \r\n }\r\n getSelectedAsset():Asset\r\n {\r\n return this.assets.find(x=>x.isSelected);\r\n }\r\n // return this.selectedAssets[0];\r\n //for single and bulk asset creation, after new assets created add to list in UI\r\n public AddNewAssetstoList(newAssets: Array): void {\r\n if (newAssets && newAssets.length > 0) {\r\n var _assets: Array = this.getFilteredAssets(newAssets);\r\n _assets.forEach((asset: Asset) => {\r\n if (asset && asset.id > 0)\r\n this.assets.push(asset);\r\n });\r\n this.iTotalCount+=newAssets.length;\r\n this.iactiveCount+=newAssets.length;\r\n }\r\n }\r\n public MergeAssets(newAssets:Array):void {\r\n if (newAssets && newAssets.length > 0) {\r\n var _assets: Array = this.getFilteredAssets(newAssets);\r\n _assets.forEach((asset: Asset) => {\r\n if (asset && asset.id > 0){\r\n if(asset.assetHistories != null && asset.assetHistories.length > 0 && asset.assetHistories[0].parentAsset != null \r\n && asset.assetHistories[0].parentAsset.id > 0)\r\n {\r\n //here parent is there so we check for assets to see if parent is now present if not\r\n //don't do anything because next page will contain it and that might lead to duplicity\r\n var existAsset:Asset = this.assets.find(x=>x.id == asset.assetHistories[0].parentAsset.id);\r\n if(existAsset != null && existAsset != undefined)\r\n {\r\n if(existAsset.childAssets == null)\r\n existAsset.childAssets= new Array();\r\n existAsset.childAssets.push(asset);\r\n\r\n }\r\n }\r\n else\r\n this.assets.push(asset);\r\n }\r\n })\r\n }\r\n\r\n }\r\n //this function will be called only while adding newly created asset(s) to grid, incase if user applied filter and added new asset\r\n //to make sure if newly added asset comes under that filter criteria add it to grid\r\n //NOTE : no where this function should be called as assets filter is done serverside\r\n public getFilteredAssets(newAssets: Array): Array {\r\n var filteredAssets = newAssets;\r\n if (this.filterAndSortingOptions != null) {\r\n\r\n if (this.filterAndSortingOptions._ac != '')\r\n filteredAssets = filteredAssets\r\n .filter((asset: Asset) =>\r\n asset.code && asset.code.toLowerCase().indexOf(this.filterAndSortingOptions._ac.toLowerCase()) !== -1);\r\n\r\n if (this.filterAndSortingOptions._acl != '')\r\n filteredAssets = filteredAssets\r\n .filter((asset: Asset) =>\r\n asset.assetHistories && asset.assetHistories[0] && asset.assetHistories[0].assetClassification.toLowerCase().indexOf(this.filterAndSortingOptions._acl.toLowerCase()) !== -1);\r\n\r\n if (this.filterAndSortingOptions._an != '')\r\n filteredAssets = filteredAssets\r\n .filter((asset: Asset) =>\r\n asset.assetHistories && asset.assetHistories[0] && asset.assetHistories[0].assetName.toLowerCase().indexOf(this.filterAndSortingOptions._an.toLowerCase()) !== -1);\r\n\r\n if (this.filterAndSortingOptions._aa != '')\r\n filteredAssets = filteredAssets\r\n .filter((asset: Asset) =>\r\n asset.assetHistories && asset.assetHistories[0] && asset.assetHistories[0].assetAccountable.toLowerCase().indexOf(this.filterAndSortingOptions._aa.toLowerCase()) !== -1);\r\n\r\n if (this.filterAndSortingOptions._spl != '')\r\n filteredAssets = filteredAssets\r\n .filter((asset: Asset) =>\r\n asset.assetHistories[0].space.level.toLowerCase().indexOf(this.filterAndSortingOptions._spl.toLowerCase()) !== -1);\r\n\r\n if (this.filterAndSortingOptions._bn != '')\r\n filteredAssets = filteredAssets\r\n .filter((asset: Asset) =>\r\n asset.assetHistories[0].space.buildingName.toLowerCase().indexOf(this.filterAndSortingOptions._bn.toLowerCase()) !== -1);\r\n\r\n if (this.filterAndSortingOptions._ssn != '')\r\n filteredAssets = filteredAssets\r\n .filter((asset: Asset) =>\r\n asset.assetHistories[0].space.siteName.toLowerCase().indexOf(this.filterAndSortingOptions._ssn.toLowerCase()) !== -1);\r\n\r\n if (this.filterAndSortingOptions._spc != '')\r\n filteredAssets = filteredAssets\r\n .filter((asset: Asset) =>\r\n asset.assetHistories[0].space.code.toLowerCase().indexOf(this.filterAndSortingOptions._spc.toLowerCase()) !== -1);\r\n\r\n if (this.filterAndSortingOptions._zn != '')\r\n filteredAssets = filteredAssets\r\n .filter((asset: Asset) =>\r\n asset.assetHistories[0].space.history[0].zone.toLowerCase().indexOf(this.filterAndSortingOptions._zn.toLowerCase()) !== -1);\r\n\r\n if (this.filterAndSortingOptions._znd != '')\r\n filteredAssets = filteredAssets\r\n .filter((asset: Asset) =>\r\n asset.assetHistories[0].space.history[0].zoneDescription.toLowerCase().indexOf(this.filterAndSortingOptions._znd.toLowerCase()) !== -1);\r\n\r\n if (this.filterAndSortingOptions._spt != '')\r\n filteredAssets = filteredAssets\r\n .filter((asset: Asset) =>\r\n asset.assetHistories[0].space.history[0].spaceType.toLowerCase().indexOf(this.filterAndSortingOptions._spt.toLowerCase()) !== -1);\r\n\r\n if (this.filterAndSortingOptions._uc != '')\r\n filteredAssets = filteredAssets\r\n .filter((asset: Asset) =>\r\n asset.assetHistories[0].assetUpdateCode.code.toLowerCase().indexOf(this.filterAndSortingOptions._uc.toLowerCase()) !== -1);\r\n\r\n if (this.filterAndSortingOptions._s != SpaceAssetSource.UNKNOWN)\r\n filteredAssets = filteredAssets\r\n .filter((asset: Asset) =>\r\n asset.assetHistories[0].source == this.filterAndSortingOptions._s);\r\n\r\n if (this.filterAndSortingOptions._st != SpaceStatus.UNKNOWN)\r\n filteredAssets = filteredAssets\r\n .filter((asset: Asset) =>\r\n asset.assetHistories[0].status == this.filterAndSortingOptions._st);\r\n\r\n return filteredAssets;\r\n\r\n }\r\n }\r\n updateSelectedAssets(asset:Asset): void {\r\n this.isSelectAll= false;\r\n if (this.assets && this.assets.length > 0) {\r\n this.selectedAssets = this.assets.filter((_sp: Asset): any => { return _sp.isSelected == true; });\r\n this.assets.forEach((asset:Asset)=>{\r\n if(asset.childAssets != null && asset.childAssets.length > 0)\r\n {\r\n this.selectedAssets = this.selectedAssets.concat(asset.childAssets.filter(x=>x.isSelected == true));\r\n }\r\n\r\n });\r\n }\r\n this.iselectedCount=this.selectedAssets.length;\r\n \r\n var selectedDeselectedAssets:Array = new Array();\r\n selectedDeselectedAssets.push(window.structuredClone(asset));\r\n if(asset.childAssets && asset.childAssets.length > 0)\r\n {\r\n\r\n var isSelected:boolean = asset.isSelected;\r\n var childAssets:Array = structuredClone(asset.childAssets);\r\n childAssets.forEach((assetSelected:Asset)=>{\r\n assetSelected.isSelected=isSelected;\r\n\r\n selectedDeselectedAssets.push(assetSelected);\r\n })\r\n\r\n \r\n\r\n }\r\n\r\n this.assetSelected.emit(selectedDeselectedAssets);\r\n }\r\n\r\n public selectDelectIFCElement(ifcElementId:number,bSelected:boolean)\r\n {\r\n if(bSelected)\r\n this.selectedElementids.push(ifcElementId);\r\n else\r\n {\r\n this.isSelectAll=false;\r\n var index:number = this.selectedElementids.findIndex(x=>x == ifcElementId);\r\n if(index != -1)\r\n this.selectedElementids.splice(index,1);\r\n }\r\n \r\n var foundAssets:Array = this.assets.filter(x=>x.ifcElements.find(y=>y.ifcElementId == ifcElementId) != null);\r\n if(foundAssets)\r\n {\r\n foundAssets.forEach(x=>x.isSelected =bSelected);\r\n }\r\n }\r\n public onSelectAll(): void {\r\n this.iselectedCount=0;\r\n if (this.assets && this.assets.length > 0) {\r\n this.selectedAssets = new Array();\r\n\r\n this.assets.forEach((asset: Asset): void => {\r\n if (asset && asset.id > 0) {\r\n asset.isSelected = this.isSelectAll;\r\n if (this.isSelectAll) {\r\n this.selectedAssets.push(asset);\r\n }\r\n if(asset.childAssets != null )\r\n {\r\n asset.childAssets.forEach((childAsset)=>{\r\n childAsset.isSelected = this.isSelectAll;\r\n if (this.isSelectAll) {\r\n this.selectedAssets.push(childAsset);\r\n }\r\n });\r\n }\r\n \r\n }\r\n });\r\n }\r\n if (this.isSelectAll)\r\n {\r\n this.iselectedCount=this.iTotalCount;\r\n this.AllAssetsSelected.emit(this.selectedAssets);\r\n }\r\n else{\r\n this.iselectedCount=this.selectedAssets.length;\r\n this.AllAssetsSelected.emit(this.assets);\r\n }\r\n\r\n }\r\n public onRefresh(): void {\r\n // get space(s)\r\n\r\n this.resetView();\r\n this.clearGridFilters();\r\n this.setFilterOptions();\r\n \r\n this.loadAssets(true);\r\n }\r\n\r\n\r\n public resetView(): void {\r\n this.isSelectAll = false;\r\n if (this.assets && this.assets.length > 0) {\r\n this.assets.forEach((asset: Asset): void => {\r\n asset.isSelected = false;\r\n asset.isCollapsed=true;\r\n });\r\n }\r\n if(this.isClearSelectedOnRefresh)\r\n this.selectedAssets = new Array();\r\n this.filterAndSortingOptions = new AssetsFilterModel();\r\n }\r\n\r\n public UpdateAssetsInList(updatedAssets: Array): void {\r\n if (updatedAssets && updatedAssets.length > 0) {\r\n this.MergeUpdateAssets(updatedAssets);\r\n }\r\n }\r\n public UpdateSpaceInList(updatedAssets:Array,space:Space)\r\n {\r\n updatedAssets.forEach((asset:Asset)=>{\r\n var parentAsset:Asset = this.assets.find(x=>x.id == asset.id);\r\n if(parentAsset != null && parentAsset != undefined)\r\n {\r\n if(parentAsset.assetHistories != null && parentAsset.assetHistories.length > 0)\r\n parentAsset.assetHistories[0].space=space;\r\n }\r\n else\r\n {\r\n for(var i= 0;i 0)\r\n {\r\n var childAsset:Asset = parentAsset.childAssets.find(x=>x.id == asset.id);\r\n if(childAsset != null && childAsset != undefined)\r\n {\r\n if(childAsset.assetHistories != null && childAsset.assetHistories.length > 0)\r\n childAsset.assetHistories[0].space=space;\r\n break;\r\n\r\n }\r\n }\r\n }\r\n }\r\n\r\n });\r\n \r\n }\r\n\r\n public UpdatePhotosInList(updatedAssets: Array) {\r\n\r\n if(updatedAssets != null && updatedAssets.length > 0)\r\n {\r\n updatedAssets.forEach((updatedAsset:Asset)=>{\r\n var assetFound:Asset = this.assets.find(x=>x.id == updatedAsset.id);\r\n if(assetFound != null && assetFound != undefined)\r\n {\r\n \r\n assetFound.assetHistories[0].photos = updatedAsset.assetHistories[0].photos;\r\n assetFound.ifcElements=updatedAsset.ifcElements;\r\n }\r\n else\r\n {\r\n var bFound:boolean = false;\r\n for(var iParentAsset:number = 0;iParentAsset < this.assets.length;iParentAsset++)\r\n {\r\n\r\n if(this.assets[iParentAsset].childAssets != null && this.assets[iParentAsset].childAssets.length > 0)\r\n {\r\n for(var iChildAsset:number =0;iChildAsset < this.assets[iParentAsset].childAssets.length;iChildAsset++)\r\n {\r\n if(this.assets[iParentAsset].childAssets[iChildAsset].id == updatedAsset.id)\r\n {\r\n this.assets[iParentAsset].childAssets[iChildAsset].assetHistories[0].photos = updatedAsset.assetHistories[0].photos;\r\n this.assets[iParentAsset].childAssets[iChildAsset].ifcElements=updatedAsset.ifcElements;\r\n bFound = true;\r\n break;\r\n }\r\n }\r\n if(bFound)\r\n break;\r\n }\r\n\r\n }\r\n \r\n }\r\n\r\n });\r\n }\r\n \r\n }\r\n\r\n public UpdateSpaceMatch(updatedAssets:Array)\r\n {\r\n if(updatedAssets != null && updatedAssets.length > 0)\r\n {\r\n updatedAssets.forEach((updatedAsset:Asset)=>{\r\n var assetFound:Asset = this.assets.find(x=>x.id == updatedAsset.id);\r\n if(assetFound != null && assetFound != undefined)\r\n {\r\n assetFound.matchedSpace= updatedAsset.matchedSpace;\r\n }\r\n else\r\n {\r\n var bFound:boolean = false;\r\n for(var iParentAsset:number = 0;iParentAsset < this.assets.length;iParentAsset++)\r\n {\r\n\r\n if(this.assets[iParentAsset].childAssets != null && this.assets[iParentAsset].childAssets.length > 0)\r\n {\r\n for(var iChildAsset:number =0;iChildAsset < this.assets[iParentAsset].childAssets.length;iChildAsset++)\r\n {\r\n if(this.assets[iParentAsset].childAssets[iChildAsset].id == updatedAsset.id)\r\n {\r\n this.assets[iParentAsset].childAssets[iChildAsset].matchedSpace= updatedAsset.matchedSpace;\r\n bFound = true;\r\n break;\r\n }\r\n }\r\n if(bFound)\r\n break;\r\n }\r\n\r\n }\r\n \r\n }\r\n\r\n });\r\n }\r\n }\r\n public UpdateDocuments(updatedAssets: Array) {\r\n if(updatedAssets != null && updatedAssets.length > 0)\r\n {\r\n updatedAssets.forEach((updatedAsset:Asset)=>{\r\n var assetFound:Asset = this.assets.find(x=>x.id == updatedAsset.id);\r\n if(assetFound != null && assetFound != undefined)\r\n {\r\n \r\n assetFound.ifcElements=updatedAsset.ifcElements;\r\n if(assetFound != null && updatedAsset.documents != null && updatedAsset.documents.length > 0)\r\n {\r\n if(assetFound.documents == null)\r\n assetFound.documents = new Array();\r\n updatedAsset.documents.forEach(x=>assetFound.documents.push(x));\r\n }\r\n }\r\n else\r\n {\r\n var bFound:boolean = false;\r\n for(var iParentAsset:number = 0;iParentAsset < this.assets.length;iParentAsset++)\r\n {\r\n\r\n if(this.assets[iParentAsset].childAssets != null && this.assets[iParentAsset].childAssets.length > 0)\r\n {\r\n for(var iChildAsset:number =0;iChildAsset < this.assets[iParentAsset].childAssets.length;iChildAsset++)\r\n {\r\n if(this.assets[iParentAsset].childAssets[iChildAsset].id == updatedAsset.id)\r\n {\r\n this.assets[iParentAsset].childAssets[iChildAsset].ifcElements=updatedAsset.ifcElements;\r\n if(this.assets[iParentAsset].childAssets[iChildAsset] != null && updatedAsset.documents != null && updatedAsset.documents.length > 0)\r\n {\r\n if(this.assets[iParentAsset].childAssets[iChildAsset].documents == null)\r\n this.assets[iParentAsset].childAssets[iChildAsset].documents = new Array();\r\n updatedAsset.documents.forEach(x=>this.assets[iParentAsset].childAssets[iChildAsset].documents.push(x));\r\n }\r\n bFound = true;\r\n break;\r\n }\r\n }\r\n if(bFound)\r\n break;\r\n }\r\n\r\n }\r\n \r\n }\r\n\r\n });\r\n }\r\n \r\n }\r\n\r\n public getSelectedAssets(): Array {\r\n var selectedAssets: Array;\r\n if (this.assets && this.assets.length > 0) {\r\n selectedAssets = this.assets.filter((_asset: Asset): any => { return _asset.isSelected == true; });\r\n this.assets.forEach((asset:Asset)=>{\r\n if(asset.childAssets != null && asset.childAssets.length > 0)\r\n {\r\n selectedAssets = selectedAssets.concat(asset.childAssets.filter(x=>x.isSelected == true));\r\n }\r\n\r\n });\r\n }\r\n return selectedAssets;\r\n }\r\n\r\n public UpdateAssetStatusInList(updatedAssets: Array, status: SpaceStatus, updateCode: AssetUpdateCode,bIncludeChild:boolean = false) {\r\n if (updatedAssets && updatedAssets.length > 0) {\r\n var updatedCounts:Array = new Array();\r\n updatedAssets.forEach((asset: Asset) => {\r\n if (asset && asset.id > 0) {\r\n var foundParent: Asset = this.assets.find(_asset => _asset && _asset.id == asset.id);\r\n\r\n //if this is found as parent - update that and if child to be updated update it\r\n if (foundParent != null) {\r\n //due to certain parent and child selections, this could come multiple times here\r\n \r\n if(updatedCounts.find(x=>x == foundParent.id) == null && (foundParent.assetHistories[0].status != status))\r\n updatedCounts.push(foundParent.id);\r\n //updating only status property and updateCode - as updatecode needs to be updated in grid if latest open code changed\r\n foundParent.ifcElements=[];\r\n foundParent.assetHistories[0].status = status;\r\n foundParent.assetHistories[0].assetUpdateCode = updateCode;\r\n \r\n //if bIncludeChild then \r\n if(bIncludeChild)\r\n {\r\n if(foundParent.childAssets != null &&foundParent.childAssets.length > 0)\r\n {\r\n foundParent.childAssets.forEach((childAsset)=>{\r\n if(childAsset != null && childAsset.assetHistories != null && childAsset.assetHistories.length > 0)\r\n {\r\n if(updatedCounts.find(x=>x == childAsset.id) == null && (childAsset.assetHistories[0].status != status))\r\n updatedCounts.push(childAsset.id);\r\n childAsset.ifcElements=[];\r\n childAsset.assetHistories[0].status = status;\r\n childAsset.assetHistories[0].assetUpdateCode=updateCode;\r\n \r\n }\r\n\r\n });\r\n }\r\n }\r\n \r\n }\r\n else if(asset.assetHistories != null && asset.assetHistories.length > 0 && asset.assetHistories[0].parentAsset != null)\r\n {\r\n //if found as child then take the parent and just find the child assets and update that child\r\n var childAsset:Asset = null;\r\n\r\n var parentAsset:Asset = this.assets.find(x=>x.id == asset.assetHistories[0].parentAsset.id );\r\n \r\n if(parentAsset != null && parentAsset.childAssets.length > 0)\r\n {\r\n childAsset = parentAsset.childAssets.find(x=>x.id == asset.id);\r\n if(childAsset != null && childAsset.assetHistories != null && childAsset.assetHistories.length > 0)\r\n {\r\n if(updatedCounts.find(x=>x== childAsset.id) == null && (childAsset.assetHistories[0].status != status))\r\n updatedCounts.push(childAsset.id);\r\n childAsset.ifcElements=[];\r\n childAsset.assetHistories[0].status = status;\r\n childAsset.assetHistories[0].assetUpdateCode=updateCode;\r\n \r\n }\r\n }\r\n \r\n \r\n }\r\n }\r\n });\r\n\r\n if(this.isSelectAll)\r\n {\r\n this.iarchiveCount=0;\r\n this.iactiveCount=0; \r\n if(status==SpaceStatus.ARCHIVED)\r\n {\r\n this.iarchiveCount=this.iselectedCount;\r\n this.iactiveCount=this.iTotalCount-(this.iarchiveCount);\r\n }\r\n\r\n if(status==SpaceStatus.ACTIVE)\r\n {\r\n this.iactiveCount=this.iTotalCount;\r\n }\r\n }\r\n else{\r\n //if archived status is increasing do this\r\n //else number remain same\r\n if(status == SpaceStatus.ARCHIVED)\r\n this.iarchiveCount+=updatedCounts.length;\r\n //if restore i.e. status ACTIVE then we need to reduce the archive count by this number\r\n else if(status == SpaceStatus.ACTIVE)\r\n this.iarchiveCount -= updatedCounts.length;\r\n this.iactiveCount=this.iTotalCount-this.iarchiveCount;\r\n }\r\n }\r\n }\r\n\r\n public RemoveDeletedAssetsFromList(deletedAssets: Array): void {\r\n if (deletedAssets && deletedAssets.length > 0) {\r\n var iDeletedAssets:Array = new Array();\r\n deletedAssets.forEach((asset: Asset) => {\r\n if (asset && asset.id > 0) {\r\n \r\n var index: number = this.assets.findIndex(_asset => _asset && _asset.id == asset.id);\r\n if(index != -1) // this means parent\r\n {\r\n iDeletedAssets.push(asset);\r\n if(asset.childAssets != null)\r\n {\r\n asset.childAssets.forEach((childAsset)=>iDeletedAssets.push(childAsset));\r\n }\r\n this.assets.splice(index, 1);\r\n }\r\n else\r\n {\r\n //this means child.First find parent and then from parent take the child index comingin and delete that\r\n if(asset.assetHistories != null && asset.assetHistories.length > 0 && asset.assetHistories[0].parentAsset != null)\r\n {\r\n var index: number = this.assets.findIndex(_asset => _asset && _asset.id == asset.assetHistories[0].parentAsset.id);\r\n if(index != -1)\r\n {\r\n if(this.assets[index].childAssets != null)\r\n {\r\n var childIndex =this.assets[index].childAssets.findIndex(_asset => _asset && _asset.id == asset.id);\r\n if(childIndex != -1)\r\n {\r\n iDeletedAssets.push(this.assets[index].childAssets[childIndex]);\r\n this.assets[index].childAssets.splice(childIndex,1);\r\n \r\n }\r\n\r\n }\r\n }\r\n }\r\n }\r\n }\r\n });\r\n this.iTotalCount-=iDeletedAssets.length;\r\n this.iselectedCount-=iDeletedAssets.length;\r\n this.iarchiveCount-=iDeletedAssets.filter(x=>x.assetHistories[0].status==SpaceStatus.ARCHIVED).length;\r\n this.iactiveCount=this.iTotalCount-this.iarchiveCount;\r\n \r\n }\r\n }\r\n\r\n onExportClick()\r\n {\r\n var bGetAll:boolean = this.isSelectAll;\r\n var selectedIds:string = \"\";\r\n if(this.selectedAssets != null && this.selectedAssets.length > 0)\r\n {\r\n this.selectedAssets.forEach((asset)=>{\r\n selectedIds += asset.id.toString() + \",\";\r\n\r\n });\r\n }\r\n this.projectService.exportAssets(this.projectId,this.filterAndSortingOptions,bGetAll,selectedIds)\r\n\r\n }\r\n\r\n showIconDetails(elementId:string){\r\n var id=\"#\"+elementId;\r\n $(id).toggleClass('show-popver hide-popover');\r\n }\r\n \r\n getUniqueIfcElements(ifcElements:Array)\r\n {\r\n const arrayUniqueelements = [...new Map(ifcElements.map(item => [item.documentId, item])).values()];\r\n return arrayUniqueelements;\r\n }\r\n \r\n \r\n}\r\n\r\n","
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n {{ column.name | translate }} \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\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.CommonLabel.lblAll' | translate }}\r\n {{ 'ProjectManagerSettings.Spaces.lblCSV' | translate }}\r\n {{ 'ProjectManagerSettings.Spaces.lblManual' | translate }}\r\n \r\n \r\n {{ 'Settings.CommonLabel.lblAll' | translate }}\r\n {{ 'ProjectManagerSettings.Assets.lblSpaceDifferent' | translate }}\r\n {{ 'ProjectManagerSettings.Assets.lblSpaceSame' | translate }}\r\n \r\n \r\n {{ 'Settings.CommonLabel.lblAll' | translate }}\r\n {{buildingName.name}}\r\n \r\n \r\n {{ 'Settings.CommonLabel.lblAll' | translate }}\r\n {{zoneName.name}}\r\n \r\n \r\n {{ 'Settings.CommonLabel.lblAll' | translate }}\r\n {{siteName.name}}\r\n \r\n \r\n {{ 'Settings.CommonLabel.lblAll' | translate }}\r\n {{circuit.name}}\r\n \r\n \r\n {{ 'Settings.CommonLabel.lblAll' | translate }}\r\n {{ 'ProjectManagerSettings.Spaces.lblActive' | translate }}\r\n {{ 'ProjectManagerSettings.Spaces.lblArchived' | translate }}\r\n \r\n\r\n \r\n
\r\n \r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n
\r\n \r\n \r\n
\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.CommonLabel.lblAll' | translate }}\r\n {{'Settings.CommonLabel.Yes' | translate}}\r\n {{ 'Settings.CommonLabel.No' | translate}}\r\n \r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n {{ column.name | translate }}\r\n
\r\n
\r\n
{{ asset.assetHistories[0].discipline }}
\r\n
\r\n
\r\n
{{ asset.code }}
\r\n
\r\n
\r\n
{{ asset.assetHistories[0].parentAsset != null ? asset.assetHistories[0].parentAsset.code:'' }}
\r\n
\r\n
\r\n
{{ asset.assetHistories[0].assetClassification }}
\r\n
\r\n
\r\n
{{ asset.assetHistories[0].assetDescription }}
\r\n
\r\n
\r\n
{{ asset.assetHistories[0].space.siteName }}
\r\n
\r\n
\r\n
{{ asset.assetHistories[0].space.buildingName }}
\r\n
\r\n
\r\n
{{ asset.assetHistories[0].space.code }}
\r\n
\r\n
\r\n
{{ asset.assetHistories[0].space.history[0].zone }}
\r\n
\r\n
\r\n
{{ asset.assetHistories[0].space.history[0].spaceName }}
\r\n
\r\n
\r\n
{{ asset.assetHistories[0].space.history[0].zoneDescription }}
\r\n
\r\n
\r\n
{{ asset.assetHistories[0].assetName }}
\r\n
\r\n
\r\n
{{ asset.assetHistories[0].assetAccountable }}
\r\n
\r\n
\r\n
{{ asset.assetHistories[0].assetUpdateCode.code }}
\r\n
\r\n
\r\n
{{ asset.assetHistories[0].space.history[0].spaceType }}
\r\n
\r\n
\r\n
{{ asset.assetHistories[0].space.level }}
\r\n
\r\n
\r\n
{{ asset.assetHistories[0].lastModified | date: 'dd-MM-yyyy'}}
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\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
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
-
\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
\r\n
\r\n
\r\n\r\n
    \r\n
  • {{document.name}}
  • \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
0 ? 'orange':'green'\">\r\n {{ asset.openTickets }} / {{asset.totalTickets }}\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n -\r\n
\r\n
\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
\r\n
\r\n
\r\n
\r\n
0\">\r\n
\r\n \r\n
\r\n
\r\n
Projects.projectDetailsView.lblLinkedModels
\r\n
\r\n
    \r\n
  • {{element.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 {{ getAddlColumnValue(column,asset)}}\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n
0\" id=\"{{'assetChildColumn_'+asset.id}}\">\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n {{ column.name | translate }}\r\n
\r\n
\r\n
{{ childAsset.assetHistories[0].discipline }}
\r\n
\r\n
\r\n
{{ childAsset.code }}
\r\n
\r\n
\r\n
{{ asset.code }}
\r\n
\r\n
\r\n
{{ childAsset.assetHistories[0].assetClassification }}
\r\n
\r\n
\r\n
{{ childAsset.assetHistories[0].assetDescription }}
\r\n
\r\n
\r\n
{{ childAsset.assetHistories[0].space.siteName }}
\r\n
\r\n
\r\n
{{ childAsset.assetHistories[0].space.buildingName }}
\r\n
\r\n
\r\n
{{ childAsset.assetHistories[0].space.code }}
\r\n
\r\n
\r\n
{{ childAsset.assetHistories[0].space.history[0].spaceName }}
\r\n
\r\n
\r\n
{{ childAsset.assetHistories[0].space.history[0].zone }}
\r\n
\r\n
\r\n
{{ childAsset.assetHistories[0].space.history[0].zoneDescription }}
\r\n
\r\n
\r\n
{{ childAsset.assetHistories[0].assetName }}
\r\n
\r\n
\r\n
{{ childAsset.assetHistories[0].assetAccountable }}
\r\n
\r\n
\r\n
{{ childAsset.assetHistories[0].assetUpdateCode.code }}
\r\n
\r\n
\r\n
{{ childAsset.assetHistories[0].space.history[0].spaceType }}
\r\n
\r\n
\r\n
{{ childAsset.assetHistories[0].space.level }}
\r\n
\r\n
\r\n
{{ childAsset.assetHistories[0].lastModified | date: 'dd-MM-yyyy'}}
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\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
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
-
\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
\r\n
\r\n
\r\n \r\n
    \r\n
  • {{document.name}}
  • \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
0 ? 'orange':'green'\">\r\n {{ childAsset.openTickets }} / {{childAsset.totalTickets }}\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n -\r\n
\r\n
\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
\r\n
\r\n
\r\n
\r\n
0\">\r\n
\r\n \r\n
\r\n
\r\n
Projects.projectDetailsView.lblLinkedModels
\r\n
\r\n
    \r\n
  • {{element.name}}
  • \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n {{ getAddlColumnValue(column,childAsset)}}\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n \r\n \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.CommonLabel.lblSorting
\r\n \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.CommonLabel.lblFilters
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n {{ column.name | translate }}\r\n
\r\n
\r\n \r\n\r\n \r\n {{ 'Settings.CommonLabel.lblAll' | translate }}\r\n {{ 'ProjectManagerSettings.Spaces.lblCSV' | translate }}\r\n {{ 'ProjectManagerSettings.Spaces.lblManual' | translate }}\r\n \r\n\r\n \r\n {{ 'Settings.CommonLabel.lblAll' | translate }}\r\n {{ 'ProjectManagerSettings.Spaces.lblActive' | translate }}\r\n {{ 'ProjectManagerSettings.Spaces.lblArchived' | translate }}\r\n \r\n \r\n
\r\n \r\n \r\n
\r\n \r\n
\r\n \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, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-common-menu-controls',\r\n templateUrl: './common-menu-controls.component.html',\r\n styleUrls: ['./common-menu-controls.component.css']\r\n})\r\nexport class CommonMenuControlsComponent implements OnInit {\r\n @Output() public onAddClick = new EventEmitter;\r\n @Output() public onEditClick = new EventEmitter;\r\n @Output() public onDeleteClick = new EventEmitter;\r\n @Output() public onRefreshClick = new EventEmitter;\r\n @Input() public IsEditEnabled:boolean=true;\r\n @Input() public IsAddEnabled:boolean=true;\r\n @Input() public IsDeleteEnabled:boolean=true;\r\n @Input() public IsExportEnabled:boolean=true;\r\n @Input() public IsRefreshDisabled:boolean = false;\r\n @Output() public onExportClick = new EventEmitter;\r\n constructor() { }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n public onRefresh(): void {\r\n this.onRefreshClick.emit();\r\n }\r\n\r\n public onAdd(): void {\r\n this.onAddClick.emit();\r\n }\r\n\r\n public onEdit(): void {\r\n this.onEditClick.emit();\r\n }\r\n public onDelete(): void {\r\n this.onDeleteClick.emit();\r\n }\r\n public ExportClick():void{\r\n this.onExportClick.emit();\r\n }\r\n\r\n}\r\n","
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n \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, EventEmitter, inject, Injector, Input, OnInit, Output } from '@angular/core';\r\nimport { BaseComponent } from '../BaseComponent';\r\n\r\n@Component({\r\n selector: 'app-confirmation-popup',\r\n templateUrl: './confirmation-popup.component.html',\r\n styleUrls: ['./confirmation-popup.component.css']\r\n})\r\nexport class ConfirmationPopupComponent extends BaseComponent implements OnInit {\r\n\r\n @Input() id: string;\r\n @Input() title: string;\r\n @Input() message: string;\r\n @Output() confirm = new EventEmitter();\r\n\r\n constructor(injector:Injector) {\r\n super(injector);\r\n if (this.id == '') {\r\n this.id = \"confirmationPopup\";\r\n }\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n onConfirm(): void {\r\n this.confirm.emit();\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 {{message}}\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-grid-loader',\r\n templateUrl: './grid-loader.component.html',\r\n styleUrls: ['./grid-loader.component.css']\r\n})\r\nexport class GridLoaderComponent implements OnInit {\r\n\r\n constructor() { }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n}\r\n","\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
Loading...
\r\n
\r\n
\r\n","\r\nimport { Component, ElementRef, EventEmitter, Injector, Input, OnInit, Output, SimpleChanges, ViewChild } from '@angular/core';\r\nimport { fromEvent } from 'rxjs';\r\nimport { debounceTime, distinctUntilChanged, map } from 'rxjs/operators';\r\nimport { ProjectService } from 'src/app/services/project.service';\r\nimport { BIMModel } from 'src/shared/Models/API/document';\r\nimport { BIMFilterModel } from 'src/shared/Models/API/filtermodel';\r\nimport { Asset } from 'src/shared/Models/Asset';\r\nimport { Space } from 'src/shared/Models/space';\r\nimport { SortOrder } from 'src/shared/UI/ViewTypes';\r\nimport { SortUtil } from 'src/shared/utilities/SortUtil';\r\nimport { BaseComponent } from '../BaseComponent';\r\n\r\n@Component({\r\n selector: 'app-ifc-mapping',\r\n templateUrl: './ifc-mapping.component.html',\r\n styleUrls: ['./ifc-mapping.component.css']\r\n})\r\nexport class IfcMappingComponent extends BaseComponent implements OnInit {\r\n @Input()\r\n public space: Space;\r\n @Input()\r\n public asset: Asset;\r\n @Input() projectId: number;\r\n public bimModels: Array = new Array();\r\n public filteredbimModels: Array = new Array();\r\n public _searchByname: string = '';\r\n @ViewChild(\"attributeSearchnameref\", { static: true }) eleName: ElementRef;\r\n _sortOrder=SortOrder;\r\n @Output() matchEvent: EventEmitter> = new EventEmitter>();\r\n constructor(injector: Injector, private projectService: ProjectService) {\r\n super(injector)\r\n }\r\n\r\n ngOnInit() {\r\n this.bindKeyUpEvent();\r\n }\r\n ngOnChanges(changes: SimpleChanges) {\r\n if (changes && (changes.space && changes.space.currentValue || changes.asset && changes.asset.currentValue)) {\r\n this.resetFilters();\r\n this.loadProjectLinkedModels();\r\n }\r\n }\r\n loadProjectLinkedModels(): void {\r\n let filtermodel:BIMFilterModel= new BIMFilterModel();\r\n if (this.space && this.space.id > 0) { \r\n filtermodel._sm=true;\r\n }\r\n if (this.asset && this.asset.id > 0) {\r\n filtermodel._am=true;\r\n }\r\n this.projectService.getProjectLinkedModels(this.projectId,filtermodel).subscribe((linkedModels: Array) => {\r\n this.bimModels=linkedModels;\r\n this.UpdateFilteredList();\r\n });\r\n }\r\n\r\n\r\n changedocSelection(id, e): void {\r\n var status = e.target.checked;\r\n this.filteredbimModels.forEach(x => x.documentStatus.isselected = false);\r\n if (status && id > 0) {\r\n this.filteredbimModels.find(x => x.id == id).isSelected == true;\r\n }\r\n }\r\n getFileIconClass = function (extension: string): string {\r\n let returnclass: string = \"unknown\";\r\n extension = (extension && extension.length > 0) ? extension.replace(\".\", \"\") : \"unknown\";\r\n if (this._fileTypes.includes(extension.toLowerCase())) {\r\n returnclass = extension.toLowerCase();\r\n }\r\n return returnclass;\r\n }\r\n\r\n UpdateFilteredList() {\r\n this.applyFilter();\r\n }\r\n resetFilters() {\r\n this._searchByname = '';\r\n }\r\n private bindKeyUpEvent(): void {\r\n var elements: Array = new Array();\r\n elements = [\r\n this.eleName\r\n ];\r\n elements.forEach((ele: ElementRef): void => {\r\n fromEvent(ele.nativeElement, \"keyup\")\r\n .pipe(\r\n // Get value\r\n map((event: any) => {\r\n return event.target.value;\r\n }),\r\n // Time in milliseconds between key events\r\n debounceTime(1000),\r\n // IF previous query is diffent from current\r\n distinctUntilChanged()\r\n // Subscription for response\r\n )\r\n .subscribe((text: string) => {\r\n this.applyFilter();\r\n });\r\n });\r\n }\r\n applyFilter(): void {\r\n this.filteredbimModels = this.bimModels.filter((item) =>\r\n item.name.toLowerCase().indexOf(this._searchByname.toLowerCase()) !== -1);\r\n }\r\n SortBy(order: SortOrder, _colName: string) {\r\n new SortUtil().sortByProperty(this.filteredbimModels, _colName, order);\r\n }\r\n OnMatch(item:BIMModel)\r\n {\r\n var bimModels:Array=[];\r\n bimModels.push(item);\r\n this.onEmitMatchModels(bimModels);\r\n }\r\n OnMatchAll()\r\n {\r\n this.onEmitMatchModels(this.filteredbimModels);\r\n }\r\n OnMatchSelected()\r\n {\r\n var selbimModels:Array=this.filteredbimModels.filter(x=>x.isSelected==true);\r\n if(selbimModels && selbimModels.length>0)\r\n {\r\n this.onEmitMatchModels(selbimModels);\r\n }\r\n else\r\n {\r\n this.errorMsg(this.translate.instant('Projects.linkedModelsPane.errselectmodel'));\r\n }\r\n }\r\n onEmitMatchModels(bimModels:Array)\r\n {\r\n this.matchEvent.emit(bimModels);\r\n }\r\n}\r\n"," \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
Settings.CommonLabel.lblFileName
\r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n
\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.name}}
\r\n
{{item.fileSize|BytesToSize}}
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n","import { Component, EventEmitter, Injector, Input, OnInit, Output } from '@angular/core';\r\nimport { IFCElementModel } from 'src/shared/Models/API/IFCElementModel';\r\nimport { BaseComponent } from '../BaseComponent';\r\n\r\n@Component({\r\n selector: 'app-linked-models-popup',\r\n templateUrl: './linked-models-popup.component.html',\r\n styleUrls: ['./linked-models-popup.component.css']\r\n})\r\nexport class LinkedModelsPopupComponent extends BaseComponent implements OnInit {\r\n\r\n constructor(injector:Injector) {\r\n super(injector);\r\n }\r\n @Input() ifcElements :Array;\r\n @Output() selectEvent: EventEmitter = new EventEmitter();\r\n selectedmodel:number;\r\n ngOnInit() {\r\n \r\n }\r\n onclose()\r\n {\r\n this.selectedmodel=null;\r\n }\r\n onViewClick()\r\n {\r\n if(this.selectedmodel && this.selectedmodel>0)\r\n {\r\n this.selectEvent.emit(this.selectedmodel);\r\n this.onclose();\r\n }\r\n else\r\n {\r\n this.errorMsg(this.translate.instant('Projects.linkedModelsPane.errselectmodel'));\r\n }\r\n }\r\n\r\n}\r\n","\r\n
\r\n
\r\n
\r\n
\r\n
Projects.projectDetailsView.lblLinkedModels
\r\n \r\n
\r\n
\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, Input, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-loader',\r\n templateUrl: './loader.component.html',\r\n styleUrls: ['./loader.component.css']\r\n})\r\nexport class LoaderComponent implements OnInit {\r\n\r\n @Input(\"message\") message: string;\r\n\r\n constructor() { }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n}\r\n","
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
{{message}}
\r\n
","import { Component, Input, OnInit } from '@angular/core';\r\nimport { MessageModel, MessageTypes } from 'src/shared/Models/Internal/MessageModel';\r\n\r\n@Component({\r\n selector: 'app-message',\r\n templateUrl: './message.component.html',\r\n styleUrls: ['./message.component.css']\r\n})\r\nexport class MessageComponent implements OnInit {\r\n\r\n @Input(\"model\") model: MessageModel;\r\n\r\n public messageTypes = MessageTypes;\r\n\r\n constructor() { }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n hidePopup(): void {\r\n this.model.message = '';\r\n this.model.type = MessageTypes.none;\r\n }\r\n}\r\n","
\r\n \r\n \r\n {{model.message}}\r\n
\r\n","import { Component, Injector, OnInit, Output,EventEmitter, Input } from '@angular/core';\r\nimport { stringify } from 'querystring';\r\n\r\nimport { BaseComponent } from '../BaseComponent';\r\n\r\n@Component({\r\n selector: 'app-name-desc-popup',\r\n templateUrl: './name-desc-popup.component.html',\r\n styleUrls: ['./name-desc-popup.component.css']\r\n})\r\nexport class NameDescPopupComponent extends BaseComponent implements OnInit {\r\n\r\n @Input() public modalTitle:string ='';\r\n @Input() public name:string='';\r\n @Input() public description:string='';\r\n @Input() public id:number =0;\r\n @Output() public saveEvent = new EventEmitter();\r\n @Output() public closeEvent = new EventEmitter();\r\n \r\n constructor(injector:Injector) {\r\n super(injector);\r\n }\r\n\r\n ngOnInit() {\r\n\r\n }\r\n\r\n validateDetails():boolean\r\n {\r\n var validated:boolean = false;\r\n if(this.name == null || this.name.trim().length == 0)\r\n {\r\n super.errorMsg(this.translate.instant(\"Settings.error.UserNameRequiredError\"));\r\n return validated;\r\n }\r\n validated =true;\r\n\r\n return validated;\r\n }\r\n\r\n savedetails()\r\n {\r\n if(this.validateDetails())\r\n {\r\n this.saveEvent.emit({name: this.name, description: this.description});\r\n\r\n \r\n }\r\n }\r\n\r\n closeDetails()\r\n {\r\n this.closeEvent.emit();\r\n \r\n }\r\n}\r\n","
\r\n
\r\n
\r\n
\r\n
{{ modalTitle }}
\r\n \r\n
\r\n
\r\n
\r\n
\r\n {{'Settings.CommonLabel.lblName' | translate }} :
\r\n
\r\n \r\n *\r\n
\r\n
\r\n
\r\n
\r\n {{ 'Settings.CommonLabel.lblDesc' | translate }} :\r\n
\r\n \r\n
\r\n\r\n
\r\n \r\n
\r\n
\r\n
","import { HttpClient, HttpErrorResponse } from \"@angular/common/http\";\r\nimport { Injectable } from \"@angular/core\";\r\nimport { Resolve, ActivatedRouteSnapshot } from \"@angular/router\";\r\nimport { Observable,EMPTY, of, throwError } from \"rxjs\";\r\nimport { catchError, map } from \"rxjs/operators\";\r\nimport { ProjectJSStoreService } from \"src/app/services/localdb/JSStore/project-jsstore.service\";\r\nimport { StorageService } from \"src/app/services/storage.service\";\r\n\r\nimport { environment } from \"src/environments/environment\";\r\nimport { Project } from \"src/shared/Models/API/Project\";\r\nimport { Role } from \"src/shared/Models/API/role\";\r\nimport { OrganisationTreeNode, Scope, ScopeType } from \"src/shared/Models/scope-tree\";\r\nimport { AuthService } from \"../authentication/auth.service\";\r\n\r\n\r\n@Injectable()\r\nexport class OrganizationHierarchyResolve implements Resolve {\r\n constructor(private auth: AuthService,private http: HttpClient,private storageService:StorageService,\r\n private projectJSStoreService:ProjectJSStoreService) {\r\n\r\n }\r\n private appURL: string = '/User';\r\n private apiURL = environment.WebAPIURL;\r\n public data:OrganisationTreeNode;\r\n\r\n resolve(route: ActivatedRouteSnapshot): Observable {\r\n var user = this.auth.getUser();\r\n return this.http.get(this.apiURL + this.appURL + '/' + user.id.toString() + '/OrgHierarchy').pipe(\r\n map(dataFromApi => dataFromApi),\r\n catchError(async err => {\r\n //return of({error:\"error\"})\r\n if (this.storageService.getIsMobile()) {\r\n //query from index db if not able to connect to server from mobile device\r\n var projects =await this.projectJSStoreService.getProjects();\r\n return this.getScopeTreeFromIndexDB(projects);\r\n }\r\n else\r\n return EMPTY\r\n }));\r\n }\r\n\r\n getScopeTreeFromIndexDB(_projects:Array)\r\n {\r\n var scopetree:OrganisationTreeNode=null;\r\n var user = this.auth.getUser();\r\n if(user!=null && user.id>0)\r\n {\r\n scopetree= new OrganisationTreeNode();\r\n scopetree.scope= new Scope();\r\n scopetree.scope.type=ScopeType.ORGANIZATION;\r\n scopetree.scope.id=user.organization.id;\r\n scopetree.name=user.organization.name;\r\n if(_projects!=null && _projects.length>0)\r\n {\r\n scopetree.children= Array();\r\n _projects.forEach((item:Project)=>{\r\n var _childtreenode=new OrganisationTreeNode();\r\n _childtreenode.scope= new Scope();\r\n _childtreenode.scope.type=ScopeType.PROJECT;\r\n _childtreenode.scope.id=item.id;\r\n _childtreenode.scope.role=item.role;\r\n _childtreenode.scope.project=item;\r\n _childtreenode.name=item.name;\r\n scopetree.children.push(_childtreenode);\r\n });\r\n\r\n }\r\n }\r\n return scopetree;\r\n }\r\n\r\n}\r\n","import { Pipe, PipeTransform } from \"@angular/core\";\r\n\r\n@Pipe({\r\n name: \"sort\"\r\n})\r\nexport class ArraySortPipe implements PipeTransform {\r\n transform(array: any, field: string): any[] {\r\n if (!Array.isArray(array)) {\r\n return;\r\n }\r\n array.sort((a: any, b: any) => {\r\n if (a[field] < b[field]) {\r\n return -1;\r\n } else if (a[field] > b[field]) {\r\n return 1;\r\n } else {\r\n return 0;\r\n }\r\n });\r\n return array;\r\n }\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({\r\n name: 'BytesToSize'\r\n})\r\nexport class BytesToSizePipe implements PipeTransform {\r\n\r\n transform(bytes: number, decimals: number = 2): string {\r\n if (bytes === 0 || bytes === 1) return bytes + ' Byte';\r\n const k = 1024;\r\n const dm = decimals < 0 ? 0 : decimals;\r\n const sizes = ['Bytes', 'KB', 'MB', 'GB', 'TB', 'PB', 'EB', 'ZB', 'YB'];\r\n const i = Math.floor(Math.log(bytes) / Math.log(k));\r\n return parseFloat((bytes / Math.pow(k, i)).toFixed(dm)) + ' ' + sizes[i];\r\n }\r\n}\r\n","import { Component, Pipe, PipeTransform } from '@angular/core';\r\nimport { DomSanitizer } from '@angular/platform-browser';\r\n\r\n@Pipe({\r\n name: 'safeHtml'\r\n})\r\nexport class SafeHtmlPipe implements PipeTransform {\r\n constructor(private sanitized: DomSanitizer) {}\r\n transform(value) {\r\n return this.sanitized.bypassSecurityTrustHtml(value);\r\n }\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({\r\n name: 'enum-to-array'\r\n})\r\nexport class EnumToArrayPipe implements PipeTransform {\r\n transform(value, args: string[]): Array<{ key, value }> {\r\n let keys = [];\r\n for (var enumMember in value) {\r\n if (!isNaN(parseInt(enumMember, 10))) {\r\n keys.push({ key: enumMember, value: value[enumMember] });\r\n }\r\n }\r\n return keys;\r\n }\r\n}\r\n","import { HttpErrorResponse } from '@angular/common/http';\r\nimport { Component, ElementRef, EventEmitter, Injector, Input, OnInit, Output, SimpleChanges, ViewChild } from '@angular/core';\r\nimport { fromEvent } from 'rxjs';\r\nimport { debounceTime, distinctUntilChanged, map } from 'rxjs/operators';\r\nimport { BaseComponent } from 'src/app/modules/shared/BaseComponent';\r\nimport { ProjectService } from 'src/app/services/project.service';\r\nimport { CheckList } from 'src/shared/Models/API/checklist';\r\nimport { ChecklistColumns, ChecklistFilterModel } from 'src/shared/Models/API/filtermodel';\r\nimport { SortOrder } from 'src/shared/UI/ViewTypes';\r\nimport { SortUtil } from 'src/shared/utilities/SortUtil';\r\n\r\n@Component({\r\n selector: 'app-project-checklists',\r\n templateUrl: './project-checklists.component.html',\r\n styleUrls: ['./project-checklists.component.css']\r\n})\r\nexport class ProjectChecklistsComponent extends BaseComponent implements OnInit {\r\n @Input() projectId: number;\r\n @Input() SelectedChecklists: Array = new Array();\r\n @Input() isLoadChecklists: boolean = false;\r\n @Output() onSave = new EventEmitter>();\r\n @Output() oncancel = new EventEmitter();\r\n\r\n @ViewChild('dvSearchByName', { static: true }) searchedName: ElementRef;\r\n @ViewChild('dvSearchByDesc', { static: true }) searchedDesc: ElementRef;\r\n //assigning different template reference for mobile filters\r\n @ViewChild('dvSearchByName_m', { static: true }) m_searchedName: ElementRef;\r\n @ViewChild('dvSearchByDesc_m', { static: true }) m_searchedDesc: ElementRef;\r\n\r\n private sortUtil: SortUtil = new SortUtil();\r\n private checklists: Array = new Array();\r\n public filteredChecklists: Array = new Array();\r\n public filterAndSortOptions: ChecklistFilterModel = new ChecklistFilterModel();\r\n // enums\r\n public ChecklistColumns = ChecklistColumns;\r\n public _sortOrder = SortOrder;\r\n\r\n constructor(injector: Injector,\r\n private projectService: ProjectService) {\r\n super(injector);\r\n }\r\n\r\n\r\n ngOnInit() {\r\n\r\n }\r\n\r\n ngOnChanges(change: SimpleChanges) {\r\n if (change && change.isLoadChecklists && change.isLoadChecklists.currentValue) {\r\n this.checklists = new Array();\r\n this.resetFilters();\r\n this.LoadChecklists();\r\n this.BindKeyUpEvent();\r\n\r\n }\r\n }\r\n\r\n LoadChecklists() {\r\n this.projectService.getProjectChecklists(this.projectId).subscribe((_checklists: Array): void => {\r\n\r\n if (_checklists && _checklists.length > 0) {\r\n _checklists.forEach((checklist: CheckList): void => {\r\n checklist.isselected = false;\r\n if (this.SelectedChecklists != null && this.SelectedChecklists.length > 0) {\r\n var _checklist: CheckList = this.SelectedChecklists.find(x => x.id == checklist.id);\r\n if (_checklist != null)\r\n checklist.isselected = true;\r\n else\r\n checklist.isselected = false;\r\n }\r\n this.checklists.push(checklist);\r\n });\r\n }\r\n this.applyFilter();\r\n },\r\n (error: HttpErrorResponse): void => {\r\n super.handleError(error, this.translate.instant('ProjectManagerSettings.SpaceGroups.failedGetChecklists'));\r\n });\r\n\r\n }\r\n\r\n\r\n private resetFilters(): void {\r\n this.filterAndSortOptions = new ChecklistFilterModel();\r\n }\r\n\r\n private applyFilter(): void {\r\n this.filteredChecklists = this.checklists;\r\n\r\n if (this.filterAndSortOptions._n != '') {\r\n this.filteredChecklists = this.filteredChecklists\r\n .filter((checklist: CheckList) =>\r\n checklist.name.toLowerCase().indexOf(this.filterAndSortOptions._n.toLowerCase()) !== -1);\r\n }\r\n if (this.filterAndSortOptions._d != '') {\r\n this.filteredChecklists = this.filteredChecklists\r\n .filter((checklist: CheckList) =>\r\n checklist.description && checklist.description.toLowerCase().indexOf(this.filterAndSortOptions._d.toLowerCase()) !== -1);\r\n }\r\n }\r\n\r\n\r\n private BindKeyUpEvent(): void {\r\n var elements: Array = new Array();\r\n elements = [this.searchedDesc, this.searchedName, this.m_searchedDesc, this.m_searchedName];\r\n elements.forEach((ele: ElementRef): void => {\r\n fromEvent(ele.nativeElement, 'keyup').pipe(\r\n // Get value\r\n map((event: any) => {\r\n return event.target.value;\r\n })\r\n // Time in milliseconds between key events\r\n , debounceTime(1000)\r\n // IF previous query is diffent from current\r\n , distinctUntilChanged()\r\n // Subscription for response\r\n ).subscribe((text: string) => {\r\n this.applyFilter();\r\n });\r\n });\r\n }\r\n\r\n public sortBy(order: SortOrder, column: ChecklistColumns): void {\r\n this.filterAndSortOptions.ob = column;\r\n this.filterAndSortOptions.obd = order;\r\n\r\n this.sortUtil.sortByProperty(this.filteredChecklists, ChecklistColumns[column].toLowerCase(), order);\r\n }\r\n\r\n saveChecklists() {\r\n //first the UI selected checklists\r\n var selectedChecklists: Array = this.filteredChecklists.filter(x => x.isselected == true);\r\n this.onSave.emit(selectedChecklists);\r\n\r\n }\r\n public cancel() {\r\n this.oncancel.emit();\r\n\r\n }\r\n\r\n //BEGIN - Mobile functioanlities //\r\n public clearMobileFilters() {\r\n this.resetFilters();\r\n // assigning orignal array to filtered array to display in view\r\n this.filteredChecklists = this.checklists;\r\n }\r\n}\r\n\r\n","
\r\n
\r\n
\r\n
\r\n
{{ 'ProjectManagerSettings.SpaceGroups.lblAssignChecklists' | translate }}
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\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.CommonLabel.lblName
\r\n \r\n
\r\n
\r\n
Settings.CommonLabel.lblDesc
\r\n \r\n
\r\n \r\n
\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.CommonLabel.lblName' | translate }}
\r\n \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.CommonLabel.lblDesc' | translate }}
\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\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.CommonLabel.lblName' | translate }}\r\n
\r\n
{{ item.name }}
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n {{ 'Settings.CommonLabel.lblDesc' | translate }}\r\n
\r\n
{{\r\n item.description }}\r\n
\r\n\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, Input, OnInit } from '@angular/core';\r\nimport { NgxQrcodeElementTypes } from '@techiediaries/ngx-qrcode';\r\n\r\n@Component({\r\n selector: 'app-qrcode-barcode-component',\r\n templateUrl: './qrcode-barcode-component.component.html',\r\n styleUrls: ['./qrcode-barcode-component.component.css']\r\n})\r\nexport class QrcodeBarcodeComponentComponent implements OnInit {\r\n elementType = NgxQrcodeElementTypes.IMG;\r\n qrcodedata:string='';\r\n qrcodetype:string='';\r\n\r\n @Input() set QrCodeType(value) //this input to pass data\r\n {\r\n if(value)\r\n {\r\n this.qrcodetype=value;\r\n }\r\n }\r\n \r\n @Input() set Qrcodevalue(value) //this input to pass data\r\n {\r\n if(value)\r\n {\r\n this.qrcodedata=value;\r\n }\r\n }\r\n //if ur using this component only once no need to pass this below input\r\n qrcodedvid:string='qrcode'\r\n //this input is if you are using more than once in a component based on id download will happen\r\n @Input() set dvQrcodeID(value)\r\n {\r\n if(value)\r\n {\r\n this.qrcodedvid=value;\r\n }\r\n }\r\n @Input() showDownloadOption:boolean=true;\r\n constructor() { }\r\n\r\n ngOnInit() {\r\n }\r\n public downloadQRCode(qrcodedvid:string) {\r\n const fileNameToDownload = this.qrcodetype + ' QRcode ' + this.qrcodedata + \".png\";\r\n const image=document.querySelector('#'+qrcodedvid+' img') as HTMLImageElement;\r\n const base64Img =image.src;\r\n fetch(base64Img)\r\n .then(res => res.blob())\r\n .then((blob) => {\r\n // IE\r\n if (window.navigator && (window.navigator as any).msSaveOrOpenBlob){\r\n (window.navigator as any).msSaveOrOpenBlob(blob,fileNameToDownload);\r\n } else { // Chrome\r\n const url = window.URL.createObjectURL(blob);\r\n const link = document.createElement('a');\r\n link.href = url;\r\n link.download = fileNameToDownload;\r\n link.click();\r\n }\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 { Injectable } from '@angular/core';\r\nimport { Ability, RawRule } from '@casl/ability';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class AbilityService {\r\n\r\n constructor(private ablity: Ability) { }\r\n\r\n public AddRules(_rules: Array) {\r\n var rules = [...this.ablity.rules, ..._rules];\r\n this.ablity.update(rules);\r\n }\r\n\r\n public RemoveAllRules() {\r\n this.ablity.update([]);\r\n }\r\n\r\n public ReplaceRules(_rules: Array) {\r\n this.ablity.update(_rules);\r\n }\r\n}\r\n","\r\nimport { Injectable } from '@angular/core';\r\nimport { CanActivate, ActivatedRouteSnapshot, RouterStateSnapshot, Router } from '@angular/router';\r\nimport { Ability } from '@casl/ability';\r\nimport { OAuthService } from 'angular-oauth2-oidc';\r\nimport { env } from 'process';\r\nimport { Observable } from 'rxjs';\r\nimport { environment } from 'src/environments/environment';\r\nimport { AuthService } from '../../authentication/auth.service';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class AuthGuardService implements CanActivate {\r\n constructor(private auth: AuthService,\r\n private router: Router,\r\n private ability: Ability,\r\n private oauthService:OAuthService) {\r\n }\r\n\r\n canActivate(\r\n next: ActivatedRouteSnapshot,\r\n state: RouterStateSnapshot): Observable | Promise | boolean {\r\n var loggedInStatus = this.auth.getLoggedInStatus();\r\n\r\n if (loggedInStatus) {\r\n var permissions: Array = next.firstChild ? next.firstChild.data.permission : next.data.permission;\r\n var status = true;\r\n\r\n // if (!permissions) {\r\n // status = false;\r\n // } else {\r\n // permissions.forEach(_permission => {\r\n // status = this.ability.can(\"access\", _permission);\r\n // });\r\n // }\r\n\r\n return status;\r\n }\r\n else {\r\n if(environment.AuthenticationType.toLowerCase() != \"adfs\")\r\n {\r\n this.auth.logout();\r\n this.router.navigate(['/login'], { queryParams: { returnUrl: state.url } });\r\n }\r\n return false;\r\n }\r\n }\r\n}\r\n","import { Injectable, Injector } from '@angular/core';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { IAngularMyDpOptions } from 'angular-mydatepicker';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class CalendarService {\r\n private translate: TranslateService;\r\n constructor(injector: Injector) {\r\n this.translate = injector.get(TranslateService);\r\n }\r\n\r\n public getDateRangePickerOptions(): IAngularMyDpOptions {\r\n var myDateRangePickerOptions: IAngularMyDpOptions = {\r\n // other options...\r\n \r\n dateFormat: 'dd-mm-yyyy',\r\n \r\n monthLabels: {\r\n 1: this.translate.instant('calendar.lblJanuary'),\r\n 2: this.translate.instant('calendar.lblFebruary'),\r\n 3: this.translate.instant('calendar.lblMarch'),\r\n 4: this.translate.instant('calendar.lblApril'),\r\n 5: this.translate.instant('calendar.lblMay'),\r\n 6: this.translate.instant('calendar.lblJune'),\r\n 7: this.translate.instant('calendar.lblJuly'),\r\n 8: this.translate.instant('calendar.lblAugust'),\r\n 9: this.translate.instant('calendar.lblSeptember'),\r\n 10: this.translate.instant('calendar.lblOctober'),\r\n 11: this.translate.instant('calendar.lblNovember'),\r\n 12: this.translate.instant('calendar.lblDecember')\r\n },\r\n dayLabels: {\r\n su: this.translate.instant('calendar.lblSunday'),\r\n mo: this.translate.instant('calendar.lblMonday'),\r\n tu: this.translate.instant('calendar.lblTuesday'),\r\n we: this.translate.instant('calendar.lblWednesday'),\r\n th: this.translate.instant('calendar.lblThursday'),\r\n fr: this.translate.instant('calendar.lblFriday'),\r\n sa: this.translate.instant('calendar.lblSaturday')\r\n },\r\n };\r\n return myDateRangePickerOptions;\r\n }\r\n public getAngularDateRangePickerOptions(): IAngularMyDpOptions {\r\n var myDateRangePickerOptions: IAngularMyDpOptions = {\r\n // other options...\r\n \r\n dateFormat: 'dd-mm-yyyy',\r\n \r\n \r\n monthLabels: {\r\n 1: this.translate.instant('calendar.lblJanuary'),\r\n 2: this.translate.instant('calendar.lblFebruary'),\r\n 3: this.translate.instant('calendar.lblMarch'),\r\n 4: this.translate.instant('calendar.lblApril'),\r\n 5: this.translate.instant('calendar.lblMay'),\r\n 6: this.translate.instant('calendar.lblJune'),\r\n 7: this.translate.instant('calendar.lblJuly'),\r\n 8: this.translate.instant('calendar.lblAugust'),\r\n 9: this.translate.instant('calendar.lblSeptember'),\r\n 10: this.translate.instant('calendar.lblOctober'),\r\n 11: this.translate.instant('calendar.lblNovember'),\r\n 12: this.translate.instant('calendar.lblDecember')\r\n },\r\n dayLabels: {\r\n su: this.translate.instant('calendar.lblSunday'),\r\n mo: this.translate.instant('calendar.lblMonday'),\r\n tu: this.translate.instant('calendar.lblTuesday'),\r\n we: this.translate.instant('calendar.lblWednesday'),\r\n th: this.translate.instant('calendar.lblThursday'),\r\n fr: this.translate.instant('calendar.lblFriday'),\r\n sa: this.translate.instant('calendar.lblSaturday')\r\n },\r\n };\r\n return myDateRangePickerOptions;\r\n }\r\n \r\n}\r\n\r\n","import { Injectable } from '@angular/core';\r\nimport * as clone from 'clone';\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\n\r\nexport class ClonerService {\r\n deepClone(value): T {\r\n return clone(value);\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Ability, RawRule } from '@casl/ability';\r\nimport { StorageService } from 'src/app/services/storage.service';\r\nimport { environment } from 'src/environments/environment';\r\nimport { KeyConstants } from 'src/shared/constants/key-constants';\r\nimport { FeatureType } from 'src/shared/UI/feature-type.enum';\r\nimport { FeatureHelper } from 'src/shared/utilities/feature-helper';\r\nimport { AuthService } from '../../authentication/auth.service';\r\nimport { AbilityService } from './ability.service';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class CommonService {\r\n\r\n constructor(\r\n private abilityService: AbilityService,\r\n private auth: AuthService) { }\r\n\r\n public SetFeatures(features: Array) {\r\n var rules = new Array();\r\n if (this.auth.getLoggedInStatus()) {\r\n // features.forEach(it => {\r\n // var feature = FeatureHelper.getFeatureModel(it);\r\n // var rule: RawRule = {\r\n // actions: 'access',\r\n // subject: feature.name\r\n // };\r\n\r\n // rules.push(rule);\r\n // });\r\n }\r\n\r\n this.abilityService.AddRules(rules);\r\n }\r\n}\r\n","import { Injector, NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { ColorPickerModule } from 'ngx-color-picker';\r\nimport { LoaderComponent } from './loader/loader.component';\r\nimport { AutocompleteLibModule } from 'angular-ng-autocomplete';\r\nimport { DragDropModule } from '@angular/cdk/drag-drop';\r\nimport { BytesToSizePipe } from './pipes/BytesToSize.pipe';\r\nimport { MessageComponent } from './message/message.component';\r\nimport { ArraySortPipe } from './pipes/ArraySort.pipe';\r\nimport { BreadcrumbComponent } from 'src/app/main/breadcrumb/breadcrumb.component';\r\nimport { FolderTreeComponent } from 'src/app/main/side-panel/explorer/folder-tree/folder-tree.component';\r\nimport { EnumToArrayPipe } from './pipes/enum-to-array.pipe';\r\nimport { AbilityModule } from '@casl/angular';\r\nimport { environment } from 'src/environments/environment';\r\nimport { ConfirmationPopupComponent } from './confirmation-popup/confirmation-popup.component';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { TranslateHttpLoader } from '@ngx-translate/http-loader';\r\nimport { TranslateLoader, TranslateModule, TranslateService } from '@ngx-translate/core';\r\n\r\nimport { SystemRolesViewComponent } from './system-roles-view/system-roles-view.component';\r\nimport { RouterModule } from '@angular/router';\r\nimport { SafeHtmlPipe } from './pipes/SafeHtmlPipe.pipe';\r\nimport { AuthService } from '../authentication/auth.service';\r\nimport { HeaderComponent } from 'src/app/header/header.component';\r\nimport { TreeViewComponent } from 'src/app/header/tree-view/tree-view.component';\r\nimport { UploadPaneComponent } from 'src/shared/components/upload-pane/upload-pane.component';\r\nimport { NgSelectModule } from '@ng-select/ng-select';\r\nimport { ProjectDocumentsComponent } from 'src/shared/components/project-documents/project-documents.component';\r\nimport { InfiniteScrollModule } from 'ngx-infinite-scroll';\r\nimport { CustomTranslateLoader } from 'src/translations/translateloader';\r\nimport { NgxQRCodeModule } from '@techiediaries/ngx-qrcode';\r\nimport { QrcodeBarcodeComponentComponent } from './qrcode-barcode-component/qrcode-barcode-component.component';\r\nimport { ProjectChecklistsComponent } from 'src/app/modules/shared/project-checklists/project-checklists.component';\r\nimport { AssetsListComponent } from './assets-list/assets-list.component';\r\nimport { CommonMenuControlsComponent } from './common-menu-controls/common-menu-controls.component';\r\nimport { TicketsGridViewComponent } from './tickets-grid-view/tickets-grid-view.component';\r\nimport { UserchecklistMenuControlComponent } from './userchecklist-menu-control/userchecklist-menu-control.component';\r\nimport { UserchecklistGridComponent } from './userchecklist-grid/userchecklist-grid.component';\r\nimport { ChecklistControlsComponent } from '../checklist/checklist-controls/checklist-controls.component';\r\nimport { ChecklistFormDetailsComponent } from '../checklist/checklist-form/checklist-form-details/checklist-form-details.component';\r\nimport { TicketDetailsTabComponent } from 'src/app/main/mainview/innerview/tickets/ticket-details-tab/ticket-details-tab.component';\r\nimport { TicketDetailsComponent } from 'src/app/main/mainview/innerview/tickets/ticket-details/ticket-details.component';\r\nimport { TicketHistoryComponent } from 'src/app/main/mainview/innerview/tickets/ticket-history/ticket-history.component';\r\nimport { TicketChecklistComponent } from 'src/app/main/mainview/innerview/tickets/ticket-checklist/ticket-checklist.component';\r\nimport { TicketAttachmentsComponent } from 'src/app/main/mainview/innerview/tickets/ticket-attachments/ticket-attachments.component';\r\nimport { TicketDetailsMainComponent } from 'src/app/main/mainview/innerview/tickets/ticket-details-main/ticket-details-main.component';\r\nimport { OnmMainViewComponent } from './Onm/onm-main-view/onm-main-view.component';\r\nimport { OnmGridMenusComponent } from './Onm/onm-grid-menus/onm-grid-menus.component';\r\nimport { OnmGridComponent } from './Onm/onm-grid/onm-grid.component';\r\nimport { OnmGridSearchBoxComponent } from './Onm/onm-grid-search-box/onm-grid-search-box.component';\r\nimport { TicketResourcesComponent } from 'src/app/main/mainview/innerview/tickets/ticket-resources/ticket-resources.component';\r\nimport { PlUploaderComponent } from 'src/shared/components/pl-uploader/pl-uploader.component';\r\nimport { TimePickerComponent } from 'src/shared/components/time-picker/time-picker.component';\r\nimport {NgxMaterialTimepickerModule} from 'ngx-material-timepicker';\r\nimport { NameDescPopupComponent } from './name-desc-popup/name-desc-popup.component';\r\n\r\nimport { AssetAddlinformationComponent } from 'src/app/modules/assets/asset-details/innerpanes/asset-addlinformation/asset-addlinformation.component';\r\nimport { Photo360Component } from 'src/app/modules/assets/asset-details/innerpanes/photo360/photo360.component';\r\nimport { AssetDetailsComponent } from '../assets/asset-details/asset-details.component';\r\nimport { AssetChecklistsComponent } from '../assets/asset-details/innerpanes/asset-checklists/asset-checklists.component';\r\nimport { AssetDetailsTabComponent } from '../assets/asset-details/innerpanes/asset-details-tab/asset-details-tab.component';\r\nimport { AssetDocumentsComponent } from '../assets/asset-details/innerpanes/asset-documents/asset-documents.component';\r\nimport { AssetHistoryComponent } from '../assets/asset-details/innerpanes/asset-history/asset-history.component';\r\nimport { AssetLogsPaneComponent } from '../assets/asset-details/innerpanes/asset-logs-pane/asset-logs-pane.component';\r\nimport { AssetOnmComponent } from '../assets/asset-details/innerpanes/asset-onm/asset-onm.component';\r\nimport { AssetTicketsComponent } from '../assets/asset-details/innerpanes/asset-tickets/asset-tickets.component';\r\nimport { SpacesListComponent } from './spaces-list/spaces-list.component';\r\nimport { GridLoaderComponent } from './grid-loader/grid-loader.component';\r\nimport { NotificationListComponent } from 'src/app/header/notification-list/notification-list.component';\r\nimport { IfcMappingComponent } from './ifc-mapping/ifc-mapping.component';\r\nimport { LinkedModelsPopupComponent } from './linked-models-popup/linked-models-popup.component';\r\nimport { AssetsEasywebComponent } from './assets-easyweb/assets-easyweb.component';\r\n\r\nimport { DwgViewerComponent } from 'src/app/main/mainview/innerview/document-manager/document-details/inner-panes/view-pane/dwg-viewer/dwg-viewer.component';\r\nimport { OfficeViewerComponent } from 'src/app/main/mainview/innerview/document-manager/document-details/inner-panes/view-pane/office-viewer/office-viewer.component';\r\n\r\n\r\nimport { AssignPptemplatesComponent } from '../project-manager-settings/Onm/assign-pptemplates/assign-pptemplates.component';\r\nimport { AngularMyDatePickerModule } from 'angular-mydatepicker';\r\nimport { ExplorerComponent } from 'src/app/main/side-panel/explorer/explorer.component';\r\nimport { ImportShellComponent } from 'src/shared/components/import-shell/import-shell.component';\r\nimport { PdfJsViewerModule } from 'ng2-pdfjs-viewer';\r\nimport { PdfSharedModule } from '../pdf-shared/pdf-shared.module';\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n FormsModule,\r\n \r\n NgxMaterialTimepickerModule,\r\n ColorPickerModule,\r\n RouterModule,\r\n AutocompleteLibModule,\r\n AbilityModule,\r\n NgSelectModule,\r\n InfiniteScrollModule,\r\n NgxQRCodeModule,\r\n \r\n TranslateModule.forChild({\r\n loader: {\r\n provide: TranslateLoader,\r\n useClass:CustomTranslateLoader\r\n // useFactory: (createTranslateLoader),\r\n // deps: [HttpClient]\r\n },\r\n isolate: false\r\n\r\n }),\r\n AngularMyDatePickerModule\r\n ],\r\n declarations: [\r\n LoaderComponent,\r\n BytesToSizePipe,\r\n MessageComponent,\r\n ArraySortPipe,\r\n BreadcrumbComponent,\r\n FolderTreeComponent,\r\n ExplorerComponent,\r\n EnumToArrayPipe,\r\n ConfirmationPopupComponent,\r\n SystemRolesViewComponent,\r\n SafeHtmlPipe,\r\n TreeViewComponent,\r\n HeaderComponent,\r\n UploadPaneComponent,\r\n ProjectDocumentsComponent,\r\n QrcodeBarcodeComponentComponent,\r\n ProjectChecklistsComponent,\r\n AssetsEasywebComponent,\r\n AssetsListComponent,\r\n CommonMenuControlsComponent,\r\n TicketsGridViewComponent,\r\n UserchecklistMenuControlComponent,\r\n UserchecklistGridComponent,\r\n ChecklistFormDetailsComponent,\r\n ChecklistControlsComponent,\r\n OfficeViewerComponent,\r\n DwgViewerComponent,\r\n \r\n \r\n \r\n PlUploaderComponent,\r\n ImportShellComponent,\r\n TimePickerComponent,\r\n NameDescPopupComponent,\r\n AssignPptemplatesComponent,\r\n \r\n \r\n SpacesListComponent,\r\n GridLoaderComponent,\r\n NotificationListComponent,\r\n IfcMappingComponent,\r\n LinkedModelsPopupComponent\r\n ],\r\n exports: [\r\n CommonModule,\r\n FormsModule,\r\n ColorPickerModule,\r\n LoaderComponent,\r\n AutocompleteLibModule,\r\n DragDropModule,\r\n BytesToSizePipe,\r\n MessageComponent,\r\n ArraySortPipe,\r\n BreadcrumbComponent,\r\n FolderTreeComponent,\r\n ExplorerComponent,\r\n AbilityModule,\r\n ConfirmationPopupComponent,\r\n TranslateModule,\r\n AngularMyDatePickerModule,\r\n EnumToArrayPipe,\r\n SafeHtmlPipe,\r\n TreeViewComponent,\r\n HeaderComponent,\r\n UploadPaneComponent,\r\n NgSelectModule,\r\n ProjectDocumentsComponent,\r\n NgxQRCodeModule,\r\n QrcodeBarcodeComponentComponent,\r\n ProjectChecklistsComponent,\r\n AssetsEasywebComponent,\r\n AssetsListComponent,\r\n CommonMenuControlsComponent,\r\n TicketsGridViewComponent,\r\n UserchecklistMenuControlComponent,\r\n UserchecklistGridComponent,\r\n ChecklistFormDetailsComponent,\r\n ChecklistControlsComponent,\r\n \r\n \r\n PlUploaderComponent,\r\n ImportShellComponent,\r\n TimePickerComponent,\r\n NameDescPopupComponent,\r\n \r\n \r\n \r\n SpacesListComponent,\r\n GridLoaderComponent,\r\n NotificationListComponent,\r\n IfcMappingComponent,\r\n LinkedModelsPopupComponent,\r\n \r\n OfficeViewerComponent,\r\n DwgViewerComponent,\r\n \r\n AssignPptemplatesComponent,\r\n InfiniteScrollModule\r\n ]\r\n})\r\nexport class SharedModule {\r\n public translate:TranslateService;\r\n public auth:AuthService;\r\n constructor(injector:Injector){\r\n this.translate = injector.get(TranslateService);\r\n this.auth= injector.get(AuthService);\r\n this.translate.addLangs(['en-GB', 'it-IT','fr-FR']);\r\n var language:string = this.auth.getLanguagePreference();\r\n if(language)\r\n this.translate.use(this.auth.getLanguagePreference());\r\n else\r\n this.translate.use(this.translate.getDefaultLang());\r\n }\r\n }\r\nexport function createTranslateLoader(http: HttpClient) {\r\n return new TranslateHttpLoader(http, environment.SETTINGS_LOCALIZATION_PATH, '.json');\r\n}\r\n\r\n","import { HttpErrorResponse } from '@angular/common/http';\r\nimport { Component, EventEmitter, Injector, Input, OnInit, Output, SimpleChanges } from '@angular/core';\r\nimport { IMyDateModel, IAngularMyDpOptions } from 'angular-mydatepicker';\r\nimport { Subject, Subscription } from 'rxjs';\r\nimport { debounceTime, distinctUntilChanged } from 'rxjs/operators';\r\nimport { ProjectService } from 'src/app/services/project.service';\r\nimport { AddlInformationsFilterModel, BIMFilterModel, FilterColumnType, SpaceColumns, SpaceFilterModel } from 'src/shared/Models/API/filtermodel';\r\nimport { BuildingNameModel, OnmStatus, SiteNameModel, Space, SpaceAddlinformation, SpaceAddlInformationValue, SpaceAssetSource, SpaceHistory, SpacesList, SpaceStatus, ZoneNameModel } from 'src/shared/Models/space';\r\nimport { SpacesGridColumnOption } from 'src/shared/UI/grid-column-option';\r\nimport { SortOrder, SpaceAssetAttributeTypes } from 'src/shared/UI/ViewTypes';\r\nimport { BaseComponent } from '../BaseComponent';\r\nimport { BIMModel, Document } from 'src/shared/Models/API/document';\r\nimport { FilterService } from 'src/app/services/filter.service';\r\nimport { ActivatedRoute } from '@angular/router';\r\nimport { SpaceCode } from 'src/shared/Models/space-update-code';\r\nimport { IFCElementModel } from 'src/shared/Models/API/IFCElementModel';\r\nimport { BlobFile } from 'src/shared/Models/Internal/BlobFileModel';\r\nimport { DatePipe } from '@angular/common';\r\nimport { ColumnType } from 'src/shared/Models/Column-Settings';\r\nimport { element } from 'protractor';\r\nimport { CalendarService } from '../services/calendar.service';\r\nimport { DropdownPosition } from '@ng-select/ng-select';\r\ndeclare var $:any;\r\n@Component({\r\n selector: 'app-spaces-list',\r\n templateUrl: './spaces-list.component.html',\r\n styleUrls: ['./spaces-list.component.css']\r\n})\r\nexport class SpacesListComponent extends BaseComponent implements OnInit {\r\n @Input() projectId: number;\r\n @Input() isActiveOnly: boolean = false;\r\n @Input() gridColumns: Array = new Array();\r\n @Input() selectedSpaces: Array = new Array();\r\n @Input() assignedSpaces:Array;\r\n @Input() isLoadSpaces: boolean; \r\n @Input() singleSelection:boolean = false; \r\n @Input() selectAllAvailable:boolean=true;\r\n @Input() spaceStatuses:Array = new Array();\r\n @Input() documents:Array = new Array();\r\n @Input()\r\n public bimfilter:BIMFilterModel = new BIMFilterModel();\r\n public spaces: Array = new Array();\r\n public isSelectAll: boolean = false;\r\n // Filtering & Sorting . . .\r\n private keyupFilter = new Subject();\r\n public filterAndSortOptions: SpaceFilterModel = new SpaceFilterModel();\r\n public isMobileFilterEnabled: boolean = false;\r\n public isMobileSortingEnabled: boolean = false;\r\n lastModifiedOnDate:IMyDateModel; \r\n //enum\r\n public spaceColumns = SpaceColumns;\r\n public spaceStatus = SpaceStatus;\r\n public sortDirection = SortOrder;\r\n public columnTypes = FilterColumnType;\r\n public _spaceAssetSource=SpaceAssetSource;\r\n public onmstatus = OnmStatus;\r\n public _attributeType=SpaceAssetAttributeTypes;\r\n totalCount:number =0;\r\n activeCount:number =0;\r\n deActiveCount:number =0;\r\n archiveCount:number =0;\r\n transferCount:number=0;\r\n selectedCount:number=0;\r\n totalSpaceArea:number=0;\r\n\r\n @Input() dropDownPosition:DropdownPosition = \"auto\";\r\n\r\n private selectedElementids:Array = new Array();\r\n\r\n //date range picker\r\n\r\n myDatePickerOptions: IAngularMyDpOptions = {\r\n // other options...\r\n dateFormat: 'dd-mm-yyyy',\r\n alignSelectorRight: true\r\n \r\n };\r\n spaceAreaTotal: number=0;\r\n isAllSpacesLoaded: boolean;\r\n @Input() isUnassignedSpaces: boolean = false;\r\n filterSubscriber: Subscription;\r\n isLoaderEnabled:boolean=false;\r\n @Input() public siteNames:Array = new Array();\r\n @Input() public buildingNames:Array = new Array();\r\n @Input() public zoneNames:Array = new Array();\r\n\r\n @Output() public spaceSelected:EventEmitter= new EventEmitter();\r\n @Output() public AllspaceSelected:EventEmitter>= new EventEmitter>();\r\n constructor(injector: Injector,\r\n private projectService: ProjectService,private filterService:FilterService,private route:ActivatedRoute,private datepipe:DatePipe,\r\n private calendarService:CalendarService\r\n ) {\r\n super(injector);\r\n \r\n }\r\n ngOnDestroy(): void {\r\n if (this.filterSubscriber && !this.filterSubscriber.closed) {\r\n this.filterSubscriber.unsubscribe();\r\n this.filterService.clearSpaceAssetFilterSubscribers();\r\n }\r\n }\r\n ngOnInit() {\r\n this.InitSpaceFilterSubscription();\r\n }\r\n clearAllSelection()\r\n {\r\n if(this.isSelectAll)\r\n {\r\n this.isSelectAll=false;\r\n }\r\n var selectedSpaces:Array = this.spaces.filter(x=>x.isSelected == true);\r\n if(selectedSpaces)\r\n selectedSpaces.forEach(x=>x.isSelected= false);\r\n }\r\n \r\n InitSpaceFilterSubscription()\r\n {\r\n this.filterSubscriber= this.filterService.SpaceAssetfilterViewObservable().subscribe((filter:SpaceFilterModel) => {\r\n if(filter instanceof SpaceFilterModel)\r\n {\r\n this.isLoaderEnabled=true;\r\n this.gridColumns.find(x=>x.column==this.spaceColumns.STATUS).filterColumnValue=(filter._searchview)?SpaceStatus.ACTIVE:SpaceStatus.UNKNOWN;\r\n this.filterAndSortOptions=filter;\r\n this.getSpaces(true);\r\n }\r\n }); \r\n }\r\n \r\n ngOnChanges(change: SimpleChanges) {\r\n if (change && change.isLoadSpaces && change.isLoadSpaces.currentValue) {\r\n this.spaces = new Array();\r\n this.clearGridFilters();\r\n this.setFilterOptions();\r\n this.getSpaces(true);\r\n }\r\n }\r\n ngAfterViewInit() {\r\n this.bindDefaultFilterDropDownValues();\r\n this.bindKeyUp();\r\n }\r\n onScroll(): void {\r\n this.filterAndSortOptions.pn += 1;\r\n this.getSpaces(false);\r\n }\r\n private bindDefaultFilterDropDownValues(): void {\r\n this.gridColumns.filter((col: SpacesGridColumnOption) => col.filterColumnType == FilterColumnType.DROPDOWN)\r\n .forEach((dropDownColumn: SpacesGridColumnOption) => {\r\n if (dropDownColumn.column == SpaceColumns.ISCSV)\r\n dropDownColumn.filterColumnValue = SpaceAssetSource.UNKNOWN;\r\n else if (dropDownColumn.column == SpaceColumns.STATUS)\r\n dropDownColumn.filterColumnValue = SpaceStatus.UNKNOWN;\r\n else if (dropDownColumn.column == SpaceColumns.SITE_NAME)\r\n dropDownColumn.filterColumnValue = -1;\r\n else if (dropDownColumn.column == SpaceColumns.BUILDING_NAME)\r\n dropDownColumn.filterColumnValue = -1;\r\n else if (dropDownColumn.column == SpaceColumns.ZONE)\r\n dropDownColumn.filterColumnValue = -1;\r\n });\r\n }\r\n \r\n \r\n \r\n \r\n \r\n getOriginString(origins:Array):string\r\n {\r\n var str:string = '';\r\n if(origins != null && origins.length > 0 )\r\n {\r\n origins.forEach(x=>{\r\n if(x.id != -1)\r\n {\r\n str += x.code;\r\n str+= \",\";\r\n }\r\n })\r\n str= str.slice(0, str.length - 1)\r\n }\r\n if(str.length == 0)\r\n str=\"-\";\r\n return str;\r\n }\r\n public onRefresh(): void {\r\n this.resetView();\r\n this.clearGridFilters();\r\n this.setFilterOptions();\r\n this.getSpaces(true);\r\n }\r\n private clearGridFilters(): void {\r\n this.lastModifiedOnDate=null;\r\n this.filterAndSortOptions = new SpaceFilterModel;\r\n this.gridColumns.forEach((col: SpacesGridColumnOption) => {\r\n if (col.type ==1 && col.column == SpaceColumns.STATUS)\r\n col.filterColumnValue = SpaceStatus.UNKNOWN;\r\n else if (col.type ==1 && col.column == SpaceColumns.ISCSV)\r\n col.filterColumnValue = SpaceAssetSource.UNKNOWN;\r\n else if (col.type ==1 && col.column == SpaceColumns.SITE_NAME)\r\n col.filterColumnValue = -1;\r\n else if (col.type ==1 && col.column == SpaceColumns.BUILDING_NAME)\r\n col.filterColumnValue = -1;\r\n else if (col.type ==1 && col.column == SpaceColumns.ZONE)\r\n col.filterColumnValue = -1;\r\n else if ( col.type ==1 && col.column == SpaceColumns.STATUS)\r\n col.filterColumnValue = SpaceStatus.UNKNOWN;\r\n else if(col.type == 2 && col.customColumnType == SpaceAssetAttributeTypes.BOOLEAN)\r\n col.filterColumnValue=-1;\r\n else\r\n col.filterColumnValue = '';\r\n });\r\n }\r\n \r\n \r\n \r\n public drop(event: any): void {\r\n \r\n }\r\n \r\n public getSpaces(isRefreshed: boolean): void {\r\n if (isRefreshed)\r\n {\r\n this.spaces = new Array();\r\n }\r\n\r\n if(this.documents && this.documents.length > 0)\r\n {\r\n var documentStr:string='';\r\n this.documents.forEach((doc)=>{\r\n documentStr += doc.id.toString();\r\n documentStr+=\",\";\r\n documentStr+= doc.version.toString();\r\n documentStr += \"|\";\r\n })\r\n this.filterAndSortOptions._d=documentStr;\r\n }\r\n if(this.bimfilter && this.bimfilter._prflrs)\r\n this.filterAndSortOptions._prflrs=this.bimfilter._prflrs;\r\n this.projectService.getSpaces(this.projectId,this.filterAndSortOptions)\r\n .subscribe((_spacesList:SpacesList): void => {\r\n var _spaces:Array = _spacesList.spaces;\r\n this.totalCount=_spacesList.totalCount;\r\n this.activeCount=_spacesList.activeCount;\r\n this.deActiveCount=_spacesList.deActiveCount;\r\n this.archiveCount=_spacesList.archiveCount;\r\n this.transferCount=_spacesList.transferCount;\r\n this.totalSpaceArea=_spacesList.totalSpaceArea;\r\n if (_spaces && _spaces.length > 0) {\r\n _spaces.forEach((space: Space): void => {\r\n space.isSelected=false;\r\n\r\n \r\n //if selected assets is there mark as selected\r\n if (this.assignedSpaces != null && this.assignedSpaces.length > 0) {\r\n var _selectedAssetIndex: number = this.assignedSpaces.findIndex(x => x.id == space.id);\r\n if (_selectedAssetIndex >= 0)\r\n space.isSelected = true;\r\n }\r\n space.strOrigins = '';\r\n if (space.spaceOrigin && space.spaceOrigin.length > 0) {\r\n space.spaceOrigin.forEach((sp: Space): void => {\r\n if (sp.id > 0) {\r\n space.strOrigins += sp.code + ', ';\r\n }\r\n });\r\n \r\n var temp: string = space.strOrigins;\r\n space.strOrigins = temp.substring(0, temp.length - 2);\r\n }\r\n \r\n if (space.history && space.history.length > 0) {\r\n if (space.history[0].photos && space.history[0].photos.length > 0) {\r\n space.history[0].isPhotosAvailable = true;\r\n }\r\n }\r\n if (space.documents && space.documents.length > 0) {\r\n space.isDocumentsAssigned = true;\r\n }\r\n if (space.checklists && space.checklists.length > 0) {\r\n space.isChecklistsAssigned = true;\r\n }\r\n if (this.isSelectAll) {\r\n space.isSelected = true;\r\n }\r\n var findindex=this.spaces.findIndex(x=>x.id==space.id);\r\n if(findindex==-1)\r\n {\r\n this.spaces.push(space);\r\n }\r\n else{\r\n this.spaces.splice(findindex, 1, space);\r\n }\r\n if(this.selectedElementids && this.selectedElementids.length > 0 && space.ifcElements && space.ifcElements.length > 0)\r\n {\r\n var ifcElementId:IFCElementModel = space.ifcElements.find(x=>this.selectedElementids.find(y=>y == x.ifcElementId) != null);\r\n if(ifcElementId)\r\n space.isSelected= true;\r\n }\r\n });\r\n this.SetTotalSpaceArea();\r\n }\r\n if (_spaces && _spaces.length < this.filterAndSortOptions.ps) {\r\n this.isAllSpacesLoaded = true;\r\n }\r\n else {\r\n this.isAllSpacesLoaded = false;\r\n }\r\n this.isLoaderEnabled=false;\r\n\r\n \r\n },\r\n (error: HttpErrorResponse): void => {\r\n this.isLoaderEnabled=false;\r\n super.handleError(error);\r\n });\r\n }\r\n \r\n \r\n \r\n public getSpacesBySorting(sortDir: SortOrder,sortColumn: SpaceColumns,type:number =1): void {\r\n // this.setFilterOptions();\r\n this.filterAndSortOptions._odby = sortColumn;\r\n this.filterAndSortOptions._od = sortDir;\r\n this.filterAndSortOptions.obt = type;\r\n this.getSpaces(true);\r\n }\r\n public ApplyFiltersOnKeyUp(value: string): void {\r\n this.keyupFilter.next(value);\r\n }\r\n \r\n private bindKeyUp(): void {\r\n this.keyupFilter.pipe(debounceTime(2000), distinctUntilChanged())\r\n .subscribe((value: string) => {\r\n this.setFilterOptions();\r\n this.getSpaces(true);\r\n });\r\n }\r\n \r\n onCustomFilterDropdownChange(column:SpacesGridColumnOption)\r\n {\r\n if(this.filterAndSortOptions._ais == null)\r\n this.filterAndSortOptions._ais= new Array();\r\n if(column.filterColumnValue == null || column.filterColumnValue == \"-1\")\r\n {\r\n this.filterAndSortOptions._ais = this.filterAndSortOptions._ais.filter(x=>x._i != column.column);\r\n \r\n\r\n this.filterAndSortOptions._strais=JSON.stringify(this.filterAndSortOptions._ais);\r\n\r\n }\r\n else\r\n {\r\n this.filterAndSortOptions._ais = this.filterAndSortOptions._ais.filter(x=>x._i != column.column);\r\n var addlInformationFilter:AddlInformationsFilterModel = new AddlInformationsFilterModel();\r\n addlInformationFilter._i= column.column;\r\n if(column.filterColumnValue == \"0\")\r\n addlInformationFilter._v= \"False\";\r\n else\r\n addlInformationFilter._v= \"True\";\r\n this.filterAndSortOptions._ais.push(addlInformationFilter);\r\n this.filterAndSortOptions._strais=JSON.stringify(this.filterAndSortOptions._ais);\r\n }\r\n this.getSpaces(true);\r\n \r\n }\r\n \r\n public onFilterDropdownChange(column: SpaceColumns, value: any): void {\r\n if (column == SpaceColumns.STATUS)\r\n this.filterAndSortOptions._st = value;\r\n if (column == SpaceColumns.ISCSV)\r\n this.filterAndSortOptions._s = value;\r\n if(column == SpaceColumns.SITE_NAME)\r\n {\r\n \r\n this.filterAndSortOptions._ssnid=value;\r\n }\r\n if(column == SpaceColumns.BUILDING_NAME)\r\n {\r\n \r\n this.filterAndSortOptions._bnid=value;\r\n }\r\n if(column == SpaceColumns.ZONE)\r\n {\r\n \r\n this.filterAndSortOptions._znid=value;\r\n }\r\n \r\n this.getSpaces(true);\r\n }\r\n \r\n private setFilterOptions(): void {\r\n this.filterAndSortOptions = new SpaceFilterModel();\r\n\r\n \r\n this.gridColumns.forEach((column: SpacesGridColumnOption): void => {\r\n if(column.type == ColumnType.STANDARD)\r\n {\r\n if (column.column == SpaceColumns.CODE)\r\n this.filterAndSortOptions._spc = column.filterColumnValue;\r\n \r\n else if (column.column == SpaceColumns.SITE_NAME)\r\n this.filterAndSortOptions._ssnid = column.filterColumnValue;\r\n else if (column.column == SpaceColumns.BUILDING_NAME)\r\n this.filterAndSortOptions._bnid = column.filterColumnValue;\r\n else if(column.column == SpaceColumns.LAST_MODIFIED_ON)\r\n {\r\n if(column.filterColumnValue )\r\n {\r\n if(column.filterColumnValue.singleDate)\r\n this.filterAndSortOptions._lm = column.filterColumnValue.singleDate.jsDate.toDateString();\r\n }\r\n \r\n }\r\n else if (column.column == SpaceColumns.ZONE)\r\n this.filterAndSortOptions._znid = column.filterColumnValue;\r\n else if (column.column == SpaceColumns.LEVEL)\r\n this.filterAndSortOptions._spl = column.filterColumnValue;\r\n else if (column.column == SpaceColumns.SPACETYPE)\r\n this.filterAndSortOptions._spt = column.filterColumnValue;\r\n else if (column.column == SpaceColumns.CLASSIFICATION)\r\n this.filterAndSortOptions._scls = column.filterColumnValue;\r\n else if (column.column == SpaceColumns.ZONE_DESCRIPTION)\r\n this.filterAndSortOptions._znd = column.filterColumnValue;\r\n else if (column.column == SpaceColumns.UPDATE_CODE)\r\n this.filterAndSortOptions._uc = column.filterColumnValue;\r\n else if (column.column == SpaceColumns.ORIGIN)\r\n this.filterAndSortOptions._o = column.filterColumnValue;\r\n else if (column.column == SpaceColumns.SPACE_NAME)\r\n this.filterAndSortOptions._sn = column.filterColumnValue;\r\n else if (column.column == SpaceColumns.OCCUPANCY)\r\n this.filterAndSortOptions._occ = column.filterColumnValue;\r\n else if (column.column == SpaceColumns.AREA)\r\n this.filterAndSortOptions._a = column.filterColumnValue;\r\n else if (column.column == SpaceColumns.ISCSV) {\r\n if (column.filterColumnValue != '')\r\n this.filterAndSortOptions._s = column.filterColumnValue;\r\n else\r\n this.filterAndSortOptions._s = SpaceAssetSource.UNKNOWN;\r\n }\r\n else if (column.column == SpaceColumns.STATUS) {\r\n if (column.filterColumnValue != '')\r\n this.filterAndSortOptions._st = column.filterColumnValue;\r\n else\r\n this.filterAndSortOptions._st = SpaceStatus.UNKNOWN;\r\n }\r\n this.filterAndSortOptions._una= this.isUnassignedSpaces;\r\n if (this.isActiveOnly)\r\n this.filterAndSortOptions._st = SpaceStatus.ACTIVE;\r\n\r\n if(this.spaceStatuses != null && this.spaceStatuses.length > 0)\r\n this.filterAndSortOptions._sts= this.spaceStatuses;\r\n }\r\n else if(column.type == ColumnType.CUSTOM)\r\n {\r\n \r\n if(this.filterAndSortOptions._ais == null)\r\n this.filterAndSortOptions._ais= new Array();\r\n if(column.filterColumnValue && column.filterColumnValue.length > 0)\r\n {\r\n var addlInformationFilter:AddlInformationsFilterModel = new AddlInformationsFilterModel();\r\n addlInformationFilter._i= column.column;\r\n \r\n addlInformationFilter._v= column.filterColumnValue;\r\n this.filterAndSortOptions._ais.push(addlInformationFilter);\r\n\r\n this.filterAndSortOptions._strais=JSON.stringify(this.filterAndSortOptions._ais);\r\n }\r\n else\r\n { \r\n this.filterAndSortOptions._ais = this.filterAndSortOptions._ais.filter(x=>x._i != column.column);\r\n this.filterAndSortOptions._strais=JSON.stringify(this.filterAndSortOptions._ais);\r\n }\r\n \r\n }\r\n });\r\n }\r\n \r\n onDateChanged(event: IMyDateModel) {\r\n this.setFilterOptions();\r\n this.getSpaces(true);\r\n \r\n } \r\n\r\n onCustomDateChanged(event:IMyDateModel,column:SpacesGridColumnOption)\r\n {\r\n if(this.filterAndSortOptions._ais == null)\r\n this.filterAndSortOptions._ais= new Array();\r\n\r\n if(event && event.singleDate.jsDate)\r\n {\r\n this.filterAndSortOptions._ais = this.filterAndSortOptions._ais.filter(x=>x._i != column.column);\r\n var addlInformation:AddlInformationsFilterModel = new AddlInformationsFilterModel();\r\n addlInformation._i= column.column;\r\n addlInformation._v =new Date(event.singleDate.jsDate).getTime().toString();\r\n \r\n column.filterColumnValue =event.singleDate.jsDate.getTime().toString();\r\n this.filterAndSortOptions._ais.push(addlInformation);\r\n this.filterAndSortOptions._strais=JSON.stringify(this.filterAndSortOptions._ais);\r\n }\r\n else\r\n { \r\n this.filterAndSortOptions._ais = this.filterAndSortOptions._ais.filter(x=>x._i != column.column);\r\n this.filterAndSortOptions._strais=JSON.stringify(this.filterAndSortOptions._ais);\r\n }\r\n this.getSpaces(true);\r\n\r\n }\r\n \r\n updateSelectedSpaces(space:Space,isSelected:boolean): void {\r\n if(this.singleSelection)\r\n {\r\n if(isSelected)\r\n {\r\n var otherSpaces:Array = this.spaces.filter(x=>x.id != space.id);\r\n if(otherSpaces != null && otherSpaces.length > 0)\r\n {\r\n otherSpaces.forEach(x=>x.isSelected= false);\r\n }\r\n }\r\n }\r\n this.isSelectAll=false;\r\n this.SetTotalSpaceArea();\r\n\r\n this.spaceSelected.emit(space);\r\n }\r\n \r\n public selectDelectIFCElement(ifcElementId:number,bSelected:boolean)\r\n {\r\n if(bSelected)\r\n this.selectedElementids.push(ifcElementId);\r\n else\r\n {\r\n this.isSelectAll=false;\r\n var index:number = this.selectedElementids.findIndex(x=>x == ifcElementId);\r\n if(index != -1)\r\n this.selectedElementids.splice(index,1);\r\n }\r\n \r\n var foundSpaces:Array = this.spaces.filter(x=>x.ifcElements.find(y=>y.ifcElementId == ifcElementId) != null);\r\n if(foundSpaces)\r\n {\r\n foundSpaces.forEach(x=>x.isSelected =bSelected);\r\n }\r\n }\r\n \r\n \r\n private SetTotalSpaceArea() {\r\n if (this.spaces && this.spaces.length > 0) {\r\n this.selectedSpaces = this.spaces.filter((_sp: Space): any => { return _sp.isSelected == true; });\r\n this.spaceAreaTotal = 0;\r\n this.selectedSpaces.forEach((space) => {\r\n if (space != null && space.area > 0)\r\n this.spaceAreaTotal += Math.round((space.area + Number.EPSILON) * 100) / 100;\r\n \r\n \r\n });\r\n }\r\n if (this.isSelectAll)\r\n {\r\n this.spaceAreaTotal=Math.round((this.totalSpaceArea + Number.EPSILON) * 100) / 100;;\r\n this.selectedCount=this.totalCount;\r\n }\r\n else{\r\n this.selectedCount=this.selectedSpaces.length;\r\n }\r\n \r\n }\r\n\r\n public onSelectAll(): void {\r\n this.selectedCount=0;\r\n this.spaceAreaTotal=0;\r\n if (this.spaces && this.spaces.length > 0) {\r\n this.spaceAreaTotal=0;\r\n this.selectedSpaces = new Array();\r\n this.spaces.forEach((space: Space): void => {\r\n if (space && space.id > 0) {\r\n space.isSelected = this.isSelectAll;\r\n if (this.isSelectAll) {\r\n if(space.area > 0)\r\n this.spaceAreaTotal+= space.area;\r\n this.selectedSpaces.push(space);\r\n }\r\n }\r\n });\r\n if (this.isSelectAll)\r\n {\r\n this.spaceAreaTotal=this.totalSpaceArea;\r\n this.selectedCount=this.totalCount;\r\n this.AllspaceSelected.emit(this.selectedSpaces);\r\n }\r\n else\r\n {\r\n //if select all is unselected then we need to pass selectspaces as unselect where isselected will be false\r\n this.AllspaceSelected.emit(this.spaces);\r\n } \r\n }\r\n }\r\n \r\n public resetView(): void {\r\n this.isSelectAll = false;\r\n if (this.spaces && this.spaces.length > 0) {\r\n this.spaces.forEach((space: Space): void => {\r\n space.isSelected = false;\r\n });\r\n }\r\n this.selectedSpaces = new Array();\r\n }\r\n \r\n \r\n public getSelectedSpaces(): Array {\r\n var selectedSpaces: Array;\r\n if (this.spaces && this.spaces.length > 0) {\r\n selectedSpaces = this.spaces.filter((_space: Space): any => { return _space.isSelected == true; });\r\n }\r\n return selectedSpaces;\r\n }\r\n\r\n \r\n \r\n // begin Mobile Filter and Sorting functionalities //\r\n public OnShowMobileFilterClick():void\r\n {\r\n this.isMobileFilterEnabled=true;\r\n }\r\n public applyMobileFilter():void\r\n {\r\n this.setFilterOptions();\r\n this.getSpaces(true);\r\n this.isMobileFilterEnabled=false;\r\n }\r\n public clearMobileFilters():void{\r\n this.clearGridFilters();\r\n this.setFilterOptions();\r\n this.getSpaces(true);\r\n this.isMobileFilterEnabled=false;\r\n }\r\n public cancelMobileFilters():void{\r\n this.isMobileFilterEnabled=false;\r\n }\r\n public showMobileSorting():void{\r\n this.isMobileSortingEnabled=true;\r\n }\r\n public closeMobileSorting():void{\r\n this.isMobileSortingEnabled=false;\r\n }\r\n // end Mobile Filter and Sorting functionalities //\r\n \r\n \r\n OnSaveDocuments(documents:Array)\r\n {\r\n var selectedSpaces = this.spaces.find((_sp: Space): any => { return _sp.isSelected == true; });\r\n if(selectedSpaces)\r\n {\r\n selectedSpaces.documents=documents;\r\n }\r\n \r\n\r\n }\r\n OnSavePhoto(history:SpaceHistory)\r\n {\r\n var selectedSpaces = this.spaces.find((_sp: Space): any => { return _sp.isSelected == true; });\r\n if(selectedSpaces)\r\n {\r\n selectedSpaces.history[0]=history;\r\n selectedSpaces.ifcElements=[];\r\n }\r\n }\r\n onSaveddetails(space:Space)\r\n {\r\n var foundSpace:number = this.spaces.findIndex(x=>x.id == space.id);\r\n\r\n if(foundSpace != -1)\r\n {\r\n //when individual update of spaces we need to update total area of client side \r\n this.totalSpaceArea-=this.spaces.find(x=>x.id == space.id).area;\r\n this.totalSpaceArea+=space.area;\r\n space.isSelected = true;\r\n if(space.spaceOrigin != null && space.spaceOrigin.length > 0)\r\n {\r\n space.spaceOrigin.forEach(so=>{\r\n if(so.id != -1)\r\n {\r\n space.strOrigins += so.code;\r\n space.strOrigins += \",\";\r\n }\r\n })\r\n if(space.strOrigins != null && space.strOrigins != undefined && space.strOrigins.length > 0)\r\n space.strOrigins = space.strOrigins.slice(0, space.strOrigins.length - 1);\r\n }\r\n\r\n this.spaces[foundSpace]=space;\r\n this.selectedSpaces[0]=space;\r\n \r\n }\r\n\r\n\r\n }\r\n showDocuments(item:Space)\r\n {\r\n if(item.showDocuments)\r\n {\r\n item.showDocuments=false;\r\n }\r\n else\r\n {\r\n this.spaces.forEach(x=>x.showDocuments = false);\r\n item.showDocuments= true;\r\n }\r\n }\r\n\r\n public AddNewSpacesIntoList(_spaces:Array):void {\r\n if (_spaces && _spaces.length > 0) {\r\n _spaces.forEach((space: Space) => {\r\n if (space && space.id > 0){\r\n if(this.isSelectAll)\r\n {\r\n space.isSelected=true;\r\n }\r\n //updating space area in new spaces \r\n this.totalSpaceArea+=space.area;\r\n this.spaces.push(space);\r\n }\r\n });\r\n this.totalCount+=_spaces.length;\r\n this.activeCount+=_spaces.length;\r\n \r\n }\r\n }\r\n public UpdateSpaceStatusInList(spaceList:SpacesList, status: SpaceStatus, updateCode: SpaceCode) {\r\n if (spaceList && spaceList.spaces != null && spaceList.spaces.length > 0) {\r\n spaceList.spaces.forEach((space: Space) => {\r\n if (space && space.id > 0) {\r\n var index: number = this.spaces.findIndex(_space => _space && _space.id == space.id);\r\n if (index >= 0) {\r\n //updating only status property and updateCode - as updatecode needs to be updated in grid if latest open code changed\r\n this.spaces[index].history[0].status = status;\r\n this.spaces[index].history[0].spaceCode = updateCode;\r\n this.spaces[index].ifcElements=[];\r\n }\r\n }\r\n });\r\n \r\n this.archiveCount=spaceList.archiveCount;\r\n this.activeCount=spaceList.activeCount;\r\n this.deActiveCount=spaceList.deActiveCount;\r\n this.transferCount=spaceList.transferCount;\r\n \r\n \r\n \r\n \r\n }\r\n }\r\n public ExportSpaces(): void {\r\n var bGetAll:boolean = this.isSelectAll;\r\n var selectedIds:string =\"\";\r\n if(this.selectedSpaces != null && this.selectedSpaces.length > 0)\r\n {\r\n this.selectedSpaces.forEach((space)=>{\r\n selectedIds += space.id.toString();\r\n selectedIds+=\",\";\r\n })\r\n }\r\n this.projectService.exportSpaces(this.projectId,this.filterAndSortOptions,bGetAll,selectedIds);\r\n }\r\n\r\n isSpaceCodeLatest(space: Space):boolean {\r\n var bVal:boolean = false;\r\n if(space.history[0].spaceCode == null || space.history[0].spaceCode.id <= 0)\r\n return bVal;\r\n \r\n var spaceUpdateCodeId = space.history[0].spaceCode.id;\r\n\r\n var file:BlobFile = space.history[0].photos.find(x=>x.parentId == spaceUpdateCodeId);\r\n if(file != null)\r\n bVal = true;\r\n\r\n\r\n return bVal;\r\n }\r\n\r\n public UpdateSpacesInList(spacecodeid:number,updatedSpaces: Array): void {\r\n if (updatedSpaces && updatedSpaces.length > 0) {\r\n this.MergeUpdateSpaces(spacecodeid,updatedSpaces);\r\n }\r\n }\r\n MergeUpdateSpaces(spacecodeid:number,incomingSpaces:Array) {\r\n incomingSpaces.forEach((sp: Space): void => {\r\n if (sp.id > 1) {\r\n var matchedIdx: number = this.spaces.findIndex((item: Space): any => { return item.id == sp.id; });\r\n if (matchedIdx != -1) {\r\n // updating updated fields.\r\n this.spaces[matchedIdx].code = sp.code;\r\n this.spaces[matchedIdx].history[0].spaceCode = sp.history[0].spaceCode;\r\n this.spaces[matchedIdx].history[0].spaceCode.id= spacecodeid;\r\n this.spaces[matchedIdx].history[0].spaceType = sp.history[0].spaceType;\r\n this.spaces[matchedIdx].history[0].spaceName = sp.history[0].spaceName;\r\n this.spaces[matchedIdx].history[0].occupancy = sp.history[0].occupancy;\r\n this.spaces[matchedIdx].history[0].zone = sp.history[0].zone;\r\n this.spaces[matchedIdx].history[0].zoneDescription = sp.history[0].zoneDescription;\r\n this.spaces[matchedIdx].history[0].photos = sp.history[0].photos;\r\n if (sp.history && sp.history.length > 0) {\r\n if (sp.history[0].photos && sp.history[0].photos.length > 0) {\r\n this.spaces[matchedIdx].history[0].isPhotosAvailable = true;\r\n }\r\n }\r\n this.spaces[matchedIdx].ifcElements=sp.ifcElements;\r\n }\r\n }\r\n });\r\n }\r\n\r\n public UpdatePhotosInList(spacecodeid:number,spaceModels: Array) {\r\n spaceModels.forEach((sp: Space): void => {\r\n if (sp.id > 1) {\r\n var matchedIdx: number = this.spaces.findIndex((item: Space): any => { return item.id == sp.id; });\r\n if (matchedIdx != -1) {\r\n // updating updated fields.\r\n this.spaces[matchedIdx].ifcElements=sp.ifcElements;\r\n this.spaces[matchedIdx].history[0].spaceCode.id=spacecodeid;\r\n this.spaces[matchedIdx].history[0].photos = sp.history[0].photos;\r\n if (sp.history && sp.history.length > 0) {\r\n if (sp.history[0].photos && sp.history[0].photos.length > 0) {\r\n this.spaces[matchedIdx].history[0].isPhotosAvailable = true;\r\n }\r\n }\r\n }\r\n }\r\n });\r\n }\r\n public UpdateDocuments(spaceModels: Array) {\r\n spaceModels.forEach((space:Space)=>{\r\n var spaceFound:Space = this.spaces.find(x=>x.id == space.id);\r\n if(spaceFound != null && spaceFound != undefined)\r\n {\r\n spaceFound.ifcElements=space.ifcElements;\r\n if(space.documents != null && space.documents.length > 0)\r\n {\r\n if(spaceFound.documents == null)\r\n spaceFound.documents = new Array();\r\n space.documents.forEach((document:Document)=>{\r\n spaceFound.documents.push(document);\r\n\r\n });\r\n }\r\n }\r\n });\r\n }\r\n\r\n public RemoveDeletedSpacesFromList(deletedSpaces: Array): void {\r\n if (deletedSpaces && deletedSpaces.length > 0) {\r\n deletedSpaces.forEach((space: Space) => {\r\n if (space && space.id > 0) {\r\n var index: number = this.spaces.findIndex(_space => _space && _space.id == space.id);\r\n if(index >= 0)\r\n {\r\n //updating space area in delete\r\n this.totalSpaceArea-=this.spaces.find(_space => _space && _space.id == space.id).area;\r\n this.spaces.splice(index, 1);\r\n }\r\n }\r\n });\r\n this.totalCount-=deletedSpaces.length;\r\n this.archiveCount=this.spaces.filter(x=>x.history[0].status==SpaceStatus.ARCHIVED).length;\r\n this.deActiveCount=this.spaces.filter(x=>x.history[0].status==SpaceStatus.DEACTIVATED).length;\r\n this.activeCount=this.totalCount-(this.deActiveCount+this.archiveCount);\r\n this.SetTotalSpaceArea();\r\n }\r\n }\r\n showIconDetails(elementId:string){\r\n var id=\"#\"+elementId;\r\n $(id).toggleClass('show-popver hide-popover');\r\n }\r\n public UpdateSpaceIFCElementsInList(space:Space,iFCElements: Array) {\r\n if (space && space.id > 0) {\r\n var index: number = this.spaces.findIndex(_space => _space && _space.id == space.id);\r\n if (index >= 0) {\r\n var _space= this.spaces.find(_space => _space && _space.id == space.id);\r\n if(_space.ifcElements)\r\n {\r\n iFCElements.forEach((item)=>\r\n {\r\n var _ifcElementindex= _space.ifcElements.findIndex(ele => ele && ele.documentId == item.documentId);\r\n if(_ifcElementindex ==-1)\r\n {\r\n _space.ifcElements.push(item);\r\n }\r\n });\r\n }\r\n else{\r\n _space.ifcElements=iFCElements;\r\n }\r\n this.spaces.splice(index, 1, _space);\r\n }\r\n }\r\n }\r\n getAddlColumnValue(column:SpacesGridColumnOption,space:Space){\r\n var value:string=\"--\";\r\n if(!space.spaceAddlInformationValues || space.spaceAddlInformationValues.length == 0)\r\n return value;\r\n var spaceAddlInformation:SpaceAddlInformationValue = space.spaceAddlInformationValues.find(x=>x.id == column.column );\r\n if(spaceAddlInformation)\r\n {\r\n if(column.customColumnType == SpaceAssetAttributeTypes.DATE)\r\n {\r\n if(spaceAddlInformation.value)\r\n {\r\n var d = new Date(parseInt(spaceAddlInformation.value)); // The 0 there is the key, which sets the date to the epoch\r\n \r\n value=this.datepipe.transform(d.toDateString(), 'dd-MM-yyyy');\r\n }\r\n\r\n }\r\n else if(column.customColumnType == SpaceAssetAttributeTypes.BOOLEAN)\r\n {\r\n if(spaceAddlInformation.value)\r\n {\r\n if(spaceAddlInformation.value.toLowerCase() == \"true\")\r\n value=\"Yes\";\r\n else if(spaceAddlInformation.value.toLowerCase() == \"false\")\r\n value=\"No\";\r\n }\r\n\r\n }\r\n else value=spaceAddlInformation.value;\r\n }\r\n\r\n\r\n\r\n return 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 {{ column.name | translate }}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\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.CommonLabel.lblAll' | translate }}\r\n {{buildingName.name}}\r\n \r\n \r\n {{ 'Settings.CommonLabel.lblAll' | translate }}\r\n {{zoneName.name}}\r\n \r\n \r\n {{ 'Settings.CommonLabel.lblAll' | translate }}\r\n {{siteName.name}}\r\n \r\n \r\n {{ 'Settings.CommonLabel.lblAll' | translate }}\r\n {{ 'ProjectManagerSettings.Spaces.lblCSV' | translate }}\r\n {{ 'ProjectManagerSettings.Spaces.lblManual' | translate }}\r\n \r\n\r\n \r\n {{ 'Settings.CommonLabel.lblAll' | translate }}\r\n {{ 'ProjectManagerSettings.Spaces.lblActive' | translate }}\r\n {{ 'ProjectManagerSettings.Spaces.lblDeactivated' | translate }}\r\n {{ 'ProjectManagerSettings.Spaces.lblArchived' | translate }}\r\n {{ 'ProjectManagerSettings.Spaces.lblTransfer' | translate }}\r\n \r\n
\r\n \r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n\r\n \r\n
\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.CommonLabel.lblAll' | translate }}\r\n {{'Settings.CommonLabel.Yes' | translate}}\r\n {{ 'Settings.CommonLabel.No' | translate}}\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n {{ column.name | translate }}\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n {{ column.name | translate }}\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
-
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n {{ column.name | translate }}\r\n
\r\n
\r\n
\r\n
\r\n {{ item.siteName }}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n {{ column.name | translate }}\r\n
\r\n
\r\n
\r\n
\r\n {{ item.buildingName }}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n {{ column.name | translate }}\r\n
\r\n
\r\n
\r\n
\r\n {{ item.code }}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n {{ column.name | translate }}\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n {{ column.name | translate }}\r\n
\r\n
\r\n
\r\n
\r\n {{ item.history[0].spaceType }}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n {{ column.name | translate }}\r\n
\r\n
\r\n
\r\n
\r\n {{ item.history[0].spaceClassification }}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n {{ column.name | translate }}\r\n
\r\n
\r\n
\r\n
\r\n {{ item.history[0].spaceName }}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n {{ column.name | translate }}\r\n
\r\n
\r\n
\r\n
\r\n {{ item.history[0].occupancy }}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n {{ column.name | translate }}\r\n
\r\n
\r\n
\r\n
\r\n {{ item.level }}\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n {{ column.name | translate }}\r\n
\r\n
\r\n
\r\n
0; else emptyValue\">\r\n {{ item.area }}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n {{ column.name | translate }}\r\n
\r\n
\r\n
\r\n
\r\n {{ item.history[0].zone }}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n {{ column.name | translate }}\r\n
\r\n
\r\n
\r\n
\r\n {{ item.history[0].zoneDescription }}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n {{ column.name | translate }}\r\n
\r\n
\r\n
\r\n
\r\n {{ item.history[0].spaceCode.code }}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n {{ column.name | translate }}\r\n
\r\n
\r\n
\r\n
\r\n {{ item.history[0].lastModifiedOn | date: 'dd-MM-yyyy' }}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n {{ column.name | translate }}\r\n
\r\n
\r\n
\r\n 0; else emptyValue\">\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n {{ column.name | translate }}\r\n
\r\n
\r\n
\r\n
0; else emptyValue\">\r\n
\r\n
\r\n\r\n
\r\n
\r\n\r\n
    \r\n
  • {{document.name}}
  • \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n {{ column.name | translate }}\r\n
\r\n
\r\n
\r\n
0 ? 'orange':'green'\">\r\n {{ item.openTickets }} / {{item.totalTickets }}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n {{ column.name | translate }}\r\n
\r\n
\r\n
\r\n\r\n
\r\n -\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n {{ column.name | translate }}\r\n
\r\n
\r\n
\r\n
0; else emptyValue\">\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n {{ column.name | translate }}\r\n
\r\n
\r\n
0\">\r\n
\r\n \r\n
\r\n
\r\n
Projects.projectDetailsView.lblLinkedModels
\r\n
\r\n
    \r\n
  • {{element.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 {{ column.name }}\r\n
\r\n
\r\n
\r\n
\r\n {{ getAddlColumnValue(column,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
Settings.CommonLabel.lblFilters
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n {{ column.name | translate }}\r\n
\r\n
\r\n \r\n {{ 'Settings.CommonLabel.lblAll' | translate }}\r\n {{ 'ProjectManagerSettings.Spaces.lblCSV' | translate }}\r\n {{ 'ProjectManagerSettings.Spaces.lblManual' | translate }}\r\n \r\n\r\n \r\n {{ 'Settings.CommonLabel.lblAll' | translate }}\r\n {{ 'ProjectManagerSettings.Spaces.lblActive' | translate }}\r\n {{ 'ProjectManagerSettings.Spaces.lblDeactivated' | translate }}\r\n {{ 'ProjectManagerSettings.Spaces.lblArchived' | translate }}\r\n \r\n\r\n \r\n\r\n\r\n \r\n
\r\n \r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n\r\n
\r\n
\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.CommonLabel.lblSorting
\r\n \r\n
\r\n \r\n
\r\n\r\n","import { Component, OnInit,ViewChild,ElementRef, Injector } from '@angular/core';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { ScopeService } from 'src/app/services/scope.service';\r\nimport { DataManagerSettingsType } from 'src/shared/Models/Internal/data-manager-settings-type';\r\nimport { ProjectManagerSettingsType } from 'src/shared/Models/Internal/settings-type.enum';\r\nimport { Scope, ScopeType } from 'src/shared/Models/scope-tree';\r\nimport { SortOrder } from 'src/shared/UI/ViewTypes';\r\nimport { SortUtil } from 'src/shared/utilities/SortUtil';\r\nimport { SortModel } from 'src/shared/Models/SortModel';\r\nimport { PermissionGroupModel, PermissionModel } from 'src/shared/UI/PermissionModel';\r\nimport { PermissionHelper, PermissionTypes } from 'src/shared/utilities/PermissionHelper';\r\nimport { Role } from 'src/shared/Models/API/role';\r\nimport {\r\n debounceTime,\r\n map,\r\n distinctUntilChanged,\r\n filter\r\n} from \"rxjs/operators\";\r\nimport { fromEvent } from 'rxjs';\r\nimport { BaseComponent } from '../BaseComponent';\r\nimport { PermissionViewType } from 'src/shared/UI/PermissionEnums';\r\n@Component({\r\n selector: 'app-system-roles-view',\r\n templateUrl: './system-roles-view.component.html',\r\n styleUrls: ['./system-roles-view.component.css']\r\n})\r\nexport class SystemRolesViewComponent extends BaseComponent implements OnInit {\r\n public allSystemRoles: Array = new Array();\r\n public currentScope: Scope = null;\r\n public _sortOrder=SortOrder;\r\n public sortUtil:SortUtil= new SortUtil;\r\n public currentSortModel: SortModel=new SortModel();\r\n public _searchByname:string='';\r\n public systemRolesGridItems: Array = new Array();\r\n public _permissionTypes=PermissionTypes;\r\n @ViewChild('attributeSearchtitleref', { static: true }) searchroleInput: ElementRef;\r\n public IsMobileFilterEnabled:boolean = false;\r\n public isMobileSortingEnabled:boolean=false;\r\n constructor( injector:Injector,\r\n private router: Router,\r\n private route: ActivatedRoute,\r\n private scopeService: ScopeService) {\r\n super(injector);\r\n }\r\n\r\n ngOnInit() {\r\n this.scopeService.scopeObservable().subscribe(selectedScope => {\r\n this.currentScope = selectedScope;\r\n });\r\n this.getAllSystemRoles();\r\n this.allSystemRoles.forEach((role: Role) => {\r\n this.systemRolesGridItems.push(role);\r\n });\r\n this.BindKeyUp(this.searchroleInput);\r\n }\r\n\r\n public getAllSystemRoles(): void {\r\n var role1: Role = new Role();\r\n role1.name = this.translate.instant('Settings.SystemRoles.lblDataManger');\r\n role1.isSystem = true;\r\n role1.permissions.push(1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20);\r\n this.allSystemRoles.push(role1);\r\n\r\n var role2: Role = new Role();\r\n role2.name = this.translate.instant('Settings.SystemRoles.lblProjectManger');\r\n role2.isSystem = true;\r\n role2.permissions.push(1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20);\r\n this.allSystemRoles.push(role2);\r\n\r\n var role3: Role = new Role();\r\n role3.name = this.translate.instant('Settings.SystemRoles.lblSystemUser');\r\n role3.isSystem = true;\r\n role3.permissions.push(1,11,12,13,14,16);\r\n this.allSystemRoles.push(role3);\r\n }\r\n\r\n public getPermissionModel(permission: Array) {\r\n var permissionModels: Array = new Array();\r\n if (permission != null && permission.length > 0) {\r\n permission.forEach((permission: PermissionTypes) => {\r\n var model = PermissionHelper.getPermissionModel(permission);\r\n if (model != null) {\r\n permissionModels.push(model);\r\n }\r\n });\r\n }\r\n return permissionModels;\r\n }\r\n\r\n public returnBack() {\r\n if(this.currentScope.type === ScopeType.ORGANIZATION)\r\n this.router.navigate(['../'], { relativeTo: this.route, state: { activeTab: DataManagerSettingsType.USERS } });\r\n else if(this.currentScope.type === ScopeType.PROJECT)\r\n this.router.navigate(['../'], { relativeTo: this.route, state: { activeTab: ProjectManagerSettingsType.PROJECT_USER_SETTINGS } });\r\n\r\n }\r\n\r\n SortBy(order:SortOrder,_colName:string)\r\n {\r\n this.currentSortModel._colname=_colName;\r\n this.currentSortModel._order=order;\r\n this.sortUtil.sortByProperty(this.allSystemRoles,_colName,order);\r\n this.isMobileSortingEnabled=false;\r\n }\r\n applyFilter() {\r\n this.allSystemRoles=this.systemRolesGridItems.filter((item)=>\r\n item.name.toLowerCase().indexOf(this._searchByname.toLowerCase()) !== -1);\r\n }\r\n\r\n BindKeyUp(element:ElementRef)\r\n {\r\n fromEvent(element.nativeElement, 'keyup').pipe(\r\n\r\n // get value\r\n map((event: any) => {\r\n return event.target.value;\r\n })\r\n // if character length greater then 2\r\n //, filter(res => res.length > 2)\r\n\r\n // Time in milliseconds between key events\r\n , debounceTime(1000)\r\n\r\n // If previous query is diffent from current\r\n , distinctUntilChanged()\r\n\r\n // subscription for response\r\n ).subscribe((text: string) => {\r\n this.applyFilter();\r\n });\r\n }\r\n resetFilters(){\r\n this._searchByname='';\r\n }\r\n\r\n // begin Mobile Filter and Sorting functionalities //\r\n OnShowMobileFilterClick()\r\n {\r\n this.IsMobileFilterEnabled=true;\r\n this.HideBodyOverflow();\r\n }\r\n applyMobileFilter()\r\n {\r\n this.applyFilter();\r\n this.IsMobileFilterEnabled=false;\r\n this.showBodyOverflow();\r\n }\r\n public clearMobileFilters():void{\r\n this.resetFilters();\r\n this.applyFilter();\r\n this.IsMobileFilterEnabled=false;\r\n }\r\n public cancelMobileFilters():void{\r\n this.IsMobileFilterEnabled=false;\r\n this.showBodyOverflow();\r\n }\r\n public showMobileSorting():void{\r\n this.isMobileSortingEnabled=true;\r\n }\r\n public closeMobileSorting():void{\r\n this.isMobileSortingEnabled=false;\r\n }\r\n // end Mobile Filter and Sorting functionalities //\r\n}\r\n","

ProjectManagerSettings.lblSystemRoles

\r\n
\r\n
\r\n
    \r\n
  • \r\n
\r\n
\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.CommonLabel.lblRole
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
Settings.CommonLabel.lblPermissions
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
Settings.CommonLabel.lblRole
\r\n
\r\n {{item.name}}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
Settings.CommonLabel.lblPermissions
\r\n
\r\n \r\n {{ translate.instant('Settings.Permissions.'+_permissionTypes[permission.permission])}}\r\n {{(i+1 < item.permissions.length)?',':''}}\r\n \r\n
\r\n
\r\n
\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.CommonLabel.lblFilters
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
Settings.CommonLabel.lblRole
\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.CommonLabel.lblSorting
\r\n \r\n
\r\n \r\n
\r\n\r\n \r\n\r\n","import { HttpErrorResponse } from '@angular/common/http';\r\nimport { Component, Injector, Input, OnInit, Output, SimpleChanges,EventEmitter } from '@angular/core';\r\nimport { inject, tick } from '@angular/core/testing';\r\nimport { toJSDate } from '@ng-bootstrap/ng-bootstrap/datepicker/ngb-calendar';\r\nimport { IMyDateModel, IAngularMyDpOptions } from 'angular-mydatepicker';\r\n\r\nimport { Subject } from 'rxjs';\r\nimport { debounceTime, distinctUntilChanged, find } from 'rxjs/operators';\r\nimport { TagChecklistResolve } from 'src/app/modules/checklist/checklist.resolve';\r\nimport { BaseComponent } from 'src/app/modules/shared/BaseComponent';\r\nimport { ProjectService } from 'src/app/services/project.service';\r\nimport { CheckList } from 'src/shared/Models/API/checklist';\r\nimport { Document } from 'src/shared/Models/API/document';\r\nimport { AssetsFilterModel, FilterColumnType, TicketColumns, TicketsFilterModel } from 'src/shared/Models/API/filtermodel';\r\nimport { PPTimingStatus, Ticket, TicketExpiryStatus, TicketFlow, TicketHistory, TicketStatus, TicketStatusProperty, TicketTag } from 'src/shared/Models/API/Ticket';\r\nimport { Asset } from 'src/shared/Models/Asset';\r\nimport { BlobFile } from 'src/shared/Models/Internal/BlobFileModel';\r\nimport { Space } from 'src/shared/Models/space';\r\nimport { User } from 'src/shared/Models/user';\r\nimport { TicketGridColumnOption } from 'src/shared/UI/grid-column-option';\r\nimport { SortOrder } from 'src/shared/UI/ViewTypes';\r\ndeclare var $:any;\r\n@Component({\r\n selector: 'app-tickets-grid-view',\r\n templateUrl: './tickets-grid-view.component.html',\r\n styleUrls: ['./tickets-grid-view.component.css']\r\n})\r\nexport class TicketsGridViewComponent extends BaseComponent implements OnInit {\r\n @Input() dynamicheightclass:string='grid-mainview-scroller';\r\n @Input() gridColumns: Array = new Array();\r\n @Input() isLoadTickets: boolean = false;\r\n @Input() projectId: number;\r\n @Input() document: Document;\r\n @Input() space: Space;\r\n @Input() asset: Asset;\r\n @Output() OnDocumentClick:EventEmitter= new EventEmitter();\r\n @Output() refreshComplete:EventEmitter = new EventEmitter();\r\n public tickets: Array = new Array();\r\n public ticketStatus:number =0;\r\n public ticketTiming:PPTimingStatus =0;\r\n public isAttachment:number = -1;\r\n public isChecklist:number = -1;\r\n //enums\r\n public ticketColumns = TicketColumns;\r\n public sortDirection = SortOrder;\r\n public columnTypes = FilterColumnType;\r\n public expiryStatuses = TicketExpiryStatus;\r\n //filter and sorting\r\n private keyupFilter = new Subject();\r\n public filterAndSortingOptions: TicketsFilterModel = new TicketsFilterModel();\r\n public isMobileFilterEnabled: boolean = false;\r\n public isMobileSortingEnabled: boolean = false;\r\n public isAllTicketsLoaded: boolean = false;\r\n public isSelectAll: boolean = false;\r\n public selectedtickets: Array = new Array();\r\n //date range picker\r\n myDatePickerOptions: IAngularMyDpOptions = {\r\n // other options...\r\n dateFormat: 'dd-mm-yyyy',\r\n alignSelectorRight: true\r\n \r\n };\r\n\r\n constructor(injector: Injector,\r\n private projectService: ProjectService) {\r\n super(injector);\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n ngOnChanges(change: SimpleChanges) {\r\n if (change && change.isLoadTickets && change.isLoadTickets.currentValue) {\r\n this.tickets = new Array();\r\n this.clearGridFilters();\r\n this.setFilterOptions();\r\n this.filterAndSortingOptions._odby= TicketColumns.STATUSPROPERTY;\r\n this.filterAndSortingOptions._od= SortOrder.ASC;\r\n this.loadTickets(true);\r\n }\r\n }\r\n\r\n ngAfterViewInit() {\r\n this.bindKeyUp();\r\n }\r\n\r\n\r\n public onRefresh(): void {\r\n this.isSelectAll=false;\r\n this.clearGridFilters();\r\n this.setFilterOptions();\r\n this.filterAndSortingOptions._odby= TicketColumns.STATUSPROPERTY;\r\n this.filterAndSortingOptions._od= SortOrder.ASC;\r\n this.loadTickets(true);\r\n this.selectedtickets= new Array();\r\n }\r\n\r\n public onSelectAll(): void {\r\n this.selectedtickets = new Array();\r\n if (this.tickets && this.tickets.length > 0) {\r\n this.tickets.forEach((ticket: Ticket): void => {\r\n if (ticket && ticket.id > 0) {\r\n ticket.isSelected = this.isSelectAll;\r\n if (this.isSelectAll) {\r\n this.selectedtickets.push(ticket);\r\n }\r\n //this below code is to push all child tickets into selected array when selectall checkox is selected\r\n if(ticket.children && ticket.children.length>0)\r\n {\r\n ticket.children.forEach((childticket: Ticket)=>{\r\n childticket.isSelected = this.isSelectAll;\r\n if (this.isSelectAll) {\r\n this.selectedtickets.push(childticket);\r\n }\r\n });\r\n\r\n }\r\n }\r\n });\r\n }\r\n }\r\n\r\n onFilterDropdownChange()\r\n {\r\n this.setFilterOptions();\r\n \r\n \r\n this.loadTickets(true);\r\n }\r\n\r\n\r\n private loadTickets(isRefresh): void {\r\n if (isRefresh)\r\n this.tickets = new Array();\r\n\r\n \r\n //this is get only docuemnt tickets if it is sent as input param to this component\r\n if(this.document && this.document.id>0)\r\n {\r\n this.filterAndSortingOptions._did=this.document.id;\r\n }\r\n else if(this.space != null && this.space.id > 0)\r\n {\r\n this.filterAndSortingOptions._sid = this.space.id;\r\n }\r\n else if(this.asset != null && this.asset.id > 0)\r\n {\r\n this.filterAndSortingOptions._aid = this.asset.id;\r\n }\r\n this.projectService.getTickets(this.projectId, this.filterAndSortingOptions).subscribe((_tickets: Array) => {\r\n if (_tickets && _tickets.length > 0) {\r\n _tickets.forEach((ticket: Ticket) => {\r\n if (this.isSelectAll) {\r\n ticket.isSelected = true;\r\n }\r\n this.tickets.push(ticket);\r\n });\r\n }\r\n if (_tickets && (_tickets.length <= 0 || this.getTicketsLength(_tickets) < this.filterAndSortingOptions.ps )) {\r\n this.isAllTicketsLoaded = true;\r\n }\r\n else {\r\n this.isAllTicketsLoaded = false;\r\n }\r\n this.refreshComplete.emit(true);\r\n\r\n },\r\n (error: HttpErrorResponse): void => {\r\n super.handleError(error);\r\n this.refreshComplete.emit(false);\r\n });\r\n }\r\n getTicketsLength(tickets:Array):number {\r\n var tLength:number = 0;\r\n if(tickets == null || tickets.length == 0)\r\n return tLength;\r\n \r\n tickets.forEach(x=>{\r\n tLength +=1;\r\n if(x.children != null && x.children.length > 0)\r\n {\r\n tLength += x.children.length;\r\n }\r\n\r\n })\r\n return tLength;\r\n }\r\n onScroll(): void {\r\n this.filterAndSortingOptions.pn += 1;\r\n this.loadTickets(false);\r\n }\r\n\r\n public ApplyFiltersOnKeyUp(value: string): void {\r\n this.keyupFilter.next(value);\r\n }\r\n\r\n private bindKeyUp(): void {\r\n this.keyupFilter.pipe(debounceTime(2000), distinctUntilChanged())\r\n .subscribe((value: string) => {\r\n this.setFilterOptions();\r\n this.loadTickets(true);\r\n });\r\n }\r\n\r\n public GetTicketsBySorting(sortColumn: TicketColumns, sortDir: SortOrder): void {\r\n this.setFilterOptions();\r\n this.filterAndSortingOptions._odby = sortColumn;\r\n this.filterAndSortingOptions._od = sortDir;\r\n this.loadTickets(true);\r\n this.isMobileSortingEnabled = false;\r\n }\r\n\r\n onDateChanged(event: IMyDateModel, column: TicketColumns) {\r\n this.setFilterOptions();\r\n if (column == TicketColumns.EXPIRYDATE) {\r\n if(event && event.singleDate)\r\n this.filterAndSortingOptions._ed = event.singleDate.formatted.toString();\r\n else\r\n this.filterAndSortingOptions._ed = null;\r\n\r\n }\r\n else if (column == TicketColumns.LASTMODIFIEDDATE) {\r\n if(event && event.singleDate)\r\n this.filterAndSortingOptions._ld = event.singleDate.formatted.toString();\r\n else\r\n this.filterAndSortingOptions._ld= null;\r\n }\r\n this.loadTickets(true);\r\n }\r\n\r\n private setFilterOptions(): void {\r\n this.filterAndSortingOptions = new TicketsFilterModel();\r\n \r\n\r\n this.filterAndSortingOptions._tst = this.ticketStatus;\r\n this.filterAndSortingOptions._tti= this.ticketTiming;\r\n this.filterAndSortingOptions._isatt= this.isAttachment;\r\n this.filterAndSortingOptions._ischeck= this.isChecklist;\r\n \r\n this.gridColumns.forEach((column: TicketGridColumnOption): void => {\r\n if(column.filterColumnValue!='' && column.filterColumnValue!=null){\r\n if (column.column == TicketColumns.NAME)\r\n this.filterAndSortingOptions._tn = column.filterColumnValue;\r\n else if (column.column == TicketColumns.ASSIGNEDBY)\r\n this.filterAndSortingOptions._ab = column.filterColumnValue;\r\n else if (column.column == TicketColumns.ASSIGNEDTO)\r\n this.filterAndSortingOptions._at = column.filterColumnValue;\r\n else if (column.column == TicketColumns.NOTIFYTO)\r\n this.filterAndSortingOptions._nt = column.filterColumnValue;\r\n else if (column.column == TicketColumns.STATUS)\r\n this.filterAndSortingOptions._s = column.filterColumnValue;\r\n else if (column.column == TicketColumns.TICKETFLOW)\r\n this.filterAndSortingOptions._tf = column.filterColumnValue;\r\n else if (column.column == TicketColumns.TAG)\r\n this.filterAndSortingOptions._tg = column.filterColumnValue;\r\n else if(column.column == TicketColumns.SPACECODE)\r\n this.filterAndSortingOptions._sc = column.filterColumnValue;\r\n else if(column.column == TicketColumns.ASSETCODE)\r\n this.filterAndSortingOptions._ac = column.filterColumnValue;\r\n else if(column.column == TicketColumns.DOCUMENTNAME)\r\n this.filterAndSortingOptions._dname = column.filterColumnValue;\r\n else if(column.column== TicketColumns.EXPIRYDATE)\r\n {\r\n this.filterAndSortingOptions._ed= column.filterColumnValue.singleDate.formatted.toString();;\r\n }\r\n else if(column.column== TicketColumns.LASTMODIFIEDDATE)\r\n {\r\n this.filterAndSortingOptions._ld= column.filterColumnValue.singleDate.formatted.toString();;\r\n }\r\n else if (column.column == TicketColumns.TITLE)\r\n this.filterAndSortingOptions._t= column.filterColumnValue;\r\n }\r\n });\r\n }\r\n\r\n\r\n private clearGridFilters(): void {\r\n this.filterAndSortingOptions = new TicketsFilterModel();\r\n this.filterAndSortingOptions._odby= TicketColumns.STATUSPROPERTY;\r\n this.filterAndSortingOptions._od= SortOrder.ASC;\r\n \r\n this.gridColumns.forEach((col: TicketGridColumnOption) => {\r\n col.filterColumnValue = '';\r\n });\r\n this.ticketStatus =0;\r\n this.ticketTiming =0;\r\n this.isAttachment = -1;\r\n this.isChecklist = -1;\r\n }\r\n getSelectedTickets():Array\r\n {\r\n return this.selectedtickets;\r\n }\r\n\r\n // begin Mobile Filter and Sorting functionalities //\r\n public showMobileFilters(): void {\r\n this.isMobileFilterEnabled = true;\r\n }\r\n public applyMobileFilter(): void {\r\n this.isMobileFilterEnabled = false;\r\n this.setFilterOptions();\r\n this.loadTickets(true);\r\n }\r\n public clearMobileFilters(): void {\r\n this.isMobileFilterEnabled = false;\r\n this.clearGridFilters();\r\n this.setFilterOptions();\r\n this.loadTickets(true);\r\n }\r\n public cancelMobileFilters(): void {\r\n this.isMobileFilterEnabled = false;\r\n }\r\n public showMobileSorting(): void {\r\n this.isMobileSortingEnabled = true;\r\n }\r\n public closeMobileSorting(): void {\r\n this.isMobileSortingEnabled = false;\r\n }\r\n // end Mobile Filter and Sorting functionalities //\r\n\r\n showIconDetails(elementId:string){\r\n var id=\"#\"+elementId;\r\n $(id).toggleClass('show-popver hide-popover');\r\n }\r\n\r\n //for ticket upload /update it will check list and merge\r\n public MergeIntoTickets(_tickets: Array): void {\r\n if (_tickets && _tickets.length > 0) {\r\n _tickets.forEach((ticket: Ticket) => {\r\n if (ticket && ticket.id > 0)\r\n {\r\n\r\n //FIRST IF IS TO CHECK TICKET IS PARENT OR CHILD\r\n if(ticket.parentId==0)\r\n {\r\n // IF IT'S A PARENT CHECK ITS A NEW TICKET OR EXISTING TICKET\r\n let findIndex=this.tickets.findIndex(x=>x.id==ticket.id);\r\n if(findIndex>=0)//IF EXISTING UPDATE\r\n {\r\n //here we are cloning if any child exists and copy to the returned ticket and update parent\r\n var clonedticket= Object.assign({},this.tickets.find(x=>x.id==ticket.id));\r\n if(clonedticket && clonedticket.children && clonedticket.children.length>0)\r\n {\r\n //appending existing children to the parent returned and updating the parent into tickets array with childrens\r\n ticket.children=clonedticket.children;\r\n }\r\n this.tickets.splice(findIndex, 1,ticket);\r\n }\r\n //else add new ticket as new parent ticket\r\n else{\r\n this.tickets.push(ticket);\r\n }\r\n }\r\n //SECOND IF TICKET IS CHILD IF EXISTS IN PARENT UPDATE THE CHILD TICKET ELSE PUSH AS NEW CHILD TICKET\r\n else if(ticket.parentId!=null && ticket.parentId>0){\r\n var parentTicket:Ticket = this.tickets.find(p=>p.id == ticket.parentId);\r\n if(parentTicket!=null)//IF PARENT EXISTS\r\n {\r\n let findIndex=parentTicket.children.findIndex(x=>x.id==ticket.id);\r\n if(findIndex>=0)//IF CHILD EXISTS IN PARENT TICKET\r\n {\r\n parentTicket.children.splice(findIndex, 1,ticket);\r\n }\r\n else{\r\n //NEW CHILD TICKET PUSHED INTO PARENT TICKET\r\n parentTicket.children.push(ticket);\r\n }\r\n }\r\n }\r\n\r\n }\r\n });\r\n }\r\n }\r\n public getTimingColorClass(ticket:Ticket):string\r\n {\r\n var classname:string ='';\r\n if(ticket.expiryDate)\r\n {\r\n if(ticket.ticketTiming == PPTimingStatus.OnTime)\r\n classname='ontime'\r\n else \r\n classname=\"delay\";\r\n }\r\n return classname;\r\n }\r\n\r\n public getExpiryColorClass(ticket:Ticket)\r\n {\r\n var classname='';\r\n if(ticket.expiryDate)\r\n {\r\n if(ticket.ticketHistories[0].ticketStatus.statusProperty==TicketStatusProperty.END)\r\n {\r\n classname='close';\r\n }\r\n else\r\n {\r\n classname='ontime';\r\n \r\n }\r\n }\r\n return classname;\r\n }\r\n\r\n updateSelectedTickets(ticket:Ticket,event)\r\n {\r\n var status = event.target.checked;\r\n if(status)\r\n {\r\n this.selectedtickets.push(ticket);\r\n }\r\n else\r\n {\r\n let foundIndex=this.selectedtickets.findIndex(x=>x.id==ticket.id);\r\n this.selectedtickets.splice(foundIndex, 1);\r\n }\r\n }\r\n deleteTickets(deletedTickets:Array)\r\n {\r\n deletedTickets.forEach((ticket: Ticket) => {\r\n //FIRST IF IS TO CHECK TICKET IS PARENT OR CHILD\r\n if(ticket.parentId==0)\r\n {\r\n let parentIndex=this.tickets.findIndex(x=>x.id==ticket.id);\r\n if(parentIndex>=0)//IF EXISTING DELETE\r\n {\r\n this.tickets.splice(parentIndex,1);\r\n }\r\n }\r\n else{\r\n var parentTicket:Ticket = this.tickets.find(p=>p.id == ticket.parentId);\r\n if(parentTicket!=null)//IF PARENT EXISTS\r\n {\r\n let findIndex=parentTicket.children.findIndex(x=>x.id==ticket.id);\r\n if(findIndex>=0)//IF CHILD EXISTS IN PARENT TICKET\r\n {\r\n parentTicket.children.splice(findIndex, 1);\r\n }\r\n }\r\n }\r\n });\r\n }\r\n \r\n OnExportTickets()\r\n {\r\n var bGetAll:boolean = this.isSelectAll;\r\n var selectedIds:string = \"\";\r\n if(this.selectedtickets != null && this.selectedtickets.length > 0)\r\n {\r\n this.selectedtickets.forEach((ticket:Ticket)=>{\r\n selectedIds += ticket.id.toString() + \",\";\r\n\r\n });\r\n }\r\n this.projectService.exportTickets(this.projectId,this.filterAndSortingOptions,bGetAll,selectedIds)\r\n\r\n }\r\n\r\n \r\n onDeleteConfirmation():void {\r\n var ticketsFilterModel:TicketsFilterModel = this.filterAndSortingOptions;\r\n ticketsFilterModel._all = this.isSelectAll;\r\n ticketsFilterModel._sids= new Array();\r\n if(this.selectedtickets != null && this.selectedtickets.length > 0 && !this.isSelectAll)\r\n {\r\n this.selectedtickets.forEach((ticket:Ticket)=>{\r\n ticketsFilterModel._sids.push(ticket.id);\r\n });\r\n }\r\n this.projectService.deleteTickets(this.projectId,ticketsFilterModel).subscribe((deletedTickets:Array)=>{\r\n \r\n if(this.isSelectAll)\r\n {\r\n this.isSelectAll = false;\r\n super.successMsg(this.translate.instant('ProjectManagerSettings.Tickets.allticketsdeleted'));\r\n }\r\n else\r\n {\r\n if(deletedTickets.length == 0)\r\n {\r\n super.errorMsg(this.translate.instant('ProjectManagerSettings.Tickets.errorNoTickets'));\r\n return;\r\n }\r\n if(deletedTickets.length < ticketsFilterModel._sids.length)\r\n {\r\n super.warningMsg(this.translate.instant('ProjectManagerSettings.Tickets.warnSomeTickets'));\r\n }\r\n else\r\n super.successMsg(this.translate.instant('ProjectManagerSettings.Tickets.allticketsdeleted'));\r\n }\r\n this.deleteTickets(deletedTickets);\r\n super.modelPopup(\"deleteTickets\",false);\r\n });\r\n }\r\n onDocumentClick(documentId:number)\r\n {\r\n this.OnDocumentClick.emit(documentId);\r\n\r\n }\r\n\r\n\r\n}\r\n","
\r\n
\r\n
\r\n
\r\n
\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.CommonLabel.lblAll' | translate }}\r\n {{'ProjectManagerSettings.SpaceUpdateCodes.lblOpen' | translate}}\r\n {{ 'ProjectManagerSettings.SpaceUpdateCodes.lblClosed' | translate}}\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n {{ 'Settings.CommonLabel.lblAll' | translate }}\r\n {{'ProjectManagerSettings.Tickets.lblOnTime' | translate}}\r\n {{ 'ProjectManagerSettings.Tickets.lblDelay' | translate}}\r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n {{ 'Settings.CommonLabel.lblAll' | translate }}\r\n {{'Settings.CommonLabel.Yes' | translate}}\r\n {{ 'Settings.CommonLabel.No' | translate}}\r\n \r\n \r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n \r\n {{ 'Settings.CommonLabel.lblAll' | translate }}\r\n {{'Settings.CommonLabel.Yes' | translate}}\r\n {{ 'Settings.CommonLabel.No' | translate}}\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n {{ column.name | translate }}\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n \r\n\r\n \r\n
\r\n \r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n\r\n
\r\n
\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 (click)=\"showIconDetails('attachmentDetails_'+ticket.id)\">\r\n
\r\n
0\"\r\n class=\"attachment-list-info hide-popover\">\r\n
Documents.DocumentManager.lblAttachments
\r\n
\r\n
    \r\n
  • \r\n {{attachment.fileName}}
  • \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
0\">
\r\n
\r\n
ProjectManagerSettings.lblChecklist
\r\n
\r\n
    \r\n
  • \r\n {{checklist.name}}
  • \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n {{ column.name | translate }}\r\n
\r\n
\r\n
{{ ticket.name }}
\r\n
\r\n
\r\n
{{ ticket.title }}
\r\n
\r\n
\r\n
{{ ticket.ticketFlow.tag?.name }}
\r\n
\r\n
\r\n
{{ ticket.ticketFlow.name }}
\r\n
\r\n
\r\n
{{ticket.expiryDate |date: 'dd-MM-yyyy'}}
\r\n
\r\n
\r\n
\r\n
\r\n
{{ticket.ticketHistories[0].ticketStatus.name}}
\r\n
\r\n
\r\n
\r\n
{{ticket.assignedBy.userName}}
\r\n
\r\n
\r\n
{{ticket.assignedToName}}
\r\n
\r\n
\r\n
{{ticket.notifyToName}}
\r\n
\r\n
\r\n
{{ ticket.space != null ? ticket.space.code :'' }}
\r\n
\r\n
\r\n
{{ ticket.asset != null ? ticket.asset.code :'' }}
\r\n
\r\n
\r\n
0 && (document == undefined || document == null || document.id <= 0) \"> \r\n \r\n
\r\n
0 && (document != null && document != undefined && document.id > 0)\" > \r\n
{{ticket.document.name}}
\r\n
\r\n
\r\n
\r\n
\r\n
{{ticket.ticketHistories[0].modifiedDate |date: 'dd-MM-yyyy'}}
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\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 (click)=\"showIconDetails('attachmentDetails_'+childTicket.id)\">
\r\n
0\"\r\n class=\"attachment-list-info hide-popover\">\r\n
Documents.DocumentManager.lblAttachments
\r\n
\r\n
    \r\n
  • \r\n {{attachment.fileName}}
  • \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
0\">\r\n \r\n
\r\n
0\"\r\n class=\"attachment-list-info hide-popover\">\r\n
ProjectManagerSettings.lblChecklist
\r\n
\r\n
    \r\n
  • \r\n
    {{checklist.name}}
  • \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n {{ column.name | translate }}\r\n
\r\n
\r\n
{{ childTicket.name }}
\r\n
\r\n
\r\n
{{ childTicket.title }}
\r\n
\r\n
\r\n
{{ childTicket.ticketFlow.tag?.name }}
\r\n
\r\n
\r\n
{{ childTicket.ticketFlow.name }}
\r\n
\r\n
\r\n
{{childTicket.expiryDate |date: 'dd-MM-yyyy'}}
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
{{childTicket.ticketHistories[0].ticketStatus.name}}
\r\n
\r\n
\r\n
\r\n
{{childTicket.assignedBy.userName}}
\r\n
\r\n
\r\n
{{childTicket.assignedToName}}
\r\n
\r\n
\r\n
{{childTicket.notifyToName}}
\r\n
\r\n
\r\n
{{childTicket.ticketHistories[0].modifiedDate |date: 'dd-MM-yyyy'}}
\r\n
\r\n\r\n
\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.CommonLabel.lblSorting
\r\n \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.CommonLabel.lblFilters
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n {{ column.name | translate }}\r\n
\r\n
\r\n \r\n \r\n
\r\n \r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n\r\n
\r\n \r\n \r\n
\r\n \r\n
\r\n \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, ElementRef, Injector, Input, OnInit, ViewChild } from '@angular/core';\r\nimport { fromEvent, Subject } from 'rxjs';\r\nimport { debounceTime, distinctUntilChanged, map } from 'rxjs/operators';\r\nimport { ChecklistResponseService } from 'src/app/services/checklist-response.service';\r\nimport { ChecklistJsstoreService } from 'src/app/services/localdb/JSStore/checklist-jsstore.service';\r\nimport { UserChecklistsFilterModel, UserChecklistStatus } from 'src/shared/Models/API/filtermodel';\r\nimport { UserChecklist } from 'src/shared/Models/API/user-checklist';\r\nimport { SortOrder } from 'src/shared/UI/ViewTypes';\r\nimport { CheckTypes } from 'src/shared/utilities/Constants';\r\nimport { SortUtil } from 'src/shared/utilities/SortUtil';\r\nimport { BaseComponent } from '../BaseComponent';\r\n\r\n@Component({\r\n selector: 'app-userchecklist-grid',\r\n templateUrl: './userchecklist-grid.component.html',\r\n styleUrls: ['./userchecklist-grid.component.css']\r\n})\r\nexport class UserchecklistGridComponent extends BaseComponent implements OnInit {\r\n public sortAndFilterOptions: UserChecklistsFilterModel = new UserChecklistsFilterModel();\r\n public sortOrder = SortOrder;\r\n public sortUtil: SortUtil = new SortUtil;\r\n _checktype=CheckTypes;\r\n private keyupFilter = new Subject();\r\n @ViewChild('inputName') filterByName: ElementRef;\r\n @ViewChild('inputCompanyCode') filterByCompanyCode: ElementRef;\r\n @ViewChild('inputUserCode') filterByUserCode: ElementRef;\r\n IsMobileFilterEnabled: boolean;\r\n isMobileSortingEnabled: boolean;\r\n @Input() set userchecklists(value:Array)\r\n {\r\n if(value)\r\n {\r\n this._userchecklists=value;\r\n this.UpdateFilteredList();\r\n }\r\n }\r\n private _userchecklists= new Array();\r\n public filteredchecklists= new Array();\r\n constructor(injector:Injector,private responseservice:ChecklistResponseService,private checklistJsstoreService:ChecklistJsstoreService) {\r\n super(injector);\r\n }\r\n ngOnInit() {\r\n\r\n }\r\n SortBy(order: SortOrder, _colName: string) {\r\n this.sortUtil.sortByProperty(this.filteredchecklists, _colName, order);\r\n this.isMobileSortingEnabled=false;\r\n }\r\n\r\n public downloadCheckDocument(userchecklistid:number,checkid:number)\r\n {\r\n if(this.IsMobile && !this.isOnline)\r\n this.checklistJsstoreService.downloadCheckDocument(userchecklistid,checkid);\r\n else\r\n this.responseservice.downloadCheckDocument(userchecklistid,checkid);\r\n }\r\n UpdateFilteredList() {\r\n this.applyFilter();\r\n }\r\n public onRefresh(): void {\r\n this.resetFilters();\r\n }\r\n resetFilters() {\r\n this.sortAndFilterOptions= new UserChecklistsFilterModel();\r\n }\r\n\r\n applyFilter() {\r\n this.filteredchecklists = this._userchecklists.filter((item) =>\r\n item.name.toLowerCase().indexOf(this.sortAndFilterOptions._n.toLowerCase()) !== -1);\r\n }\r\n ngAfterViewInit() {\r\n this.bindKeyUp();\r\n }\r\n public ApplyFiltersOnKeyUp(value: string): void {\r\n this.keyupFilter.next(value);\r\n }\r\n\r\n private bindKeyUp(): void {\r\n this.keyupFilter.pipe(debounceTime(1000), distinctUntilChanged())\r\n .subscribe((value: string) => {\r\n this.applyFilter()\r\n });\r\n }\r\n public onSelect(id, e): void {\r\n var status = e.target.checked;\r\n this.filteredchecklists.forEach(x => x.isSelected = false);\r\n if (status && id) {\r\n this.filteredchecklists.find(x=>x.id==id).isSelected=true;\r\n }\r\n }\r\n getSelectedChecklist()\r\n {\r\n return this.filteredchecklists.find(x=>x.isSelected);\r\n }\r\n\r\n // begin Mobile Filter and Sorting functionalities //\r\n OnShowMobileFilterClick()\r\n {\r\n this.IsMobileFilterEnabled=true;\r\n this.HideBodyOverflow();\r\n }\r\n\r\n applyMobileFilter()\r\n {\r\n this.applyFilter()\r\n this.IsMobileFilterEnabled=false;\r\n this.showBodyOverflow();\r\n }\r\n public clearMobileFilters():void{\r\n this.resetFilters();\r\n this.applyFilter()\r\n this.IsMobileFilterEnabled=false;\r\n }\r\n public cancelMobileFilters():void{\r\n this.IsMobileFilterEnabled=false;\r\n this.showBodyOverflow();\r\n }\r\n public showMobileSorting():void{\r\n this.isMobileSortingEnabled=true;\r\n }\r\n public closeMobileSorting():void{\r\n this.isMobileSortingEnabled=false;\r\n }\r\n\r\n // end Mobile Filter and Sorting functionalities //\r\n}\r\n","
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
{{ 'CheckList.UserCheckList.lblChecklistName' | translate }}
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
CheckList.UserCheckList.lblChecklistName
\r\n
0\" class=\"col-7 col-sm-7 col-md-7 col-lg-12\">{{ uc.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
{{ check.description }}
\r\n
\r\n
\r\n
\r\n {{ check.answer && check.answer != '' ? check.answer : '' }}\r\n
\r\n \r\n
\r\n \r\n
\r\n {{ check.documentName && check.documentName != '' ? check.documentName : '' }}\r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
{{ relCheck.description }}
\r\n
\r\n
\r\n
\r\n {{ relCheck.answer && relCheck.answer != '' ? relCheck.answer : '' }}\r\n
\r\n \r\n
\r\n \r\n
\r\n {{ relCheck.documentName && relCheck.documentName != '' ? relCheck.documentName : '' }}\r\n \r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\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.CommonLabel.lblFilters
\r\n \r\n\r\n
\r\n
\r\n
\r\n
\r\n
CheckList.UserCheckList.lblChecklistName
\r\n
\r\n
\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.CommonLabel.lblSorting
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n\r\n\r\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-userchecklist-menu-control',\r\n templateUrl: './userchecklist-menu-control.component.html',\r\n styleUrls: ['./userchecklist-menu-control.component.css']\r\n})\r\nexport class UserchecklistMenuControlComponent implements OnInit {\r\n @Output() public onRefreshClick = new EventEmitter;\r\n @Output() public AddorEditClick = new EventEmitter;\r\n @Output() public onMobileFilterClick = new EventEmitter;\r\n @Output() public onMobileSortingClick = new EventEmitter;\r\n @Input() public isFillbtndisabled:boolean=false;\r\n constructor() { }\r\n\r\n ngOnInit() {\r\n }\r\n public onRefresh(): void {\r\n this.onRefreshClick.emit();\r\n }\r\n\r\n public AddorEditUserCheckList(): void {\r\n this.AddorEditClick.emit();\r\n }\r\n mobileFilterClick():void{\r\n this.onMobileFilterClick.emit()\r\n }\r\n mobileSortClick():void{\r\n this.onMobileSortingClick.emit()\r\n }\r\n}\r\n","
\r\n
\r\n \r\n \r\n \r\n
\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, Injector, OnInit } from '@angular/core';\r\nimport { BaseComponent } from '../modules/shared/BaseComponent';\r\n\r\n@Component({\r\n selector: 'app-privacy-policy',\r\n templateUrl: './privacy-policy.component.html',\r\n styleUrls: ['./privacy-policy.component.css']\r\n})\r\nexport class PrivacyPolicyComponent extends BaseComponent implements OnInit {\r\n\r\n constructor(injector:Injector) {\r\n super(injector);\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n}\r\n","

privacy-policy works!

\r\n","import { Component, Injector, OnInit } from '@angular/core';\r\nimport { ActivatedRoute } from '@angular/router';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { combineLatest } from 'rxjs';\r\nimport { map } from 'rxjs/operators';\r\nimport { AuthService } from 'src/app/modules/authentication/auth.service';\r\nimport { BaseComponent } from 'src/app/modules/shared/BaseComponent';\r\nimport { TransmittalService } from 'src/app/services/transmittal.service';\r\nimport { TransmittalModel, TransmittalStatus } from 'src/shared/Models/transmittals/tranmittals.model';\r\n\r\n@Component({\r\n selector: 'app-transmittal-download',\r\n templateUrl: './transmittal-download.component.html',\r\n styleUrls: ['./transmittal-download.component.css']\r\n})\r\nexport class TransmittalDownloadComponent implements OnInit {\r\n\r\n constructor(private injector:Injector,private route:ActivatedRoute,private transmittalService:TransmittalService,private toastr:ToastrService,\r\n private translate:TranslateService,private auth:AuthService) {\r\n var lang = this.auth.getLanguagePreference();\r\n if(lang == null || lang == undefined)\r\n lang='en-GB';\r\n this.translate.use(lang);\r\n \r\n }\r\n\r\n ngOnInit() {\r\n combineLatest([\r\n this.route.params,\r\n this.route.queryParams\r\n ])\r\n .pipe(map(results => ({params: results[0], query: results[1]})))\r\n .subscribe(results => {\r\n \r\n \r\n this.getTransmittal(results.params.id,results.query.t);\r\n \r\n \r\n });\r\n }\r\n protected errorMsg(msg: string, title: string = ''): void {\r\n if (title == '')\r\n title= this.translate.instant('Settings.CommonLabel.lblError');\r\n this.toastr.error(msg,title);\r\n}\r\n\r\n handleError(err: any, defaultMsg: string = ''): void {\r\n var title:string = this.translate.instant('Settings.CommonLabel.lblFailed');\r\n if (err && err.error && err.error.errorMessage) {\r\n this.errorMsg(err.error.errorMessage, title);\r\n } else {\r\n if (defaultMsg != '') {\r\n this.errorMsg(defaultMsg,title);\r\n }\r\n }\r\n}\r\n getTransmittal(id: string, token:string) {\r\n this.transmittalService.DownloadgetTransmittal(id,token).subscribe((transmittal:TransmittalModel)=>{\r\n if(transmittal == null || transmittal == undefined || transmittal.id <=0)\r\n this.errorMsg(this.translate.instant(\"Transmittals.InvalidTransmittal\"));\r\n else if(transmittal.status == TransmittalStatus.EXPIRED)\r\n this.errorMsg(this.translate.instant(\"Transmittals.ExpiredTransmittal\"));\r\n else\r\n this.downloadTransmittal(transmittal,token);\r\n\r\n\r\n },(err)=>{\r\n this.handleError(err);\r\n \r\n })\r\n }\r\n downloadTransmittal(transmittal: TransmittalModel,token:string) {\r\n this.transmittalService.DownloadTransmittal(transmittal.id,token);\r\n }\r\n\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpInterceptor, HttpRequest, HttpHandler, HttpEvent, HttpErrorResponse, HttpParams } from '@angular/common/http';\r\nimport { Observable, throwError } from 'rxjs';\r\nimport { AuthService } from '../modules/authentication/auth.service';\r\nimport { catchError } from 'rxjs/operators';\r\nimport { OAuthService } from 'angular-oauth2-oidc';\r\nimport { environment } from 'src/environments/environment';\r\n\r\n@Injectable()\r\nexport class JwtInterceptor implements HttpInterceptor {\r\n \r\n constructor(\r\n public authService: AuthService,public oauthService:OAuthService\r\n ) {\r\n }\r\n\r\n\r\n intercept(request: HttpRequest, next: HttpHandler): Observable> {\r\n \r\n if(!request.url.startsWith(\"https://unibas.temposrl.it\")){\r\n var accessToken = this.authService.getAccessToken();\r\n if (accessToken) {\r\n request = request.clone({\r\n setHeaders: {\r\n Authorization: `Bearer ${accessToken}`,\r\n }\r\n });\r\n }\r\n }\r\n //set culture params :\r\n // Keeps the original request params. as a new HttpParams\r\n if(!request.url.startsWith(\"https://unibas.temposrl.it\"))\r\n {\r\n let newParams = new HttpParams({ fromString: request.params.toString() });\r\n if(!newParams.has('culture') || newParams.get('culture') == null)\r\n {// Add any params (can also chain .append() but I was conditionally adding params)\r\n var language = this.authService.getLanguagePreference();\r\n newParams = newParams.append('culture', language);\r\n request = request.clone({\r\n params: newParams\r\n });\r\n }\r\n }\r\n if(request.url.startsWith(\"#WEBAPIURL#\"))\r\n {\r\n \r\n var url:string = request.url.replace(\"#WEBAPIURL#\",environment.WebAPIURL);\r\n request = request.clone({\r\n url: url\r\n });\r\n \r\n }\r\n if(request.url.startsWith(\"#WEBURL#\"))\r\n {\r\n var url:string = request.url.replace(\"#WEBURL#\",environment.WebAPIURL);\r\n request = request.clone({\r\n url: url\r\n });\r\n \r\n }\r\n return next.handle(request).pipe(catchError(err => {\r\n if (err.status === 401) {\r\n // auto logout if 401 response returned from api\r\n \r\n this.authService.logout();\r\n if(environment.AuthenticationType.toLowerCase() == \"adfs\")\r\n this.oauthService.logOut();\r\n else\r\n location.reload();\r\n }\r\n\r\n return throwError(err);\r\n\r\n }));\r\n\r\n }\r\n}\r\n","import { Injectable, Injector } from \"@angular/core\";\r\nimport { Observable } from \"rxjs\";\r\nimport { CheckList } from \"src/shared/Models/API/checklist\";\r\nimport { Asset, AssetAddlinformationValue, AssetHistory, AssetLog, EasyWebAssetModel } from \"src/shared/Models/Asset\";\r\nimport { sasURL } from \"src/shared/Models/space\";\r\nimport { BaseService } from \"./base-service\";\r\nimport { BIMModel, Document } from 'src/shared/Models/API/document';\r\nimport { DateUtil } from \"src/shared/utilities/dateUtil\";\r\nimport { HttpParams } from \"@angular/common/http\";\r\nimport { IATemplate, IRTemplate, PPTemplate } from \"src/shared/Models/onm/onm.models\";\r\nimport { IFCElementModel } from \"src/shared/Models/API/IFCElementModel\";\r\n\r\n@Injectable({ providedIn: \"root\", })\r\n\r\nexport class AssetService extends BaseService {\r\n \r\n private appURL: string = '/Asset';\r\n private dateUtil:DateUtil= new DateUtil();\r\n constructor(injector:Injector) {\r\n super(injector);\r\n }\r\n\r\n public getAssetDetails(assetId: number): Observable {\r\n return this.httpClient.get(this.apiURL + this.appURL + '/' + assetId + '/Details');\r\n }\r\n public getAssetEasyWebInformation(assetId: number): Observable {\r\n return this.httpClient.get(this.apiURL + this.appURL + '/' + assetId + '/EasyWeb');\r\n }\r\n \r\n\r\n getAssetAddlInformations(assetId: number): Observable> {\r\n return this.httpClient.get>(this.apiURL + this.appURL + '/' + assetId + '/AddlInformations');\r\n }\r\n\r\n public getAssetHistory(assetId: number): Observable {\r\n return this.httpClient.get(this.apiURL + this.appURL + '/' + assetId + '/History' );\r\n }\r\n\r\n public putAssetDetails(projectId:number,assetId: number,Asset:Asset): Observable {\r\n let params = new HttpParams().set('projectId', projectId.toString());\r\n return this.httpClient.put(this.apiURL + this.appURL + '/' + assetId + '/Details?_dateOffset=' + this.dateUtil.getOffset(),Asset,{ params: params });\r\n }\r\n public putAssetDocuments(assetId: number,documents:Array): Observable {\r\n return this.httpClient.put(this.apiURL + this.appURL + '/' + assetId + '/Documents',documents);\r\n }\r\n\r\n public getAssetLogs(assetId: number): Observable> {\r\n return this.httpClient.get>(this.apiURL + this.appURL + '/' + assetId + '/logs' );\r\n }\r\n public getChecklists(assetId: number): Observable> {\r\n return this.httpClient.get>(this.apiURL + this.appURL + '/' + assetId + '/Checklists');\r\n }\r\n public getDocuments(assetId: number): Observable> {\r\n return this.httpClient.get>(this.apiURL + this.appURL + '/' + assetId + '/Documents');\r\n }\r\n public deleteDocument(assetId: number,documentid:number): Observable {\r\n return this.httpClient.delete(this.apiURL + this.appURL + '/' + assetId + '/Documents/' + documentid);\r\n }\r\n uploadPhotos(asset:Asset):Observable{\r\n return this.httpClient.put(this.apiURL + this.appURL + '/' + asset.id + '/Photos' ,asset);\r\n }\r\n\r\n public getPhotos(assetId: number): Observable> {\r\n return this.httpClient.get>(this.apiURL + this.appURL + '/' + assetId + '/Photos');\r\n }\r\n public downloadPhoto(assetId: number,photoid:number) {\r\n var url:string =this.apiURL + this.appURL + '/' + assetId + '/Photos/' + photoid.toString();\r\n this.downloadFile(url,photoid.toString(),false);\r\n }\r\n\r\n public DownloadAllPhotos(assetId: number,updatecodeid:number) {\r\n var url:string =this.apiURL + this.appURL + '/' + assetId + '/Photos/All/' + updatecodeid;\r\n this.downloadFile(url);\r\n }\r\n public getPhotoUrl(assetId: number,photoid:number): Observable {\r\n var url:string =this.apiURL + this.appURL + '/' + assetId + '/Photos/' + photoid.toString() + \"/url\";\r\n return this.httpClient.get(url);\r\n }\r\n\r\n\r\n public exportAssetLogs(assetId: number, startDate: string, endDate: string): void {\r\n var url: string = this.apiURL + this.appURL + '/' + assetId + '/' + 'logs/export?startDate=' + startDate + '&endDate=' + endDate ;\r\n this.downloadFile(url);\r\n }\r\n public ExportAssetHistory(assetId: number): void {\r\n var url: string = this.apiURL + this.appURL + '/' + assetId + '/' + 'History/Export' ;\r\n this.downloadFile(url);\r\n }\r\n\r\n public deletePhoto(assetId: number,photoid:number) {\r\n var url:string =this.apiURL + this.appURL + '/' + assetId+'/photos/' + photoid;\r\n return this.httpClient.delete(url);\r\n }\r\n\r\n public getAssetTemplates(assetId: number,systemTagId:number):Observable>{\r\n var url:string =this.apiURL + this.appURL + '/' + assetId+'/templates/' + systemTagId;\r\n return this.httpClient.get>(url);\r\n }\r\n\r\n updateAssetIfcModels(assetId: number,models:Array):Observable> {\r\n var url:string =this.apiURL + this.appURL + '/' + assetId+'/linked-models';\r\n return this.httpClient.put>(url,models);\r\n }\r\n}\r\n","import { HttpClient } from \"@angular/common/http\";\r\nimport { Injectable } from \"@angular/core\";\r\nimport { Observable } from \"rxjs\";\r\nimport { environment } from \"src/environments/environment\";\r\nimport { BlobFile } from \"src/shared/Models/Internal/BlobFileModel\";\r\nimport { BlobUtil } from \"src/shared/utilities/BlobUtil\";\r\nimport { BaseStorageService } from \"./base-storage.service\";\r\n\r\n@Injectable({ providedIn: \"root\", })\r\nexport class AzureBlobService implements BaseStorageService {\r\n private apiURL: string = null;\r\n private appURL: string = '/BlobStorage';\r\n private utilBlob: BlobUtil = new BlobUtil();\r\n\r\n constructor(private httpClient: HttpClient) {\r\n this.apiURL = environment.WebAPIURL; \r\n }\r\n\r\n public getSasToken(): Observable {\r\n return this.httpClient.get(this.apiURL + this.appURL + '/' + 'SASToken');\r\n }\r\n\r\n public deleteFile(fileName: string) {\r\n return this.httpClient.post(this.apiURL + this.appURL + '/' + 'DeleteBlobFile?fileName=' + fileName, {});\r\n }\r\n\r\n public uploadFiles(fileToUpload: BlobFile, onUploadComplete: (uploadedFile: BlobFile) => void, onError: Function, showStatus: boolean = false): void {\r\n fileToUpload.setUploadFailed(true);\r\n var ajaxCaller = 10;\r\n if (fileToUpload.getNumOfBlocks() < 10)\r\n ajaxCaller = fileToUpload.getNumOfBlocks();\r\n for (var idx: number = 0; idx < ajaxCaller; idx++) {\r\n if (!fileToUpload.isDeleted) {\r\n fileToUpload.setNextItemToUpload(ajaxCaller);\r\n \r\n this.utilBlob.initReaderObject(fileToUpload, fileToUpload.getBlockIds()[idx], fileToUpload.getFileContent()[idx], 0, onUploadComplete, onError, showStatus);\r\n }\r\n }\r\n }\r\n\r\n public chunkFiles(fileToUpload: BlobFile){\r\n for (var idx: number = 0; idx < fileToUpload.getNumOfBlocks(); idx++) {\r\n if (!fileToUpload.isDeleted) {\r\n var fileContent: Blob = null;\r\n if ((idx + 1) * fileToUpload.getMaxBlockSize() < fileToUpload.getSize())\r\n fileContent = fileToUpload.getFile().slice(idx * fileToUpload.getMaxBlockSize(), (idx + 1) * fileToUpload.getMaxBlockSize());\r\n else\r\n fileContent = fileToUpload.getFile().slice(idx * fileToUpload.getMaxBlockSize(), fileToUpload.getSize());\r\n\r\n var blockId = 'block-' + this.pad(fileToUpload.getBlockIds().length, 6);\r\n fileToUpload.addBlockId((btoa(blockId)));\r\n fileToUpload.addFileContent(fileContent);\r\n }\r\n }\r\n }\r\n private pad(number: number, length: number): string {\r\n var str: string = '' + number;\r\n while (str.length < length) {\r\n str = '0' + str;\r\n }\r\n return str;\r\n }\r\n \r\n public CancelUpload(blob: BlobFile, onDeleteComplete: (uploadedFile: BlobFile) => void, onError: Function) {\r\n this.utilBlob.deleteBlob(blob,onDeleteComplete,onerror); \r\n }\r\n}","import { Injectable, Injector } from '@angular/core';\r\nimport { HttpClient } from \"@angular/common/http\";\r\nimport { environment } from '../../environments/environment';\r\nimport { FileUtil } from 'src/shared/utilities/FileUtil';\r\nimport { AuthService } from '../modules/authentication/auth.service';\r\nimport { AssetsFilterModel, ScopeFilterModel, SpaceFilterModel, TicketsFilterModel, TransmittalFilterModel, UserNotificationFilterModel } from 'src/shared/Models/API/filtermodel';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport abstract class BaseService {\r\n protected apiURL: string = null;\r\n protected httpClient: HttpClient;\r\n protected fileUtil: FileUtil = null;\r\n protected authService: AuthService = null;\r\n \r\n\r\n constructor(injector: Injector) {\r\n this.apiURL = environment.WebAPIURL;\r\n \r\n this.httpClient = injector.get(HttpClient);\r\n this.authService = injector.get(AuthService);\r\n this.fileUtil = new FileUtil();\r\n }\r\n\r\n downloadPrintJob(url:string,token:string)\r\n {\r\n this.fileUtil.downloadFile(url, token, null, null);\r\n }\r\n\r\n protected downloadFile(url: string, selectedIDs?: string, isGetAll?: boolean): void {\r\n var accessToken = this.authService.getAccessToken();\r\n if(url.indexOf('?')!= -1)\r\n {\r\n url=url+\"&culture=\"+((this.authService.getLanguagePreference()==null)?\"en-GB\":this.authService.getLanguagePreference());\r\n }\r\n else{\r\n url=url+\"?culture=\"+((this.authService.getLanguagePreference()==null)?\"en-GB\":this.authService.getLanguagePreference());\r\n }\r\n this.fileUtil.downloadFile(url, accessToken, selectedIDs, isGetAll);\r\n }\r\n\r\n protected downloadDocuments(url: string, selectedIDs: string, isGetAll: boolean,filterModel:ScopeFilterModel,isSearchResultView:boolean,columnorder:string): void {\r\n var accessToken = this.authService.getAccessToken();\r\n if(url.indexOf('?')!= -1)\r\n {\r\n url=url+\"&culture=\"+((this.authService.getLanguagePreference()==null)?\"en-GB\":this.authService.getLanguagePreference());\r\n }\r\n else{\r\n url=url+\"?culture=\"+((this.authService.getLanguagePreference()==null)?\"en-GB\":this.authService.getLanguagePreference());\r\n }\r\n this.fileUtil.downloadDocuments(url, accessToken, selectedIDs, isGetAll,filterModel,isSearchResultView,columnorder);\r\n }\r\n protected downloadTickets(url: string,ticketFilter: TicketsFilterModel,bGetAll:boolean,selectedIds:string): void {\r\n var accessToken = this.authService.getAccessToken();\r\n url=this.appendCulture(url);\r\n this.fileUtil.downloadTickets(url, accessToken, ticketFilter,bGetAll,selectedIds);\r\n }\r\n\r\n appendCulture(url:string):string{\r\n let lang=this.authService.getLanguagePreference();\r\n if(url.indexOf('?')!= -1)\r\n {\r\n url=url+\"&culture=\"+((lang==null)?\"en-GB\":lang);\r\n }\r\n else{\r\n url=url+\"?culture=\"+((lang==null)?\"en-GB\":lang);\r\n }\r\n return url;\r\n }\r\n protected downloadUserNotifications(url: string,notificationFiterModel: UserNotificationFilterModel): void {\r\n var accessToken = this.authService.getAccessToken();\r\n url=this.appendCulture(url);\r\n this.fileUtil.downloadUserNotifications(url, accessToken, notificationFiterModel);\r\n }\r\n protected downloadAssets(url: string,assetsFilterModel: AssetsFilterModel,bGetAll:boolean,selectedIds:string): void {\r\n var accessToken = this.authService.getAccessToken();\r\n url=this.appendCulture(url);\r\n this.fileUtil.downloadAssets(url, accessToken, assetsFilterModel,bGetAll,selectedIds);\r\n }\r\n\r\n downloadTransmittals(url: string, filterModel: TransmittalFilterModel): void {\r\n var accessToken = this.authService.getAccessToken();\r\n url=this.appendCulture(url);\r\n this.fileUtil.downloadTransmittals(url, accessToken, filterModel);\r\n }\r\n downloadTransmittalDocuments(url:string,token:string)\r\n {\r\n url=this.appendCulture(url);\r\n this.fileUtil.downloadTransmittalDocuments(url, token);\r\n }\r\n\r\n protected downloadSpaces(url: string,spaceFilterModel: SpaceFilterModel,bGetAll:boolean,selectedIds:string): void {\r\n var accessToken = this.authService.getAccessToken();\r\n url=this.appendCulture(url);\r\n this.fileUtil.downloadSpaces(url, accessToken, spaceFilterModel,bGetAll,selectedIds);\r\n }\r\n\r\n \r\n \r\n\r\n}\r\n","import { Injectable } from \"@angular/core\";\r\nimport { BehaviorSubject, Observable } from \"rxjs\";\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n })\r\n export class breadcrumbService{\r\n private pathupdation = new BehaviorSubject(null);\r\n\r\n emitPathUpdate(event: string) {\r\n this.pathupdation.next(event);\r\n }\r\n\r\n clearPathUpdate() {\r\n this.pathupdation.next(null);\r\n }\r\n\r\n pathUpdateObservable(): Observable {\r\n return this.pathupdation.asObservable();\r\n }\r\n }\r\n","import { Injectable, Injector } from \"@angular/core\";\r\nimport { Observable } from 'rxjs';\r\nimport { CheckList } from \"src/shared/Models/API/checklist\";\r\nimport { CheckListChecks } from \"src/shared/Models/API/checklist-check\";\r\nimport { User } from \"src/shared/Models/user\";\r\nimport { FileUtil } from \"src/shared/utilities/FileUtil\";\r\nimport { BaseService } from \"./base-service\";\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ChecklistResponseService extends BaseService {\r\n\r\n private appURL: string = '/UserChecklists'\r\n private utilFile:FileUtil = new FileUtil();\r\n constructor(injector: Injector) {\r\n super(injector);\r\n }\r\n\r\n public downloadCheckDocument(userchecklistid:number,checkid:number)\r\n {\r\n var url = this.apiURL + this.appURL + \"/\" + userchecklistid.toString() + \"/Response/\" + checkid.toString() + \"/download?culture=\" + ((this.authService.getLanguagePreference()==null)?\"en-GB\":this.authService.getLanguagePreference());\r\n this.downloadDocument(url);\r\n }\r\n public downloadDocument(url:string)\r\n {\r\n var accesstoken:string = this.authService.getAccessToken();\r\n this.utilFile.downloadFile(url,accesstoken,null,false);\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { vi } from 'date-fns/locale';\r\nimport { CookieService } from 'ngx-cookie-service';\r\nimport { BehaviorSubject, Observable } from 'rxjs';\r\nimport { KeyConstants } from 'src/shared/constants/key-constants';\r\nimport { DocAddlInformation } from 'src/shared/Models/API/documentadditionaInfo';\r\nimport { AssetColumns, DocumentColumns, FilterColumnType, SpaceColumns, TicketColumns, TransmittalColumns } from 'src/shared/Models/API/filtermodel';\r\nimport { SystemTicketTagType } from 'src/shared/Models/API/Ticket';\r\nimport { ColumnInformation, ColumnsData, ColumnType, ProjectColumns } from 'src/shared/Models/Column-Settings';\r\nimport { TransmittalTypes } from 'src/shared/Models/transmittals/tranmittals.model';\r\nimport { AssetGridColumnOption, DocumentGridColumnOption, SpacesGridColumnOption, TicketGridColumnOption, TransmittalColumnOption } from 'src/shared/UI/grid-column-option';\r\nimport { MainView, MainViewType } from 'src/shared/UI/ViewTypes';\r\nimport { ProjectService } from './project.service';\r\nimport { StorageService } from './storage.service';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ColumnSelectionService {\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n private columnsData = new BehaviorSubject(null);\r\n private subTypeChanged = new BehaviorSubject(null);\r\n\r\n constructor(private translateService:TranslateService,private storageService:StorageService) { }\r\n\r\n emitColumnSelection(data: ProjectColumns) {\r\n this.columnsData.next(data);\r\n }\r\n\r\n columnSelectionObservable(): Observable {\r\n return this.columnsData.asObservable();\r\n }\r\n emitSubTypeSelection(data: number) {\r\n this.subTypeChanged.next(data);\r\n }\r\n\r\n subTypeObservable(): Observable {\r\n return this.subTypeChanged.asObservable();\r\n }\r\n public getStandardColumns(viewType:MainViewType,subtype:number = -1):Array {\r\n var columnsData:Array = new Array();\r\n switch(viewType)\r\n {\r\n case MainViewType.DOCUMENTS:\r\n columnsData = this.getDocumentStandardColumns();\r\n break;\r\n case MainViewType.TICKET:\r\n columnsData = this.getTicketStandardColumns();\r\n break;\r\n case MainViewType.TRANSMITTALS:\r\n columnsData=this.getTransmittalStandardColumns(subtype);\r\n break;\r\n case MainViewType.SPACES:\r\n columnsData=this.getSpacesStandardColumns();\r\n break;\r\n case MainViewType.ASSETS:\r\n columnsData=this.getAssetsStandardColumns();\r\n break;\r\n case MainViewType.ONM:\r\n columnsData=this.getOnmStandardColumns(subtype);\r\n break;\r\n default:\r\n break;\r\n }\r\n\r\n return columnsData;\r\n }\r\n getOnmStandardColumns(subtype: number): ColumnsData[] {\r\n var columnDatas:Array = new Array();\r\n if(subtype == SystemTicketTagType.InterventionRequest)\r\n {\r\n columnDatas = this.getIRStandardColumns();\r\n }\r\n else if(subtype == SystemTicketTagType.EstimationRequest)\r\n {\r\n columnDatas=this.getERStandardColumns();\r\n }\r\n else if(subtype == SystemTicketTagType.ApprovalRequest)\r\n {\r\n columnDatas=this.getARStandardColumns();\r\n }\r\n else if(subtype == SystemTicketTagType.InterventionAssignment)\r\n {\r\n columnDatas = this.getIAStandardColumns();\r\n }\r\n else if(subtype == SystemTicketTagType.PlannedProcedure)\r\n {\r\n columnDatas=this.getPPStandardColumns();\r\n }\r\n\r\n return columnDatas;\r\n \r\n }\r\n getPPStandardColumns(): ColumnsData[] {\r\n var columnDatas:Array = new Array();\r\n var columnData:ColumnsData = new ColumnsData();\r\n columnData.id=TicketColumns.NAME;\r\n columnData.name=this.translateService.instant('Onm.lblTicketNumber');\r\n columnData.isVisible= false;\r\n columnData.width=20;\r\n columnData.type= ColumnType.STANDARD;\r\n \r\n columnDatas.push(columnData); \r\n\r\n columnData = new ColumnsData();\r\n columnData.id=TicketColumns.PPFLOW;\r\n columnData.name=this.translateService.instant('Settings.plannedProcedure.lblPlannedProcedureFlow');\r\n columnData.isVisible= false;\r\n columnData.width=20;\r\n columnData.type= ColumnType.STANDARD;\r\n columnDatas.push(columnData); \r\n\r\n columnData = new ColumnsData();\r\n columnData.id=TicketColumns.TICKETFLOW;\r\n columnData.name=this.translateService.instant('Onm.lblPPTemplate');\r\n columnData.isVisible= false;\r\n columnData.width=20;\r\n columnData.type= ColumnType.STANDARD;\r\n columnDatas.push(columnData); \r\n \r\n columnData = new ColumnsData();\r\n columnData.id=TicketColumns.NOTBEFORE;\r\n columnData.name=this.translateService.instant('Settings.plannedProcedure.lblNotBefore');\r\n columnData.isVisible= false;\r\n columnData.width=20;\r\n columnData.type= ColumnType.STANDARD;\r\n columnDatas.push(columnData); \r\n\r\n columnData = new ColumnsData();\r\n columnData.id=TicketColumns.EXPIRYDATE;\r\n columnData.name=this.translateService.instant('Tickets.lblExpiryDate');\r\n columnData.isVisible= false;\r\n columnData.width=20;\r\n columnData.type= ColumnType.STANDARD;\r\n columnDatas.push(columnData); \r\n\r\n columnData = new ColumnsData();\r\n columnData.id=TicketColumns.DELAYFROM;\r\n columnData.name=this.translateService.instant('Settings.plannedProcedure.lblDelayFrom');\r\n columnData.isVisible= false;\r\n columnData.width=20;\r\n columnData.type= ColumnType.STANDARD;\r\n columnDatas.push(columnData); \r\n\r\n columnData = new ColumnsData();\r\n columnData.id=TicketColumns.STATUS;\r\n columnData.name=this.translateService.instant('Onm.lblFlowStatus');\r\n columnData.isVisible= false;\r\n columnData.width=20;\r\n columnData.type= ColumnType.STANDARD;\r\n columnDatas.push(columnData); \r\n\r\n \r\n\r\n \r\n columnData = new ColumnsData();\r\n columnData.id=TicketColumns.SPACECODE;\r\n columnData.name=this.translateService.instant('ProjectManagerSettings.Spaces.lblSpaceCode');\r\n columnData.isVisible= false;\r\n columnData.width=20;\r\n columnData.type= ColumnType.STANDARD;\r\n columnDatas.push(columnData);\r\n\r\n columnData = new ColumnsData();\r\n columnData.id=TicketColumns.SPACENAME;\r\n columnData.name=this.translateService.instant('ProjectManagerSettings.Spaces.lblSpaceName');\r\n columnData.isVisible= false;\r\n columnData.width=20;\r\n columnData.type= ColumnType.STANDARD;\r\n columnDatas.push(columnData);\r\n\r\n columnData = new ColumnsData();\r\n columnData.id=TicketColumns.SPACEGROUP;\r\n columnData.name=this.translateService.instant('ProjectManagerSettings.lblSpaceGroup');\r\n columnData.isVisible= false;\r\n columnData.width=20;\r\n columnData.type= ColumnType.STANDARD;\r\n columnDatas.push(columnData);\r\n\r\n columnData = new ColumnsData();\r\n columnData.id=TicketColumns.ASSETCODE;\r\n columnData.name=this.translateService.instant('ProjectManagerSettings.Assets.lblAssetCode');\r\n columnData.isVisible= false;\r\n columnData.width=20;\r\n columnData.type= ColumnType.STANDARD;\r\n columnDatas.push(columnData);\r\n\r\n columnData = new ColumnsData();\r\n columnData.id=TicketColumns.ASSETNAME;\r\n columnData.name=this.translateService.instant('ProjectManagerSettings.Assets.lblAssetName');\r\n columnData.isVisible= false;\r\n columnData.width=20;\r\n columnData.type= ColumnType.STANDARD;\r\n columnDatas.push(columnData);\r\n\r\n columnData = new ColumnsData();\r\n columnData.id=TicketColumns.ASSETGROUP;\r\n columnData.name=this.translateService.instant('ProjectManagerSettings.lblAssetGroup');\r\n columnData.isVisible= false;\r\n columnData.width=20;\r\n columnData.type= ColumnType.STANDARD;\r\n columnDatas.push(columnData);\r\n\r\n columnData = new ColumnsData();\r\n columnData.id=TicketColumns.COMPANY;\r\n columnData.name=this.translateService.instant('Settings.CommonLabel.lblCompany');\r\n columnData.isVisible= false;\r\n columnData.width=20;\r\n columnData.type= ColumnType.STANDARD;\r\n columnDatas.push(columnData);\r\n\r\n columnData = new ColumnsData();\r\n columnData.id=TicketColumns.DEPARTMENT;\r\n columnData.name=this.translateService.instant('Settings.Users.lblDivision');\r\n columnData.isVisible= false;\r\n columnData.width=20;\r\n columnData.type= ColumnType.STANDARD;\r\n columnDatas.push(columnData);\r\n\r\n columnData = new ColumnsData();\r\n columnData.id=TicketColumns.LASTMODIFIEDDATE;\r\n columnData.name=this.translateService.instant('Onm.lblClosingDate');\r\n columnData.isVisible= false;\r\n columnData.width=20;\r\n columnData.type= ColumnType.STANDARD;\r\n columnDatas.push(columnData);\r\n\r\n return columnDatas;\r\n }\r\n getIAStandardColumns(): ColumnsData[] {\r\n var columnDatas:Array = new Array();\r\n var columnData:ColumnsData = new ColumnsData();\r\n columnData.id=TicketColumns.NAME;\r\n columnData.name=this.translateService.instant('Onm.lblTicketNumber');\r\n columnData.isVisible= false;\r\n columnData.width=20;\r\n columnData.type= ColumnType.STANDARD;\r\n \r\n columnDatas.push(columnData); \r\n\r\n columnData = new ColumnsData();\r\n columnData.id=TicketColumns.TICKETFLOW;\r\n columnData.name=this.translateService.instant('Settings.TicketFlow.lblticketFlow');\r\n columnData.isVisible= false;\r\n columnData.width=20;\r\n columnData.type= ColumnType.STANDARD;\r\n columnDatas.push(columnData); \r\n \r\n columnData = new ColumnsData();\r\n columnData.id=TicketColumns.TITLE;\r\n columnData.name=this.translateService.instant('Tickets.lbltickettitle');\r\n columnData.isVisible= false;\r\n columnData.width=20;\r\n columnData.type= ColumnType.STANDARD;\r\n columnDatas.push(columnData); \r\n\r\n columnData = new ColumnsData();\r\n columnData.id=TicketColumns.EXPIRYDATE;\r\n columnData.name=this.translateService.instant('Tickets.lblExpiryDate');\r\n columnData.isVisible= false;\r\n columnData.width=20;\r\n columnData.type= ColumnType.STANDARD;\r\n columnDatas.push(columnData); \r\n\r\n columnData = new ColumnsData();\r\n columnData.id=TicketColumns.OPENDATE;\r\n columnData.name=this.translateService.instant('Onm.lblOpenDate');\r\n columnData.isVisible= false;\r\n columnData.width=20;\r\n columnData.type= ColumnType.STANDARD;\r\n columnDatas.push(columnData); \r\n\r\n \r\n\r\n columnData = new ColumnsData();\r\n columnData.id=TicketColumns.STATUS;\r\n columnData.name=this.translateService.instant('Settings.CommonLabel.lblstatus');\r\n columnData.isVisible= false;\r\n columnData.width=20;\r\n columnData.type= ColumnType.STANDARD;\r\n columnDatas.push(columnData);\r\n\r\n columnData = new ColumnsData();\r\n columnData.id=TicketColumns.ASSIGNEDBY;\r\n columnData.name=this.translateService.instant('Settings.TicketStatus.lblAssignedBy');\r\n columnData.isVisible= false;\r\n columnData.width=20;\r\n columnData.type= ColumnType.STANDARD;\r\n columnDatas.push(columnData);\r\n\r\n columnData = new ColumnsData();\r\n columnData.id=TicketColumns.ASSIGNEDTO;\r\n columnData.name=this.translateService.instant('Settings.TicketStatus.lblAssignedTo');\r\n columnData.isVisible= false;\r\n columnData.width=20;\r\n columnData.type= ColumnType.STANDARD;\r\n columnDatas.push(columnData);\r\n\r\n columnData = new ColumnsData();\r\n columnData.id=TicketColumns.RELATEDTOIR;\r\n columnData.name=this.translateService.instant('Onm.lblrelatedToIR');\r\n columnData.isVisible= false;\r\n columnData.width=20;\r\n columnData.type= ColumnType.STANDARD;\r\n columnDatas.push(columnData);\r\n\r\n columnData = new ColumnsData();\r\n columnData.id=TicketColumns.RELATEDTOER;\r\n columnData.name=this.translateService.instant('Onm.lblrelatedToER');\r\n columnData.isVisible= false;\r\n columnData.width=20;\r\n columnData.type= ColumnType.STANDARD;\r\n columnDatas.push(columnData);\r\n\r\n columnData = new ColumnsData();\r\n columnData.id=TicketColumns.SPACECODE;\r\n columnData.name=this.translateService.instant('ProjectManagerSettings.Spaces.lblSpaceCode');\r\n columnData.isVisible= false;\r\n columnData.width=20;\r\n columnData.type= ColumnType.STANDARD;\r\n columnDatas.push(columnData);\r\n\r\n columnData = new ColumnsData();\r\n columnData.id=TicketColumns.ASSETCODE;\r\n columnData.name=this.translateService.instant('ProjectManagerSettings.Assets.lblAssetCode');\r\n columnData.isVisible= false;\r\n columnData.width=20;\r\n columnData.type= ColumnType.STANDARD;\r\n columnDatas.push(columnData);\r\n\r\n return columnDatas;\r\n\r\n }\r\n getARStandardColumns(): ColumnsData[] {\r\n var columnDatas:Array = new Array();\r\n var columnData:ColumnsData = new ColumnsData();\r\n columnData.id=TicketColumns.NAME;\r\n columnData.name=this.translateService.instant('Onm.lblTicketNumber');\r\n columnData.isVisible= false;\r\n columnData.width=20;\r\n columnData.type= ColumnType.STANDARD;\r\n \r\n columnDatas.push(columnData); \r\n\r\n columnData = new ColumnsData();\r\n columnData.id=TicketColumns.TICKETFLOW;\r\n columnData.name=this.translateService.instant('Settings.TicketFlow.lblticketFlow');\r\n columnData.isVisible= false;\r\n columnData.width=20;\r\n columnData.type= ColumnType.STANDARD;\r\n columnDatas.push(columnData); \r\n \r\n columnData = new ColumnsData();\r\n columnData.id=TicketColumns.TITLE;\r\n columnData.name=this.translateService.instant('Tickets.lbltickettitle');\r\n columnData.isVisible= false;\r\n columnData.width=20;\r\n columnData.type= ColumnType.STANDARD;\r\n columnDatas.push(columnData); \r\n\r\n columnData = new ColumnsData();\r\n columnData.id=TicketColumns.EXPIRYDATE;\r\n columnData.name=this.translateService.instant('Tickets.lblExpiryDate');\r\n columnData.isVisible= false;\r\n columnData.width=20;\r\n columnData.type= ColumnType.STANDARD;\r\n columnDatas.push(columnData); \r\n\r\n columnData = new ColumnsData();\r\n columnData.id=TicketColumns.OPENDATE;\r\n columnData.name=this.translateService.instant('Onm.lblOpenDate');\r\n columnData.isVisible= false;\r\n columnData.width=20;\r\n columnData.type= ColumnType.STANDARD;\r\n columnDatas.push(columnData); \r\n\r\n \r\n\r\n columnData = new ColumnsData();\r\n columnData.id=TicketColumns.STATUS;\r\n columnData.name=this.translateService.instant('Settings.CommonLabel.lblstatus');\r\n columnData.isVisible= false;\r\n columnData.width=20;\r\n columnData.type= ColumnType.STANDARD;\r\n columnDatas.push(columnData);\r\n\r\n columnData = new ColumnsData();\r\n columnData.id=TicketColumns.ASSIGNEDBY;\r\n columnData.name=this.translateService.instant('Settings.TicketStatus.lblAssignedBy');\r\n columnData.isVisible= false;\r\n columnData.width=20;\r\n columnData.type= ColumnType.STANDARD;\r\n columnDatas.push(columnData);\r\n\r\n columnData = new ColumnsData();\r\n columnData.id=TicketColumns.ASSIGNEDTO;\r\n columnData.name=this.translateService.instant('Settings.TicketStatus.lblAssignedTo');\r\n columnData.isVisible= false;\r\n columnData.width=20;\r\n columnData.type= ColumnType.STANDARD;\r\n columnDatas.push(columnData);\r\n\r\n columnData = new ColumnsData();\r\n columnData.id=TicketColumns.RELATEDTOIR;\r\n columnData.name=this.translateService.instant('Onm.lblrelatedToIR');\r\n columnData.isVisible= false;\r\n columnData.width=20;\r\n columnData.type= ColumnType.STANDARD;\r\n columnDatas.push(columnData);\r\n\r\n columnData = new ColumnsData();\r\n columnData.id=TicketColumns.RELATEDTOER;\r\n columnData.name=this.translateService.instant('Onm.lblrelatedToER');\r\n columnData.isVisible= false;\r\n columnData.width=20;\r\n columnData.type= ColumnType.STANDARD;\r\n columnDatas.push(columnData);\r\n\r\n columnData = new ColumnsData();\r\n columnData.id=TicketColumns.SPACECODE;\r\n columnData.name=this.translateService.instant('ProjectManagerSettings.Spaces.lblSpaceCode');\r\n columnData.isVisible= false;\r\n columnData.width=20;\r\n columnData.type= ColumnType.STANDARD;\r\n columnDatas.push(columnData);\r\n\r\n columnData = new ColumnsData();\r\n columnData.id=TicketColumns.ASSETCODE;\r\n columnData.name=this.translateService.instant('ProjectManagerSettings.Assets.lblAssetCode');\r\n columnData.isVisible= false;\r\n columnData.width=20;\r\n columnData.type= ColumnType.STANDARD;\r\n columnDatas.push(columnData);\r\n\r\n return columnDatas;\r\n\r\n }\r\n getERStandardColumns(): ColumnsData[] {\r\n var columnDatas:Array = new Array();\r\n var columnData:ColumnsData = new ColumnsData();\r\n columnData.id=TicketColumns.NAME;\r\n columnData.name=this.translateService.instant('Onm.lblTicketNumber');\r\n columnData.isVisible= false;\r\n columnData.width=20;\r\n columnData.type= ColumnType.STANDARD;\r\n \r\n columnDatas.push(columnData); \r\n\r\n columnData = new ColumnsData();\r\n columnData.id=TicketColumns.TICKETFLOW;\r\n columnData.name=this.translateService.instant('Settings.TicketFlow.lblticketFlow');\r\n columnData.isVisible= false;\r\n columnData.width=20;\r\n columnData.type= ColumnType.STANDARD;\r\n columnDatas.push(columnData); \r\n \r\n columnData = new ColumnsData();\r\n columnData.id=TicketColumns.TITLE;\r\n columnData.name=this.translateService.instant('Tickets.lbltickettitle');\r\n columnData.isVisible= false;\r\n columnData.width=20;\r\n columnData.type= ColumnType.STANDARD;\r\n columnDatas.push(columnData); \r\n\r\n columnData = new ColumnsData();\r\n columnData.id=TicketColumns.EXPIRYDATE;\r\n columnData.name=this.translateService.instant('Tickets.lblExpiryDate');\r\n columnData.isVisible= false;\r\n columnData.width=20;\r\n columnData.type= ColumnType.STANDARD;\r\n columnDatas.push(columnData); \r\n\r\n columnData = new ColumnsData();\r\n columnData.id=TicketColumns.OPENDATE;\r\n columnData.name=this.translateService.instant('Onm.lblOpenDate');\r\n columnData.isVisible= false;\r\n columnData.width=20;\r\n columnData.type= ColumnType.STANDARD;\r\n columnDatas.push(columnData); \r\n\r\n \r\n\r\n columnData = new ColumnsData();\r\n columnData.id=TicketColumns.STATUS;\r\n columnData.name=this.translateService.instant('Settings.CommonLabel.lblstatus');\r\n columnData.isVisible= false;\r\n columnData.width=20;\r\n columnData.type= ColumnType.STANDARD;\r\n columnDatas.push(columnData);\r\n\r\n columnData = new ColumnsData();\r\n columnData.id=TicketColumns.ASSIGNEDBY;\r\n columnData.name=this.translateService.instant('Settings.TicketStatus.lblAssignedBy');\r\n columnData.isVisible= false;\r\n columnData.width=20;\r\n columnData.type= ColumnType.STANDARD;\r\n columnDatas.push(columnData);\r\n\r\n columnData = new ColumnsData();\r\n columnData.id=TicketColumns.ASSIGNEDTO;\r\n columnData.name=this.translateService.instant('Settings.TicketStatus.lblAssignedTo');\r\n columnData.isVisible= false;\r\n columnData.width=20;\r\n columnData.type= ColumnType.STANDARD;\r\n columnDatas.push(columnData);\r\n\r\n columnData = new ColumnsData();\r\n columnData.id=TicketColumns.RELATEDTOIR;\r\n columnData.name=this.translateService.instant('Onm.lblrelatedToIR');\r\n columnData.isVisible= false;\r\n columnData.width=20;\r\n columnData.type= ColumnType.STANDARD;\r\n columnDatas.push(columnData);\r\n\r\n columnData = new ColumnsData();\r\n columnData.id=TicketColumns.SPACECODE;\r\n columnData.name=this.translateService.instant('ProjectManagerSettings.Spaces.lblSpaceCode');\r\n columnData.isVisible= false;\r\n columnData.width=20;\r\n columnData.type= ColumnType.STANDARD;\r\n columnDatas.push(columnData);\r\n\r\n columnData = new ColumnsData();\r\n columnData.id=TicketColumns.ASSETCODE;\r\n columnData.name=this.translateService.instant('ProjectManagerSettings.Assets.lblAssetCode');\r\n columnData.isVisible= false;\r\n columnData.width=20;\r\n columnData.type= ColumnType.STANDARD;\r\n columnDatas.push(columnData);\r\n\r\n return columnDatas;\r\n }\r\n getIRStandardColumns(): ColumnsData[] {\r\n var columnDatas:Array = new Array();\r\n var columnData:ColumnsData = new ColumnsData();\r\n columnData.id=TicketColumns.NAME;\r\n columnData.name=this.translateService.instant('Onm.lblTicketNumber');\r\n columnData.isVisible= false;\r\n columnData.width=20;\r\n columnData.type= ColumnType.STANDARD;\r\n \r\n columnDatas.push(columnData); \r\n\r\n columnData = new ColumnsData();\r\n columnData.id=TicketColumns.TICKETFLOW;\r\n columnData.name=this.translateService.instant('Settings.TicketFlow.lblticketFlow');\r\n columnData.isVisible= false;\r\n columnData.width=20;\r\n columnData.type= ColumnType.STANDARD;\r\n columnDatas.push(columnData); \r\n \r\n columnData = new ColumnsData();\r\n columnData.id=TicketColumns.TITLE;\r\n columnData.name=this.translateService.instant('Tickets.lbltickettitle');\r\n columnData.isVisible= false;\r\n columnData.width=20;\r\n columnData.type= ColumnType.STANDARD;\r\n columnDatas.push(columnData); \r\n\r\n columnData = new ColumnsData();\r\n columnData.id=TicketColumns.OPENDATE;\r\n columnData.name=this.translateService.instant('Onm.lblOpenDate');\r\n columnData.isVisible= false;\r\n columnData.width=20;\r\n columnData.type= ColumnType.STANDARD;\r\n columnDatas.push(columnData); \r\n\r\n columnData = new ColumnsData();\r\n columnData.id=TicketColumns.PRIORITY;\r\n columnData.name=this.translateService.instant('Onm.lblPriority');\r\n columnData.isVisible= false;\r\n columnData.width=20;\r\n columnData.type= ColumnType.STANDARD;\r\n columnDatas.push(columnData); \r\n\r\n columnData = new ColumnsData();\r\n columnData.id=TicketColumns.STATUS;\r\n columnData.name=this.translateService.instant('Settings.CommonLabel.lblstatus');\r\n columnData.isVisible= false;\r\n columnData.width=20;\r\n columnData.type= ColumnType.STANDARD;\r\n columnDatas.push(columnData);\r\n\r\n columnData = new ColumnsData();\r\n columnData.id=TicketColumns.ASSIGNEDBY;\r\n columnData.name=this.translateService.instant('Settings.TicketStatus.lblAssignedBy');\r\n columnData.isVisible= false;\r\n columnData.width=20;\r\n columnData.type= ColumnType.STANDARD;\r\n columnDatas.push(columnData);\r\n\r\n columnData = new ColumnsData();\r\n columnData.id=TicketColumns.ASSIGNEDTO;\r\n columnData.name=this.translateService.instant('Settings.TicketStatus.lblAssignedTo');\r\n columnData.isVisible= false;\r\n columnData.width=20;\r\n columnData.type= ColumnType.STANDARD;\r\n columnDatas.push(columnData);\r\n\r\n columnData = new ColumnsData();\r\n columnData.id=TicketColumns.SPACECODE;\r\n columnData.name=this.translateService.instant('ProjectManagerSettings.Spaces.lblSpaceCode');\r\n columnData.isVisible= false;\r\n columnData.width=20;\r\n columnData.type= ColumnType.STANDARD;\r\n columnDatas.push(columnData);\r\n\r\n columnData = new ColumnsData();\r\n columnData.id=TicketColumns.ASSETCODE;\r\n columnData.name=this.translateService.instant('ProjectManagerSettings.Assets.lblAssetCode');\r\n columnData.isVisible= false;\r\n columnData.width=20;\r\n columnData.type= ColumnType.STANDARD;\r\n columnDatas.push(columnData);\r\n\r\n return columnDatas;\r\n }\r\n getAssetsStandardColumns(): ColumnsData[] {\r\n var columnDatas:Array = new Array();\r\n var columnData:ColumnsData = new ColumnsData();\r\n columnData.id=AssetColumns.LINKED_MODELS;\r\n columnData.name=this.translateService.instant('Projects.projectDetailsView.lblLinkedModels');\r\n columnData.isVisible= false;\r\n columnData.width=5;\r\n columnData.type= ColumnType.STANDARD;\r\n \r\n columnDatas.push(columnData); \r\n\r\n columnData = new ColumnsData();\r\n columnData.id=AssetColumns.SOURCE;\r\n columnData.name=this.translateService.instant('ProjectManagerSettings.Spaces.lblSource');\r\n columnData.isVisible= false;\r\n columnData.width=10;\r\n columnData.type= ColumnType.STANDARD;\r\n columnDatas.push(columnData); \r\n\r\n columnData = new ColumnsData();\r\n columnData.id=AssetColumns.STATUS;\r\n columnData.name=this.translateService.instant('Settings.CommonLabel.lblstatus');\r\n columnData.isVisible= false;\r\n columnData.width=10;\r\n columnData.type= ColumnType.STANDARD;\r\n columnDatas.push(columnData); \r\n\r\n columnData = new ColumnsData();\r\n columnData.id=AssetColumns.DISCIPLINE;\r\n columnData.name=this.translateService.instant('ProjectManagerSettings.Assets.lblDiscipline');\r\n columnData.isVisible= false;\r\n columnData.width=20;\r\n columnData.type= ColumnType.STANDARD;\r\n columnDatas.push(columnData); \r\n\r\n columnData = new ColumnsData();\r\n columnData.id=AssetColumns.CODE;\r\n columnData.name=this.translateService.instant('ProjectManagerSettings.Assets.lblAssetCode');\r\n columnData.isVisible= false;\r\n columnData.width=20;\r\n columnData.type= ColumnType.STANDARD;\r\n columnDatas.push(columnData); \r\n\r\n columnData = new ColumnsData();\r\n columnData.id=AssetColumns.PARENT;\r\n columnData.name=this.translateService.instant('ProjectManagerSettings.Assets.lblParent');\r\n columnData.isVisible= false;\r\n columnData.width=20;\r\n columnData.type= ColumnType.STANDARD;\r\n columnDatas.push(columnData); \r\n\r\n columnData = new ColumnsData();\r\n columnData.id=AssetColumns.CLASSIFICATION;\r\n columnData.name=this.translateService.instant('ProjectManagerSettings.Assets.lblAssetClassification');\r\n columnData.isVisible= false;\r\n columnData.width=20;\r\n columnData.type= ColumnType.STANDARD;\r\n columnDatas.push(columnData); \r\n\r\n columnData = new ColumnsData();\r\n columnData.id=AssetColumns.ASSETNAME;\r\n columnData.name=this.translateService.instant('ProjectManagerSettings.Assets.lblAssetName');\r\n columnData.isVisible= false;\r\n columnData.width=20;\r\n columnData.type= ColumnType.STANDARD;\r\n columnDatas.push(columnData); \r\n\r\n columnData = new ColumnsData();\r\n columnData.id=AssetColumns.ASSETACCOUNTABLE;\r\n columnData.name=this.translateService.instant('ProjectManagerSettings.Assets.lblAssetAccountable');\r\n columnData.isVisible= false;\r\n columnData.width=20;\r\n columnData.type= ColumnType.STANDARD;\r\n columnDatas.push(columnData); \r\n\r\n columnData = new ColumnsData();\r\n columnData.id=AssetColumns.ASSETDESCRIPTION;\r\n columnData.name=this.translateService.instant('ProjectManagerSettings.Assets.lblAssetDescription');\r\n columnData.isVisible= false;\r\n columnData.width=20;\r\n columnData.type= ColumnType.STANDARD;\r\n columnDatas.push(columnData); \r\n\r\n columnData = new ColumnsData();\r\n columnData.id=AssetColumns.SITENAME;\r\n columnData.name=this.translateService.instant('ProjectManagerSettings.Spaces.lblSiteName');\r\n columnData.isVisible= false;\r\n columnData.width=20;\r\n columnData.type= ColumnType.STANDARD;\r\n columnDatas.push(columnData); \r\n\r\n columnData = new ColumnsData();\r\n columnData.id=AssetColumns.BUILDINGNAME;\r\n columnData.name=this.translateService.instant('ProjectManagerSettings.Spaces.lblBuildingName');\r\n columnData.isVisible= false;\r\n columnData.width=20;\r\n columnData.type= ColumnType.STANDARD;\r\n columnDatas.push(columnData); \r\n\r\n columnData = new ColumnsData();\r\n columnData.id=AssetColumns.SPACECODE;\r\n columnData.name=this.translateService.instant('ProjectManagerSettings.Spaces.lblSpaceCode');\r\n columnData.isVisible= false;\r\n columnData.width=20;\r\n columnData.type= ColumnType.STANDARD;\r\n columnDatas.push(columnData); \r\n\r\n columnData = new ColumnsData();\r\n columnData.id=AssetColumns.SPACETYPE;\r\n columnData.name=this.translateService.instant('ProjectManagerSettings.SpaceGroups.lblSpaceType');\r\n columnData.isVisible= false;\r\n columnData.width=20;\r\n columnData.type= ColumnType.STANDARD;\r\n columnDatas.push(columnData); \r\n\r\n columnData = new ColumnsData();\r\n columnData.id=AssetColumns.SPACELEVEL;\r\n columnData.name=this.translateService.instant('ProjectManagerSettings.Spaces.lblSpaceLevel');\r\n columnData.isVisible= false;\r\n columnData.width=20;\r\n columnData.type= ColumnType.STANDARD;\r\n columnDatas.push(columnData); \r\n\r\n columnData = new ColumnsData();\r\n columnData.id=AssetColumns.SPACENAME;\r\n columnData.name=this.translateService.instant('ProjectManagerSettings.Spaces.lblSpaceName');\r\n columnData.isVisible= false;\r\n columnData.width=20;\r\n columnData.type= ColumnType.STANDARD;\r\n columnDatas.push(columnData); \r\n\r\n columnData = new ColumnsData();\r\n columnData.id=AssetColumns.SPACEZONE;\r\n columnData.name=this.translateService.instant('ProjectManagerSettings.Spaces.lblZoneName');\r\n columnData.isVisible= false;\r\n columnData.width=20;\r\n columnData.type= ColumnType.STANDARD;\r\n columnDatas.push(columnData); \r\n\r\n columnData = new ColumnsData();\r\n columnData.id=AssetColumns.SPACEZONEDESCRIPTION;\r\n columnData.name=this.translateService.instant('ProjectManagerSettings.Spaces.lblZoneDescription');\r\n columnData.isVisible= false;\r\n columnData.width=40;\r\n columnData.type= ColumnType.STANDARD;\r\n columnDatas.push(columnData); \r\n\r\n columnData = new ColumnsData();\r\n columnData.id=AssetColumns.PHOTO_AVAILABLE;\r\n columnData.name=this.translateService.instant('ProjectManagerSettings.Assets.lblPhotAvailable');\r\n columnData.isVisible= false;\r\n columnData.width=10;\r\n columnData.type= ColumnType.STANDARD;\r\n columnDatas.push(columnData);\r\n\r\n columnData = new ColumnsData();\r\n columnData.id=AssetColumns.ACCESS_TO_DOCUMENT;\r\n columnData.name=this.translateService.instant('ProjectManagerSettings.Assets.lblAccessDocuments');\r\n columnData.isVisible= false;\r\n columnData.width=10;\r\n columnData.type= ColumnType.STANDARD;\r\n columnDatas.push(columnData);\r\n\r\n columnData = new ColumnsData();\r\n columnData.id=AssetColumns.ACCESS_TO_TICKET;\r\n columnData.name=this.translateService.instant('ProjectManagerSettings.Assets.lblAccessTickets');\r\n columnData.isVisible= false;\r\n columnData.width=10;\r\n columnData.type= ColumnType.STANDARD;\r\n columnDatas.push(columnData);\r\n\r\n columnData = new ColumnsData();\r\n columnData.id=AssetColumns.ACCESS_TO_CHECKLIST;\r\n columnData.name=this.translateService.instant('ProjectManagerSettings.Assets.lblAccessChecklists');\r\n columnData.isVisible= false;\r\n columnData.width=10;\r\n columnData.type= ColumnType.STANDARD;\r\n columnDatas.push(columnData);\r\n\r\n columnData = new ColumnsData();\r\n columnData.id=AssetColumns.ONMTICKETS;\r\n columnData.name=this.translateService.instant('ProjectManagerSettings.Spaces.lblONM');\r\n columnData.isVisible= false;\r\n columnData.width=10;\r\n columnData.type= ColumnType.STANDARD;\r\n columnDatas.push(columnData);\r\n\r\n columnData = new ColumnsData();\r\n columnData.id=AssetColumns.ASSET_COMPARE_LOCATION;\r\n columnData.name='';\r\n columnData.isVisible= false;\r\n columnData.width=20;\r\n \r\n columnData.type= ColumnType.STANDARD;\r\n columnDatas.push(columnData);\r\n\r\n columnData = new ColumnsData();\r\n columnData.id=AssetColumns.UPDATECODE;\r\n columnData.name=this.translateService.instant('ProjectManagerSettings.Spaces.lblUpdateCode');\r\n columnData.isVisible= false;\r\n columnData.width=20;\r\n columnData.type= ColumnType.STANDARD;\r\n columnDatas.push(columnData);\r\n\r\n columnData = new ColumnsData();\r\n columnData.id=AssetColumns.LASTMODIFIED;\r\n columnData.name=this.translateService.instant('ProjectManagerSettings.Spaces.lblLastModifiedOn');\r\n columnData.isVisible= false;\r\n columnData.width=20;\r\n columnData.type= ColumnType.STANDARD;\r\n columnDatas.push(columnData);\r\n\r\n\r\n\r\n return columnDatas;\r\n }\r\n getSpacesStandardColumns(): ColumnsData[] {\r\n var columnDatas:Array = new Array();\r\n var columnData:ColumnsData = new ColumnsData();\r\n columnData.id=SpaceColumns.LINKED_MODELS;\r\n columnData.name=this.translateService.instant('Projects.projectDetailsView.lblLinkedModels');\r\n columnData.isVisible= false;\r\n columnData.width=5;\r\n columnData.type= ColumnType.STANDARD;\r\n \r\n columnDatas.push(columnData); \r\n\r\n columnData = new ColumnsData();\r\n columnData.id=SpaceColumns.ISCSV;\r\n columnData.name=this.translateService.instant('ProjectManagerSettings.Spaces.lblSource');\r\n columnData.isVisible= false;\r\n columnData.width=10;\r\n columnData.type= ColumnType.STANDARD;\r\n columnDatas.push(columnData); \r\n\r\n columnData = new ColumnsData();\r\n columnData.id=SpaceColumns.STATUS;\r\n columnData.name=this.translateService.instant('Settings.CommonLabel.lblstatus');\r\n columnData.isVisible= false;\r\n columnData.width=10;\r\n columnData.type= ColumnType.STANDARD;\r\n columnDatas.push(columnData); \r\n\r\n columnData = new ColumnsData();\r\n columnData.id=SpaceColumns.SITE_NAME;\r\n columnData.name=this.translateService.instant('ProjectManagerSettings.Spaces.lblSiteName');\r\n columnData.isVisible= false;\r\n columnData.width=20;\r\n columnData.type= ColumnType.STANDARD;\r\n columnDatas.push(columnData); \r\n\r\n columnData = new ColumnsData();\r\n columnData.id=SpaceColumns.BUILDING_NAME;\r\n columnData.name=this.translateService.instant('ProjectManagerSettings.Spaces.lblBuildingName');\r\n columnData.isVisible= false;\r\n columnData.width=20;\r\n columnData.type= ColumnType.STANDARD;\r\n columnDatas.push(columnData); \r\n\r\n columnData = new ColumnsData();\r\n columnData.id=SpaceColumns.CODE;\r\n columnData.name=this.translateService.instant('ProjectManagerSettings.Spaces.lblSpaceCode');\r\n columnData.isVisible= false;\r\n columnData.width=20;\r\n columnData.type= ColumnType.STANDARD;\r\n columnDatas.push(columnData); \r\n\r\n columnData = new ColumnsData();\r\n columnData.id=SpaceColumns.ORIGIN;\r\n columnData.name=this.translateService.instant('ProjectManagerSettings.Spaces.lblOrigin');\r\n columnData.isVisible= false;\r\n columnData.width=20;\r\n columnData.type= ColumnType.STANDARD;\r\n columnDatas.push(columnData); \r\n\r\n columnData = new ColumnsData();\r\n columnData.id=SpaceColumns.SPACETYPE;\r\n columnData.name=this.translateService.instant('ProjectManagerSettings.SpaceGroups.lblSpaceType');\r\n columnData.isVisible= false;\r\n columnData.width=20;\r\n columnData.type= ColumnType.STANDARD;\r\n columnDatas.push(columnData); \r\n \r\n columnData = new ColumnsData();\r\n columnData.id=SpaceColumns.CLASSIFICATION;\r\n columnData.name=this.translateService.instant('ProjectManagerSettings.Spaces.lblSpaceClassification');\r\n columnData.isVisible= false;\r\n columnData.width=25;\r\n columnData.type= ColumnType.STANDARD;\r\n columnDatas.push(columnData); \r\n\r\n columnData = new ColumnsData();\r\n columnData.id=SpaceColumns.SPACE_NAME;\r\n columnData.name=this.translateService.instant('ProjectManagerSettings.Spaces.lblSpaceName');\r\n columnData.isVisible= false;\r\n columnData.width=40;\r\n columnData.type= ColumnType.STANDARD;\r\n columnDatas.push(columnData); \r\n\r\n columnData = new ColumnsData();\r\n columnData.id=SpaceColumns.OCCUPANCY;\r\n columnData.name=this.translateService.instant('ProjectManagerSettings.Spaces.lblSpaceOccupancy');\r\n columnData.isVisible= false;\r\n columnData.width=20;\r\n columnData.type= ColumnType.STANDARD;\r\n columnDatas.push(columnData); \r\n\r\n columnData = new ColumnsData();\r\n columnData.id=SpaceColumns.LEVEL;\r\n columnData.name=this.translateService.instant('ProjectManagerSettings.Spaces.lblSpaceLevel');\r\n columnData.isVisible= false;\r\n columnData.width=15;\r\n columnData.type= ColumnType.STANDARD;\r\n columnDatas.push(columnData); \r\n\r\n columnData = new ColumnsData();\r\n columnData.id=SpaceColumns.AREA;\r\n columnData.name=this.translateService.instant('ProjectManagerSettings.Spaces.lblSpaceArea');\r\n columnData.isVisible= false;\r\n columnData.width=15;\r\n columnData.type= ColumnType.STANDARD;\r\n columnDatas.push(columnData); \r\n\r\n columnData = new ColumnsData();\r\n columnData.id=SpaceColumns.ZONE;\r\n columnData.name=this.translateService.instant('ProjectManagerSettings.Spaces.lblZoneName');\r\n columnData.isVisible= false;\r\n columnData.width=40;\r\n columnData.type= ColumnType.STANDARD;\r\n columnDatas.push(columnData); \r\n\r\n columnData = new ColumnsData();\r\n columnData.id=SpaceColumns.ZONE_DESCRIPTION;\r\n columnData.name=this.translateService.instant('ProjectManagerSettings.Spaces.lblZoneDescription');\r\n columnData.isVisible= false;\r\n columnData.width=40;\r\n columnData.type= ColumnType.STANDARD;\r\n columnDatas.push(columnData); \r\n\r\n columnData = new ColumnsData();\r\n columnData.id=SpaceColumns.SPACE_INFO;\r\n columnData.name=this.translateService.instant('ProjectManagerSettings.Spaces.lblAccessToSpaceInfo');\r\n columnData.isVisible= false;\r\n columnData.width=5;\r\n columnData.type= ColumnType.STANDARD;\r\n \r\n columnDatas.push(columnData); \r\n \r\n columnData = new ColumnsData();\r\n columnData.id=SpaceColumns.DOCUMENTS;\r\n columnData.name=this.translateService.instant('ProjectManagerSettings.Spaces.lblDocuments');\r\n columnData.isVisible= false;\r\n columnData.width=5;\r\n columnData.type= ColumnType.STANDARD;\r\n \r\n columnDatas.push(columnData); \r\n\r\n columnData = new ColumnsData();\r\n columnData.id=SpaceColumns.CHECKLISTS;\r\n columnData.name=this.translateService.instant('ProjectManagerSettings.Spaces.lblChecklists');\r\n columnData.isVisible= false;\r\n columnData.width=5;\r\n columnData.type= ColumnType.STANDARD;\r\n \r\n columnDatas.push(columnData); \r\n\r\n columnData = new ColumnsData();\r\n columnData.id=SpaceColumns.TICKETS;\r\n columnData.name=this.translateService.instant('ProjectManagerSettings.Spaces.lblTickets');\r\n columnData.isVisible= false;\r\n columnData.width=5;\r\n columnData.type= ColumnType.STANDARD;\r\n \r\n columnDatas.push(columnData); \r\n\r\n columnData = new ColumnsData();\r\n columnData.id=SpaceColumns.ONMTICKETS;\r\n columnData.name=this.translateService.instant('MainMenu.lblONM');\r\n columnData.isVisible= false;\r\n columnData.width=5;\r\n columnData.type= ColumnType.STANDARD;\r\n \r\n columnDatas.push(columnData); \r\n\r\n columnData = new ColumnsData();\r\n columnData.id=SpaceColumns.UPDATE_CODE;\r\n columnData.name=this.translateService.instant('ProjectManagerSettings.Spaces.lblUpdateCode');\r\n columnData.isVisible= false;\r\n columnData.width=20;\r\n columnData.type= ColumnType.STANDARD;\r\n\r\n columnData = new ColumnsData();\r\n columnData.id=SpaceColumns.LAST_MODIFIED_ON;\r\n columnData.name=this.translateService.instant('ProjectManagerSettings.Spaces.lblLastModifiedOn');\r\n columnData.isVisible= false;\r\n columnData.width=20;\r\n columnData.type= ColumnType.STANDARD;\r\n \r\n columnDatas.push(columnData); \r\n\r\n\r\n return columnDatas;\r\n }\r\n getTransmittalStandardColumns(subtype:number): ColumnsData[] {\r\n var columnDatas:Array = new Array();\r\n var columnData:ColumnsData = new ColumnsData();\r\n if(subtype == TransmittalTypes.TOUT)\r\n {\r\n \r\n columnData.id=TransmittalColumns.STATUS;\r\n columnData.name=this.translateService.instant('Transmittals.Status');\r\n columnData.isVisible= false;\r\n columnData.width=5;\r\n columnData.type= ColumnType.STANDARD;\r\n columnDatas.push(columnData); \r\n\r\n columnData = new ColumnsData();\r\n columnData.id=TransmittalColumns.PROJECTCODE;\r\n columnData.name=this.translateService.instant('Transmittals.ProjectCode');\r\n columnData.isVisible= false;\r\n columnData.width=20;\r\n columnData.type= ColumnType.STANDARD;\r\n columnDatas.push(columnData); \r\n\r\n columnData = new ColumnsData();\r\n columnData.id=TransmittalColumns.TRANSMITTALCODE;\r\n columnData.name=this.translateService.instant('Transmittals.TransmittalCode');\r\n columnData.isVisible= false;\r\n columnData.width=20;\r\n columnData.type= ColumnType.STANDARD;\r\n columnDatas.push(columnData); \r\n\r\n columnData = new ColumnsData();\r\n columnData.id=TransmittalColumns.SENDFOR;\r\n columnData.name=this.translateService.instant('Transmittals.TransmittalType');\r\n columnData.isVisible= false;\r\n columnData.width=20;\r\n columnData.type= ColumnType.STANDARD;\r\n columnDatas.push(columnData); \r\n\r\n columnData = new ColumnsData();\r\n columnData.id=TransmittalColumns.NAME;\r\n columnData.name=this.translateService.instant('Transmittals.Name');\r\n columnData.isVisible= false;\r\n columnData.width=20;\r\n columnData.type= ColumnType.STANDARD;\r\n columnDatas.push(columnData); \r\n \r\n columnData = new ColumnsData();\r\n columnData.id=TransmittalColumns.DESCRIPTION;\r\n columnData.name=this.translateService.instant('Transmittals.Description');\r\n columnData.isVisible= false;\r\n columnData.width=20;\r\n columnData.type= ColumnType.STANDARD;\r\n columnDatas.push(columnData); \r\n\r\n columnData = new ColumnsData();\r\n columnData.id=TransmittalColumns.ASSIGNEDBY;\r\n columnData.name=this.translateService.instant('Settings.TicketStatus.lblAssignedBy');\r\n columnData.isVisible= false;\r\n columnData.width=20;\r\n columnData.type= ColumnType.STANDARD;\r\n columnDatas.push(columnData); \r\n\r\n columnData = new ColumnsData();\r\n columnData.id=TransmittalColumns.ASSIGNEDTO;\r\n columnData.name=this.translateService.instant('Settings.TicketStatus.lblAssignedTo');\r\n columnData.isVisible= false;\r\n columnData.width=20;\r\n columnData.type= ColumnType.STANDARD;\r\n columnDatas.push(columnData); \r\n\r\n columnData = new ColumnsData();\r\n columnData.id=TransmittalColumns.ASSIGNEDTOEXTERNAL;\r\n columnData.name=this.translateService.instant('Transmittals.AssignedToExternal');\r\n columnData.isVisible= false;\r\n columnData.width=20;\r\n columnData.type= ColumnType.STANDARD;\r\n columnDatas.push(columnData); \r\n\r\n columnData = new ColumnsData();\r\n columnData.id=TransmittalColumns.RELATEDTRANSMITTAL;\r\n columnData.name=this.translateService.instant('Transmittals.InTransmittals');\r\n columnData.isVisible= false;\r\n columnData.width=20;\r\n columnData.type= ColumnType.STANDARD;\r\n columnDatas.push(columnData); \r\n\r\n columnData = new ColumnsData();\r\n columnData.id=TransmittalColumns.HASATTACHMENT;\r\n columnData.name=this.translateService.instant('Transmittals.Documents');\r\n columnData.isVisible= false;\r\n columnData.width=20;\r\n columnData.type= ColumnType.STANDARD;\r\n columnDatas.push(columnData); \r\n\r\n columnData = new ColumnsData();\r\n columnData.id=TransmittalColumns.SENTDATE;\r\n columnData.name=this.translateService.instant('Transmittals.SentDate');\r\n columnData.isVisible= false;\r\n columnData.width=20;\r\n columnData.type= ColumnType.STANDARD;\r\n columnDatas.push(columnData); \r\n }\r\n else if(subtype == TransmittalTypes.TIN)\r\n {\r\n \r\n\r\n columnData = new ColumnsData();\r\n columnData.id=TransmittalColumns.PROJECTCODE;\r\n columnData.name=this.translateService.instant('Transmittals.ProjectCode');\r\n columnData.isVisible= false;\r\n columnData.width=20;\r\n columnData.type= ColumnType.STANDARD;\r\n columnDatas.push(columnData); \r\n\r\n columnData = new ColumnsData();\r\n columnData.id=TransmittalColumns.TRANSMITTALCODE;\r\n columnData.name=this.translateService.instant('Transmittals.TransmittalCode');\r\n columnData.isVisible= false;\r\n columnData.width=20;\r\n columnData.type= ColumnType.STANDARD;\r\n columnDatas.push(columnData); \r\n\r\n columnData = new ColumnsData();\r\n columnData.id=TransmittalColumns.SENDFOR;\r\n columnData.name=this.translateService.instant('Transmittals.TransmittalType');\r\n columnData.isVisible= false;\r\n columnData.width=20;\r\n columnData.type= ColumnType.STANDARD;\r\n columnDatas.push(columnData); \r\n\r\n columnData = new ColumnsData();\r\n columnData.id=TransmittalColumns.NAME;\r\n columnData.name=this.translateService.instant('Transmittals.Name');\r\n columnData.isVisible= false;\r\n columnData.width=20;\r\n columnData.type= ColumnType.STANDARD;\r\n columnDatas.push(columnData); \r\n \r\n columnData = new ColumnsData();\r\n columnData.id=TransmittalColumns.DESCRIPTION;\r\n columnData.name=this.translateService.instant('Transmittals.Description');\r\n columnData.isVisible= false;\r\n columnData.width=20;\r\n columnData.type= ColumnType.STANDARD;\r\n columnDatas.push(columnData); \r\n\r\n columnData = new ColumnsData();\r\n columnData.id=TransmittalColumns.ASSIGNEDBYEXTERNAL;\r\n columnData.name=this.translateService.instant('Transmittals.AssignedByExternal');\r\n columnData.isVisible= false;\r\n columnData.width=20;\r\n columnData.type= ColumnType.STANDARD;\r\n columnDatas.push(columnData); \r\n\r\n columnData = new ColumnsData();\r\n columnData.id=TransmittalColumns.ASSIGNEDTO;\r\n columnData.name=this.translateService.instant('Settings.TicketStatus.lblAssignedTo');\r\n columnData.isVisible= false;\r\n columnData.width=20;\r\n columnData.type= ColumnType.STANDARD;\r\n columnDatas.push(columnData); \r\n\r\n columnData = new ColumnsData();\r\n columnData.id=TransmittalColumns.NOTIFIEDTO;\r\n columnData.name=this.translateService.instant('Transmittals.lblNotifiedTo');\r\n columnData.isVisible= false;\r\n columnData.width=20;\r\n columnData.type= ColumnType.STANDARD;\r\n columnDatas.push(columnData); \r\n\r\n columnData = new ColumnsData();\r\n columnData.id=TransmittalColumns.RELATEDTRANSMITTAL;\r\n columnData.name=this.translateService.instant('Transmittals.OutTransmittals');\r\n columnData.isVisible= false;\r\n columnData.width=20;\r\n columnData.type= ColumnType.STANDARD;\r\n columnDatas.push(columnData); \r\n\r\n \r\n\r\n }\r\n\r\n\r\n return columnDatas;\r\n }\r\n getTicketStandardColumns(): ColumnsData[] {\r\n var columnDatas:Array = new Array();\r\n \r\n var columnData:ColumnsData = new ColumnsData();\r\n columnData.id=TicketColumns.NAME;\r\n columnData.name=this.translateService.instant('Tickets.lblTicketCode');\r\n columnData.isVisible= false;\r\n columnData.width=20;\r\n columnData.type= ColumnType.STANDARD;\r\n columnDatas.push(columnData); \r\n\r\n columnData = new ColumnsData();\r\n columnData.id=TicketColumns.TAG;\r\n columnData.name=this.translateService.instant('Settings.CommonLabel.lblTag');\r\n columnData.isVisible= false;\r\n columnData.width=20;\r\n columnData.type= ColumnType.STANDARD;\r\n columnDatas.push(columnData); \r\n\r\n columnData = new ColumnsData();\r\n columnData.id=TicketColumns.TICKETFLOW;\r\n columnData.name=this.translateService.instant('Settings.TicketFlow.lblticketFlow');\r\n columnData.isVisible= false;\r\n columnData.width=20;\r\n columnData.type= ColumnType.STANDARD;\r\n columnDatas.push(columnData); \r\n\r\n columnData = new ColumnsData();\r\n columnData.id=TicketColumns.TITLE;\r\n columnData.name=this.translateService.instant('Tickets.lbltickettitle');\r\n columnData.isVisible= false;\r\n columnData.width=20;\r\n columnData.type= ColumnType.STANDARD;\r\n columnDatas.push(columnData); \r\n\r\n columnData = new ColumnsData();\r\n columnData.id=TicketColumns.EXPIRYDATE;\r\n columnData.name=this.translateService.instant('Tickets.lblExpiryDate');\r\n columnData.isVisible= false;\r\n columnData.width=20;\r\n columnData.type= ColumnType.STANDARD;\r\n columnDatas.push(columnData); \r\n\r\n columnData = new ColumnsData();\r\n columnData.id=TicketColumns.STATUS;\r\n columnData.name=this.translateService.instant('Onm.lblFlowStatus');\r\n columnData.isVisible= false;\r\n columnData.width=20;\r\n columnData.type= ColumnType.STANDARD;\r\n columnDatas.push(columnData); \r\n\r\n columnData = new ColumnsData();\r\n columnData.id=TicketColumns.ASSIGNEDBY;\r\n columnData.name=this.translateService.instant('Settings.TicketStatus.lblAssignedBy');\r\n columnData.isVisible= false;\r\n columnData.width=20;\r\n columnData.type= ColumnType.STANDARD;\r\n columnDatas.push(columnData); \r\n\r\n columnData = new ColumnsData();\r\n columnData.id=TicketColumns.ASSIGNEDTO;\r\n columnData.name=this.translateService.instant('Settings.TicketStatus.lblAssignedTo');\r\n columnData.isVisible= false;\r\n columnData.width=20;\r\n columnData.type= ColumnType.STANDARD;\r\n columnDatas.push(columnData); \r\n\r\n columnData = new ColumnsData();\r\n columnData.id=TicketColumns.NOTIFYTO;\r\n columnData.name=this.translateService.instant('Settings.TicketStatus.lblNotifyTo');\r\n columnData.isVisible= false;\r\n columnData.width=20;\r\n columnData.type= ColumnType.STANDARD;\r\n columnDatas.push(columnData); \r\n\r\n columnData = new ColumnsData();\r\n columnData.id=TicketColumns.SPACECODE;\r\n columnData.name=this.translateService.instant('ProjectManagerSettings.Spaces.lblSpaceCode');\r\n columnData.isVisible= false;\r\n columnData.width=20;\r\n columnData.type= ColumnType.STANDARD;\r\n columnDatas.push(columnData); \r\n\r\n columnData = new ColumnsData();\r\n columnData.id=TicketColumns.ASSETCODE;\r\n columnData.name=this.translateService.instant('ProjectManagerSettings.Assets.lblAssetCode');\r\n columnData.isVisible= false;\r\n columnData.width=20;\r\n columnData.type= ColumnType.STANDARD;\r\n columnDatas.push(columnData); \r\n\r\n columnData = new ColumnsData();\r\n columnData.id=TicketColumns.DOCUMENTNAME;\r\n columnData.name=this.translateService.instant('Documents.DocumentManager.lblDocumentName');\r\n columnData.isVisible= false;\r\n columnData.width=20;\r\n columnData.type= ColumnType.STANDARD;\r\n columnDatas.push(columnData); \r\n\r\n columnData = new ColumnsData();\r\n columnData.id=TicketColumns.LASTMODIFIEDDATE;\r\n columnData.name=this.translateService.instant('Documents.DocumentManager.lblLastModified');\r\n columnData.isVisible= false;\r\n columnData.width=20;\r\n columnData.type= ColumnType.STANDARD;\r\n columnDatas.push(columnData); \r\n\r\n return columnDatas;\r\n }\r\n \r\n \r\n private getDocumentStandardColumns(): Array {\r\n var columnDatas:Array = new Array();\r\n\r\n var columnData:ColumnsData = new ColumnsData();\r\n columnData.id=DocumentColumns.NAME;\r\n columnData.name=this.translateService.instant('Settings.CommonLabel.lblName');\r\n columnData.isVisible= false;\r\n columnData.width=25;\r\n columnData.type= ColumnType.STANDARD;\r\n columnDatas.push(columnData); \r\n \r\n columnData = new ColumnsData();\r\n columnData.id=DocumentColumns.DESCRIPTION;\r\n columnData.name=this.translateService.instant('Settings.CommonLabel.lblDescription');\r\n columnData.isVisible= false;\r\n columnData.width=30;\r\n columnData.type= ColumnType.STANDARD;\r\n columnDatas.push(columnData); \r\n\r\n columnData = new ColumnsData();\r\n columnData.id=DocumentColumns.DOCUMENT_TAG;\r\n columnData.name=this.translateService.instant('Documents.DocumentManager.lblTag');\r\n columnData.isVisible= false;\r\n columnData.width=15;\r\n columnData.type= ColumnType.STANDARD;\r\n columnDatas.push(columnData); \r\n\r\n columnData = new ColumnsData();\r\n columnData.id=DocumentColumns.STATUS;\r\n columnData.name=this.translateService.instant('Documents.DocumentManager.lblState');\r\n columnData.isVisible= false;\r\n columnData.width=20;\r\n columnData.type= ColumnType.STANDARD;\r\n columnDatas.push(columnData); \r\n\r\n columnData = new ColumnsData();\r\n columnData.id=DocumentColumns.COUNT_DOWN;\r\n columnData.name=this.translateService.instant('Documents.DocumentManager.lblexpiryDays');\r\n columnData.isVisible= false;\r\n columnData.width=10;\r\n columnData.type= ColumnType.STANDARD;\r\n columnDatas.push(columnData); \r\n\r\n columnData = new ColumnsData();\r\n columnData.id=DocumentColumns.WUG;\r\n columnData.name=this.translateService.instant('Documents.DocumentManager.lblWorkflowUserGroup');\r\n columnData.isVisible= false;\r\n columnData.width=20;\r\n columnData.type= ColumnType.STANDARD;\r\n columnDatas.push(columnData); \r\n\r\n columnData = new ColumnsData();\r\n columnData.id=DocumentColumns.IDUPLOAD;\r\n columnData.name=this.translateService.instant('Documents.DocumentManager.lblUpdateCode');\r\n columnData.isVisible= false;\r\n columnData.width=20;\r\n columnData.type= ColumnType.STANDARD;\r\n columnDatas.push(columnData); \r\n\r\n columnData = new ColumnsData();\r\n columnData.id=DocumentColumns.TRANSMITTALS;\r\n columnData.name=this.translateService.instant('Documents.DocumentManager.lblTransmittals');\r\n columnData.isVisible= false;\r\n columnData.width=20;\r\n columnData.type= ColumnType.STANDARD;\r\n columnDatas.push(columnData); \r\n\r\n columnData = new ColumnsData();\r\n columnData.id=DocumentColumns.VERSION;\r\n columnData.name=this.translateService.instant('Documents.DocumentManager.lblVersion');\r\n columnData.isVisible= false;\r\n columnData.type= ColumnType.STANDARD;\r\n columnData.width=10;\r\n columnDatas.push(columnData); \r\n\r\n columnData = new ColumnsData();\r\n columnData.id=DocumentColumns.TICKETS;\r\n columnData.name=this.translateService.instant('ProjectManagerSettings.Spaces.lblTickets');\r\n columnData.isVisible= false;\r\n columnData.type= ColumnType.STANDARD;\r\n columnData.width=5;\r\n columnDatas.push(columnData); \r\n\r\n columnData = new ColumnsData();\r\n columnData.id=DocumentColumns.LAST_MODIFIED;\r\n columnData.name=this.translateService.instant('Documents.DocumentManager.lblLastModified');\r\n columnData.isVisible= false;\r\n columnData.width=20;\r\n columnData.type= ColumnType.STANDARD;\r\n columnDatas.push(columnData); \r\n\r\n\r\n\r\n return columnDatas;\r\n }\r\n\r\n getSelectedColumns(projectId: number, userid: number,viewType:MainViewType,subType:number =-1):Array {\r\n var selectedColumns:Array = new Array();\r\n var ColumnInformation = this.storageService.getLocalStorageItem(KeyConstants.ProjectColumns);\r\n if(ColumnInformation != null && ColumnInformation.projects != null && ColumnInformation.projects.length > 0)\r\n {\r\n\r\n var ProjectColumns:ProjectColumns = null;\r\n if(viewType == MainViewType.TRANSMITTALS || viewType == MainViewType.ONM)\r\n ProjectColumns = ColumnInformation.projects.find(x=>x.projectId == projectId && x.userid == userid && x.viewType == viewType&&x.subviewType == subType);\r\n else\r\n ProjectColumns = ColumnInformation.projects.find(x=>x.projectId == projectId && x.userid == userid && x.viewType == viewType);\r\n if(ProjectColumns)\r\n {\r\n selectedColumns = ProjectColumns.columns;\r\n }\r\n else\r\n selectedColumns=this.getStandardColumns(viewType,subType);\r\n }\r\n else\r\n selectedColumns=this.getStandardColumns(viewType,subType);\r\n\r\n return selectedColumns;\r\n\r\n }\r\n\r\n saveColumns(visibleColumns: ColumnsData[], projectId: number, userid: number,viewType:MainViewType,subviewType:number =-1) {\r\n var existColInformation = this.storageService.getLocalStorageItem(KeyConstants.ProjectColumns);\r\n if(existColInformation && existColInformation.projects && existColInformation.projects.length > 0)\r\n {\r\n //here the column information is there but don't know whether this project and user id is there\r\n var projectColumn:ProjectColumns =null;\r\n if(viewType == MainViewType.TRANSMITTALS || viewType == MainViewType.ONM)\r\n projectColumn = existColInformation.projects.find(x=>x.projectId == projectId && x.userid == userid && x.viewType == viewType&&x.subviewType == subviewType);\r\n else\r\n projectColumn = existColInformation.projects.find(x=>x.projectId == projectId && x.userid == userid && x.viewType == viewType);\r\n if(projectColumn)\r\n {\r\n //project and user id also found so replace that item with new one\r\n var index:number = existColInformation.projects.findIndex(x=>x.projectId == projectId && x.userid == userid && x.viewType == viewType);\r\n var replaceItem:ProjectColumns = new ProjectColumns();\r\n replaceItem.projectId=projectId;\r\n replaceItem.userid=userid;\r\n replaceItem.columns= visibleColumns;\r\n replaceItem.viewType= viewType;\r\n if(viewType == MainViewType.TRANSMITTALS || viewType == MainViewType.ONM)\r\n replaceItem.subviewType = subviewType;\r\n existColInformation.projects.splice(index,1,replaceItem);\r\n }\r\n else\r\n {\r\n //column information there but not project id and user id so insert new item\r\n var newItem:ProjectColumns = new ProjectColumns();\r\n newItem.projectId=projectId;\r\n newItem.userid=userid;\r\n newItem.columns= visibleColumns;\r\n newItem.viewType= viewType;\r\n if(viewType == MainViewType.TRANSMITTALS || viewType == MainViewType.ONM)\r\n newItem.subviewType = subviewType;\r\n existColInformation.projects.push(newItem);\r\n\r\n }\r\n this.storageService.setLocalStorage(KeyConstants.ProjectColumns,existColInformation);\r\n\r\n }\r\n else\r\n {\r\n var colInformation:ColumnInformation = new ColumnInformation();\r\n colInformation.projects = new Array();\r\n var newItem:ProjectColumns = new ProjectColumns();\r\n newItem.projectId=projectId;\r\n newItem.userid=userid;\r\n newItem.viewType= viewType;\r\n newItem.columns= visibleColumns;\r\n if(viewType == MainViewType.TRANSMITTALS || viewType== MainViewType.ONM)\r\n newItem.subviewType = subviewType;\r\n colInformation.projects.push(newItem);\r\n this.storageService.setLocalStorage(KeyConstants.ProjectColumns,colInformation);\r\n }\r\n \r\n }\r\n getDocumentGridColumns(columns: ColumnsData[]):DocumentGridColumnOption[] {\r\n var documentGridColumns:Array = new Array();\r\n columns.forEach((column:ColumnsData)=>{\r\n var filterColumnType:FilterColumnType = this.getDocumentFilterType(column);\r\n var documentGridColumn:DocumentGridColumnOption = new DocumentGridColumnOption(column.name,1,column.id,filterColumnType,column.width);\r\n documentGridColumn.type = column.type;\r\n documentGridColumn.customColumnType= column.customColumnType;\r\n \r\n documentGridColumns.push(documentGridColumn);\r\n\r\n\r\n });\r\n return documentGridColumns;\r\n }\r\n getTicketGridColumns(columns: ColumnsData[]): TicketGridColumnOption[] {\r\n var ticketGridColumns:Array = new Array();\r\n columns.forEach((column:ColumnsData)=>{\r\n var filterColumnType:FilterColumnType = this.getTicketFilterType(column.id);\r\n var ticketGridColumn:TicketGridColumnOption = new TicketGridColumnOption(column.name,1,column.id,filterColumnType,'grid-col-' + column.width);\r\n ticketGridColumns.push(ticketGridColumn);\r\n\r\n\r\n });\r\n return ticketGridColumns;\r\n }\r\n\r\n getOnMGridColumns(columns: ColumnsData[]): TicketGridColumnOption[] {\r\n var ticketGridColumns:Array = new Array();\r\n columns.forEach((column:ColumnsData)=>{\r\n var filterColumnType:FilterColumnType = this.getOnMFilterType(column.id);\r\n var ticketGridColumn:TicketGridColumnOption = new TicketGridColumnOption(column.name,1,column.id,filterColumnType,'grid-col-' + column.width);\r\n ticketGridColumns.push(ticketGridColumn);\r\n\r\n\r\n });\r\n return ticketGridColumns;\r\n }\r\n getOnMFilterType(id: number): FilterColumnType {\r\n var filterType:FilterColumnType= FilterColumnType.NONE;\r\n switch(id)\r\n {\r\n case TicketColumns.NAME:\r\n case TicketColumns.TICKETFLOW:\r\n case TicketColumns.TITLE:\r\n case TicketColumns.STATUS:\r\n case TicketColumns.ASSIGNEDBY:\r\n case TicketColumns.ASSIGNEDTO:\r\n case TicketColumns.SPACECODE:\r\n case TicketColumns.ASSETCODE:\r\n case TicketColumns.RELATEDTOIR:\r\n case TicketColumns.RELATEDTOER:\r\n case TicketColumns.SPACEGROUP:\r\n case TicketColumns.SPACENAME:\r\n case TicketColumns.ASSETGROUP:\r\n case TicketColumns.ASSETNAME:\r\n case TicketColumns.COMPANY:\r\n case TicketColumns.DEPARTMENT:\r\n case TicketColumns.NOTBEFORE:\r\n case TicketColumns.DELAYFROM:\r\n case TicketColumns.PPFLOW:\r\n \r\n filterType=FilterColumnType.TEXT;\r\n break;\r\n case TicketColumns.OPENDATE:\r\n case TicketColumns.EXPIRYDATE:\r\n \r\n case TicketColumns.LASTMODIFIEDDATE:\r\n filterType=FilterColumnType.DATEPCIKER;\r\n break;\r\n case TicketColumns.PRIORITY:\r\n \r\n filterType=FilterColumnType.DROPDOWN;\r\n break;\r\n }\r\n return filterType;\r\n }\r\n getTransmittalGridColumns(columns: ColumnsData[]): TransmittalColumnOption[] {\r\n var transmittalGridColumns:Array = new Array();\r\n columns.forEach((column:ColumnsData)=>{\r\n var filterColumnType:FilterColumnType = this.getTransmittalFilterType(column.id);\r\n var transmittalGridColumn:TransmittalColumnOption = new TransmittalColumnOption(column.name,1,column.id,filterColumnType,'grid-col-' + column.width);\r\n transmittalGridColumns.push(transmittalGridColumn);\r\n\r\n\r\n });\r\n return transmittalGridColumns;\r\n }\r\n\r\n getSpacesGridColumns(columns: ColumnsData[]): SpacesGridColumnOption[] {\r\n var spaceGridColumnOptions:Array = new Array();\r\n columns.forEach((column:ColumnsData)=>{\r\n var filterColumnType:FilterColumnType = this.getSpacesFilterType(column);\r\n var spaceGridColumnOption:SpacesGridColumnOption = new SpacesGridColumnOption(column.name,1,column.id,filterColumnType,'grid-col-' + column.width);\r\n spaceGridColumnOption.type = column.type;\r\n spaceGridColumnOption.customColumnType=column.customColumnType;\r\n spaceGridColumnOptions.push(spaceGridColumnOption);\r\n\r\n\r\n });\r\n return spaceGridColumnOptions;\r\n }\r\n getSpacesFilterType(column: ColumnsData): FilterColumnType {\r\n var filterType:FilterColumnType = FilterColumnType.NONE;\r\n if(column.type == ColumnType.STANDARD)\r\n {\r\n switch(column.id)\r\n {\r\n case SpaceColumns.LAST_MODIFIED_ON:\r\n filterType= FilterColumnType.DATEPCIKER;\r\n break;\r\n case SpaceColumns.ISCSV:\r\n case SpaceColumns.STATUS:\r\n filterType=FilterColumnType.DROPDOWN;\r\n break;\r\n \r\n case SpaceColumns.CODE:\r\n case SpaceColumns.ORIGIN:\r\n case SpaceColumns.SPACETYPE:\r\n case SpaceColumns.CLASSIFICATION:\r\n case SpaceColumns.SPACE_NAME:\r\n case SpaceColumns.OCCUPANCY:\r\n case SpaceColumns.LEVEL:\r\n case SpaceColumns.AREA:\r\n \r\n case SpaceColumns.ZONE_DESCRIPTION:\r\n case SpaceColumns.UPDATE_CODE:\r\n filterType = FilterColumnType.TEXT;\r\n break;\r\n case SpaceColumns.SITE_NAME:\r\n case SpaceColumns.BUILDING_NAME:\r\n case SpaceColumns.ZONE:\r\n \r\n filterType=FilterColumnType.DROPDOWN;\r\n }\r\n }\r\n else if(column.type == ColumnType.CUSTOM)\r\n {\r\n switch(column.customColumnType)\r\n {\r\n case 1:\r\n \r\n case 3:\r\n case 4:\r\n filterType=FilterColumnType.TEXT;\r\n break;\r\n case 2:\r\n filterType=FilterColumnType.DROPDOWN;\r\n break;\r\n case 5:\r\n filterType=FilterColumnType.DATEPCIKER;\r\n break;\r\n \r\n }\r\n }\r\n\r\n\r\n return filterType;\r\n }\r\n\r\n getAssetsGridColumns(columns: ColumnsData[]): AssetGridColumnOption[] {\r\n var assetGridColumnOptions:Array = new Array();\r\n columns.forEach((column:ColumnsData)=>{\r\n var filterColumnType:FilterColumnType = this.getAssetFilterType(column);\r\n var assetGridColumnOption:AssetGridColumnOption = new AssetGridColumnOption(column.name,1,column.id,filterColumnType,'grid-col-' + column.width);\r\n\r\n assetGridColumnOption.type = column.type;\r\n assetGridColumnOption.customColumnType=column.customColumnType;\r\n assetGridColumnOptions.push(assetGridColumnOption);\r\n\r\n\r\n });\r\n return assetGridColumnOptions;\r\n }\r\n getAssetFilterType(column: ColumnsData): FilterColumnType {\r\n var filterType:FilterColumnType = FilterColumnType.NONE;\r\n if(column.type == ColumnType.STANDARD)\r\n {\r\n switch(column.id)\r\n {\r\n case AssetColumns.SOURCE:\r\n case AssetColumns.STATUS:\r\n case AssetColumns.ASSET_COMPARE_LOCATION:\r\n filterType=FilterColumnType.DROPDOWN;\r\n break;\r\n case AssetColumns.LASTMODIFIED:\r\n filterType=FilterColumnType.DATEPCIKER;\r\n break;\r\n \r\n case AssetColumns.CODE:\r\n case AssetColumns.PARENT:\r\n case AssetColumns.CLASSIFICATION:\r\n case AssetColumns.ASSETNAME:\r\n case AssetColumns.ASSETACCOUNTABLE:\r\n case AssetColumns.ASSETDESCRIPTION:\r\n \r\n case AssetColumns.SPACECODE:\r\n case AssetColumns.SPACETYPE:\r\n case AssetColumns.SPACELEVEL:\r\n case AssetColumns.SPACENAME:\r\n \r\n case AssetColumns.SPACEZONEDESCRIPTION:\r\n case AssetColumns.UPDATECODE:\r\n filterType=FilterColumnType.TEXT;\r\n break;\r\n case AssetColumns.SITENAME:\r\n case AssetColumns.BUILDINGNAME:\r\n case AssetColumns.SPACEZONE:\r\n case AssetColumns.DISCIPLINE:\r\n filterType= FilterColumnType.DROPDOWN;\r\n break;\r\n default:\r\n filterType=FilterColumnType.NONE;\r\n break;\r\n\r\n }\r\n }\r\n else if(column.type == ColumnType.CUSTOM)\r\n {\r\n switch(column.customColumnType)\r\n {\r\n case 1:\r\n \r\n case 3:\r\n case 4:\r\n filterType=FilterColumnType.TEXT;\r\n break;\r\n case 2:\r\n filterType=FilterColumnType.DROPDOWN;\r\n break;\r\n case 5:\r\n filterType=FilterColumnType.DATEPCIKER;\r\n break;\r\n \r\n }\r\n }\r\n\r\n\r\n return filterType;\r\n }\r\n \r\n getTransmittalFilterType(id: number): FilterColumnType {\r\n var filterType:FilterColumnType = FilterColumnType.NONE;\r\n switch(id)\r\n {\r\n case TransmittalColumns.STATUS:\r\n case TransmittalColumns.HASATTACHMENT:\r\n case TransmittalColumns.SENDFOR:\r\n filterType = FilterColumnType.DROPDOWN;\r\n break;\r\n case TransmittalColumns.SENTDATE:\r\n filterType=FilterColumnType.DATEPCIKER;\r\n break;\r\n default:\r\n filterType= FilterColumnType.TEXT;\r\n }\r\n\r\n\r\n return filterType;\r\n }\r\n getTicketFilterType(id: number): FilterColumnType {\r\n var filterType:FilterColumnType = FilterColumnType.NONE;\r\n switch(id)\r\n {\r\n case TicketColumns.NAME:\r\n filterType= FilterColumnType.TEXT;\r\n break;\r\n case TicketColumns.TAG:\r\n filterType= FilterColumnType.TEXT;\r\n break;\r\n case TicketColumns.TICKETFLOW:\r\n filterType= FilterColumnType.TEXT;\r\n break;\r\n case TicketColumns.TITLE:\r\n filterType= FilterColumnType.TEXT;\r\n break;\r\n case TicketColumns.EXPIRYDATE:\r\n filterType= FilterColumnType.DATEPCIKER;\r\n break;\r\n case TicketColumns.STATUS:\r\n filterType= FilterColumnType.TEXT;\r\n break;\r\n case TicketColumns.ASSIGNEDBY:\r\n filterType= FilterColumnType.TEXT;\r\n break;\r\n case TicketColumns.ASSIGNEDTO:\r\n filterType= FilterColumnType.TEXT;\r\n break;\r\n case TicketColumns.NOTIFYTO:\r\n filterType= FilterColumnType.TEXT;\r\n break;\r\n case TicketColumns.SPACECODE:\r\n filterType= FilterColumnType.TEXT;\r\n break;\r\n case TicketColumns.ASSETCODE:\r\n filterType= FilterColumnType.TEXT;\r\n break;\r\n\r\n case TicketColumns.DOCUMENTNAME:\r\n filterType= FilterColumnType.TEXT;\r\n break;\r\n case TicketColumns.LASTMODIFIEDDATE:\r\n filterType= FilterColumnType.DATEPCIKER;\r\n break;\r\n\r\n }\r\n\r\n return filterType;\r\n }\r\n getDocumentFilterType(column:ColumnsData): FilterColumnType {\r\n var filterType:FilterColumnType = FilterColumnType.NONE;\r\n if(column.type == ColumnType.STANDARD)\r\n {\r\n switch(column.id)\r\n {\r\n case DocumentColumns.NAME:\r\n filterType= FilterColumnType.TEXT;\r\n break;\r\n case DocumentColumns.DESCRIPTION:\r\n filterType= FilterColumnType.TEXT;\r\n break;\r\n case DocumentColumns.DOCUMENT_TAG:\r\n filterType= FilterColumnType.DROPDOWN;\r\n break;\r\n case DocumentColumns.STATUS:\r\n filterType= FilterColumnType.DROPDOWN;\r\n break;\r\n case DocumentColumns.COUNT_DOWN:\r\n filterType= FilterColumnType.TEXT;\r\n break;\r\n case DocumentColumns.WUG:\r\n filterType= FilterColumnType.DROPDOWN;\r\n break;\r\n case DocumentColumns.IDUPLOAD:\r\n filterType= FilterColumnType.TEXT;\r\n break;\r\n case DocumentColumns.TRANSMITTALS:\r\n filterType= FilterColumnType.TEXT;\r\n break;\r\n case DocumentColumns.VERSION:\r\n filterType= FilterColumnType.TEXT;\r\n break;\r\n case DocumentColumns.TICKETS:\r\n filterType= FilterColumnType.NONE;\r\n break;\r\n case DocumentColumns.LAST_MODIFIED:\r\n filterType= FilterColumnType.DATEPCIKER;\r\n break;\r\n\r\n }\r\n }\r\n else if(column.type == ColumnType.CUSTOM)\r\n {\r\n switch(column.customColumnType)\r\n {\r\n case 1:\r\n \r\n case 2:\r\n \r\n filterType=FilterColumnType.TEXT;\r\n break;\r\n case 3:\r\n filterType=FilterColumnType.DROPDOWN;\r\n break;\r\n case 5:\r\n filterType=FilterColumnType.DATEPCIKER;\r\n break;\r\n \r\n }\r\n }\r\n return filterType;\r\n }\r\n \r\n \r\n\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { environment } from 'src/environments/environment';\r\nimport { BlobFile } from 'src/shared/Models/Internal/BlobFileModel';\r\nimport { FileUtil } from 'src/shared/utilities/FileUtil';\r\nimport { AzureBlobService } from './azure-blob.service';\r\nimport { BaseStorageService } from './base-storage.service';\r\nimport { FileSystemStorageService } from './file-system-storage.service';\r\nimport { StorageService } from './storage.service';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class FileStorageService {\r\n\r\n private fileStorage : BaseStorageService;\r\n\r\n constructor(\r\n private fileSystemStorageService: FileSystemStorageService,\r\n private blobStorageService:AzureBlobService) {\r\n var hostingType = environment.hostingtype ;\r\n \r\n if(hostingType.toLocaleLowerCase() == \"onpremise\")\r\n this.fileStorage = this.fileSystemStorageService;\r\n else \r\n this.fileStorage = this.blobStorageService \r\n }\r\n\r\n \r\n public uploadFileInBlocks(fileToUpload: BlobFile, onUploadComplete: (uploadedFile: BlobFile) => void, onError: Function, showStatus: boolean = false): void {\r\n this.fileStorage.chunkFiles(fileToUpload); \r\n this.fileStorage.uploadFiles(fileToUpload, onUploadComplete,onerror, showStatus);\r\n }\r\n\r\n public deleteFile(fileName:string):Observable{\r\n return this.fileStorage.deleteFile(fileName);\r\n }\r\n \r\n public getSasToken():Observable{\r\n return this.fileStorage.getSasToken();\r\n }\r\n\r\n public CancelUpload(blob: BlobFile, onDeleteComplete: (uploadedFile: BlobFile) => void, onError: Function) {\r\n this.fileStorage.CancelUpload(blob,onDeleteComplete,onError)\r\n }\r\n \r\n}\r\n","import { HttpClient } from \"@angular/common/http\";\r\nimport { Injectable } from \"@angular/core\";\r\nimport { Observable, of } from \"rxjs\";\r\nimport { environment } from \"src/environments/environment\";\r\nimport { BlobFile } from \"src/shared/Models/Internal/BlobFileModel\";\r\nimport { BaseStorageService } from \"./base-storage.service\";\r\n\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class FileSystemStorageService implements BaseStorageService {\r\n private apiURL: string = null;\r\n private appURL: string = '/Document'\r\n\r\n constructor(private httpClient: HttpClient) {\r\n this.apiURL = environment.WebAPIURL; \r\n}\r\n\r\n public chunkFiles(fileToUpload: BlobFile){\r\n for (var idx: number = 0; idx < fileToUpload.getNumOfBlocks(); idx++) {\r\n if (!fileToUpload.isDeleted) {\r\n var fileContent: Blob = null;\r\n if ((idx + 1) * fileToUpload.getMaxBlockSize() < fileToUpload.getSize())\r\n fileContent = fileToUpload.getFile().slice(idx * fileToUpload.getMaxBlockSize(), (idx + 1) * fileToUpload.getMaxBlockSize());\r\n else\r\n fileContent = fileToUpload.getFile().slice(idx * fileToUpload.getMaxBlockSize(), fileToUpload.getSize());\r\n\r\n var FilePartName = fileToUpload.getGUID() + \".chunk_\" + idx + \".\" + fileToUpload.getNumOfBlocks(); \r\n fileToUpload.addBlockId(FilePartName);\r\n fileToUpload.addFileContent(fileContent);\r\n }\r\n }\r\n}\r\n\r\n public uploadFiles(fileToUpload: BlobFile, onUploadComplete: (uploadedFile: BlobFile) => void, onError: Function): void {\r\n //post api will call to upload file in file system\r\n fileToUpload.setUploadFailed(true);\r\n var itemToUploadIndex = fileToUpload.getNextItemToUpload();//default to 0, \r\n if (!fileToUpload.isDeleted) {\r\n fileToUpload.setNextItemToUpload(itemToUploadIndex +1); \r\n this.uploadChunkFile(fileToUpload, fileToUpload.getBlockIds()[itemToUploadIndex], fileToUpload.getFileContent()[itemToUploadIndex], onUploadComplete, onError);\r\n }\r\n } \r\n\r\n public deleteFile(fileName: string):Observable {\r\n return this.httpClient.get(this.apiURL +this.appURL + '/DeleteFile/'+fileName);\r\n }\r\n\r\n public getSasToken(): Observable {\r\n var token :Object = new Object();\r\n token ={\r\n \"baseURL\": \"dummyURL\",\r\n \"blobSASToken\":\"dummytoken\"\r\n }\r\n return of(token);\r\n }\r\n\r\n public CancelUpload(blob: BlobFile, onDeleteComplete: (uploadedFile: BlobFile) => void, onError: Function) {\r\n var url =this.apiURL +this.appURL + '/DeleteFile/'+blob.getGUID();\r\n this.httpClient.delete(url).subscribe((response)=>{\r\n blob.isDeleted = true;\r\n blob.isInQueue = false;\r\n blob.setUploadedBytes(-1);\r\n onDeleteComplete(blob);\r\n },error=>{\r\n blob.isDeleted = false;\r\n blob.setUploadFailed(true);\r\n blob.setGUID('');\r\n blob.setUploadedBytes(0);\r\n onError(blob);\r\n });\r\n }\r\n\r\n public uploadChunkFile(fileToUpload: BlobFile, blockId: string, fileContent: Blob, onUploadComplete: (uploadedFile: BlobFile) => void, onError: Function){\r\n if (!fileToUpload.isDeleted) {\r\n var formData = new FormData();\r\n formData.append('file', fileContent, blockId);\r\n var url =this.apiURL+this.appURL +\"/UploadFiles\";\r\n this.httpClient.post(url, formData).subscribe((response:any)=>{\r\n fileToUpload.setUploadedBytes(fileToUpload.getUploadedBytes() + fileContent.size);\r\n fileToUpload.addUploadedBlockId(blockId);\r\n if (!fileToUpload.isDeleted) {\r\n if (fileToUpload.getBlockIds()[fileToUpload.getNextItemToUpload()]) {\r\n this.uploadChunkFile(fileToUpload, fileToUpload.getBlockIds()[fileToUpload.getNextItemToUpload()], fileToUpload.getFileContent()[fileToUpload.getNextItemToUpload()], onUploadComplete, onError);\r\n fileToUpload.setNextItemToUpload(fileToUpload.getNextItemToUpload() + 1);\r\n }\r\n else if (fileToUpload.getUploadedBlockIds().length === fileToUpload.getBlockIds().length) {\r\n this.mergeFile(fileToUpload,onUploadComplete,onError);\r\n }\r\n }\r\n },err=>{\r\n onerror;\r\n });\r\n }\r\n }\r\n\r\n public mergeFile(fileToUpload:BlobFile,onUploadComplete: (uploadedFile: BlobFile) => void, onError: Function){\r\n var filename:string = fileToUpload.getGUID()+'.count_'+fileToUpload.getNumOfBlocks(); \r\n var url =this.apiURL+this.appURL +\"/mergefiles/\"+filename \r\n this.httpClient.put(url,'').subscribe((response:any)=>{\r\n onUploadComplete(fileToUpload);\r\n },error=>{\r\n onError;\r\n });\r\n }\r\n }\r\n\r\n","import { Injectable } from '@angular/core';\r\nimport { BehaviorSubject, Observable } from 'rxjs';\r\nimport { AssetsFilterModel, BIMFilterModel, DocumentsFilterModel, IFCFilterModel, ScopeFilterModel, SpaceFilterModel } from 'src/shared/Models/API/filtermodel';\r\nimport { Filter } from 'src/shared/Models/Internal/filter';\r\nimport { Document } from 'src/shared/Models/API/document';\r\nimport { IFCObjectViewType } from 'src/shared/Models/API/IFCFloorsModel';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class FilterService {\r\n private filter = new BehaviorSubject(null);\r\n private searchViewSubject = new BehaviorSubject(null);\r\n private spacefilter = new BehaviorSubject(null);\r\n private scopeFilter = new BehaviorSubject(null);\r\n private ifcViewerView = new BehaviorSubject(null);\r\n private ifcDocuments = new BehaviorSubject>(null);\r\n private ifcSearch = new BehaviorSubject(null);\r\n private floorReset = new BehaviorSubject(null);\r\n private ifcViewType = new BehaviorSubject(null);\r\n private bimClose = new BehaviorSubject(null);\r\n private ifcback=new BehaviorSubject(null);\r\n private clearfloorReset = new BehaviorSubject(null);\r\n private enableFilter = new BehaviorSubject(null);\r\n private clearDocFilter = new BehaviorSubject(null);\r\n constructor() { }\r\n\r\n emitFolderSelection(event: Filter) {\r\n this.filter.next(event);\r\n }\r\n\r\n filterObservable(): Observable {\r\n return this.filter.asObservable();\r\n }\r\n\r\n emitSearchView(searchView: boolean) {\r\n this.searchViewSubject.next(searchView);\r\n }\r\n\r\n searchViewObservable(): Observable {\r\n return this.searchViewSubject.asObservable();\r\n }\r\n emitFCView(bView: boolean) {\r\n this.ifcViewerView.next(bView);\r\n }\r\n\r\n emitBIMClose() {\r\n this.bimClose.next();\r\n }\r\n BIMCloseObservable(): Observable {\r\n return this.bimClose.asObservable();\r\n }\r\n\r\n emitIFCBack() {\r\n this.ifcback.next();\r\n }\r\n IFCBackObservable(): Observable {\r\n return this.ifcback.asObservable();\r\n }\r\n\r\n DocumentsObservable(): Observable> {\r\n return this.ifcDocuments.asObservable();\r\n }\r\n emitDocuments(documents: Array) {\r\n this.ifcDocuments.next(documents);\r\n }\r\n modelFilterObservable(): Observable {\r\n return this.ifcSearch.asObservable();\r\n }\r\n emitModelFilter(filter: IFCFilterModel) {\r\n this.ifcSearch.next(filter);\r\n }\r\n\r\n emitPresetFilter(filter: BIMFilterModel) {\r\n \r\n this.floorReset.next(filter);\r\n }\r\n presetFilterObservable(): Observable {\r\n return this.floorReset.asObservable();\r\n \r\n }\r\n emitIFCViewType(viewType: IFCObjectViewType) {\r\n \r\n this.ifcViewType.next(viewType);\r\n }\r\n IFCViewTypeObservable(): Observable {\r\n return this.ifcViewType.asObservable();\r\n \r\n }\r\n emitClearPresetFilter(bimFilterModel:BIMFilterModel) {\r\n \r\n this.clearfloorReset.next(bimFilterModel);\r\n }\r\n ClearpresetFilterObservable():Observable {\r\n return this.clearfloorReset.asObservable();\r\n \r\n }\r\n \r\n EnableFilter(bEnable:boolean){\r\n this.enableFilter.next(bEnable);\r\n }\r\n EnableFilterObservable(): Observable {\r\n return this.enableFilter.asObservable();\r\n }\r\n\r\n IFCViewObservable(): Observable {\r\n return this.ifcViewerView.asObservable();\r\n }\r\n emitSpaceAssetFilterView(event: SpaceFilterModel|AssetsFilterModel) {\r\n this.spacefilter.next(event);\r\n }\r\n emitDocFilterView(event:ScopeFilterModel)\r\n {\r\n this.scopeFilter.next(event);\r\n }\r\n SpaceAssetfilterViewObservable(): Observable {\r\n return this.spacefilter.asObservable();\r\n }\r\n DocFilterViewObservable(): Observable {\r\n return this.scopeFilter.asObservable();\r\n }\r\n clearSpaceAssetFilterSubscribers()\r\n {\r\n this.spacefilter.next(null);\r\n }\r\n emitClearDocFilter()\r\n {\r\n this.clearDocFilter.next(null);\r\n }\r\n ClearDocFilterObservable():Observable\r\n {\r\n return this.clearDocFilter.asObservable();\r\n }\r\n}\r\n","import { HttpClient,HttpParams } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { BehaviorSubject, Observable } from 'rxjs';\r\nimport { environment } from 'src/environments/environment';\r\nimport { BulkOperationsStatus } from 'src/shared/Models/API/bulk-operations-status.enum';\r\nimport { Document, DocumentsNotesModel } from 'src/shared/Models/API/document';\r\nimport { DocumentNote } from 'src/shared/Models/API/documentnote';\r\nimport { DocumentWorkflowStatusesModel } from 'src/shared/Models/API/documentStatus';\r\nimport { Folder } from 'src/shared/Models/API/folder';\r\nimport { StatusChange } from 'src/shared/Models/StatusChange';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class FolderService {\r\n private apiURL: string = null;\r\n private appURL: string = '/folders';\r\n private folderSelection = new BehaviorSubject(null);\r\n private refreshFolder = new BehaviorSubject(null);\r\n private refreshExplorer= new BehaviorSubject(null);\r\n\r\n private refreshFolderPermission = new BehaviorSubject(null);\r\n private onFolderDoubleClick = new BehaviorSubject(null);\r\n private documentfolderSelection = new BehaviorSubject(null);\r\n private refreshFolderTree = new BehaviorSubject(null);\r\n constructor(private httpClient: HttpClient) {\r\n this.apiURL = environment.WebAPIURL;\r\n }\r\n emitFolderSelection(event: Folder) {\r\n this.folderSelection.next(event);\r\n }\r\n\r\n folderSelectionObservable(): Observable {\r\n return this.folderSelection.asObservable();\r\n }\r\n\r\n emitRefreshFolder(event: Folder) {\r\n this.refreshFolder.next(event);\r\n }\r\n\r\n refreshFolderObservable(): Observable {\r\n return this.refreshFolder.asObservable();\r\n }\r\n\r\n getFoldertree(scopeType: number, scopeId: number,getall:boolean=true): Observable> {\r\n let params = new HttpParams().set('bgetAll',getall.toString());\r\n var url = this.apiURL + this.appURL + '/' + scopeType.toString() + '/' + scopeId.toString() + '/foldertree';\r\n\r\n return this.httpClient.get>(url,{ params: params });\r\n }\r\n\r\n updateFolderDetails(folder: Folder): Observable {\r\n var url = this.apiURL + this.appURL + '/' + folder.id;\r\n var body = {\r\n \"id\": folder.id,\r\n \"name\": folder.name,\r\n \"description\": folder.description,\r\n \"workflowId\": folder.workflowId,\r\n \"statusListId\": folder.statusListId,\r\n \"folderType\":folder.folderType\r\n }\r\n return this.httpClient.put(url, body);\r\n }\r\n\r\n patchWorkflowStatusListId(folder: Folder): Observable {\r\n var url = this.apiURL + this.appURL + '/' + folder.id + '/Workflow';\r\n var body = {\r\n \"id\": folder.workflowId\r\n }\r\n return this.httpClient.patch(url, body);\r\n }\r\n\r\n emitrefreshExplorer(value: number) {\r\n if(value)\r\n {\r\n this.refreshExplorer.next(value);\r\n }\r\n }\r\n\r\n refreshExplorerObservable(): Observable {\r\n return this.refreshExplorer.asObservable();\r\n }\r\n\r\n emitrefreshFolderPermission(event: Folder) {\r\n this.refreshFolderPermission.next(event);\r\n }\r\n\r\n refreshFolderPermissionObservable(): Observable {\r\n return this.refreshFolderPermission.asObservable();\r\n }\r\n\r\n emitOnFolderDoubleClick(event: Folder) {\r\n this.onFolderDoubleClick.next(event);\r\n }\r\n\r\n onFolderDoubleClickObservable(): Observable {\r\n return this.onFolderDoubleClick.asObservable();\r\n }\r\n UpdateFolder(folder: Folder) {\r\n return this.httpClient.put(this.apiURL + this.appURL + '/' + folder.id, folder);\r\n }\r\n\r\n Deletebulkdocuments(folder: Folder, documents:Array): Observable> {\r\n return this.httpClient.put>(this.apiURL + this.appURL + '/' + folder.id+'/isActive', documents);\r\n }\r\n\r\n emitdocumentFolderSelection(event: Number) {\r\n this.documentfolderSelection.next(event);\r\n }\r\n\r\n documentFolderSelectionObservable(): Observable {\r\n return this.documentfolderSelection.asObservable();\r\n }\r\n\r\n emitRefreshFolderTree(event: Folder) {\r\n this.refreshFolderTree.next(event);\r\n }\r\n\r\n refreshFolderTreeObservable(): Observable {\r\n return this.refreshFolderTree.asObservable();\r\n }\r\n\r\n changedocumentsStatus(folderid:number,documents: Array, status: StatusChange, userId: number,projectid:number):Observable> {\r\n return this.httpClient.put>(this.apiURL + this.appURL + '/' + folderid + '/ChangeStatus/'+status.StatusCode+'/'+ '?userid=' + userId + \"&projectid=\" + projectid.toString(),documents);\r\n }\r\n GetDocumentStatuses(folderid:number,documents:Array):Observable{\r\n var iDocumentIds:Array = new Array();\r\n documents.forEach((document:Document)=>{\r\n iDocumentIds.push(document.id);\r\n });\r\n var documentsJson:string = JSON.stringify(iDocumentIds);\r\n var params:HttpParams = new HttpParams();\r\n params.append(\"seldocuments\",documentsJson);\r\n return this.httpClient.get(this.apiURL + this.appURL + '/' + folderid + '/Statuses?seldocuments=' + documentsJson,{params:params});\r\n }\r\n\r\n UpdateDocumentStatusNotes(folderid:number,documentsNotesModel:DocumentsNotesModel):Observable>\r\n {\r\n return this.httpClient.post>(this.apiURL + this.appURL + '/' + folderid + '/Notes',documentsNotesModel);\r\n }\r\n\r\n}\r\n","import { Injectable, Injector } from \"@angular/core\";\r\nimport { HttpClient } from \"@angular/common/http\";\r\nimport { forkJoin, Observable } from 'rxjs';\r\nimport { environment } from '../../environments/environment';\r\nimport { Country } from \"src/shared/Models/country\";\r\nimport { Continent } from \"src/shared/Models/continent\";\r\nimport { SystemTiming } from \"src/shared/Models/Timing\";\r\nimport { SystemTicketTag } from \"src/shared/Models/SystemTicketTag\";\r\nimport { SpaceAssetAdditionalInformations, TimezoneModel } from \"src/shared/Models/API/Project\";\r\nimport { OrganizationService } from \"./organization.service\";\r\nimport { DocumentCategory } from \"src/shared/Models/API/documentCategory\";\r\nimport { SystemValueModel } from \"src/shared/Models/transmittals/tranmittals.model\";\r\nimport { BaseService } from \"./base-service\";\r\n@Injectable({ providedIn: \"root\", })\r\n\r\nexport class GlobalService extends BaseService {\r\n \r\n private appURL: string = '/Global'\r\n\r\n constructor(private injector:Injector,private organizationService:OrganizationService) {\r\n super(injector);\r\n this.apiURL = environment.WebAPIURL;\r\n }\r\n\r\n getCountries(): Observable> {\r\n return this.httpClient.get>(this.apiURL + this.appURL + '/Countries');\r\n }\r\n getTimezones(): Observable> {\r\n return this.httpClient.get>(this.apiURL + this.appURL + '/Timezones');\r\n }\r\n getContinents(): Observable> {\r\n return this.httpClient.get>(this.apiURL + this.appURL + '/Continents');\r\n }\r\n getSystemTicketTags():Observable>{\r\n return this.httpClient.get>(this.apiURL + this.appURL + '/SystemTicketTags');\r\n }\r\n getDocumentTicketTags():Observable>{\r\n return this.httpClient.get>(this.apiURL + this.appURL + '/SystemDocumentTags');\r\n }\r\n getSystemTimings():Observable>{\r\n return this.httpClient.get>(this.apiURL + this.appURL + '/SystemTimings');\r\n }\r\n getSystemValues():Observable>{\r\n return this.httpClient.get>(this.apiURL + this.appURL + '/SystemValues');\r\n }\r\n getConnectionStatus():Observable{\r\n return this.httpClient.get(this.apiURL + this.appURL + '/ping')\r\n }\r\n\r\n getSpaceAssetAddlInformations(organizationId:number,projectid:number):Observable {\r\n return forkJoin(\r\n // as of RxJS 6.5+ we can use a dictionary of sources\r\n {\r\n \r\n spaceAddlInformations: this.organizationService.getSpaceAdditionalInformations(organizationId,projectid),\r\n assetAddlInformations: this.organizationService.getAssetAdditionalInformations(organizationId,projectid)\r\n \r\n }\r\n );\r\n\r\n }\r\n downloadPrintJobs(jobid:number,_token:string)\r\n {\r\n if(this.apiURL.startsWith(\"#WEBAPIURL#\"))\r\n this.apiURL = this.apiURL.replace(\"#WEBAPIURL#\",environment.SERVERURL) + \":\" + environment.APIPORT + \"/api\"\r\n var url:string = this.apiURL + this.appURL + '/print/' + jobid + '/download';\r\n super.downloadPrintJob(url,_token);\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpClient, HttpParams } from '@angular/common/http';\r\nimport { environment } from 'src/environments/environment';\r\nimport { Observable } from 'rxjs';\r\nimport { IFCFloorsModel } from 'src/shared/Models/API/IFCFloorsModel';\r\nimport { IFCCategoryModel } from 'src/shared/Models/API/IFCCategoryModel';\r\nimport { IFCElementProperty } from 'src/shared/Models/API/IFCElementProperty';\r\nimport { IFCElementHierarchyModel, IFCElementModel } from 'src/shared/Models/API/IFCElementModel';\r\nimport { IFCElement } from 'src/shared/Models/Internal/IFCElement';\r\nimport { BIMFilterModel, IFCFilterModel } from 'src/shared/Models/API/filtermodel';\r\nimport { Document } from 'src/shared/Models/API/document';\r\nimport { IFCSearchModel } from 'src/shared/Models/Internal/IFCSearchModel';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class IFCService {\r\n private apiURL: string = null;\r\n private appURL: string = '/Document/IFC'\r\n\r\n constructor(private http: HttpClient) {\r\n this.apiURL = environment.WebAPIURL;\r\n }\r\n\r\n public getCategories(documents: string): Observable> {\r\n return this.http.get>(this.apiURL + this.appURL + '/Categories' + '?_d=' + documents);\r\n }\r\n\r\n public getFloors(documents: string,filterModel:BIMFilterModel): Observable> {\r\n\r\n let params = new HttpParams();\r\n Object.keys(filterModel).forEach(function (key) {\r\n if (filterModel[key] && filterModel[key] != null && filterModel[key] != undefined)\r\n {\r\n params = params.append(key, filterModel[key]);\r\n }\r\n });\r\n params=params.append(\"_d\",documents);\r\n return this.http.get>(this.apiURL + this.appURL + '/Floors',{params:params});\r\n }\r\n\r\n public getElementChildren(documentid:number,versionid:number,elementids:Array,filterModel:BIMFilterModel):Observable>\r\n {\r\n var ifcElementIds:string ='';\r\n elementids.forEach((elementid)=>{\r\n ifcElementIds += elementid.toString() +\"|\";\r\n\r\n });\r\n let params = new HttpParams();\r\n Object.keys(filterModel).forEach(function (key) {\r\n if (filterModel[key] && filterModel[key] != null && filterModel[key] != undefined)\r\n {\r\n params = params.append(key, filterModel[key]);\r\n }\r\n });\r\n params=params.append(\"_eids\",ifcElementIds);\r\n return this.http.get>(this.apiURL + this.appURL + \"/\" + documentid + \"/\" + versionid + \"/Elements/Children\" ,{params:params});\r\n }\r\n public getIFCInitialHiddenElements(documents:Array,filterModel:BIMFilterModel):Observable>\r\n {\r\n var documentStr:string='';\r\n documents.forEach((doc)=>{\r\n documentStr += doc.id.toString();\r\n documentStr+=\",\";\r\n documentStr+= doc.version.toString();\r\n documentStr += \"|\";\r\n })\r\n let params = new HttpParams();\r\n Object.keys(filterModel).forEach(function (key) {\r\n if (filterModel[key] && filterModel[key] != null && filterModel[key] != undefined)\r\n {\r\n params = params.append(key, filterModel[key]);\r\n }\r\n });\r\n params=params.append(\"_d\",documentStr);\r\n \r\n return this.http.get>(this.apiURL + this.appURL + '/InitialHiddenElements' ,{params:params});\r\n }\r\n \r\n\r\n public filterElements(ifcElement:IFCElementModel,documentid:number,versionid:number,filterModel:BIMFilterModel):Observable>\r\n {\r\n let params = new HttpParams();\r\n Object.keys(filterModel).forEach(function (key) {\r\n if (filterModel[key] && filterModel[key] != null && filterModel[key] != undefined)\r\n {\r\n params = params.append(key, filterModel[key]);\r\n }\r\n });\r\n \r\n params=params.append(\"_cid\",ifcElement.categoryId);\r\n params=params.append(\"_eid\",ifcElement.ifcElementId);\r\n params=params.append(\"_etid\",ifcElement.elementTypeId);\r\n\r\n return this.http.get>(this.apiURL + this.appURL + '/' + documentid + '/' + versionid +'/Elements/Filter',{params:params});\r\n }\r\n\r\n public searchCBOXElements(documents:Array,ifcFilter:IFCFilterModel):Observable>\r\n {\r\n var documentStr:String='';\r\n documents.forEach((doc)=>{\r\n documentStr += doc.id.toString();\r\n documentStr+=\",\";\r\n documentStr+= doc.version.toString();\r\n documentStr += \"|\";\r\n })\r\n\r\n var filterString= JSON.stringify(ifcFilter);\r\n var params: string = \"?_d=\" + documentStr + \"&filterParams=\" + filterString;\r\n\r\n return this.http.get>(this.apiURL + this.appURL + '/Filter' + params);\r\n\r\n }\r\n\r\n public getElementProperty(projectid:number,documents: string, elementIds: Array): Observable> {\r\n var strId:string ='';\r\n elementIds.forEach((x)=>{\r\n strId += x;\r\n strId += \"|\";\r\n })\r\n\r\n var params: string = \"?ifcElementIds=\" + strId + \"&_d=\" + documents;\r\n return this.http.get>(this.apiURL + this.appURL + '/' + projectid + '/Properties' + params);\r\n }\r\n public getInitialNodes(documents:string): Observable>\r\n {\r\n var params: string = \"?_d=\" + documents;\r\n return this.http.get>(this.apiURL + this.appURL + '/IFCHierarchy/InitialNodes' + params);\r\n }\r\n public getChildNodes(ifcElement:IFCElementModel,documentid:number,versionid:number,filterModel:BIMFilterModel):Observable>{\r\n //var params: string = \"?elementId=\" + ifcElement.ifcElementId + \"&categoryId=\" + ifcElement.categoryId + \"&elementTypeId=\"+ ifcElement.elementTypeId;\r\n\r\n let params = new HttpParams();\r\n Object.keys(filterModel).forEach(function (key) {\r\n if (filterModel[key] && filterModel[key] != null && filterModel[key] != undefined)\r\n {\r\n params = params.append(key, filterModel[key]);\r\n }\r\n });\r\n params=params.append(\"_did\",documentid);\r\n params=params.append(\"_vid\",versionid);\r\n params=params.append(\"_cid\",ifcElement.categoryId);\r\n params=params.append(\"_eid\",ifcElement.ifcElementId);\r\n params=params.append(\"_etid\",ifcElement.elementTypeId);\r\n\r\n return this.http.get>(this.apiURL + this.appURL + '/' + documentid + '/' + versionid +'/ChildElements',{params:params});\r\n\r\n }\r\n\r\n public searchElements(documents: string, key: string): Observable> {\r\n var params: string = \"?key=\" + key + \"&_d=\" + documents;\r\n return this.http.get>(this.apiURL + this.appURL + '/Search' + params);\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Asset, AssetHistory } from 'src/shared/Models/Asset';\r\nimport { Space, SpaceHistory } from 'src/shared/Models/space';\r\nimport { JSStoreDBService } from './jsstoredbservice.service';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class AssetJSStoreService {\r\n\r\n constructor(private jSStoreDBService :JSStoreDBService) { }\r\n\r\n public AddAssets(_assets:Array):void{\r\n for(let i=0; i<_assets.length; i++){\r\n var asset : object ={\r\n Id:_assets[i].id,\r\n ProjectId:_assets[i].projectId,\r\n Name:_assets[i].assetHistories[0].assetName,\r\n Code:_assets[i].code.toLowerCase(),\r\n SpaceId:_assets[i].assetHistories[0].space.id,\r\n SpaceName:_assets[i].assetHistories[0].space.history[0].spaceName,\r\n SpaceCode:_assets[i].assetHistories[0].space.code\r\n }\r\n this.jSStoreDBService._connection.insert({\r\n into: 'Asset',\r\n upsert:true,\r\n values: [asset],\r\n return:true\r\n });\r\n }\r\n }\r\nasync ClearAssetsTable()\r\n{\r\n this.jSStoreDBService._connection.clear('Asset');\r\n}\r\nasync getAssetDetails(projectId:number,code:string):Promise {​\r\n var _assets: Array = await this.jSStoreDBService._connection.select({​\r\n from: 'Asset',\r\n where: {\r\n ProjectId: projectId,\r\n Code: code,\r\n }\r\n }​);\r\n var asset:Asset= new Asset();\r\n asset.assetHistories= new Array();\r\n if(_assets!=null && _assets.length>0)\r\n {​\r\n //asset details\r\n asset.id=_assets[0]['Id'];\r\n asset.code=_assets[0]['Code'];\r\n var assethistory:AssetHistory=new AssetHistory();\r\n assethistory.assetName=_assets[0]['Name'];\r\n\r\n //space details of a asset\r\n assethistory.space= new Space();\r\n assethistory.space.id=_assets[0]['SpaceId'];\r\n assethistory.space.code=_assets[0]['SpaceCode'];\r\n assethistory.space.history= new Array();\r\n var sphistory= new SpaceHistory();\r\n sphistory.spaceName=_assets[0]['SpaceName']\r\n assethistory.space.history.push(sphistory);\r\n asset.assetHistories.push(assethistory);\r\n\r\n }​\r\n return asset;\r\n}​\r\n\r\n}\r\n","\r\nimport { Injectable } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { CheckList } from 'src/shared/Models/API/checklist';\r\nimport { CheckListChecks } from 'src/shared/Models/API/checklist-check';\r\nimport { ChecklistTag } from 'src/shared/Models/API/checkListTag';\r\nimport { CheckListTagModel } from 'src/shared/Models/API/checkListTagModel';\r\nimport { Project } from 'src/shared/Models/API/Project';\r\nimport { UserChecklist } from 'src/shared/Models/API/user-checklist';\r\nimport { ChecklistAttributes } from 'src/shared/Models/checklist-attributes.enum';\r\nimport { BlobFile } from 'src/shared/Models/Internal/BlobFileModel';\r\nimport { User } from 'src/shared/Models/user';\r\nimport { CheckTypes } from 'src/shared/utilities/Constants';\r\nimport { DateUtil } from 'src/shared/utilities/dateUtil';\r\nimport { JSStoreDBService } from './jsstoredbservice.service';\r\nimport {saveAs} from \"file-saver\";\r\nimport { BlobUtil } from 'src/shared/utilities/BlobUtil';\r\n\r\nimport { FileStorageService } from '../../file-storage.service';\r\nvar util:BlobUtil= new BlobUtil();\r\nvar dateUtil:DateUtil = new DateUtil();\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ChecklistJsstoreService {\r\n private dateUtil:DateUtil = new DateUtil();\r\n private util:BlobUtil= new BlobUtil();\r\n constructor(private jSStoreDBService: JSStoreDBService,\r\n private fileStorageService :FileStorageService\r\n ) { }\r\n\r\n async getChecklistTags(projectId: number, userId: number): Promise> {\r\n var _tags: Array = await this.jSStoreDBService._connection.select({\r\n from: 'ChecklistTags',\r\n where: {\r\n ProjectId: projectId,\r\n UserId: userId\r\n }\r\n });\r\n\r\n var tags: Array = new Array();\r\n if (_tags != null && _tags.length > 0) {\r\n var tag: CheckListTagModel;\r\n _tags.forEach((ctag: object) => {\r\n tag = new CheckListTagModel();\r\n tag.id = ctag['TagId'];\r\n tag.name = ctag['Name'];\r\n tag.description = ctag['Description'];\r\n tags.push(tag);\r\n });\r\n }\r\n return tags;\r\n }\r\n\r\n async getChecklistTemplates(tagId: number): Promise> {\r\n var _checklists: Array = await this.jSStoreDBService._connection.select({\r\n from: 'Checklists',\r\n where: {\r\n TagId: tagId,\r\n }\r\n });\r\n var checklists: Array = new Array();\r\n if (_checklists != null && _checklists.length > 0) {\r\n var template: CheckList;\r\n _checklists.forEach((ctemplate: object) => {\r\n template = new CheckList();\r\n template.id = ctemplate['Id'];\r\n template.name = ctemplate['Name'];\r\n template.description = ctemplate['Description'];\r\n template.namingRule.id=ctemplate['NamingRuleId'];\r\n checklists.push(template);\r\n });\r\n }\r\n return checklists;\r\n }\r\n // Begin - for resolvers to make sure requested tag and checklist/template exists\r\n async getCheckListTag(tagId: number,projectId:number) {\r\n var _tags: Array = await this.jSStoreDBService._connection.select({\r\n from: 'ChecklistTags',\r\n where: {\r\n TagId: tagId , ProjectId:projectId\r\n },\r\n join: {\r\n with: 'Project',\r\n on: \"Project.ProjectId=ChecklistTags.ProjectId\",\r\n as: { Description: \"ProjectDescription\" ,Name:\"ProjectName\",ProjectId:\"project_id\",UserId:\"userid\"},\r\n type:\"inner\",\r\n }\r\n });\r\n var _user: Array = await this.jSStoreDBService._connection.select({\r\n from: 'User'\r\n });\r\n var tag: CheckListTagModel = new CheckListTagModel();\r\n if (_tags != null && _tags.length > 0) {\r\n tag.id = _tags[0]['TagId'];\r\n tag.name = _tags[0]['Name'];\r\n tag.description = _tags[0]['Description'];\r\n tag.path=_user[0]['OrganizationId']+'/'+_tags[0]['project_id']+'/'+_tags[0]['TagId']+'_'+_user[0]['OrganizationName']+'/'+_tags[0]['ProjectName']+'/'+_tags[0]['Name'];\r\n }\r\n return tag;\r\n }\r\n\r\n async getChecklistTemplate(tagId: number, checklistId: number,projectId:number):Promise {\r\n var _checklists: Array = await this.jSStoreDBService._connection.select({\r\n from: 'Checklists',\r\n where: {\r\n TagId: tagId,\r\n Id: checklistId\r\n },\r\n join: [{\r\n with: 'ChecklistTags',\r\n on: \"ChecklistTags.TagId=Checklists.TagId\",\r\n as: { Description: \"TagDescription\" ,Name:\"TagName\"},\r\n type:\"inner\",\r\n where:{ProjectId:projectId}\r\n },\r\n {\r\n with: 'Project',\r\n on: \"Project.ProjectId=ChecklistTags.ProjectId\",\r\n as: { Description: \"ProjectDescription\" ,Name:\"ProjectName\",ProjectId:\"project_id\",UserId:\"userid\"},\r\n type:\"inner\",\r\n where:{ProjectId:projectId}\r\n }]\r\n });\r\n var _user: Array = await this.jSStoreDBService._connection.select({\r\n from: 'User'\r\n });\r\n var template: CheckList = new CheckList();\r\n if (_checklists != null && _checklists.length > 0) {\r\n template.id = _checklists[0]['Id'];\r\n template.name = _checklists[0]['Name'];\r\n template.description = _checklists[0]['Description'];\r\n template.namingRule.id= _checklists[0]['NamingRuleId'];\r\n\r\n template.path=_user[0]['OrganizationId']+'/'+_checklists[0]['project_id']+'/'+_checklists[0]['TagId']+'/'+_checklists[0]['Id']+'_'+_user[0]['OrganizationName']+'/'+_checklists[0]['ProjectName']+'/'+_checklists[0]['TagName']+'/'+_checklists[0]['Name'];\r\n }\r\n return template;\r\n }\r\n //End - for resolvers to make sure requested tag and checklist/template exists\r\n\r\n async getChecklist(checklistId: number) {\r\n var _checklists: Array = await this.jSStoreDBService._connection.select({\r\n from: 'Checklists',\r\n where: {\r\n Id: checklistId\r\n },\r\n });\r\n var checklist: CheckList = new CheckList();\r\n if (_checklists != null && _checklists.length > 0) {\r\n checklist.id = _checklists[0]['Id'];\r\n checklist.name = _checklists[0]['Name'];\r\n checklist.description = _checklists[0]['Description'];\r\n checklist.checks= await this.getChecklistChecks(checklist.id);\r\n\r\n }\r\n return checklist;\r\n }\r\n\r\n async getUserChecklists(templateId: number, projectId:number,userId:number) {\r\n var _checklists: Array = await this.jSStoreDBService._connection.select({\r\n from: 'UserChecklists',\r\n where: {\r\n ChecklistId: templateId,\r\n ProjectId: projectId,\r\n UserId:userId\r\n },\r\n join: {\r\n with: 'Project',\r\n on: \"UserChecklists.ProjectId=Project.ProjectId\",\r\n type:\"inner\",\r\n as:{\r\n Name:\"UserChecklists.Name\",\r\n Description:\"UserChecklists.Description\",\r\n UserId:\"UserChecklists.UserId\"\r\n }\r\n \r\n\r\n }\r\n });\r\n var _user: Array = await this.jSStoreDBService._connection.select({\r\n from: 'User'\r\n });\r\n var usercode: string = _user[0]['Code'];\r\n var companyCode: string = _user[0]['CompanyCode'];\r\n var checklists: Array = new Array();\r\n if (_checklists != null && _checklists.length > 0) {\r\n var uc: UserChecklist;\r\n for (let i = 0; i < _checklists.length; i++) {\r\n uc = new UserChecklist();\r\n uc.id = _checklists[i]['Id'];\r\n uc.name = _checklists[i]['Name'];\r\n uc.description = _checklists[i]['Description'];\r\n uc.isCompleted = _checklists[i]['IsComplete'];\r\n uc.savedOn = this.dateUtil.getOffsetDate(_checklists[i]['SavedOn'],_checklists[i]['offset']);\r\n uc.openDate = this.dateUtil.getOffsetDate(_checklists[i]['OpenDate'],_checklists[i]['offset']);\r\n \r\n uc.systemParameters.companyCode = companyCode;\r\n uc.systemParameters.userCode = usercode;\r\n uc.checkModels = await this.getUserChecklistResponse(uc.id);\r\n checklists.push(uc);\r\n }\r\n }\r\n return checklists;\r\n }\r\n\r\n async getUserChecklistDetails(userChecklistId: number) {\r\n var _checklists: Array = await this.jSStoreDBService._connection.select({\r\n from: 'UserChecklists',\r\n where: {\r\n Id: userChecklistId,\r\n }\r\n });\r\n var uc: UserChecklist = new UserChecklist();\r\n if (_checklists != null && _checklists.length > 0) {\r\n uc.id = _checklists[0]['Id'];\r\n uc.name = _checklists[0]['Name'];\r\n uc.description = _checklists[0]['Description'];\r\n uc.isCompleted = _checklists[0]['IsComplete'];\r\n uc.checkModels = await this.getUserChecklistResponse(uc.id);\r\n }\r\n return uc;\r\n }\r\n\r\n async getUserChecklistResponse(UserChecklistId: number) {\r\n var _response: Array = await this.jSStoreDBService._connection.select({\r\n from: 'Checklist_Response',\r\n where: {\r\n UserChecklistId: UserChecklistId,\r\n }\r\n });\r\n var response: Array = new Array();\r\n if (_response != null && _response.length > 0) {\r\n var ucr: CheckListChecks;\r\n for(let id=0;id<_response.length;id++){\r\n var value= _response[id];\r\n ucr = new CheckListChecks();\r\n ucr.id = value['Id'];\r\n ucr.type = value['Type'];\r\n ucr.description = value['Description'];\r\n ucr.answer = value['Answer'];\r\n ucr.checklistNumberSettings.minValue = value['MinValue'];\r\n ucr.checklistNumberSettings.maxValue = value['MaxValue'];\r\n ucr.documentName = value['DocumentName'];\r\n ucr.documentSize = value['DocumentSize'];\r\n ucr.qrCode = value['QRCode'];\r\n ucr.order = value['Order'];\r\n ucr.checkValues = await this.getCheck_listResponseValue(ucr.id);\r\n\r\n var foundIndex= response.findIndex(x=>x.order == value['Order']);\r\n if(foundIndex >=0)\r\n {\r\n response[foundIndex].relatedChecks.push(ucr)\r\n }\r\n else\r\n response.push(ucr);\r\n }\r\n }\r\n return response;\r\n }\r\n\r\n async getChecklistChecks(checklistId: number):Promise> {\r\n var _checks: Array = await this.jSStoreDBService._connection.select({\r\n from: 'Checks',\r\n where: {\r\n ChecklistId: checklistId,\r\n }\r\n });\r\n var checks: Array = new Array();\r\n\r\n if (_checks != null && _checks.length > 0) {\r\n var check: CheckListChecks;\r\n for(let idx=0;idx<_checks.length;idx++){\r\n check= new CheckListChecks();\r\n check.id = _checks[idx]['Id'];\r\n check.type = _checks[idx]['Type'];\r\n check.order=_checks[idx]['Order'];\r\n check.description = _checks[idx]['Description'];\r\n check.checklistNumberSettings.minValue = _checks[idx]['MinValue'];\r\n check.checklistNumberSettings.maxValue = _checks[idx]['MaxValue'];\r\n check.checkValues= await this.getCheck_listValue(check.id);\r\n if(checks.findIndex(x=>x.order==check.order)==-1)\r\n {\r\n checks.push(check);\r\n }\r\n else{\r\n checks.find(e => e.order ==check.order).relatedChecks.push(check);\r\n }\r\n }\r\n }\r\n return checks;\r\n\r\n }\r\n async getCheck_listValue(checkId:number){\r\n var _checks: Array = await this.jSStoreDBService._connection.select({\r\n from: 'Check_List_Values',\r\n where: {\r\n CheckId: checkId,\r\n }\r\n });\r\n var values:Array= new Array();\r\n _checks.forEach(listvalue=>{\r\n var valuesArray = listvalue[\"Value\"];\r\n valuesArray.forEach(element => {\r\n values.push(element[\"Value\"]);\r\n });\r\n })\r\n return values;\r\n }\r\n async getCheck_listResponseValue(checkResponseId:number){\r\n var _checks: Array = await this.jSStoreDBService._connection.select({\r\n from: 'Checklist_Response_List_Values',\r\n where: {\r\n ChecklistResponseId: checkResponseId,\r\n }\r\n });\r\n var values:Array= new Array();\r\n _checks.forEach(listvalue=>{\r\n values.push(listvalue[\"Value\"]);\r\n })\r\n return values;\r\n }\r\n\r\n async getUserChecklistName(checklistId: number,user:User,projectId:number):Promise {\r\n var _checklists: Array = await this.jSStoreDBService._connection.select({\r\n from: 'Checklists',\r\n where: {\r\n Id: checklistId\r\n },\r\n join: {\r\n with: 'ChecklistTags',\r\n on: \"Checklists.TagId=ChecklistTags.TagId\",\r\n as: { Description: \"TagDescription\" ,Name:\"TagName\"},\r\n type:\"inner\",\r\n }\r\n });\r\n var name :string=\"\";\r\n if(_checklists==null || _checklists.length ==0)\r\n return name;\r\n //this code is to get projects code from project index table\r\n var projectcode:string=\"\";\r\n var offset:number = 0;\r\n var _projects: Array = await this.jSStoreDBService._connection.select({\r\n from: 'Project',\r\n where: {\r\n ProjectId: projectId,\r\n }\r\n });\r\n if(_projects!=null && _projects.length>0)\r\n {\r\n projectcode=(_projects[0]['Code']!=null)?_projects[0]['Code']:'';\r\n offset =(_projects[0]['offset']!=null)?_projects[0]['offset']:0;\r\n \r\n }\r\n var attributes:Array =_checklists[0]['NamingRuleAttributes'];\r\n attributes.forEach(attribute=>{\r\n switch(attribute)\r\n {\r\n case ChecklistAttributes.COMPANY_CODE: name+=user.company.code;\r\n break;\r\n case ChecklistAttributes.COUNTER:\r\n var counterDigits = _checklists[0]['CounterDigit'];\r\n name += \"\";\r\n for (var i:number = 0; i < counterDigits; i++)\r\n name += \"#\";\r\n name += \"\";\r\n break;\r\n case ChecklistAttributes.PROJECT_ID:name+=projectcode;\r\n break;\r\n case ChecklistAttributes.SEPARATOR: name+=_checklists[0]['NamingRuleSeperator'];\r\n break;\r\n case ChecklistAttributes.TAG: name+=_checklists[0]['TagName'];\r\n break;\r\n case ChecklistAttributes.TEMPLATE_NAME:name+=_checklists[0]['Name'];\r\n break;\r\n case ChecklistAttributes.TIME:\r\n \r\n var dateTime = this.dateUtil.getOffsetDate(new Date(),offset);\r\n name+=((dateTime.getHours()).toString()) + \":\" + ((dateTime.getMinutes()).toString()) + \":\" +((dateTime.getSeconds()).toString());\r\n break;\r\n case ChecklistAttributes.USER_CODE:name+=user.code;\r\n break;\r\n\r\n }\r\n })\r\n return name;\r\n }\r\n\r\n\r\n\r\n\r\n //from here all sync add methods for pushing data into index DB\r\n\r\n\r\n public addChecklistTags(tags: Array,userId:number): void {\r\n var _tags: Array = new Array();\r\n for (let i = 0; i < tags.length; i++) {\r\n var tag: object = {\r\n TagId: tags[i].id,\r\n Name: tags[i].name,\r\n Description: tags[i].description,\r\n ProjectId: tags[i].projectId,\r\n UserId: userId,\r\n Path: tags[i].path\r\n }\r\n this.jSStoreDBService._connection.insert({\r\n into: 'ChecklistTags',\r\n upsert: true,\r\n values: [tag],\r\n return: true\r\n });\r\n }\r\n }\r\n\r\n public addChecklistTemplate(templates: Array, tagId: number): void {\r\n var _templates: Array = new Array();\r\n for (let i = 0; i < templates.length; i++) {\r\n var attributes:Array= new Array();\r\n if(templates[i].namingRule){\r\n templates[i].namingRule.namingConventions.forEach(convention=>{\r\n attributes.push(convention.checklistAttribute)\r\n });\r\n }\r\n var tempalte: object = {\r\n Id: templates[i].id,\r\n Name: templates[i].name,\r\n Description: templates[i].description,\r\n TagId: (tagId==null)?templates[i].checklistTag.id:tagId,\r\n Path: templates[i].path,\r\n NamingRuleSeperator: templates[i].namingRule!=null? templates[i].namingRule.separatorValue:\"\",\r\n CounterDigit:templates[i].namingRule!=null? templates[i].namingRule.counterDigits:0,\r\n NamingRuleAttributes:attributes,\r\n NamingRuleId: templates[i].namingRule!=null? templates[i].namingRule.id:0\r\n }\r\n this.jSStoreDBService._connection.insert({\r\n into: 'Checklists',\r\n upsert: true,\r\n values: [tempalte],\r\n return: true\r\n });\r\n\r\n //inserting checklist checks here\r\n if(templates[i].checks!=null && templates[i].checks.length>0)\r\n {\r\n this.addChecks(templates[i].checks,templates[i].id);\r\n }\r\n }\r\n }\r\n\r\n\r\n async addUserChecklists(userchecklists: Array,userid:number): Promise {\r\n for (let i = 0; i < userchecklists.length; i++) {\r\n var uc: object = {\r\n ServerId: userchecklists[i].id,\r\n Name: userchecklists[i].name,\r\n Description: userchecklists[i].description,\r\n IsComplete: userchecklists[i].isCompleted,\r\n ChecklistId: userchecklists[i].checklistId,\r\n SavedOn: new Date(userchecklists[i].savedOn),\r\n CompletedOn: new Date(userchecklists[i].completedOn),\r\n OpenDate:new Date(userchecklists[i].openDate),\r\n ProjectId: userchecklists[i].projectId,\r\n Synced: 1, // always true here as we are getting userchecklists from sql database,\r\n UserId:userid\r\n }\r\n var insertedUc = await this.jSStoreDBService._connection.insert({\r\n into: 'UserChecklists',\r\n upsert: true,\r\n values: [uc],\r\n return: true\r\n });\r\n userchecklists[i].id = insertedUc[0].Id;\r\n this.addUserChecklistResponse(userchecklists[i]);\r\n this.addchecklist_listResponsevalues(userchecklists[i]);\r\n }\r\n this.GetDocumentsBlobContent();\r\n }\r\n\r\n addUserChecklistResponse(userChecklist: UserChecklist) {\r\n userChecklist.checkModels.forEach(response => {\r\n var ucResponse: object = {\r\n UserChecklistId: userChecklist.id,\r\n Id: response.id,\r\n Description: response.description,\r\n Type: response.type,\r\n Answer: response.answer,\r\n IsMandatory: response.isMandatory,\r\n MinValue: response.checklistNumberSettings.minValue,\r\n MaxValue: response.checklistNumberSettings.maxValue,\r\n DocumentName: response.documentName,\r\n DocumentSize: response.documentSize,\r\n QRCode: response.qrCode,\r\n Order: response.order,\r\n }\r\n this.jSStoreDBService._connection.insert({\r\n into: 'Checklist_Response',\r\n upsert:true,\r\n values: [ucResponse],\r\n return: true\r\n });\r\n });\r\n }\r\n\r\n\r\n addChecks(checks: Array,checklistId:number) {\r\n checks.forEach(check => {\r\n var _checks: object = {\r\n Id:check.id,\r\n ChecklistId: checklistId,\r\n Type: check.type,\r\n Description: check.description,\r\n IsMandatory: check.isMandatory,\r\n MinValue:check.checklistNumberSettings.minValue,\r\n MaxValue:check.checklistNumberSettings.maxValue,\r\n Order:check.order\r\n }\r\n this.jSStoreDBService._connection.insert({\r\n into: 'Checks',\r\n values: [_checks],\r\n upsert: true,\r\n return: true\r\n });\r\n //inserting checks values\r\n if(check.checkValues!=null && check.checkValues.length>0)\r\n {\r\n this.addchecklist_listvalues(check.checkValues,check.id);\r\n }\r\n });\r\n }\r\n\r\n addchecklist_listvalues(values:Array,CheckId:number){\r\n var listValues: Array = new Array();\r\n values.forEach(val => {\r\n var lstvalue: object = {\r\n Value: val,\r\n }\r\n listValues.push(lstvalue);\r\n });\r\n var lstvalue: object = {\r\n CheckId:CheckId,\r\n Value: listValues,\r\n }\r\n listValues.forEach(values=>{\r\n this.jSStoreDBService._connection.insert({\r\n into: 'Check_List_Values',\r\n values: [lstvalue],\r\n upsert: true,\r\n return: true,\r\n });\r\n});\r\n}\r\n\r\nasync Clear(table_name)\r\n{\r\n this.jSStoreDBService._connection.clear(table_name);\r\n}\r\n\r\n\r\naddchecklist_listResponsevalues(userChecklist: UserChecklist) {\r\n if (userChecklist.checkModels && userChecklist.checkModels.length > 0) {\r\n userChecklist.checkModels.forEach(check => {\r\n //add check listresponse values for main checks\r\n if (check && check.checkValues && check.checkValues.length > 0) {\r\n check.checkValues.forEach(val => {\r\n var value = {\r\n ChecklistResponseId: check.id,\r\n Value: val\r\n }\r\n this.jSStoreDBService._connection.insert({\r\n into: 'Checklist_Response_List_Values',\r\n values: [value],\r\n return: true\r\n });\r\n });\r\n }\r\n });\r\n }\r\n}\r\nasync saveUserChecklist(projectid: number, checklistId: number, userChecklist: UserChecklist,isSynced:number,documents:Array,userid:number){\r\n var uc: object = {\r\n // in online mode after saved to server db, we are still saving to index db\r\n //so checking if id >0 , if so inserting else adding -1 to indicate its saved newly.\r\n ServerId: userChecklist.id>0? userChecklist.id: -1,\r\n Name: userChecklist.name,\r\n Description: userChecklist.description,\r\n IsComplete: userChecklist.isCompleted,\r\n ChecklistId: checklistId,\r\n SavedOn: this.dateUtil.get_UTCDate(new Date()),\r\n OpenDate:this.dateUtil.get_UTCDate(new Date()),\r\n CompletedOn: userChecklist.isCompleted? this.dateUtil.get_UTCDate(new Date()) : null,\r\n ProjectId: projectid,\r\n Synced:isSynced,\r\n UserId:userid\r\n }\r\n var inserted = await this.jSStoreDBService._connection.insert({\r\n into: 'UserChecklists',\r\n upsert: true,\r\n values: [uc],\r\n return: true\r\n });\r\n //assing inserted Id of user checklist to userchecklist.id\r\n userChecklist.id = inserted[0].Id;\r\n for(var cindx:number=0;cindx){\r\n var fileContent: Blob=null;\r\n if(response.type == CheckTypes.DOCUMENT && _documents!=null && _documents.length>0 )\r\n { var doc:BlobFile = _documents.find(f=>f.getGUID() == response.answer)\r\n if(doc)\r\n fileContent = new Blob([doc.file] as any,{type : doc.file.type});\r\n }\r\n var ucResponse: object = {\r\n UserChecklistId: userChecklistId,\r\n CheckId:response.id,\r\n Id: (isSynced==1)? response.id:null,\r\n Description: response.description,\r\n Type: response.type,\r\n Answer: response.answer,\r\n IsMandatory: response.isMandatory,\r\n MinValue: response.checklistNumberSettings.minValue,\r\n MaxValue: response.checklistNumberSettings.maxValue,\r\n DocumentName: response.documentName,\r\n DocumentSize: response.documentSize,\r\n QRCode: response.qrCode,\r\n Order: response.order,\r\n DocumentContent:fileContent,\r\n IsDocumentUpdated:response.IsDocumentUpdated ? 1: 0\r\n }\r\n var insertedResponse = await this.jSStoreDBService._connection.insert({\r\n into: 'Checklist_Response',\r\n upsert:true,\r\n values: [ucResponse],\r\n return: true\r\n });\r\n //assing inserted response id\r\n response.id = insertedResponse[0].Id;\r\n // saving each usercheklist_list value for a response\r\n this.saveUserchecklistResponse_listvalues(response);\r\n}\r\n\r\n\r\nsaveUserchecklistResponse_listvalues(check: CheckListChecks){\r\n if (check && check.checkValues && check.checkValues.length > 0) {\r\n check.checkValues.forEach(val => {\r\n var value = {\r\n ChecklistResponseId: check.id,\r\n Value: val\r\n }\r\n this.jSStoreDBService._connection.insert({\r\n into: 'Checklist_Response_List_Values',\r\n values: [value],\r\n return: true\r\n });\r\n });\r\n }\r\n}\r\n\r\nasync updateUserChecklist(userChecklist:UserChecklist,isSynced:number,documents:Array){\r\n await this.jSStoreDBService._connection.update({\r\n in: \"UserChecklists\",\r\n set: {\r\n Name: userChecklist.name,\r\n Description:userChecklist.description,\r\n IsComplete:userChecklist.isCompleted,\r\n OpenDate:this.dateUtil.get_UTCDate(new Date()),\r\n CompletedOn: userChecklist.isCompleted? this.dateUtil.get_UTCDate(new Date()): null,\r\n Synced : isSynced\r\n },\r\n where: { Id: userChecklist.id }\r\n });\r\n for(var cindx:number=0;cindx){\r\n var fileContent: Blob=null;\r\n if(response.type == CheckTypes.DOCUMENT && _documents!=null && _documents.length>0 )\r\n { var doc:BlobFile = _documents.find(f=>f.getGUID() == response.answer)\r\n if(doc)\r\n fileContent = new Blob([doc.file] as any,{type : doc.file.type});\r\n }\r\n //update user checklist response\r\n await this.jSStoreDBService._connection.update({\r\n in: \"Checklist_Response\",\r\n set: {\r\n Answer: response.answer,\r\n QRCode:response.qrCode,\r\n DocumentName:response.documentName,\r\n DocumentSize: response.documentSize,\r\n DocumentContent:fileContent,\r\n IsDocumentUpdated:response.IsDocumentUpdated ? 1: 0\r\n },\r\n where: { Id: response.id }\r\n });\r\n}\r\n\r\n\r\n\r\nasync getAllUserChecklistsforSync(userId:number):Promise> {\r\n var _checklists: Array = await this.jSStoreDBService._connection.select({\r\n from: 'UserChecklists',\r\n where: {\r\n UserId:userId,\r\n Synced: 0,\r\n }\r\n });\r\n var _user: Array = await this.jSStoreDBService._connection.select({\r\n from: 'User'\r\n });\r\n var usercode: string = _user[0]['Code'];\r\n var companyCode: string = _user[0]['CompanyCode'];\r\n var checklists: Array = new Array();\r\n if (_checklists != null && _checklists.length > 0) {\r\n var uc: UserChecklist;\r\n for (let i = 0; i < _checklists.length; i++) {\r\n uc = new UserChecklist();\r\n uc.id = _checklists[i]['ServerId'];\r\n uc.serverId = _checklists[i]['Id'];\r\n uc.name = _checklists[i]['Name'];\r\n uc.description = _checklists[i]['Description'];\r\n uc.isCompleted = _checklists[i]['IsComplete'];\r\n uc.projectId = _checklists[i]['ProjectId'];\r\n uc.checklistId = _checklists[i]['ChecklistId'];\r\n uc.savedOn =_checklists[i]['SavedOn'];\r\n uc.openDate =_checklists[i]['OpenDate'];\r\n if(uc.isCompleted)\r\n {\r\n uc.completedOn= _checklists[i]['CompletedOn'];\r\n }\r\n uc.systemParameters.companyCode = companyCode;\r\n uc.systemParameters.userCode = usercode;\r\n uc.checkModels = await this.getUserChecklistResponseforsync(uc);\r\n checklists.push(uc);\r\n }\r\n }\r\n return checklists;\r\n}\r\nasync downloadCheckDocument(userchecklistId:number,responseId:number){\r\n var _response: Array = await this.jSStoreDBService._connection.select({\r\n from: 'Checklist_Response',\r\n where: {\r\n UserChecklistId: userchecklistId,\r\n Id:responseId\r\n }\r\n });\r\n var blob:Blob = _response[0]['DocumentContent'];\r\n var documentName :string =_response[0]['DocumentName'];\r\n if(blob!=null)\r\n saveAs(blob, documentName);\r\n}\r\n\r\nasync UpdatesyncedUserChecklist(userChecklist:UserChecklist,isUpdateResponse:boolean)\r\n{\r\n await this.jSStoreDBService._connection.update({\r\n in: \"UserChecklists\",\r\n set: {\r\n Name:userChecklist.name,\r\n Synced : 1,\r\n ServerId:userChecklist.id\r\n },\r\n where: { Id: userChecklist.serverId }\r\n });\r\n\r\n // we are removing and adding response only for newly created checklist\r\n if(isUpdateResponse){\r\n //clearing responses and adding new\r\n await this.jSStoreDBService._connection.remove({\r\n from: \"Checklist_Response\",\r\n where: {\r\n UserChecklistId: userChecklist.serverId\r\n }\r\n });\r\n this.addUserChecklistResponseforsync(userChecklist);\r\n}\r\nelse{\r\n await this.jSStoreDBService._connection.update({\r\n in: \"Checklist_Response\",\r\n set: {\r\n IsDocumentUpdated:0 // bcz its already synced\r\n },\r\n where: {\r\n UserChecklistId: userChecklist.serverId\r\n }\r\n });\r\n}\r\nthis.addchecklist_listResponsevalues(userChecklist);\r\n}\r\n\r\n\r\naddUserChecklistResponseforsync(userChecklist: UserChecklist) {\r\n userChecklist.checkModels.forEach(response => {\r\n var ucResponse: object = {\r\n UserChecklistId: userChecklist.serverId,\r\n Id: response.id,\r\n Description: response.description,\r\n Type: response.type,\r\n Answer: response.answer,\r\n IsMandatory: response.isMandatory,\r\n MinValue: response.checklistNumberSettings.minValue,\r\n MaxValue: response.checklistNumberSettings.maxValue,\r\n DocumentName: response.documentName,\r\n DocumentSize: response.documentSize,\r\n QRCode: response.qrCode,\r\n Order: response.order,\r\n DocumentContent: response.documentContent,\r\n IsDocumentUpdated:0 // bcz its already synced\r\n }\r\n this.jSStoreDBService._connection.insert({\r\n into: 'Checklist_Response',\r\n upsert:true,\r\n values: [ucResponse],\r\n return: true\r\n });\r\n\r\n });\r\n}\r\n\r\nasync getUserChecklistResponseforsync(UserChecklist: UserChecklist) {\r\n var _response: Array = await this.jSStoreDBService._connection.select({\r\n from: 'Checklist_Response',\r\n where: {\r\n UserChecklistId: UserChecklist.serverId,\r\n }\r\n });\r\n var response: Array = new Array();\r\n if (_response != null && _response.length > 0) {\r\n var ucr: CheckListChecks;\r\n for(let id=0;id<_response.length;id++){\r\n var value= _response[id];\r\n ucr = new CheckListChecks();\r\n if(UserChecklist.id==-1)\r\n {\r\n ucr.id = value['CheckId'];\r\n }\r\n else\r\n {\r\n ucr.id = value['Id'];\r\n }\r\n ucr.type = value['Type'];\r\n ucr.description = value['Description'];\r\n ucr.answer = value['Answer'];\r\n ucr.checklistNumberSettings.minValue = value['MinValue'];\r\n ucr.checklistNumberSettings.maxValue = value['MaxValue'];\r\n ucr.documentName = value['DocumentName'];\r\n ucr.documentSize = value['DocumentSize'];\r\n ucr.qrCode = value['QRCode'];\r\n ucr.order = value['Order'];\r\n ucr.IsDocumentUpdated= (value['IsDocumentUpdated'] == 1) ? true:false;\r\n ucr.documentContent = value['DocumentContent'];\r\n ucr.checkValues = await this.getCheck_listResponseValue(ucr.id);\r\n\r\n var foundIndex= response.findIndex(x=>x.order == value['Order']);\r\n if(foundIndex >=0)\r\n {\r\n response[foundIndex].relatedChecks.push(ucr)\r\n }\r\n else\r\n response.push(ucr);\r\n }\r\n}\r\n return response;\r\n}\r\n\r\n\r\naddBlobContnetToChecklistResponse=(blobId:string,blobContnet:Blob):void=>\r\n{\r\n this.jSStoreDBService._connection.update({\r\n in: \"Checklist_Response\",\r\n set: {\r\n DocumentContent: blobContnet,\r\n },\r\n where: { Type: CheckTypes.DOCUMENT,\r\n Answer: blobId\r\n }\r\n });\r\n}\r\n\r\n\r\nasync GetDocumentsBlobContent()\r\n{\r\n //after userchecklists synchronized, will check if any documents exists in response\r\n var _documentResponse: Array = await this.jSStoreDBService._connection.select({\r\n from: 'Checklist_Response',\r\n where: {\r\n Type:CheckTypes.DOCUMENT,\r\n DocumentSize: {'>':0}\r\n }\r\n });\r\n //if some uploaded documents exists, then call will be happen to download blob content from blobstorage\r\n //as get from blob storage is asynchronous, on success we are updating Document contenet column value in indexdb in function callback -addBlobContnetToChecklistResponse\r\n if (_documentResponse != null && _documentResponse.length > 0) {\r\n this.fileStorageService.getSasToken().subscribe((response: any): void => {\r\n if (response)\r\n var url : string =\"\"\r\n var blobUtil : BlobUtil= new BlobUtil();\r\n _documentResponse.forEach(doc=>{\r\n var blobId: string = doc['Answer'];\r\n url = response.baseURL+'/'+blobId+'?'+response.blobSASToken\r\n //getdocument is called to get data from blob storage,\r\n //addBlobContnetToChecklistResponse is a callback function in which we update Document content,once data is downloaded,\r\n blobUtil.getDocument(blobId,url,this.addBlobContnetToChecklistResponse);\r\n });\r\n\r\n });\r\n }\r\n}\r\n\r\nasync removeChecklistResponseListValues(responseId:number)\r\n{\r\n await this.jSStoreDBService._connection.remove({\r\n from: \"Checklist_Response_List_Values\",\r\n where: {\r\n ChecklistResponseId: responseId }\r\n });\r\n}\r\nasync removeUserChecklistResponse(_userChecklistId:number)\r\n{\r\n await this.jSStoreDBService._connection.remove({\r\n from: \"Checklist_Response\",\r\n where: {\r\n UserChecklistId: _userChecklistId }\r\n });\r\n}\r\n\r\nasync ClearAllChecklistTables()\r\n{\r\n this.Clear('ChecklistTags');\r\n this.Clear('Checks');\r\n this.Clear('Check_List_Values');\r\n}\r\n\r\nasync ClearUserChecklistsFromIndexDB(userid:number)\r\n{\r\n //:step 1: get all checklist belongs to user\r\n var _checklists: Array = await this.jSStoreDBService._connection.select({\r\n from: 'UserChecklists',\r\n where: {\r\n UserId:userid\r\n }\r\n });\r\n if(_checklists !=null && _checklists.length>0)\r\n {\r\n for(let i=0;i<_checklists.length;i++){\r\n //:step 2: get all checklist responses for each cehcklist\r\n var _response: Array = await this.jSStoreDBService._connection.select({\r\n from: 'Checklist_Response',\r\n where: {\r\n UserChecklistId: _checklists[i][\"Id\"],\r\n }\r\n });\r\n //:step 3: check if response has any list values remove those\r\n if(_response!=null && _response.length>0)\r\n {\r\n for(let j=0;j<_response.length;j++){\r\n if(_response[j][\"Type\"]==CheckTypes.CHECKBOX || _response[j][\"Type\"]==CheckTypes.RADIO || _response[j][\"Type\"]==CheckTypes.LIST)\r\n {\r\n //removing response list values\r\n await this.removeChecklistResponseListValues(_response[j][\"Id\"]);\r\n }\r\n }\r\n }\r\n //:step 5: Remove all responses for a checklist\r\n await this.removeUserChecklistResponse(_checklists[i][\"Id\"]);\r\n }\r\n//:step 6: Remove all checklist of a user\r\nawait this.jSStoreDBService._connection.remove({\r\n from: 'UserChecklists',\r\n where: {\r\n UserId:userid\r\n }\r\n});\r\n}\r\n}\r\n\r\n\r\n\r\n\r\n}\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 * as JsStore from 'jsstore';\r\nimport { IDataBase, DATA_TYPE, ITable } from 'jsstore';\r\n\r\nimport { environment } from 'src/environments/environment';\r\ndeclare var require: any;\r\n\r\nconst getWorkerPath = () => {\r\n if (environment.production) {\r\n return require('file-loader?name=scripts/[name].[hash].js!jsstore/dist/jsstore.worker.min.js');\r\n } else {\r\n return require('file-loader?name=scripts/[name].[hash].js!jsstore/dist/jsstore.worker.js');\r\n }\r\n};\r\n\r\n// This will ensure that we are using only one instance. \r\n// Otherwise due to multiple instance multiple worker will be created.\r\nexport const idbCon = new JsStore.Connection(new Worker(getWorkerPath().default));","import { Injectable } from '@angular/core';\r\nimport { IDBOperations } from '../dbinterface';\r\n\r\nimport { idbCon } from './jsstoreconnection';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\n\r\n\r\nexport class JSStoreDBService implements IDBOperations {\r\n _connection: any;\r\n constructor() {\r\n this._connection=idbCon;\r\n\r\n }\r\n initDB(db_name: any) {\r\n this._connection.initDb(this.getDatabase(db_name)).then((isDbCreated:Boolean )=>{\r\n if (isDbCreated) {\r\n console.log('db created');\r\n }\r\n else {\r\n console.log('db opened');\r\n }\r\n });\r\n }\r\n\r\n\r\n private getUserChecklistTables= function(retTables:Array):void\r\n {\r\n\r\n var UserChecklists = {\r\n name: 'UserChecklists',\r\n columns: {\r\n // Here \"Id\" is name of column\r\n Id:{ primaryKey: true, autoIncrement: true,dataType:\"number\" },\r\n ChecklistId: { notNull: true, dataType: \"number\" },\r\n Name: { notNull: true, dataType: \"string\" },\r\n Description: { notNull: false, dataType: \"string\" },\r\n IsComplete: { notNull: true, dataType: \"boolean\" },\r\n SavedOn: { notNull: true, dataType: \"date_time\" },\r\n CompletedOn: { notNull: false, dataType: \"date_time\" },\r\n ProjectId:{notNull:true,datatType:\"number\"},\r\n Synced:{notNull:true,dataType:\"number\"},\r\n ServerId:{notNull:true, dataType:\"number\"},\r\n UserId:{ notNull: true, dataType: \"number\" },\r\n OpenDate:{ notNull: false, dataType: \"date_time\" }\r\n }\r\n };\r\n retTables.push(UserChecklists);\r\n\r\n var Checklist_Response = {\r\n name: 'Checklist_Response',\r\n columns: {\r\n // Here \"Id\" is name of column\r\n Id:{ primaryKey: true, autoIncrement: true,dataType:\"number\" },\r\n CheckId:{ notNull: false, dataType: \"number\" },\r\n UserChecklistId: { notNull: true, dataType: \"number\" },\r\n Description: { notNull: false, dataType: \"string\" },\r\n Type: { notNull: false, dataType: \"number\" },\r\n Answer: { notNull: false, dataType: \"string\" },\r\n IsMandatory: { notNull: true, dataType: \"boolean\" },\r\n MinValue:{notnull:false,datatype:\"number\"},\r\n MaxValue:{notnull:false,datatype:\"number\"},\r\n DocumentName:{notnull:false,datatype:\"string\"},\r\n DocumentSize:{notnull:false,datatype:\"string\"},\r\n QRCode:{notnull:false,datatype:\"string\"},\r\n Order:{notnull:false,datatype:\"number\"},\r\n DocumentContent:{notnull:false,dataType:\"object\"},\r\n IsDocumentUpdated:{notNull:false, dataType:\"number\"}\r\n }\r\n };\r\n retTables.push(Checklist_Response);\r\n\r\n var Checklist_Response_List_Values = {\r\n name: 'Checklist_Response_List_Values',\r\n columns: {\r\n // Here \"Id\" is name of column\r\n // Id:{ primaryKey: true, autoIncrement: true,dataType:\"number\" },\r\n ChecklistResponseId: { notNull: true, dataType: \"number\" },\r\n Value: { notNull: true, dataType: \"string\" },\r\n }\r\n };\r\n retTables.push(Checklist_Response_List_Values);\r\n }\r\n private getChecklistTables= function(retTables:Array):void\r\n {\r\n var tblChecklistTags = {\r\n name: 'ChecklistTags',\r\n columns: {\r\n // Here \"Id\" is name of column\r\n TagId:{ notNull:true,dataType:\"number\" },\r\n UserId: { notNull: true, dataType: \"number\" },\r\n ProjectId: { notNull: true, dataType: \"number\" },\r\n Name: { notNull: false, dataType: \"string\" },\r\n Description :{notNull:false, dataType:\"string\"}\r\n }\r\n };\r\n retTables.push(tblChecklistTags);\r\n var tblChecklists = {\r\n name: 'Checklists',\r\n columns: {\r\n // Here \"Id\" is name of column\r\n\r\n Id:{ primaryKey: true, autoIncrement: true,dataType:\"number\" },\r\n TagId: { notNull: true, dataType: \"number\" },\r\n Name: { notNull: false, dataType: \"string\" },\r\n Description :{notNull:false, dataType:\"string\"},\r\n NamingRuleSeperator: { notNull: false, dataType: \"string\" },\r\n CounterDigit:{ notNull: false, dataType: \"number\" },\r\n NamingRuleAttributes:{ notNull: false, dataType: \"array\" },\r\n NamingRuleId:{notNull:false,dataType:\"number\"}\r\n }\r\n };\r\n retTables.push(tblChecklists);\r\n\r\n var tblChecks = {\r\n name: 'Checks',\r\n columns: {\r\n // Here \"Id\" is name of column\r\n // Id:{ primaryKey: true, autoIncrement: true,dataType:\"number\" },\r\n Id:{ notNull: true, dataType: \"number\" },\r\n ChecklistId: { notNull: true, dataType: \"number\" },\r\n Type: { notNull: false, dataType: \"number\" },\r\n Description: { notNull: false, dataType: \"string\" },\r\n IsMandatory: { notNull: false, dataType: \"boolean\" },\r\n MinValue:{notnull:false,datatype:\"number\"},\r\n MaxValue:{notnull:false,datatype:\"number\"},\r\n QrCode:{notNull:false, dataType:\"string\"},\r\n Order:{notnull:false,datatype:\"number\"},\r\n // documentName:{notNull:false, dataType:\"string\"},\r\n // documentSize:{ notNull: false, dataType: \"number\" },\r\n // checkValues: { notNull: false, dataType: \"array\" }\r\n }\r\n };\r\n retTables.push(tblChecks);\r\n var tblCheck_list_values = {\r\n name: 'Check_List_Values',\r\n columns: {\r\n // Here \"Id\" is name of column\r\n // Id:{ primaryKey: true, autoIncrement: true,dataType:\"number\" },\r\n CheckId:{primaryKey: true, notNull: true, dataType: \"number\" },\r\n Value:{ notNull: false, dataType: \"array\" },\r\n }\r\n };\r\n retTables.push(tblCheck_list_values);\r\n\r\n }\r\n\r\n private getTables = function():Array{\r\n var retTables:Array = new Array();\r\n var tblUser = {\r\n name: 'User',\r\n columns: {\r\n // Here \"Id\" is name of column\r\n Id:{ primaryKey: true, autoIncrement: true,dataType:\"number\" },\r\n UserName: { notNull: true, dataType: \"string\" },\r\n OrganizationId: { notNull: true, dataType: \"number\" },\r\n FirstName : { notNull: false, dataType: \"string\" },\r\n LastName : { notNull: false, dataType: \"string\" },\r\n Password : { notNull: false, dataType: \"string\" },\r\n Code : { notNull: false, dataType: \"string\" },\r\n CompanyCode : { notNull: false, dataType: \"string\" },\r\n OrganizationName: { notNull: true, dataType: \"string\" },\r\n token :{dataType:\"string\"},\r\n languagePreference:{dataType:\"string\"},\r\n OrganizationExpiry:{notNull:false,dataType:\"date_time\"},\r\n NotificationBeforeDays:{notNull:false,dataType:\"number\"},\r\n OrganizationFeatures:{notNull:false,dataType:'array'},\r\n RoleId:{NotNull:false,dataType:'number'},\r\n IsSystemRole:{notNull:false,dataType:'boolean'},\r\n isModified:{notNull:false,dataType:'boolean'},\r\n url:{notNull:false,dataType:\"string\"}\r\n\r\n }\r\n };\r\n retTables.push(tblUser);\r\n var tblProject = {\r\n name: 'Project',\r\n columns: {\r\n // Here \"Id\" is name of column\r\n ProjectId:{ primaryKey: true, autoIncrement: true,dataType:\"number\" },\r\n UserId: { notNull: false, dataType: \"number\" },\r\n Name: { notNull: false, dataType: \"string\" },\r\n Code : { notNull: false, dataType: \"string\" },\r\n Description : { notNull: false, dataType: \"string\" },\r\n Path :{notNull:false,dataType:\"string\"},\r\n Permissions :{notNull:false,dataType:'array'},\r\n IsSystem: {notNull:false,dataType:'boolean'},\r\n RoleId: {notNull:false,dataType:'number'},\r\n NoOfDigitsToIgnore:{notNull:false,dataType:'number'},\r\n NoOfDigitsToIdentify:{notNull:false,dataType:'number'},\r\n offset: {notNull:false,datatype:'number'}\r\n\r\n }\r\n };\r\n retTables.push(tblProject);\r\n \r\n\r\n\r\n this.getSpaceandAssetTables(retTables);\r\n this.getTicketTables(retTables);\r\n\r\n this.getChecklistTables(retTables);\r\n\r\n this.getUserChecklistTables(retTables);\r\n\r\n return retTables;\r\n\r\n\r\n }\r\n\r\n private getSpaceandAssetTables= function(retTables:Array):void{\r\n //space and Asset Table\r\n var tblSpace = {\r\n name: 'Space',\r\n columns: {\r\n // Here \"Id\" is name of column\r\n Id: { primaryKey: true, autoIncrement: true, dataType: \"number\" },\r\n ProjectId: { notNull: true, dataType: \"number\" },\r\n Name: { notNull: false, dataType: \"string\" },\r\n Code: { notNull: true, dataType: \"string\" }\r\n }\r\n };\r\n\r\n retTables.push(tblSpace);\r\n\r\n //Asset Table\r\n var tblAsset = {\r\n name: 'Asset',\r\n columns: {\r\n // Here \"Id\" is name of column\r\n Id: { primaryKey: true, autoIncrement: true, dataType: \"number\" },\r\n ProjectId: { notNull: true, dataType: \"number\" },\r\n Name: { notNull: true, dataType: \"string\" },\r\n Code: { notNull: true, dataType: \"string\" },\r\n SpaceId: { notNull: true, dataType: \"number\" },\r\n SpaceName: { notNull: false, dataType: \"string\" },\r\n SpaceCode: { notNull: true, dataType: \"string\" }\r\n }\r\n };\r\n\r\n retTables.push(tblAsset);\r\n }\r\n\r\n private getTicketTables= function(retTables:Array):void{\r\n //Ir templates Table\r\n var tblIrTemplate = {\r\n name: 'IrTemplate',\r\n columns: {\r\n // Here \"Id\" is name of column\r\n Id: { notnull:true, dataType: \"number\" },\r\n Name: { notNull: true, dataType: \"string\" },\r\n FlowId: { notNull: true, dataType: \"number\" },\r\n isDeactivated: { notNull: true, dataType: \"boolean\" },\r\n Description:{ notNull: false, dataType: \"string\" },\r\n ContactCenterId:{notNull: true, dataType: \"number\" },\r\n ContactCenterName:{notNull: true, dataType: \"string\"},\r\n ProjectId:{notNull:true,dataType:'number'},\r\n Spaces :{notNull:false,dataType:'array', multiEntry: true},//MultiEntry lets you search inside a column with array values.\r\n Assets :{notNull:false,dataType:'array', multiEntry: true},\r\n }\r\n };\r\n retTables.push(tblIrTemplate);\r\n\r\n //statuses table for each flow\r\n var tblStatuses = {\r\n name: 'Statuses',\r\n columns: {\r\n // Here \"Id\" is name of column\r\n Id: { primaryKey: true, autoIncrement: true, dataType: \"number\" },\r\n Name: { notNull: true, dataType: \"string\" },\r\n FlowId: { notNull: true, dataType: \"number\" },\r\n StatusPropertyId:{ notNull: true, dataType: \"number\" }\r\n }\r\n };\r\n retTables.push(tblStatuses);\r\n //ticket table need to add here for offline sync\r\n var tblticket = {\r\n name: 'Ticket',\r\n columns: {\r\n // Here \"Id\" is name of column\r\n Id: { primaryKey: true, autoIncrement: true, dataType: \"number\"},\r\n Name: { notNull: true, dataType: \"string\" },\r\n TagId: { notNull: true, dataType: \"number\" },\r\n FlowId: { notNull: true, dataType: \"number\" },\r\n Title:{ notNull: true, dataType: \"string\" },\r\n Priority:{notNull: true, dataType: \"number\"},\r\n AssignedToType:{notNull: true, dataType: \"number\"},\r\n AssignedToName:{notNull: true, dataType: \"string\"},\r\n AssignedToId:{notNull: true, dataType: \"number\"},\r\n SpaceId:{notNull: false, dataType: \"number\"},\r\n AssetId:{notNull: false, dataType: \"number\"},\r\n UserId: { notNull: true, dataType: \"number\" },\r\n StatusId:{notNull:true,dataType:\"number\"},\r\n Notes:{notNull:true,dataType:\"string\"},\r\n OpenDate:{notNull: true, dataType: \"date_time\"},\r\n Synced:{notNull:true,dataType:\"number\"},\r\n ProjectId: { notNull: true, dataType: \"number\" }\r\n }\r\n };\r\n retTables.push(tblticket);\r\n\r\n var tblticket_Attachments = {\r\n name: 'Ticket_Attachments',\r\n columns: {\r\n // Here \"Id\" is name of column\r\n Id:{ primaryKey: true, autoIncrement: true,dataType:\"number\" },\r\n TicketId:{ notNull: true, dataType: \"number\" },\r\n FileName:{notnull:true,datatype:\"string\"},\r\n FileSize:{notnull:true,datatype:\"string\"},\r\n FileContent:{notnull:true,dataType:\"object\"},\r\n BlobId:{notnull:true,datatype:\"string\"}\r\n }\r\n };\r\n retTables.push(tblticket_Attachments);\r\n }\r\n\r\n\r\n\r\n\r\n\r\n private getDatabase = function (db_name) {\r\n\r\n var offlinetables = [];\r\n offlinetables = this.getTables();\r\n\r\n const DataBase = {\r\n name: db_name,\r\n tables: offlinetables\r\n };\r\n\r\n return DataBase as any;\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { isNumber } from '@ng-bootstrap/ng-bootstrap/util/util';\r\nimport { Role } from 'src/shared/Models/API/role';\r\nimport { User } from 'src/shared/Models/user';\r\nimport { JSStoreDBService } from './jsstoredbservice.service';\r\nimport { SyncJsstoreService } from './sync-jsstore.service';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class LoginJSStoreService {\r\n\r\n constructor(private jSStoreDBService :JSStoreDBService,\r\n private syncJsStoreService:SyncJsstoreService) { }\r\n\r\n public async addLoggedInUser(user:User):Promise{\r\n\r\n //before clearing and putting user data to indexdb, \r\n //check if any modification in user table (for now languagepreference) happened and sync\r\n await this.syncJsStoreService.SyncUserFromIndexDBToServer(user);\r\n\r\n //first clear the existing user table and insert,\r\n //because, logging in user might be different or existing user details can be modified from website\r\n //ex like usercode, etc\r\n this.jSStoreDBService._connection.clear('User');\r\n //initializing defualt values and then getting assigning actual values if user has system role\r\n var RoleId:number=0, isSystemRole:boolean=false;\r\n if(user.roles && user.roles.length>0){\r\n RoleId= user.roles[0].id;\r\n isSystemRole= user.roles[0].isSystem\r\n }\r\n // creating user object to insert into indexdb\r\n var loggedInUser : object ={\r\n Id: user.id, UserName:user.userName, Code : user.code,\r\n FirstName : user.firstName,LastName : user.lastName,\r\n Password : btoa(user.password),\r\n OrganizationId: user.organization.id,\r\n OrganizationName: user.organization.name,\r\n CompanyCode: user.company.code,\r\n token : user.token,\r\n languagePreference:user.languagePreference,\r\n OrganizationExpiry :new Date(user.organization.expiry),\r\n NotificationBeforeDays:user.organization.notificationBeforeDays,\r\n OrganizationFeatures:user.organization.features,\r\n RoleId:RoleId,\r\n IsSystemRole:isSystemRole,\r\n url:user.url\r\n \r\n \r\n }\r\n await this.jSStoreDBService._connection.insert({\r\n into: 'User',\r\n upsert:true,\r\n values: [loggedInUser],\r\n return:true\r\n });\r\n }\r\n\r\n async getLoggedInUser(user:User):Promise {\r\n var _user: Array = await this.jSStoreDBService._connection.select({\r\n from: 'User',\r\n where: {\r\n UserName: {regex: new RegExp(user.userName, 'i') }, //regex to ignore case\r\n OrganizationName:{ regex:new RegExp(user.organization.name, 'i') },\r\n Password :btoa(user.password),\r\n url:user.url\r\n }\r\n });\r\n var userDetails: User;\r\n if(_user != null && _user.length >0){\r\n userDetails = new User();\r\n userDetails.id=_user[0]['Id']\r\n userDetails.userName = _user[0]['UserName'];\r\n userDetails.firstName = _user[0]['FirstName'];\r\n userDetails.lastName = _user[0]['LastName'];\r\n userDetails.organization.id = _user[0]['OrganizationId'];\r\n userDetails.organization.name = _user[0]['OrganizationName'];\r\n userDetails.code = _user[0]['Code'];\r\n userDetails.company.code =_user[0]['CompanyCode'];\r\n userDetails.token =_user[0]['token'];\r\n userDetails.languagePreference=_user[0]['languagePreference'];\r\n userDetails.organization.expiry=_user[0]['OrganizationExpiry'];\r\n userDetails.organization.notificationBeforeDays=_user[0]['NotificationBeforeDays'];\r\n userDetails.organization.features=_user[0]['OrganizationFeatures'];\r\n if(_user[0]['RoleId'] > 0){\r\n userDetails.roles= new Array();\r\n var role= new Role();\r\n role.id= _user[0]['RoleId'];\r\n role.isSystem=_user[0]['IsSystemRole'];\r\n userDetails.roles.push(role);\r\n }\r\n }\r\n\r\n return userDetails;\r\n }\r\n //this method will check and return user exists\r\n async getIsUserExistsInIndexDB(user:User) {\r\n var _user: Array = await this.jSStoreDBService._connection.select({\r\n from: 'User',\r\n where: {\r\n UserName: user.userName,\r\n OrganizationName: user.organization.name,\r\n Password :btoa(user.password)\r\n }\r\n });\r\n var isexistinguser: boolean=false;;\r\n if(_user != null && _user.length >0){\r\n isexistinguser=true;\r\n }\r\n return isexistinguser;\r\n}\r\n\r\n\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Project } from 'src/shared/Models/API/Project';\r\nimport { Role } from 'src/shared/Models/API/role';\r\nimport { User } from 'src/shared/Models/user';\r\nimport { JSStoreDBService } from './jsstoredbservice.service';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ProjectJSStoreService {\r\n \r\n\r\n constructor(private jSStoreDBService :JSStoreDBService) { }\r\n\r\n public AddTimezones():void {\r\n var timezones: Array = this.jSStoreDBService._connection.select({\r\n from: 'Timezones',\r\n });\r\n \r\n\r\n }\r\n\r\n public AddProjects(_projects:Array):void{\r\n for(let i=0; i<_projects.length; i++){\r\n var project : object ={\r\n ProjectId:_projects[i].id,\r\n Name:_projects[i].name,\r\n Code:_projects[i].code,\r\n Description:_projects[i].description,\r\n Permissions:_projects[i].role.permissions,\r\n IsSystem:_projects[i].role.isSystem,\r\n RoleId:_projects[i].role.id,\r\n NoOfDigitsToIgnore:_projects[i].noOfDigitsToIgnore,\r\n NoOfDigitsToIdentify:_projects[i].noOfDigitsToIdentify,\r\n offset:_projects[i].timezone != null ? _projects[i].timezone.offset:0\r\n }\r\n this.jSStoreDBService._connection.insert({\r\n into: 'Project',\r\n upsert:true,\r\n values: [project],\r\n return:true\r\n });\r\n }\r\n }\r\n\r\n async getProjects():Promise {\r\n var _projects: Array = await this.jSStoreDBService._connection.select({\r\n from: 'Project',\r\n });\r\n\r\n var projects: Array;\r\n if(_projects!=null && _projects.length>0)\r\n {\r\n projects= new Array();\r\n for(let i=0; i<_projects.length; i++){\r\n var project:Project= new Project();\r\n project.id=_projects[i]['ProjectId'];\r\n project.name=_projects[i]['Name'];\r\n project.code=_projects[i]['Code'];\r\n project.description=_projects[i]['Description'];\r\n project.role= new Role();\r\n project.role.id=_projects[i]['RoleId'];\r\n project.role.isSystem=_projects[i]['IsSystem'];\r\n project.role.permissions=_projects[i]['Permissions'];\r\n project.noOfDigitsToIgnore=_projects[i]['NoOfDigitsToIgnore'];\r\n project.noOfDigitsToIdentify=_projects[i]['NoOfDigitsToIdentify'];\r\n projects.push(project);\r\n }\r\n }\r\n return projects;\r\n }\r\n async getProject(projectId:number):Promise {​\r\n var _projects: Array = await this.jSStoreDBService._connection.select({​\r\n from: 'Project',\r\n where: {\r\n ProjectId: projectId,\r\n }\r\n }​);\r\n var _user: Array = await this.jSStoreDBService._connection.select({\r\n from: 'User'\r\n });\r\n var project:Project= new Project();\r\n project.role= new Role();\r\n if(_projects!=null && _projects.length>0)\r\n {​\r\n project.id=_projects[0]['ProjectId'];\r\n project.name=_projects[0]['Name'];\r\n project.code=_projects[0]['Code'];\r\n project.description=_projects[0]['Description'];\r\n project.role.id=_projects[0]['RoleId'];\r\n project.role.isSystem=_projects[0]['IsSystem'];\r\n project.role.permissions=_projects[0]['Permissions'];\r\n project.path=_user[0]['OrganizationId']+'/'+_projects[0]['ProjectId']+'_'+_user[0]['OrganizationName']+'/'+_projects[0]['Name'];\r\n project.noOfDigitsToIgnore=_projects[0]['NoOfDigitsToIgnore'];\r\n project.noOfDigitsToIdentify=_projects[0]['NoOfDigitsToIdentify'];\r\n }​\r\n return project;\r\n }​\r\n\r\nasync ClearProjectsTable()\r\n{\r\n this.jSStoreDBService._connection.clear('Project');\r\n}\r\n\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Space, SpaceHistory } from 'src/shared/Models/space';\r\nimport { JSStoreDBService } from './jsstoredbservice.service';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class SpaceJSStoreService {\r\n\r\n constructor(private jSStoreDBService :JSStoreDBService) { }\r\n\r\n public AddSpaces(_spaces:Array):void{\r\n for(let i=0; i<_spaces.length; i++){\r\n var space : object ={\r\n Id:_spaces[i].id,\r\n ProjectId:_spaces[i].projectId,\r\n Name:_spaces[i].history[0].spaceName,\r\n Code:_spaces[i].code.toLowerCase(),\r\n }\r\n this.jSStoreDBService._connection.insert({\r\n into: 'Space',\r\n upsert:true,\r\n values: [space],\r\n return:true\r\n });\r\n }\r\n }\r\n async ClearSpacesTable()\r\n{\r\n this.jSStoreDBService._connection.clear('Space');\r\n}\r\nasync getSpaceDetails(projectId:number,code:string):Promise {​\r\n var _spaces: Array = await this.jSStoreDBService._connection.select({​\r\n from: 'Space',\r\n where: {\r\n ProjectId: projectId,\r\n Code: code,\r\n }\r\n }​);\r\n\r\n var space:Space= new Space();\r\n space.history= new Array();\r\n var history= new SpaceHistory();\r\n if(_spaces!=null && _spaces.length>0)\r\n {​\r\n space.id=_spaces[0]['Id'];\r\n space.code=_spaces[0]['Code'];\r\n history.spaceName=_spaces[0]['Name']\r\n space.history.push(history);\r\n }​\r\n return space;\r\n}​\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { AuthService } from 'src/app/modules/authentication/auth.service';\r\nimport { ClonerService } from 'src/app/modules/shared/services/cloner.service';\r\nimport { CheckList } from 'src/shared/Models/API/checklist';\r\nimport { CheckListChecks } from 'src/shared/Models/API/checklist-check';\r\nimport { CheckListTagModel } from 'src/shared/Models/API/checkListTagModel';\r\nimport { Project } from 'src/shared/Models/API/Project';\r\nimport { Ticket, TicketStatus } from 'src/shared/Models/API/Ticket';\r\nimport { UserChecklist } from 'src/shared/Models/API/user-checklist';\r\nimport { Asset } from 'src/shared/Models/Asset';\r\nimport { BlobFile } from 'src/shared/Models/Internal/BlobFileModel';\r\nimport { IRTemplate } from 'src/shared/Models/onm/onm.models';\r\nimport { Space } from 'src/shared/Models/space';\r\nimport { User } from 'src/shared/Models/user';\r\nimport { BlobUtil } from 'src/shared/utilities/BlobUtil';\r\nimport { CheckTypes } from 'src/shared/utilities/Constants';\r\nimport { FileUtil } from 'src/shared/utilities/FileUtil';\r\nimport { FileStorageService } from '../../file-storage.service';\r\nimport { MobileSyncService } from '../../mobilesync.service';\r\nimport { AssetJSStoreService } from './asset-jsstore.service';\r\nimport { ChecklistJsstoreService } from './checklist-jsstore.service';\r\nimport { JSStoreDBService } from './jsstoredbservice.service';\r\nimport { LoginJSStoreService } from './login-jsstore.service';\r\nimport { ProjectJSStoreService } from './project-jsstore.service';\r\nimport { SpaceJSStoreService } from './space-jsstore.service';\r\nimport { TicketJSStoreService } from './ticket-jsstore.service';\r\nimport { UserJsstoreService } from './user-jsstore.service';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class SyncJsstoreService {\r\n public sasToken: string = '';\r\n constructor(private jSStoreDBService: JSStoreDBService,\r\n private toaster:ToastrService,\r\n private translate:TranslateService,\r\n private checklistJsstoreService:ChecklistJsstoreService,\r\n private mobileSyncService:MobileSyncService,\r\n private fileStorageService:FileStorageService,\r\n private cloneService:ClonerService,private projectJSStoreService:ProjectJSStoreService,\r\n private userJsStoreService:UserJsstoreService,private authService:AuthService,\r\n private spaceJSStoreService:SpaceJSStoreService,\r\n private assetJSStoreService:AssetJSStoreService,\r\n private ticketJSStoreService:TicketJSStoreService) { }\r\n public async syncUserChecklistsFromIndexDbToServer(user:User,issyncfromserverDb:boolean)\r\n {\r\n if(user && user.id>0)\r\n {\r\n var _userchecklists:Array =await this.checklistJsstoreService.getAllUserChecklistsforSync(user.id);\r\n if(_userchecklists && _userchecklists.length>0)\r\n {\r\n var isDocumentChanged = false;\r\n _userchecklists.forEach(uc=>{\r\n uc.checkModels.forEach(element => {\r\n if(element.IsDocumentUpdated)\r\n {\r\n isDocumentChanged=true;\r\n return false;\r\n }\r\n });\r\n });\r\n if(isDocumentChanged){\r\n //cloning user checklist as uploading files to blob is async , meanwhile it will be changed\r\n var clonedUserChecklists:Array= new Array();\r\n _userchecklists.forEach(uc=>{\r\n clonedUserChecklists.push(Object.assign(new UserChecklist(),uc));\r\n });\r\n this.fileStorageService.getSasToken().subscribe((response: any): void => {\r\n if (response){\r\n this.uploadDocumentsToBlob(clonedUserChecklists,response)\r\n }\r\n });\r\n }\r\n\r\n var isUpdateResponse:boolean= false;\r\n _userchecklists.forEach(userChecklist=>{\r\n //cloning by iterating array as deepclone, not copy blob content\r\n var clonedResponse:Array = new Array();\r\n userChecklist.checkModels.forEach(check=>{\r\n clonedResponse.push(Object.assign(new CheckListChecks(),check));\r\n });\r\n this.mobileSyncService.syncUserChecklist(user.id,userChecklist).subscribe((res:UserChecklist)=>{\r\n if(res)\r\n {\r\n if(userChecklist.id ==-1) isUpdateResponse =true;\r\n userChecklist.id=res.id;\r\n userChecklist.name=res.name;//this is bcz if naming rule exists\r\n userChecklist.checkModels= res.checkModels;\r\n clonedResponse.forEach(element => {\r\n var documentCheck= userChecklist.checkModels.find(x=>x.type==element.type\r\n && element.type==CheckTypes.DOCUMENT && x.answer==element.answer);\r\n if(documentCheck!=null)\r\n documentCheck.documentContent = element.documentContent;\r\n if(element.checkValues!=null && element.checkValues.length>0)\r\n {\r\n this.checklistJsstoreService.removeChecklistResponseListValues(element.id);\r\n }\r\n });\r\n this.checklistJsstoreService.UpdatesyncedUserChecklist(userChecklist,isUpdateResponse);\r\n }\r\n },err=>\r\n {\r\n this.handleError(err);\r\n });\r\n });\r\n //after syncing userchecklistfrom indexdb to server then get latest from server\r\n if(issyncfromserverDb)\r\n {\r\n this.syncUserChecklists(user);\r\n }\r\n }\r\n else{\r\n //if nothing to sync from index to server then get latest from server\r\n if(issyncfromserverDb)\r\n {\r\n this.syncUserChecklists(user);\r\n }\r\n }\r\n}\r\n}\r\n /* Start: handle errors */\r\n public handleError(err: any): void {\r\n var title:string = this.translate.instant('Settings.CommonLabel.lblError');\r\n if (err && err.error && err.error.errorMessage) {\r\n this.toaster.error(err.error.errorMessage, title);\r\n } else {\r\n this.toaster.error(this.translate.instant('mobileApp.UserChekclistSyncError'),title);\r\n }\r\n }\r\n/* End: handle errors */\r\n\r\npublic uploadDocumentsToBlob(userChecklists:Array, response:any){\r\n var url : string =\"\"\r\n var blobUtil : BlobUtil= new BlobUtil();\r\n var fileUtil: FileUtil= new FileUtil();\r\n userChecklists.forEach(uc=>{\r\n var documentChecks : Array= uc.checkModels.filter(check=>check.type == CheckTypes.DOCUMENT && check.answer!='' && check.IsDocumentUpdated)\r\n if(documentChecks!=null && documentChecks.length>0)\r\n {\r\n documentChecks.forEach(doc=>{\r\n var blobId: string = doc.answer;\r\n var tempFile: BlobFile = new BlobFile();\r\n var sasUrl = response.baseURL + \"?\" + response.blobSASToken;\r\n //var file :File = new File([doc.documentContent], doc.answer);\r\n var file = this.blobToFile(doc.documentContent, doc.documentName);\r\n tempFile.setFile(file);\r\n tempFile.setSASUrl(sasUrl);\r\n tempFile.setGUID(blobId);\r\n tempFile = fileUtil.createBlobFileObjectForSync(tempFile);\r\n this.fileStorageService.uploadFileInBlocks(tempFile, (uploadedFile: BlobFile) => {\r\n //upload completed\r\n // console.log(uploadedFile);\r\n }, () => {\r\n //upload failure\r\n });\r\n });\r\n }\r\n });\r\n}\r\npublic blobToFile = (theBlob: Blob, fileName:string): File => {\r\n var b: any = theBlob;\r\n //A Blob() is almost a File() - it's just missing the two properties below which we will add\r\n b.lastModifiedDate = new Date();\r\n b.name = fileName;\r\n\r\n //Cast to a File() type\r\n return theBlob;\r\n}\r\n\r\nasync StartSynchronization(user:User)\r\n{\r\n if(user && user.id>0)\r\n {\r\n this.SyncUserFromIndexDBToServer(user);\r\n this.syncUserChecklistsFromIndexDbToServer(user,true);\r\n this.syncTickets(user);\r\n this.syncProjects(user);\r\n this.syncChecklistTags(user);\r\n this.syncChecklists(user);\r\n this.syncSpaces(user);\r\n this.syncAssets(user);\r\n this.syncIRTemplates(user);\r\n this.syncFlowStatuses(user);\r\n this.syncTimezones();\r\n }\r\n}\r\nsyncTimezones()\r\n{\r\n this.projectJSStoreService.AddTimezones();\r\n}\r\n\r\nsyncProjects(user:User)\r\n{\r\n this.mobileSyncService.GetProjects(user.id).subscribe((_projects:Array)=>{\r\n if(_projects)\r\n {\r\n this.projectJSStoreService.ClearProjectsTable();//this may be need to remove when we find partial update\r\n this.projectJSStoreService.AddProjects(_projects);\r\n }\r\n }, error => {\r\n });\r\n}\r\nsyncChecklistTags(user:User)\r\n{\r\n this.mobileSyncService.GetChecklistTags(user.id).subscribe((_checklisttags:Array)=>{\r\n if(_checklisttags)\r\n {\r\n this.checklistJsstoreService.Clear('ChecklistTags');\r\n this.checklistJsstoreService.addChecklistTags(_checklisttags,user.id);\r\n }\r\n }, error => {\r\n });\r\n}\r\nsyncChecklists(user:User)\r\n{\r\n this.mobileSyncService.GetChecklists(user.id).subscribe((_checklists:Array)=>{\r\n if(_checklists)\r\n {\r\n this.checklistJsstoreService.Clear('Checks');\r\n this.checklistJsstoreService.Clear('Check_List_Values');\r\n this.checklistJsstoreService.addChecklistTemplate(_checklists,null);\r\n }\r\n });\r\n}\r\n\r\n\r\nasync syncUserChecklists(user:User)\r\n{\r\n await this.checklistJsstoreService.ClearUserChecklistsFromIndexDB(user.id);\r\n this.mobileSyncService.GetUserChecklists(user.id).subscribe((_userchecklists:Array)=>{\r\n if(_userchecklists)\r\n {\r\n this.checklistJsstoreService.addUserChecklists(_userchecklists,user.id);\r\n }\r\n });\r\n}\r\n\r\n\r\npublic async SyncUserFromIndexDBToServer(_user:User){\r\n this.userJsStoreService.getUser(_user.id).then((user:User)=>{\r\n //if user exist in indexdb and details modified then sync to server DB\r\n if(user.isModified){\r\n this.mobileSyncService.syncUser(user.id,user).subscribe(()=>{\r\n //after updating in server DB, set is Modified to false\r\n this.userJsStoreService.UpdateUser(user,false)\r\n //setting language preference from indexdb userdetails to passed user parameter\r\n //as passed user token might be different when this function calling soon after login\r\n _user.languagePreference= user.languagePreference;\r\n this.authService.storeToken(_user);\r\n\r\n });\r\n }\r\n });\r\n }\r\n\r\n\r\n // start syncing spaces and tickets base tables\r\n async syncSpaces(user:User)\r\n {\r\n this.mobileSyncService.GetSpaces(user.id).subscribe((_spaces:Array)=>{\r\n if(_spaces)\r\n {\r\n this.spaceJSStoreService.ClearSpacesTable();\r\n this.spaceJSStoreService.AddSpaces(_spaces);\r\n }\r\n });\r\n }\r\n async syncAssets(user:User)\r\n {\r\n this.mobileSyncService.GetAssets(user.id).subscribe((_assets:Array)=>{\r\n if(_assets)\r\n {\r\n this.assetJSStoreService.ClearAssetsTable();\r\n this.assetJSStoreService.AddAssets(_assets);\r\n }\r\n });\r\n }\r\n\r\n async syncIRTemplates(user:User)\r\n {\r\n this.mobileSyncService.GetIRTemplates(user.id).subscribe((_irTemplates:Array)=>{\r\n if(_irTemplates)\r\n {\r\n this.ticketJSStoreService.ClearIRTemplatesTable();\r\n this.ticketJSStoreService.AddIrTemplates(_irTemplates);\r\n }\r\n });\r\n }\r\n async syncFlowStatuses(user:User)\r\n {\r\n this.mobileSyncService.GetFlowStatuses(user.id).subscribe((_statuses:Array)=>{\r\n if(_statuses)\r\n {\r\n this.ticketJSStoreService.ClearStatusesTable();\r\n this.ticketJSStoreService.AddStatuses(_statuses);\r\n }\r\n });\r\n }\r\n //end syncing spaces and tickets base tables\r\n\r\n\r\n //syncing tickets starts\r\n public async syncTickets(user:User)\r\n {\r\n if(user && user.id>0)\r\n {\r\n var _tickets:Array =await this.ticketJSStoreService.getAllTicketsforSync(user.id);\r\n if(_tickets && _tickets.length>0)\r\n {\r\n await this.fillSASToken();\r\n _tickets.forEach((_ticket:Ticket)=>\r\n {\r\n if(_ticket.ticketHistories[0] && _ticket.ticketHistories[0].attachments.length>0)\r\n {\r\n this.uploadAttachmentsToBlob(_ticket.ticketHistories[0].attachments)\r\n }\r\n });\r\n this.mobileSyncService.syncTickets(user.id,_tickets).subscribe((_restickets:Array)=>{\r\n if(_restickets)\r\n {\r\n //here we need to remove from index DB\r\n _restickets.forEach((resticket:Ticket)=>{\r\n var ticketid=_tickets.find(x=>x.title==resticket.title && x.projectId==resticket.projectId);\r\n if(ticketid!=null)\r\n {\r\n this.ticketJSStoreService.removeSyncedTicket(ticketid.id)\r\n }\r\n });\r\n }\r\n });\r\n }\r\n }\r\n }\r\n\r\nasync uploadAttachmentsToBlob(_attachments:Array)\r\n{\r\n\r\n var fileUtil: FileUtil= new FileUtil();\r\n _attachments.forEach((tempFile:BlobFile)=>{\r\n tempFile.setSASUrl(this.sasToken);\r\n tempFile = fileUtil.createBlobFileObjectForSync(tempFile);\r\n this.fileStorageService.uploadFileInBlocks(tempFile, (uploadedFile: BlobFile) => {\r\n //upload completed\r\n // console.log(uploadedFile);\r\n }, () => {\r\n //upload failure\r\n });\r\n });\r\n}\r\nprivate fillSASToken(): void {\r\n this.fileStorageService.getSasToken().subscribe((response: any): void => {\r\n if (response)\r\n this.sasToken = response.baseURL + '?' + response.blobSASToken;\r\n })\r\n}\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { tick } from '@angular/core/testing';\r\nimport { Ticket, TicketFlow, TicketHistory, TicketStatus } from 'src/shared/Models/API/Ticket';\r\nimport { Asset, AssetGroup } from 'src/shared/Models/Asset';\r\nimport { BlobFile } from 'src/shared/Models/Internal/BlobFileModel';\r\nimport { ContactCenter, IRTemplate } from 'src/shared/Models/onm/onm.models';\r\nimport { Space } from 'src/shared/Models/space';\r\nimport { SpaceGroup } from 'src/shared/Models/space-group';\r\nimport { SystemTicketTag } from 'src/shared/Models/SystemTicketTag';\r\nimport { User } from 'src/shared/Models/user';\r\nimport { IRType } from 'src/shared/UI/SpaceDetailsViewType';\r\nimport { FileUtil } from 'src/shared/utilities/FileUtil';\r\nimport { JSStoreDBService } from './jsstoredbservice.service';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class TicketJSStoreService {\r\n public fileutil:FileUtil= new FileUtil();\r\n constructor(private jSStoreDBService :JSStoreDBService) { }\r\n\r\n public AddIrTemplates(_irTemplates:Array):void{\r\n for(let i=0; i<_irTemplates.length; i++){\r\n //filtering spaces and assets from templates and adding as spaces array and assets array to IR template Object;\r\n var spaces:Array= new Array();\r\n var assets:Array= new Array();\r\n if( _irTemplates[i].spaceGroups && _irTemplates[i].spaceGroups.length>0)\r\n {\r\n _irTemplates[i].spaceGroups.forEach((group:SpaceGroup)=>{\r\n if(group.spaces)\r\n {\r\n group.spaces.forEach((space:Space)=>{\r\n if(!spaces.includes(space.id))\r\n {\r\n spaces.push(space.id);\r\n }\r\n });\r\n }\r\n });\r\n }\r\n if( _irTemplates[i].assetGroups && _irTemplates[i].assetGroups.length>0)\r\n {\r\n _irTemplates[i].assetGroups.forEach((group:AssetGroup)=>{\r\n if(group.assets)\r\n {\r\n group.assets.forEach((asset:Asset)=>{\r\n if(!assets.includes(asset.id))\r\n {\r\n assets.push(asset.id);\r\n }\r\n });\r\n }\r\n });\r\n }\r\n\r\n var template : object ={\r\n Id:_irTemplates[i].id,\r\n Name:_irTemplates[i].name,\r\n FlowId:_irTemplates[i].ticketFlow.id,\r\n isDeactivated:_irTemplates[i].ticketFlow.isDeactivated,\r\n Description:_irTemplates[i].ticketFlow.description,\r\n ContactCenterId:_irTemplates[i].contactCenter.id,\r\n ContactCenterName:_irTemplates[i].contactCenter.name,\r\n ProjectId:_irTemplates[i].projectId,\r\n Spaces:spaces,\r\n Assets:assets\r\n }\r\n this.jSStoreDBService._connection.insert({\r\n into: 'IrTemplate',\r\n values: [template],\r\n return:true\r\n });\r\n }\r\n }\r\n\r\n public AddStatuses(_statuses:Array):void{\r\n for(let i=0; i<_statuses.length; i++){\r\n var status : object ={\r\n Id:_statuses[i].id,\r\n Name:_statuses[i].name,\r\n FlowId:_statuses[i].ticketFlowId,\r\n StatusPropertyId:_statuses[i].statusProperty,\r\n }\r\n this.jSStoreDBService._connection.insert({\r\n into: 'Statuses',\r\n upsert:true,\r\n values: [status],\r\n return:true\r\n });\r\n }\r\n }\r\n\r\n\r\n async ClearIRTemplatesTable()\r\n {\r\n this.jSStoreDBService._connection.clear('IrTemplate');\r\n }\r\n async ClearStatusesTable()\r\n {\r\n this.jSStoreDBService._connection.clear('Statuses');\r\n }\r\n\r\n async getIrTemplates(projectId:number,id:number,type:IRType):Promise {​\r\n var _irTemplates:Array =null;\r\n if(type==IRType.NONE)\r\n {\r\n _irTemplates = await this.jSStoreDBService._connection.select({​\r\n from: 'IrTemplate',\r\n where: {\r\n ProjectId: projectId,\r\n }\r\n }​);\r\n }\r\n if(type==IRType.SPACE)\r\n {\r\n _irTemplates = await this.jSStoreDBService._connection.select({​\r\n from: 'IrTemplate',\r\n where: {\r\n Spaces:id,\r\n ProjectId: projectId\r\n }\r\n }​);\r\n }\r\n if(type==IRType.ASSET)\r\n {\r\n _irTemplates = await this.jSStoreDBService._connection.select({​\r\n from: 'IrTemplate',\r\n where: {\r\n Assets:id,\r\n ProjectId: projectId\r\n }\r\n }​);\r\n }\r\n\r\n var _templates: Array = new Array();\r\n if (_irTemplates != null && _irTemplates.length > 0) {\r\n _irTemplates.forEach((template: object) => {\r\n var irtemplate:IRTemplate= new IRTemplate();\r\n irtemplate.id = template['Id'];\r\n irtemplate.name = template['Name'];\r\n irtemplate.ticketFlow= new TicketFlow();\r\n irtemplate.ticketFlow.id=template['FlowId'];\r\n irtemplate.ticketFlow.description=template['Description'];\r\n irtemplate.contactCenter= new ContactCenter();\r\n irtemplate.contactCenter.id=template['ContactCenterId'];\r\n irtemplate.contactCenter.name=template['ContactCenterName'];\r\n irtemplate.ticketFlow.isDeactivated=template['isDeactivated'];\r\n _templates.push(irtemplate);\r\n });\r\n }\r\n return _templates;\r\n }\r\n async getFlowStatuses(flowId:number):Promise {​\r\n var _statuses: Array = await this.jSStoreDBService._connection.select({​\r\n from: 'Statuses',\r\n where: {\r\n FlowId: flowId\r\n }\r\n }​);\r\n\r\n var _ticketStatuses: Array = new Array();\r\n if (_statuses != null && _statuses.length > 0) {\r\n _statuses.forEach((status: object) => {\r\n var ticketStatus:TicketStatus= new TicketStatus();\r\n ticketStatus.id = status['Id'];\r\n ticketStatus.name = status['Name'];\r\n ticketStatus.statusProperty= status['StatusPropertyId'];\r\n _ticketStatuses.push(ticketStatus);\r\n });\r\n }\r\n return _ticketStatuses;\r\n }\r\n\r\n\r\n //get tickets part\r\n async getAllTicketsforSync(userId:number):Promise> {\r\n var _tickets: Array = await this.jSStoreDBService._connection.select({\r\n from: 'Ticket',\r\n where: {\r\n UserId:userId,\r\n Synced: 0,\r\n }\r\n });\r\n var rettickets: Array = new Array();\r\n if (_tickets != null && _tickets.length > 0) {\r\n var ticket: Ticket;\r\n for (let i = 0; i < _tickets.length; i++) {\r\n ticket = new Ticket();\r\n ticket.systemTicketTag= new SystemTicketTag();\r\n ticket.ticketHistories= new Array();\r\n ticket.id = _tickets[i]['Id'];\r\n ticket.name=_tickets[i]['Name'];\r\n ticket.ticketFlow.id=_tickets[i]['FlowId'];\r\n ticket.ticketFlow.tag.id=_tickets[i]['TagId'];\r\n ticket.systemTicketTag.id=_tickets[i]['TagId'];\r\n ticket.title=_tickets[i][\"Title\"];\r\n ticket.priority=_tickets[i][\"Priority\"];\r\n ticket.assignedToType=_tickets[i][\"AssignedToType\"];\r\n ticket.assignedToName=_tickets[i][\"AssignedToName\"];\r\n ticket.assignedToId=_tickets[i][\"AssignedToId\"];\r\n ticket.projectId=_tickets[i][\"ProjectId\"];\r\n if(_tickets[i][\"SpaceId\"]!=null)\r\n {\r\n ticket.space= new Space();\r\n ticket.space.id= _tickets[i][\"SpaceId\"];\r\n }\r\n if(_tickets[i][\"AssetId\"]!=null)\r\n {\r\n ticket.asset= new Asset();\r\n ticket.asset.id= _tickets[i][\"AssetId\"];\r\n }\r\n ticket.assignedBy= new User();\r\n ticket.assignedBy.id=_tickets[i][\"UserId\"];\r\n ticket.openDate=_tickets[i]['OpenDate'];\r\n\r\n var history:TicketHistory=new TicketHistory();\r\n history.notes=_tickets[i]['Notes'];\r\n history.ticketStatus= new TicketStatus();\r\n history.ticketStatus.id=_tickets[i]['StatusId'];\r\n history.modifiedDate=_tickets[i]['OpenDate'];\r\n history.modifiedUser= new User();\r\n history.modifiedUser.id=_tickets[i][\"UserId\"];\r\n history.attachments=await this.getTicketAttachmentsforSync(ticket.id);\r\n ticket.ticketHistories.push(history);\r\n rettickets.push(ticket);\r\n }\r\n }\r\n return rettickets;\r\n }\r\n\r\n async getTicketAttachmentsforSync(ticketid: number) {\r\n var _response: Array = await this.jSStoreDBService._connection.select({\r\n from: 'Ticket_Attachments',\r\n where: {\r\n TicketId: ticketid,\r\n }\r\n });\r\n var attachments: Array = new Array();\r\n if (_response != null && _response.length > 0) {\r\n var tempFile: BlobFile;\r\n for (let i = 0; i < _response.length; i++) {\r\n tempFile = new BlobFile();\r\n tempFile.setFileName(_response[i][\"FileName\"]);\r\n tempFile.setFile(this.fileutil.blobToFile(_response[i][\"FileContent\"],_response[i][\"FileName\"]));//setting blob to file again back\r\n tempFile.setSize(_response[i][\"FileSize\"]);\r\n tempFile.setGUID(_response[i][\"BlobId\"]);\r\n attachments.push(tempFile);\r\n }\r\n }\r\n return attachments;\r\n }\r\n\r\n\r\n\r\n //save part\r\n async saveticket(projectId:number,tickets:Array,_attachments:Array){\r\n for(let i=0; i0)?tickets[i].space.id:null,\r\n AssetId:(tickets[i].asset && tickets[i].asset.id>0)?tickets[i].asset.id:null,\r\n UserId:tickets[i].assignedBy.id,\r\n StatusId:tickets[i].ticketHistories[0].ticketStatus.id,\r\n Notes:tickets[i].ticketHistories[0].notes,\r\n OpenDate:tickets[i].openDate,\r\n ProjectId:projectId,\r\n Synced:0\r\n }\r\n var insertedticket = await this.jSStoreDBService._connection.insert({\r\n into: 'Ticket',\r\n upsert:true,\r\n values: [_ticket],\r\n return: true\r\n });\r\n\r\n // saving each attachments of a ticket\r\n this.saveticketAttachments(insertedticket[0].Id,_attachments);\r\n }\r\n }\r\n\r\n saveticketAttachments(ticketid:number,_attachments:Array){\r\n if (_attachments && _attachments.length > 0) {\r\n\r\n for (let i = 0; i < _attachments.length; i++) {\r\n var fileContent: Blob = new Blob([_attachments[i].file] as any,{type : _attachments[i].file.type});\r\n var _ticketattachment = {\r\n TicketId: ticketid,\r\n FileName: _attachments[i].getFileName(),\r\n FileSize:_attachments[i].getSize(),\r\n FileContent:fileContent,\r\n BlobId:_attachments[i].getGUID()\r\n }\r\n this.jSStoreDBService._connection.insert({\r\n into: 'Ticket_Attachments',\r\n values: [_ticketattachment],\r\n return: true\r\n });\r\n\r\n }\r\n }\r\n }\r\n\r\nasync ClearAllTicketTables()\r\n{\r\n this.Clear('IrTemplate');\r\n this.Clear('Statuses');\r\n}\r\nasync Clear(table_name)\r\n{\r\n this.jSStoreDBService._connection.clear(table_name);\r\n}\r\n\r\nasync removeSyncedTicket(ticketid:number)\r\n{\r\n this.jSStoreDBService._connection.remove({\r\n from: \"Ticket\",\r\n where: {\r\n Id: ticketid }\r\n });\r\n this.jSStoreDBService._connection.remove({\r\n from: \"Ticket_Attachments\",\r\n where: {\r\n TicketId: ticketid }\r\n });\r\n}\r\n\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Role } from 'src/shared/Models/API/role';\r\nimport { User } from 'src/shared/Models/user';\r\nimport { JSStoreDBService } from './jsstoredbservice.service';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class UserJsstoreService {\r\n\r\n constructor(private jSStoreDBService:JSStoreDBService) { }\r\n //to update language prefernece in offline mode\r\n async UpdateUser(user:User,isModified:boolean):Promise {\r\n this.jSStoreDBService._connection.update({\r\n in: \"User\",\r\n set: {\r\n languagePreference:user.languagePreference,\r\n isModified: isModified\r\n },\r\n where: { Id: user.id}\r\n });\r\n }\r\n \r\nasync getUser(userId:number):Promise {\r\n var _user: Array = await this.jSStoreDBService._connection.select({\r\n from: 'User',\r\n where: {\r\n Id: userId\r\n }\r\n });\r\n var userDetails: User;\r\n if(_user != null && _user.length >0){\r\n userDetails = new User();\r\n userDetails.id=_user[0]['Id']\r\n userDetails.userName = _user[0]['UserName'];\r\n userDetails.firstName = _user[0]['FirstName'];\r\n userDetails.lastName = _user[0]['LastName'];\r\n userDetails.organization.id = _user[0]['OrganizationId'];\r\n userDetails.organization.name = _user[0]['OrganizationName'];\r\n userDetails.code = _user[0]['Code'];\r\n userDetails.company.code =_user[0]['CompanyCode'];\r\n userDetails.token =_user[0]['token'];\r\n userDetails.languagePreference=_user[0]['languagePreference'];\r\n userDetails.organization.expiry=_user[0]['OrganizationExpiry'];\r\n userDetails.organization.notificationBeforeDays=_user[0]['NotificationBeforeDays'];\r\n userDetails.organization.features=_user[0]['OrganizationFeatures'];\r\n if(_user[0]['RoleId'] > 0){\r\n userDetails.roles= new Array();\r\n var role= new Role();\r\n role.id= _user[0]['RoleId'];\r\n role.isSystem=_user[0]['IsSystemRole'];\r\n userDetails.roles.push(role);\r\n }\r\n userDetails.isModified=_user[0]['isModified'];\r\n }\r\n\r\n return userDetails;\r\n}\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { BehaviorSubject, Observable } from 'rxjs';\r\nimport { MainView } from 'src/shared/UI/ViewTypes';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class MenuService {\r\n private mainMenu = new BehaviorSubject(null);\r\n constructor() { }\r\n\r\n emitMainViewSelection(event: MainView) {\r\n this.mainMenu.next(event);\r\n }\r\n\r\n mainViewObservable(): Observable {\r\n return this.mainMenu.asObservable();\r\n }\r\n\r\n}\r\n","import { Injectable, Injector } from \"@angular/core\";\r\nimport { HttpClient } from \"@angular/common/http\";\r\nimport { Observable } from 'rxjs';\r\nimport { environment } from '../../environments/environment';\r\nimport { BaseService } from \"./base-service\";\r\nimport { Project } from \"src/shared/Models/API/Project\";\r\nimport { ChecklistTag } from \"src/shared/Models/API/checkListTag\";\r\nimport { CheckList } from \"src/shared/Models/API/checklist\";\r\nimport { UserChecklist } from \"src/shared/Models/API/user-checklist\";\r\nimport { CheckListTagModel } from \"src/shared/Models/API/checkListTagModel\";\r\nimport { User } from \"src/shared/Models/user\";\r\nimport { Space } from \"src/shared/Models/space\";\r\nimport { Asset } from \"src/shared/Models/Asset\";\r\nimport { IRTemplate } from \"src/shared/Models/onm/onm.models\";\r\nimport { Ticket, TicketStatus } from \"src/shared/Models/API/Ticket\";\r\nimport { DateUtil } from \"src/shared/utilities/dateUtil\";\r\n\r\n@Injectable({ providedIn: \"root\", })\r\n\r\nexport class MobileSyncService {\r\n private appURL: string ='/Sync'\r\n\r\n private apiURL: string = null;\r\n dateUtil: DateUtil= new DateUtil();\r\n constructor(private httpClient: HttpClient) {\r\n this.apiURL = environment.WebAPIURL;\r\n }\r\n\r\n GetProjects(userid:number): Observable> {\r\n return this.httpClient.get>(this.apiURL+this.appURL + '/' + userid + '/Projects');\r\n }\r\n\r\n GetChecklistTags(userid:number): Observable> {\r\n return this.httpClient.get>(this.apiURL+this.appURL + '/' + userid + '/ChecklistTags');\r\n }\r\n\r\n GetChecklists(userid:number): Observable> {\r\n return this.httpClient.get>(this.apiURL+this.appURL + '/' + userid + '/Checklists');\r\n }\r\n\r\n GetUserChecklists(userid:number): Observable> {\r\n return this.httpClient.get>(this.apiURL+this.appURL + '/' + userid + '/UserChecklists');\r\n }\r\n\r\n syncUserChecklist(userid:number,_userchecklists:UserChecklist): Observable\r\n {\r\n return this.httpClient.post(this.apiURL+this.appURL + '/' + userid + '/UserChecklist?_dateOffset=' + this.dateUtil.getOffset(),_userchecklists);\r\n }\r\n\r\n syncUser(userid:number,_user:User){\r\n return this.httpClient.put(this.apiURL+this.appURL + '/' + userid+'/User' ,_user);\r\n }\r\n\r\n GetSpaces(userid:number): Observable>\r\n {\r\n return this.httpClient.get>(this.apiURL+this.appURL + '/' + userid + '/Spaces');\r\n }\r\n GetAssets(userid:number): Observable>\r\n {\r\n return this.httpClient.get>(this.apiURL+this.appURL + '/' + userid + '/Assets');\r\n }\r\n GetIRTemplates(userid:number): Observable>\r\n {\r\n return this.httpClient.get>(this.apiURL+this.appURL + '/' + userid + '/IRTemplates');\r\n }\r\n GetFlowStatuses(userid:number): Observable>\r\n {\r\n return this.httpClient.get>(this.apiURL+this.appURL + '/' + userid + '/FlowStatuses');\r\n }\r\n\r\n syncTickets(userid:number,_tickets:Array): Observable>\r\n {\r\n return this.httpClient.post>(this.apiURL+this.appURL + '/' + userid + '/Tickets?_dateOffset='+this.dateUtil.getOffset(),_tickets);\r\n }\r\n}\r\n","import { HttpClient, HttpParams } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { interval, Observable, Subject, Subscription } from 'rxjs';\r\nimport { environment } from 'src/environments/environment';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class OnlineOfflineService {\r\n private _connectionstatus:boolean=false;\r\n private internalConnectionChanged = new Subject();\r\n private apiURL: string = null;\r\n private timerSubscription:Subscription = null;\r\n get connectionChanged() {\r\n return this.internalConnectionChanged.asObservable();\r\n }\r\n\r\n get isOnline():boolean {\r\n return this._connectionstatus;\r\n }\r\n constructor(private httpClient:HttpClient) {\r\n \r\n }\r\n\r\n\r\n StartConnectionStatusUpdate()\r\n {\r\n\r\n this.apiURL = environment.WebAPIURL;\r\n \r\n this.timerSubscription = interval(15000).subscribe((func => {\r\n this.testConnectionStatusasync();\r\n }));\r\n }\r\n\r\n StopConnectionStatusUpdate()\r\n {\r\n if(this.timerSubscription)\r\n this.timerSubscription.unsubscribe();\r\n }\r\n\r\n private updateOnlineStatus() {\r\n this.internalConnectionChanged.next(this._connectionstatus);\r\n }\r\n\r\n public UpdateConnectionStatus(connectionStatus:boolean)\r\n {\r\n this._connectionstatus= connectionStatus;\r\n this.updateOnlineStatus();\r\n }\r\n\r\n public testConnectionStatus():Observable {\r\n this.apiURL = environment.WebAPIURL;\r\n let cparams = new HttpParams().set('culture','en-GB');\r\n let apiURL = `${this.apiURL}/global/ping`;\r\n return this.httpClient.get(apiURL,{ params: cparams });\r\n \r\n }\r\n testConnectionStatusasync() {\r\n let cparams = new HttpParams().set('culture','en-GB');\r\n let apiURL = `${this.apiURL}/global/ping`;\r\n\r\n this.httpClient.get(apiURL,{ params: cparams }).subscribe((_res:any)=>{\r\n if(!this._connectionstatus)\r\n {\r\n this._connectionstatus=true;\r\n this.updateOnlineStatus()\r\n }\r\n }, err => {\r\n if(this._connectionstatus)\r\n {\r\n this._connectionstatus=false;\r\n this.updateOnlineStatus();\r\n }\r\n });\r\n }\r\n}\r\n","import { HttpParams } from \"@angular/common/http\";\r\nimport { Injectable, Injector } from \"@angular/core\";\r\nimport { Observable } from 'rxjs';\r\nimport { TicketsFilterModel } from \"src/shared/Models/API/filtermodel\";\r\nimport { Ticket, TicketAssociationTypes } from \"src/shared/Models/API/Ticket\";\r\nimport { AssetGroup } from \"src/shared/Models/Asset\";\r\nimport { ARTemplate, ContactCenter, ERTemplate, IATemplate, IRTemplate, PPList } from \"src/shared/Models/onm/onm.models\";\r\nimport { PPTemplate } from \"src/shared/Models/onm/onm.models\";\r\nimport { SpaceGroup } from \"src/shared/Models/space-group\";\r\nimport { User } from \"src/shared/Models/user\";\r\nimport { BaseService } from \"../base-service\";\r\n\r\n@Injectable({ providedIn: \"root\", })\r\nexport class ProjectOnMService extends BaseService {\r\n private appURL: string = '/Project';\r\n constructor(injector: Injector) {\r\n super(injector);\r\n }\r\n getProjectIRTemplates(projectId: number,type:TicketAssociationTypes=TicketAssociationTypes.NONE,selectedIds:number[]=null): Observable> {\r\n let params = new HttpParams();\r\n params = params.append('_type', type.toString());\r\n params = params.append('_ids', JSON.stringify(selectedIds));\r\n return this.httpClient.get>(`${this.apiURL}${this.appURL}/${projectId}/IRTemplates`,{params:params});\r\n }\r\n getProjectPPTemplates(projectId: number,spaceGroupId:number = 0,assetGroupId:number =0): Observable> {\r\n return this.httpClient.get>(this.apiURL + this.appURL + \"/\" + projectId + \"/PPTemplates?spaceGroupId=\" + spaceGroupId + \"&assetGroupId=\" + assetGroupId);\r\n }\r\n getAssignedSpaceGroups(projectId: number, systemtagId: number, templateId: number): Observable> {\r\n return this.httpClient.get>(`${this.apiURL}${this.appURL}/${projectId}/SpaceGroups?systemTagId=${systemtagId}&templateId=${templateId}`);\r\n }\r\n getAssignedAssetGroups(projectId: number,systemtagId:number,templateId:number): Observable> {\r\n return this.httpClient.get>(`${this.apiURL}${this.appURL}/${projectId}/AssetGroups?systemTagId=${systemtagId}&templateId=${templateId}`);\r\n }\r\n updateAssignedSpaceGroups(projectId: number,systemtagId:number,templateId:number,_spacegroups:Array)\r\n {\r\n return this.httpClient.put(`${this.apiURL}${this.appURL}/${projectId}/${systemtagId}/${templateId}/SpaceGroups`,_spacegroups)\r\n }\r\n updateAssignedAssetGroups(projectId: number,systemtagId:number,templateId:number,_assetgroups:Array)\r\n {\r\n return this.httpClient.put(`${this.apiURL}${this.appURL}/${projectId}/${systemtagId}/${templateId}/AssetGroups`,_assetgroups)\r\n }\r\n getUnAssignedSpaceGroups(projectId: number, systemtagid: number): Observable> {\r\n return this.httpClient.get>(this.apiURL + this.appURL + \"/\" + projectId + \"/SpaceGroups/\" + systemtagid + \"/UnAssigned\");\r\n }\r\n getUnAssignedAssetGroups(projectId: number, systemtagid: number): Observable> {\r\n return this.httpClient.get>(this.apiURL + this.appURL + \"/\" + projectId + \"/AssetGroups/\" + systemtagid + \"/UnAssigned\");\r\n }\r\n exportUnAssignedSpaces(projectId: number, systemtagid: number): void {\r\n this.downloadFile(this.apiURL + this.appURL + '/' + projectId + '/SpaceGroups/' + systemtagid + '/UnAssigned/Export')\r\n }\r\n exportUnAssignedAssets(projectId: number, systemtagId: number): void {\r\n this.downloadFile(this.apiURL + this.appURL + '/' + projectId + '/AssetGroups/' + systemtagId + '/UnAssigned/Export')\r\n }\r\n updateNotificationType(projectId: number, systemtagid: number, templateId: number, notifytype: number) {\r\n return this.httpClient.put(this.apiURL + this.appURL + \"/\" + projectId + \"/\" + systemtagid + \"/\" + templateId + \"/GroupNotificationType/\" + notifytype, {});\r\n }\r\n getContactCenters(projectid:number): Observable> {\r\n return this.httpClient.get>(this.apiURL + this.appURL + '/'+ projectid + '/ContactCenters');\r\n }\r\n updateContactCenterMembers(projectId: number,contactCenterId:number,_users:Array)\r\n {\r\n return this.httpClient.put(this.apiURL + this.appURL + \"/\" + projectId + \"/ContactCenters/\" + contactCenterId + \"/members\",_users);\r\n }\r\n\r\n public getSystemTickets(projectId: number,systemtagid: number,filterModel:TicketsFilterModel): Observable> {\r\n let params = new HttpParams();\r\n Object.keys(filterModel).forEach((key: string): void => {\r\n if (filterModel[key] != null && filterModel[key] != undefined)\r\n params = params.append(key, filterModel[key]);\r\n });\r\n var url =this.apiURL + '/project/' + projectId + '/tickets/'+systemtagid;\r\n return this.httpClient.get>(url,{ params: params });\r\n }\r\n}\r\n","import { Injectable, Injector } from \"@angular/core\";\r\nimport { Observable } from 'rxjs';\r\nimport { DocumentStatus, DocumentStatusResponse } from 'src/shared/Models/API/documentStatus';\r\nimport { DocumentStatusList, DocumentStatusListResponse } from 'src/shared/Models/API/documentstatuslist';\r\nimport { DocumentCategory } from \"src/shared/Models/API/documentCategory\";\r\nimport { Project } from \"src/shared/Models/API/Project\";\r\nimport { User } from \"src/shared/Models/user\";\r\nimport { Organization } from \"src/shared/Models/organization\";\r\nimport { DocumentAttribute } from \"src/shared/Models/API/document-attribute\";\r\nimport { NamingRule } from \"src/shared/Models/API/naming-rule\";\r\nimport { Role } from \"src/shared/Models/API/role\";\r\nimport { Company } from \"src/shared/Models/API/company\";\r\nimport { CompanyCategory } from \"src/shared/Models/API/companyCategory\";\r\nimport { ChecklistTag } from \"src/shared/Models/API/checkListTag\";\r\nimport { CheckList } from \"src/shared/Models/API/checklist\";\r\nimport { CheckListChecks } from \"src/shared/Models/API/checklist-check\";\r\nimport { ProjectCategory } from \"src/shared/Models/projectCategory\";\r\nimport { BaseService } from \"./base-service\";\r\nimport { DocAddlInformation } from \"src/shared/Models/API/documentadditionaInfo\";\r\nimport { DocumentAdditionalInformationComponent } from \"../main/mainview/innerview/settings-manager/document-additional-information/document-additional-information.component\";\r\nimport { WorkflowUserGroup } from \"src/shared/Models/API/WorkflowUserGroup\";\r\nimport { HttpParams } from \"@angular/common/http\";\r\nimport { ChecklistNamingRule } from \"src/shared/Models/API/checklist-naming-rule\";\r\nimport { CustomTiming, Frequency, Timing } from \"src/shared/Models/Timing\";\r\nimport { TicketFlow, TicketStatus, TicketStatusFlowModel, TicketTag } from \"src/shared/Models/API/Ticket\";\r\nimport { SpaceAddlinformation } from \"src/shared/Models/space\";\r\nimport { AssetAddlinformation } from \"src/shared/Models/Asset\";\r\nimport { Dashboard } from \"src/shared/UI/dashboard\";\r\nimport { Workflow } from \"src/shared/Models/API/Workflow\";\r\n@Injectable({ providedIn: \"root\", })\r\n\r\nexport class OrganizationService extends BaseService {\r\n \r\n \r\n \r\n \r\n \r\n \r\n private appURL: string = '/Organization'\r\n\r\n constructor(injector: Injector) {\r\n super(injector);\r\n }\r\n getDocumentstatuses(organizationid: number): Observable> {\r\n return this.httpClient.get>(this.apiURL + this.appURL + '/' + organizationid + '/' + 'DocumentStatuses');\r\n }\r\n\r\n saveDocumentStatus(organizationid: number, documentStatus: DocumentStatus): Observable {\r\n return this.httpClient.post(this.apiURL + this.appURL + '/' + organizationid + '/' + 'DocumentStatus', documentStatus);\r\n }\r\n getDocumentstatusList(organizationid: number,projectid:number=null): Observable> {\r\n var url=this.apiURL + this.appURL + '/' + organizationid + '/' + 'DocumentStatusLists'\r\n if (projectid) {\r\n url = url + \"?projectId=\" + projectid;\r\n }\r\n return this.httpClient.get>(url);\r\n }\r\n saveDocumentStatusList(organizationid: number, documentStatus: DocumentStatusList): Observable {\r\n return this.httpClient.post(this.apiURL + this.appURL + '/' + organizationid + '/' + 'DocumentStatusLists', documentStatus);\r\n }\r\n updateDocumentStatusList(organizationid: number, documentStatus: DocumentStatusList): Observable {\r\n return this.httpClient.put(this.apiURL + this.appURL + '/' + organizationid + '/' + 'DocumentStatusLists' + '/' + documentStatus.id, documentStatus);\r\n }\r\n deleteDocumentStatusList(organizationid: number, statuslistId: number): Observable {\r\n return this.httpClient.delete(this.apiURL + this.appURL + '/' + organizationid + '/' + 'DocumentStatusLists' + '/' + statuslistId);\r\n }\r\n getDocumentCategories(organizationid: number,projectid:number=null,roleId:number=null): Observable> {\r\n let params = new HttpParams();\r\n var url =this.apiURL + this.appURL + '/' + organizationid + '/' + 'Categories';\r\n if (projectid) {\r\n params = params.append('projectId',projectid.toString());\r\n }\r\n if(roleId){\r\n params = params.append('roleId',roleId.toString());\r\n }\r\n return this.httpClient.get>(url,{ params: params });\r\n }\r\n getDocumentAdditionalInformations(organizationid: number,projectid:number=null): Observable> {\r\n var url =this.apiURL + this.appURL + '/' + organizationid + '/' + 'DocAddlInformations';\r\n if (projectid) {\r\n url = url + \"?projectId=\" + projectid;\r\n }\r\n return this.httpClient.get>(url);\r\n }\r\n\r\n getSpaceAdditionalInformations(id: number,projectid:number =0) : Observable>{\r\n var url =this.apiURL + this.appURL + '/' + id + '/' + 'SpaceAddlInformations?projectid=' + projectid;\r\n \r\n return this.httpClient.get>(url);\r\n }\r\n getAssetAdditionalInformations(id: number,projectid:number =0): Observable> {\r\n var url =this.apiURL + this.appURL + '/' + id + '/' + 'AssetAddlInformations?projectid=' + projectid;\r\n \r\n return this.httpClient.get>(url);\r\n }\r\n getWorkflowUserGroups(organizationid: number): Observable> {\r\n var url =this.apiURL + this.appURL + '/' + organizationid + '/' + 'WorkflowUserGroups';\r\n\r\n return this.httpClient.get>(url);\r\n }\r\n\r\n getAllNamingRules(organizationid: number,projectid:number=null): Observable> {\r\n var url =this.apiURL + this.appURL + '/' + organizationid + '/' + 'NamingRules';\r\n if (projectid) {\r\n url = url + \"?projectId=\" + projectid;\r\n }\r\n return this.httpClient.get>(url);\r\n }\r\n\r\n getProjectCategories(organizationid: number,projectid:number=null): Observable> {\r\n var url =this.apiURL + this.appURL + '/' + organizationid + '/' + 'ProjectCategories';\r\n if (projectid) {\r\n url = url + \"?projectId=\" + projectid;\r\n }\r\n return this.httpClient.get>(url);\r\n }\r\n\r\n\r\n getWorkflows(organizationid: number, buildingId: number = null): Observable> {\r\n var url = this.apiURL + this.appURL + '/' + organizationid + '/' + 'Workflows';\r\n if (buildingId) {\r\n url = url + \"?projectId=\" + buildingId;\r\n }\r\n return this.httpClient.get>(url);\r\n }\r\n getProjects(organizationid: number): Observable> {\r\n return this.httpClient.get>(this.apiURL + this.appURL + '/' + organizationid + '/' + 'projects');\r\n }\r\n\r\n getUsers(organizationid: number,getall:boolean=true): Observable> {\r\n let params = new HttpParams().set('getAll',getall.toString());\r\n var url = this.apiURL + this.appURL + '/' + organizationid + '/' + 'Users';\r\n return this.httpClient.get>(url,{ params: params });\r\n }\r\n\r\n getOrganizations(): Observable> {\r\n var url = `${this.apiURL}/Organizations`;\r\n return this.httpClient.get>(url);\r\n }\r\n\r\n saveCategory(organizationid: number, category: DocumentCategory): Observable{\r\n return this.httpClient.post(this.apiURL + this.appURL + '/' + organizationid + '/Categories', category);\r\n }\r\n saveDocumentAddtionalInformation(organizationid: number, docaddlinformation: DocAddlInformation): Observable{\r\n return this.httpClient.post(this.apiURL + this.appURL + '/' + organizationid + '/DocAddlInformations', docaddlinformation);\r\n }\r\n saveSpaceAddtionalInformation(id: number, CurrentAddlInformation: SpaceAddlinformation): Observable{\r\n return this.httpClient.post(this.apiURL + this.appURL + '/' + id + '/SpaceAddlInformations', CurrentAddlInformation);\r\n }\r\n saveAssetAddtionalInformation(id: number, CurrentAddlInformation: AssetAddlinformation): Observable {\r\n return this.httpClient.post(this.apiURL + this.appURL + '/' + id + '/AssetAddlInformations', CurrentAddlInformation);\r\n }\r\n\r\n saveWorkflowUserGroup(organizationid: number, userGroup: WorkflowUserGroup): Observable{\r\n return this.httpClient.post(this.apiURL + this.appURL + '/' + organizationid + '/WorkflowUserGroups', userGroup);\r\n }\r\n\r\n editCategory(category: DocumentCategory) : Observable{\r\n return this.httpClient.put(this.apiURL + '/DocumentCategory/' + category.categoryId, category );\r\n }\r\n updateDocumentAddtionalInformation(docAdllInfo: DocAddlInformation) : Observable{\r\n return this.httpClient.put(this.apiURL + '/DocAddlInformation/' + docAdllInfo.id, docAdllInfo );\r\n }\r\n \r\n\r\n updateWorkflowUserGroup(userGroup: WorkflowUserGroup) : Observable{\r\n return this.httpClient.put(this.apiURL + '/WorkflowUserGroup/' + userGroup.id, userGroup );\r\n }\r\n\r\n\r\n deleteDocumentCategory(categoryId: number): Observable {\r\n return this.httpClient.delete(this.apiURL + '/DocumentCategory/' +categoryId);\r\n }\r\n deleteDocAdditionalInformation(id: number): Observable {\r\n return this.httpClient.delete(this.apiURL + '/DocAddlInformation/' +id);\r\n }\r\n \r\n deleteWorkflowUserGroup(id: number): Observable {\r\n return this.httpClient.delete(this.apiURL + '/WorkflowUserGroup/' +id);\r\n }\r\n\r\n getAttributes(organizationId: number): Observable> {\r\n var url = `${this.apiURL}${this.appURL}/${organizationId}/Attributes`;\r\n return this.httpClient.get>(url);\r\n }\r\n\r\n postAttribute(organizationId: number, attribute: DocumentAttribute) {\r\n var url = `${this.apiURL}${this.appURL}/${organizationId}/Attributes`;\r\n return this.httpClient.post(url, attribute);\r\n }\r\n\r\n putAttribute(organizationId: number, attribute: DocumentAttribute) {\r\n var url = `${this.apiURL}${this.appURL}/${organizationId}/Attributes/${attribute.id}`;\r\n return this.httpClient.put(url, attribute);\r\n }\r\n\r\n deleteAttribute(organizationId: number, attributeId: number) {\r\n var url = `${this.apiURL}${this.appURL}/${organizationId}/Attributes/${attributeId}`;\r\n return this.httpClient.delete(url);\r\n }\r\n\r\n getNamingRules(organizationId: number): Observable> {\r\n var url = `${this.apiURL}${this.appURL}/${organizationId}/NamingRules`;\r\n return this.httpClient.get>(url);\r\n }\r\n\r\n PostNamingRules(organizationId: number, model: NamingRule) {\r\n var url = `${this.apiURL}${this.appURL}/${organizationId}/NamingRules`;\r\n return this.httpClient.post(url, model);\r\n }\r\n\r\n getCustomRoles(organizationId: number,projectid:number=null): Observable> {\r\n var url =this.apiURL + this.appURL + '/' + organizationId + '/' + 'Roles';\r\n if (projectid) {\r\n url = url + \"?projectId=\" + projectid;\r\n }\r\n return this.httpClient.get>(url);\r\n }\r\n\r\n saveRole(organizationId: number, role: Role): Observable {\r\n return this.httpClient.post(this.apiURL + this.appURL + '/' + organizationId + '/' + 'Roles', role);\r\n }\r\n\r\n getCompanies(organizationid: number): Observable> {\r\n return this.httpClient.get>(this.apiURL + this.appURL + '/' + organizationid + '/' + 'Companies');\r\n }\r\n\r\n saveCompany(organizationId: number, company: Company): Observable {\r\n return this.httpClient.post(this.apiURL + this.appURL + '/' + organizationId + '/' + 'Companies', company);\r\n }\r\n\r\n saveUser(organizationId: number, user: User): Observable {\r\n return this.httpClient.post(this.apiURL + this.appURL + '/' + organizationId + '/' + 'Users', user);\r\n }\r\n\r\n exportUsers(organizationid: number) {\r\n this.downloadFile(this.apiURL + this.appURL + '/' + organizationid + '/' + 'Users/Export');\r\n }\r\n\r\n exportRoles(organizationid: number) {\r\n this.downloadFile(this.apiURL + this.appURL + '/' + organizationid + '/' + 'Roles/Export');\r\n }\r\n\r\n getCompanyCategories(organizationid: number): Observable> {\r\n return this.httpClient.get>(this.apiURL + this.appURL + '/' + organizationid + '/' + 'CompanyCategories');\r\n }\r\n\r\n getTags(organizationid: number): Observable> {\r\n return this.httpClient.get>(this.apiURL + this.appURL + '/' + organizationid + '/' + 'Tags');\r\n }\r\n\r\n getChecklists(organizationid: number): Observable> {\r\n return this.httpClient.get>(this.apiURL + this.appURL + '/' + organizationid + '/' + 'Checklists');\r\n }\r\n\r\n getChecks(organizationid: number): Observable> {\r\n return this.httpClient.get>(this.apiURL + this.appURL + '/' + organizationid + '/' + 'Checks');\r\n }\r\n\r\n saveCheckList(organizationid: number, checkList: CheckList): Observable {\r\n return this.httpClient.post(this.apiURL + this.appURL + '/' + organizationid + '/' + 'Checklists', checkList);\r\n }\r\n\r\n updateStorageSpace(organizationId:number,organization:Organization,increase:number)\r\n {\r\n return this.httpClient.put(this.apiURL + this.appURL + '/' + organizationId + '/' + 'Storage/Space/' + increase, organization);\r\n\r\n }\r\n\r\n getChecklistNamingRules(organizationId: number): Observable> {\r\n var url = `${this.apiURL}${this.appURL}/${organizationId}/ChecklistNamingRules`;\r\n return this.httpClient.get>(url);\r\n }\r\n\r\n getAllCustomTimings(organizationId:number):Observable>{\r\n var url = `${this.apiURL}${this.appURL}/${organizationId}/CustomTimings`;\r\n return this.httpClient.get>(url);\r\n }\r\n saveCustomTiming(organizationid: number, customTiming: CustomTiming): Observable {\r\n return this.httpClient.post(this.apiURL + this.appURL + '/' + organizationid + '/' + 'CustomTimings', customTiming);\r\n }\r\n\r\n saveChecklistNamingRule(organizationId: number, namingRule: ChecklistNamingRule): Observable {\r\n var url = `${this.apiURL}${this.appURL}/${organizationId}/ChecklistNamingRules`;\r\n return this.httpClient.post(url, namingRule);\r\n }\r\n\r\n //get all timings including system and custom timings\r\n getAllTimings(organizationId:number):Observable>{\r\n var url = `${this.apiURL}${this.appURL}/${organizationId}/timings`;\r\n return this.httpClient.get>(url);\r\n }\r\n\r\n getFrequencies(organizationId:number):Observable>{\r\n var url = `${this.apiURL}${this.appURL}/${organizationId}/Frequencies`;\r\n return this.httpClient.get>(url);\r\n }\r\n saveFrequency(organizationid: number, frequency: Frequency): Observable {\r\n return this.httpClient.post(this.apiURL + this.appURL + '/' + organizationid + '/' + 'Frequencies', frequency);\r\n }\r\n getTicketTags(organizationid: number): Observable> {\r\n return this.httpClient.get>(this.apiURL + this.appURL + '/' + organizationid + '/' + 'TicketTags');\r\n }\r\n public saveTicketTag(organizationid: number, tag: TicketTag): Observable {\r\n return this.httpClient.post(this.apiURL + this.appURL + '/' + organizationid + '/' + 'TicketTags', tag);\r\n }\r\n getTicketStatuses(organizationid: number): Observable> {\r\n return this.httpClient.get>(this.apiURL + this.appURL + '/' + organizationid + '/' + 'TicketStatuses');\r\n }\r\n public saveTicketStatus(organizationid: number, status: TicketStatus): Observable {\r\n return this.httpClient.post(this.apiURL + this.appURL + '/' + organizationid + '/' + 'TicketStatuses', status);\r\n }\r\n getTicketFlows(organizationid: number): Observable> {\r\n return this.httpClient.get>(this.apiURL + this.appURL + '/' + organizationid + '/' + 'TicketFlows');\r\n }\r\n public saveTicketFlow(organizationid: number, ticketFlow: TicketFlow): Observable {\r\n return this.httpClient.post(this.apiURL + this.appURL + '/' + organizationid + '/' + 'TicketFlows', ticketFlow);\r\n }\r\n public getTicketFlowStatuses(organizationId:number,ticketFlowId:number):Observable>{\r\n return this.httpClient.get>(this.apiURL+this.appURL+'/'+organizationId+'/TicketFlows/'+ticketFlowId);\r\n }\r\n getDashBoardDetails(organizationId:number):Observable\r\n {\r\n return this.httpClient.get(this.apiURL + this.appURL + '/'+organizationId+'/dashboard');\r\n }\r\n cloneChecklistTemplate(organizationId:number,checklist:CheckList):Observable {\r\n return this.httpClient.put(this.apiURL + this.appURL + '/'+organizationId+'/checklists/clone',checklist);\r\n }\r\n}\r\n","import { Injectable, Injector } from \"@angular/core\";\r\nimport { Observable } from 'rxjs';\r\nimport { Workflow } from \"src/shared/Models/API/Workflow\";\r\nimport { Project, TimezoneModel } from \"src/shared/Models/API/Project\";\r\nimport { BIMMenusAction, BIMModel, DeletedDocument, Document } from \"src/shared/Models/API/document\";\r\nimport { User } from \"src/shared/Models/user\";\r\nimport { ProjectFloor } from \"src/shared/Models/projectFloor\";\r\nimport { ProjectCategory } from \"src/shared/Models/projectCategory\";\r\nimport { DocumentCategory } from \"src/shared/Models/API/documentCategory\";\r\nimport { CheckListTagModel } from \"src/shared/Models/API/checkListTagModel\";\r\nimport { BaseService } from \"./base-service\";\r\nimport { UserGroups } from \"src/shared/Models/usergroups\";\r\nimport { NamingRule } from \"src/shared/Models/API/naming-rule\";\r\nimport { ProjectLog } from \"src/shared/Models/projectLog\";\r\nimport { Role } from \"src/shared/Models/API/role\";\r\nimport { DocAddlInformation } from \"src/shared/Models/API/documentadditionaInfo\";\r\nimport { WorkflowUserGroupMembers } from \"src/shared/Models/API/WorkflowUserGroupMembers\";\r\nimport { WorkflowUserGroup } from \"src/shared/Models/API/WorkflowUserGroup\";\r\nimport { AddlInformationsFilterModel, AssetsFilterModel, BIMFilterModel, DocumentsFilterModel, RecycleBinFilterModel, ScopeFilterModel, SpaceFilterModel, TicketsFilterModel, TransmittalFilterModel, UserChecklistsFilterModel } from \"src/shared/Models/API/filtermodel\";\r\nimport { HttpParams } from \"@angular/common/http\";\r\nimport { BulkMove } from \"src/shared/Models/BulkMove\";\r\nimport { Folder } from \"src/shared/Models/API/folder\";\r\nimport { SpaceCode, SpaceCodeStatus } from \"src/shared/Models/space-update-code\";\r\nimport { SpaceGroup } from \"src/shared/Models/space-group\";\r\nimport { BuildingNameModel, CircuitModel, SiteNameModel, Space, SpaceAddlinformation, SpacesList, ZoneNameModel } from \"src/shared/Models/space\";\r\nimport { BlobFile } from \"src/shared/Models/Internal/BlobFileModel\";\r\nimport { SpaceBulkOperationResult } from \"src/shared/Models/space-bulk-operation-result\";\r\nimport { AssetUpdateCode,AssetGroup, Asset, AssetsList, AssetAddlinformation } from \"src/shared/Models/Asset\";\r\nimport { CheckList } from \"src/shared/Models/API/checklist\";\r\nimport { PrintTicketsModel, Ticket,TicketFlow,TicketTag, TicketTagsFlowsModel } from \"src/shared/Models/API/Ticket\";\r\nimport { DateUtil } from \"src/shared/utilities/dateUtil\";\r\nimport { tick } from \"@angular/core/testing\";\r\nimport { ARTemplate, ERTemplate, IATemplate, IRTemplate, PATemplate, PPList, PPTemplate } from \"src/shared/Models/onm/onm.models\";\r\nimport { UserChecklist } from \"src/shared/Models/API/user-checklist\";\r\nimport { Company } from \"src/shared/Models/API/company\";\r\nimport { DocumentStatusList } from \"src/shared/Models/API/documentstatuslist\";\r\nimport { IFCElementModel } from \"src/shared/Models/API/IFCElementModel\";\r\nimport { TransmittalModel, TransmittalsModel, TransmittalStatus, TransmittalTypes } from \"src/shared/Models/transmittals/tranmittals.model\";\r\nimport { NotificationsSettingsModel } from \"src/shared/Models/Shared/NotificationModel\";\r\nimport { DocumentVersion } from \"src/shared/Models/API/documentVersion\";\r\nimport { DocumentModule } from \"../modules/document/document.module\";\r\nimport { iOTSensorDataModel, iOTSensorDetails } from \"src/shared/Models/IOTModels\";\r\nimport { AssetReportFilterModel, ReportValuesModel, SpaceReportFilterModel, SystemTagReportFilterModel, TicketReportFilterModel, TransmittalReportFilterModel } from \"src/shared/Models/API/ReportsModels\";\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ProjectService extends BaseService {\r\n\r\n\r\n private appURL: string = '/Organization';\r\n private dateUtil:DateUtil= new DateUtil();\r\n constructor(injector:Injector) {\r\n super(injector);\r\n }\r\n assignWorkflows(organizationid: number, projectid: number, assignedworkflows: Array) {\r\n return this.httpClient.put(this.apiURL + this.appURL + '/' + organizationid + '/' + 'projects' + '/' + projectid + '/workflows', assignedworkflows);\r\n }\r\n assignDocAdditionalInfos(organizationid: number, projectid: number, assignedDocAddlInfos: Array) {\r\n return this.httpClient.put(this.apiURL + this.appURL + '/' + organizationid + '/' + 'projects' + '/' + projectid + '/DocumentAdditionalInfo', assignedDocAddlInfos);\r\n }\r\n\r\n assignNamingRules(organizationid: number, projectid: number, assignednamingrules: Array) {\r\n return this.httpClient.put(this.apiURL + this.appURL + '/' + organizationid + '/' + 'projects' + '/' + projectid + '/namingrules', assignednamingrules);\r\n }\r\n\r\n getAssignedWorkFlows(projectid:number): Observable> {\r\n return this.httpClient.get>(this.apiURL + '/project/' + projectid + '/workflows');\r\n }\r\n getAssignedWorkflowGroupMembers(workflowusergroupid:number,projectid:number): Observable> {\r\n return this.httpClient.get>(this.apiURL + '/project/' + projectid + '/workflowgroups/' + workflowusergroupid + \"/members\");\r\n }\r\n\r\n getAssignedNamingRules(projectid:number): Observable> {\r\n return this.httpClient.get>(this.apiURL + '/project/' + projectid + '/namingrules');\r\n }\r\n getDocumentAdditionalInfos(projectid:number): Observable> {\r\n return this.httpClient.get>(this.apiURL + '/project/' + projectid + '/DocumentAdditionalInfo');\r\n }\r\n getWorkflowUserGroups(projectid:number): Observable> {\r\n return this.httpClient.get>(this.apiURL + '/project/' + projectid + '/WorkflowUserGroups');\r\n }\r\n\r\n assignToProjectModels(projectid:number, selecteddocuments: Array) {\r\n return this.httpClient.put(this.apiURL + '/project/' + projectid + '/models', selecteddocuments);\r\n }\r\n SaveAssignedWorkflowGroupMembers(workflowusergroupid:number,projectid:number,users: Array) {\r\n return this.httpClient.put(this.apiURL + '/project/' + projectid + '/workflowgroups/' + workflowusergroupid + \"/members\",users);\r\n }\r\n\r\n assignProjectCategories(organizationid: number, projectid: number, assignedprojectcategories: Array) {\r\n return this.httpClient.put(this.apiURL + this.appURL + '/' + organizationid + '/' + 'projects' + '/' + projectid + '/projectcategories', assignedprojectcategories);\r\n }\r\n\r\n SaveProject(organizationid: number, project: Project): Observable {\r\n return this.httpClient.post(this.apiURL + this.appURL + '/' + organizationid + '/' + 'projects', project);\r\n }\r\n\r\n getProject(projectid: number): Observable {\r\n return this.httpClient.get(this.apiURL + this.appURL + '/projects/' + projectid);\r\n }\r\n\r\n getProjectTeams(projectid: number,fetchInactive:boolean = true): Observable> {\r\n return this.httpClient.get>(this.apiURL + this.appURL + '/projects/' + projectid + '/teams?_bfia=' + fetchInactive);\r\n }\r\n\r\n getProjectLinkedModels(projectid: number,filterModel:BIMFilterModel): Observable> {\r\n let params = new HttpParams();\r\n Object.keys(filterModel).forEach(function (key) {\r\n if (filterModel[key] && filterModel[key] != null && filterModel[key] != undefined)\r\n {\r\n params = params.append(key, filterModel[key]);\r\n }\r\n });\r\n return this.httpClient.get>(this.apiURL + this.appURL + '/projects/' + projectid + '/linked-models',{params:params});\r\n }\r\n\r\n getTicketsReport(projectid:number,filterModel:TicketReportFilterModel):Observable> {\r\n let params = new HttpParams();\r\n filterModel._do = new Date().getTimezoneOffset();\r\n Object.keys(filterModel).forEach(function (key) {\r\n if (filterModel[key] && filterModel[key] != null && filterModel[key] != undefined)\r\n {\r\n params = params.append(key, filterModel[key]);\r\n }\r\n \r\n });\r\n return this.httpClient.get>(this.apiURL + '/project/' + projectid + '/Tickets/Report',{params:params});\r\n}\r\ngetOnMReport(projectid:number,filterModel:SystemTagReportFilterModel,systemTagId:number):Observable> {\r\n let params = new HttpParams();\r\n filterModel._do = new Date().getTimezoneOffset();\r\n Object.keys(filterModel).forEach(function (key) {\r\n if (filterModel[key] != null && filterModel[key] != undefined)\r\n {\r\n params = params.append(key, filterModel[key]);\r\n }\r\n \r\n});\r\nreturn this.httpClient.get>(this.apiURL + '/project/' + projectid + '/Tickets/' + systemTagId +'/Report',{params:params});\r\n}\r\n\r\ngetTransmittalsReport(projectid:number,filterModel:TransmittalReportFilterModel):Observable> {\r\n let params = new HttpParams();\r\n filterModel._do = new Date().getTimezoneOffset();\r\n Object.keys(filterModel).forEach(function (key) {\r\n if (filterModel[key] != null && filterModel[key] != undefined)\r\n {\r\n params = params.append(key, filterModel[key]);\r\n }\r\n \r\n});\r\nreturn this.httpClient.get>(this.apiURL + '/project/' + projectid + '/Transmittals/Report',{params:params});\r\n}\r\ngetSpacesReport(projectid:number,filterModel:SpaceReportFilterModel):Observable> {\r\n let params = new HttpParams();\r\n \r\n Object.keys(filterModel).forEach(function (key) {\r\n if (filterModel[key] != null && filterModel[key] != undefined)\r\n {\r\n params = params.append(key, filterModel[key]);\r\n }\r\n \r\n});\r\nreturn this.httpClient.get>(this.apiURL + '/project/' + projectid + '/Spaces/Report',{params:params});\r\n}\r\ngetAssetsReport(projectid:number,filterModel:AssetReportFilterModel):Observable> {\r\n let params = new HttpParams();\r\n \r\n Object.keys(filterModel).forEach(function (key) {\r\n if (filterModel[key] != null && filterModel[key] != undefined)\r\n {\r\n params = params.append(key, filterModel[key]);\r\n }\r\n \r\n});\r\nreturn this.httpClient.get>(this.apiURL + '/project/' + projectid + '/Assets/Report',{params:params});\r\n}\r\n\r\n getProjectFloors(projectid: number): Observable> {\r\n return this.httpClient.get>(this.apiURL + this.appURL + '/projects/' + projectid + '/floors');\r\n }\r\n\r\n getProjectLogs(projectid: number): Observable> {\r\n return this.httpClient.get>(this.apiURL + this.appURL + '/projects/' + projectid + '/logs');\r\n }\r\n\r\n saveModel(projectId: number, documentModel: Document): Observable {\r\n return this.httpClient.post(this.apiURL + this.appURL + '/projects' + '/' + projectId + '/' + 'models', documentModel);\r\n }\r\n InviteUser(organizationid:number,projectId: number, newuser: User): Observable {\r\n return this.httpClient.put(this.apiURL + this.appURL+ '/' + organizationid + '/projects' + '/' + projectId + '/' + 'teams', newuser);\r\n }\r\n\r\n getModelFloors(projectid: number,floorId:number) {\r\n return this.httpClient.get>(this.apiURL + this.appURL + '/projects/' + projectid + '/models/floors/'+floorId );\r\n }\r\n getFloorIFCFloorMapping(projectid: number) {\r\n return this.httpClient.get>(this.apiURL + this.appURL + '/projects/' + projectid + '/floors/ifcfloormapping');\r\n }\r\n\r\n UpdateFloorMapping(projectid:number,floorid:number,ifcElements:Array):Observable{\r\n return this.httpClient.put>(this.apiURL + this.appURL + '/projects/' + projectid + '/floors/ifcfloormapping/' + floorid,ifcElements);\r\n }\r\n\r\n updateProject(organizationid: number, project: Project) {\r\n return this.httpClient.put(this.apiURL + this.appURL + '/' + organizationid + '/' + 'projects/' + project.id, project);\r\n }\r\n\r\n getProjectCategories(organizationid: number) {\r\n return this.httpClient.get>(this.apiURL + this.appURL + '/' + organizationid + '/ProjectCategories');\r\n }\r\n\r\n SaveProjectCategory(organizationid: number, category: ProjectCategory) {\r\n return this.httpClient.post(this.apiURL + this.appURL + '/' + organizationid + '/' + 'ProjectCategories', category);\r\n }\r\n updateProjectCategory(category: ProjectCategory) {\r\n return this.httpClient.put(this.apiURL + '/ProjectCategory/' + category.id, category);\r\n }\r\n getProjectCategory(categoryid: number) {\r\n return this.httpClient.get(this.apiURL + '/ProjectCategory/' + categoryid);\r\n }\r\n deleteProjectCategory(categoryid: number) {\r\n return this.httpClient.delete(this.apiURL + '/ProjectCategory/' + categoryid);\r\n }\r\n saveFloor(projectid: number, floor: ProjectFloor): Observable {\r\n\r\n return this.httpClient.post(this.apiURL + this.appURL + '/projects' + '/' + projectid + '/' + 'floors', floor);\r\n\r\n }\r\n updateFloor(projectid: number, floor: ProjectFloor) {\r\n return this.httpClient.put(this.apiURL + '/' + 'projects/' + projectid + '/Floor/' + floor.id, floor);\r\n }\r\n\r\n deleteFloor(projectid: number, id: number) {\r\n return this.httpClient.delete(this.apiURL + '/' + 'projects/' + projectid + '/Floor/' + id);\r\n }\r\n\r\n getProjectCategoryValues(organizationid: number, projectid: number) {\r\n return this.httpClient.get>(this.apiURL + this.appURL + '/' + organizationid + '/projects/' + projectid + '/CategoryValues');\r\n }\r\n saveProjectCategoryValues(organizationid: number, projectid: number, projectcategories: Array) {\r\n return this.httpClient.post(this.apiURL + this.appURL + '/' + organizationid + '/projects/' + projectid + '/CategoryValues', projectcategories);\r\n }\r\n RemoveUser(projectId: number, userid: number) {\r\n return this.httpClient.delete(this.apiURL + this.appURL + '/projects' + '/' + projectId + '/' + 'teams' + '/' + userid);\r\n }\r\n\r\n AssignDocumentCategories(organizationid: number, projectid: number, assignedcategories: Array) {\r\n return this.httpClient.put(this.apiURL + this.appURL + '/' + organizationid + '/' + 'projects' + '/' + projectid + '/DocumentCategories', assignedcategories);\r\n }\r\n\r\n updateProjectCheckListTags(organizationId: number, projectId: number, checkListTag:Array): Observable>{\r\n var url =this.apiURL + this.appURL + '/' + organizationId + '/projects/' + projectId + '/ChecklistTags';\r\n\r\n return this.httpClient.put>(url, checkListTag);\r\n }\r\n\r\n getProjectCheckListTags(organizationId: number, projectId: number = 0) {\r\n var url = this.apiURL + this.appURL + '/' + organizationId + '/' + 'tags?projectId=' + projectId;\r\n return this.httpClient.get(url);\r\n }\r\n\r\n\r\n getRoleCheckListTags(organizationId: number, roleId: number = 0){\r\n var url = this.apiURL + this.appURL + '/' + organizationId + '/' + 'tags?roleId=' + roleId;\r\n return this.httpClient.get(url);\r\n }\r\n\r\n updateRoleCheckListTags(organizationId: number, roleID: number, checkListTag:Array): Observable{\r\n var url =this.apiURL + this.appURL + '/' + organizationId + '/roles/' + roleID + '/ChecklistTags';\r\n\r\n return this.httpClient.put(url, checkListTag);\r\n }\r\n\r\n public exportLogs(projectId: number, startDate: string, endDate: string): void {\r\n var url: string = this.apiURL + '/' + 'Project' + '/' + projectId + '/' + 'Logs/Export?startDate=' + startDate + '&endDate=' + endDate;\r\n this.downloadFile(url);\r\n }\r\n\r\n public getUserGroups(projectid:number)\r\n {\r\n return this.httpClient.get>(this.apiURL + '/project/' + projectid + '/UserGroups');\r\n }\r\n\r\n public SaveUserGroup(projectid:number,group :UserGroups)\r\n {\r\n return this.httpClient.post(this.apiURL + '/project/' + projectid + '/UserGroups',group);\r\n }\r\n public updateUserGroup(projectid:number,group :UserGroups)\r\n {\r\n return this.httpClient.put(this.apiURL + '/project/' + projectid + '/UserGroups/'+group.id,group);\r\n }\r\n\r\n public deleteUserGroup(projectId: number, userGroupId:number){\r\n return this.httpClient.delete(this.apiURL + '/project/' + projectId + '/UserGroups/'+ userGroupId);\r\n }\r\n assignProjectCustomRoles(organizationid: number, projectid: number, customroles: Array) {\r\n return this.httpClient.put(this.apiURL + this.appURL + '/' + organizationid + '/' + 'projects' + '/' + projectid + '/customroles', customroles);\r\n }\r\n\r\n getCustomRoles(projectid:number)\r\n {\r\n return this.httpClient.get>(this.apiURL + '/project/' + projectid + '/customroles');\r\n }\r\n UpdateTeamMember(projectId: number,usermodel:User) {\r\n return this.httpClient.put(this.apiURL + this.appURL + '/projects' + '/' + projectId + '/' + 'teams' + '/' + usermodel.id,usermodel);\r\n }\r\n\r\n getAssignedCheckListTags(projectId: number = 0): Observable>{\r\n var url = this.apiURL + '/project/' + projectId +'/checklistTags';\r\n return this.httpClient.get>(url);\r\n }\r\n\r\n //getchecklistName if naming rule applied to checklists\r\n getUserChecklistName(projectId:number, checklistId:number){\r\n var url = this.apiURL + '/project/' + projectId +'/ChecklistTemplate/'+checklistId;\r\n return this.httpClient.get(url, {responseType: 'text'});\r\n }\r\n\r\n getDocuments(scopeType: number, scopeId:number,projectid:number, filterModel: DocumentsFilterModel): Observable> {\r\n let params = new HttpParams();\r\n Object.keys(filterModel).forEach(function (key) {\r\n \r\n params = params.append(key, filterModel[key]);\r\n });\r\n var url =this.apiURL + '/project/' + projectid + '/' + scopeType.toString() + '/' + scopeId.toString()+'/Documents';\r\n return this.httpClient.get>(url, { params: params });\r\n }\r\n getProjectDocumentCategories(projectid:number): Observable> {\r\n\r\n var url =this.apiURL + '/project/' + projectid + '/Documents/Tags';\r\n return this.httpClient.get>(url);\r\n }\r\n getProjectDocuments(projectid:number,filterModel: DocumentsFilterModel): Observable> {\r\n let params = new HttpParams();\r\n Object.keys(filterModel).forEach(function (key) {\r\n params = params.append(key, filterModel[key]);\r\n });\r\n var url =this.apiURL + '/project/' + projectid + '/Documents';\r\n return this.httpClient.get>(url,{ params: params });\r\n }\r\n\r\n\r\n searchDocuments(scopeType: number, scopeId:number,projectid:number, filterModel: ScopeFilterModel): Observable> {\r\n let params = new HttpParams();\r\n Object.keys(filterModel).forEach(function (key) {\r\n params = params.append(key, filterModel[key]);\r\n });\r\n var url =this.apiURL + '/project/' + projectid + '/' + scopeType.toString() + '/' + scopeId.toString()+'/documentsearch';\r\n return this.httpClient.get>(url, { params: params });\r\n }\r\n\r\n getDocument(projectId:number, documentId:number): Observable {\r\n var url =this.apiURL + '/project/' + projectId + '/document/' + documentId;\r\n return this.httpClient.get(url);\r\n }\r\n\r\n deleteProject(projectId:number){\r\n var url:string =this.apiURL + '/project/' + projectId;\r\n return this.httpClient.delete(url);\r\n }\r\n\r\n ExportDocuments(scopeType: number, scopeId:number,projectid:number,filterModel: ScopeFilterModel, isGetAll: boolean, selectedIDs: string,isSearchResultView:boolean,columnorder:string): void {\r\n var url =this.apiURL + '/project/' + projectid + '/' + scopeType.toString() + '/' + scopeId.toString()+'/Documents/Export';\r\n\r\n this.downloadDocuments(url, selectedIDs, false,filterModel,isSearchResultView,columnorder);\r\n }\r\n\r\n saveFolder(projectId: number, scopeType: number, scopeId: number, folder: Folder): Observable {\r\n return this.httpClient.post(this.apiURL + '/project/' + projectId + '/' + scopeType.toString() + '/' + scopeId.toString() + '/createfolder', folder);\r\n }\r\n\r\n UpdateFolderScope(projectId: number, scopeType: number, scopeId: number, bulkmovemodel: BulkMove): Observable {\r\n\treturn this.httpClient.put(this.apiURL + '/project/' + projectId + '/' + scopeType + '/' + scopeId + '/BulkMove', bulkmovemodel);\r\n }\r\n\r\n getRecycleBinItems(projectid: number, filterModel: RecycleBinFilterModel): Observable> {\r\n let params = new HttpParams();\r\n Object.keys(filterModel).forEach((key) => {\r\n params = params.append(key, filterModel[key]);\r\n });\r\n\r\n var url = this.apiURL + '/project/' + projectid + '/RecycleBin';\r\n return this.httpClient.get>(url, { params: params });\r\n }\r\n\r\n deleteRecycleBinItems(projectId: number, filterModels: RecycleBinFilterModel): Observable {\r\n return this.httpClient.put(this.apiURL + '/project/' + projectId + '/RecycleBin/Delete' , filterModels);\r\n }\r\n\r\n restoreRecycleBinItems(projectId: number, selectedItems: Array): Observable {\r\n return this.httpClient.put(this.apiURL + '/project/' + projectId + '/RecycleBin/Restore', selectedItems);\r\n }\r\n\r\n public getSpaceUpdateCodes(projectId: number, statuses: string = '1,2'): Observable> {\r\n return this.httpClient.get>(this.apiURL + '/project/' + projectId + '/spacecodes?_s=' + statuses);\r\n }\r\n public getSpaceSiteNames(projectId: number,iscreate:number | null = null): Observable> {\r\n\r\n if(iscreate)\r\n return this.httpClient.get>(this.apiURL + '/project/' + projectId + '/SpaceSettings/SiteNames?isCreate=' + iscreate);\r\n else\r\n return this.httpClient.get>(this.apiURL + '/project/' + projectId + '/SpaceSettings/SiteNames');\r\n }\r\n public getSpaceBuildingNames(projectId: number,iscreate:number | null = null): Observable> {\r\n if(iscreate)\r\n return this.httpClient.get>(this.apiURL + '/project/' + projectId + '/SpaceSettings/BuildingNames?isCreate='+ iscreate);\r\n else\r\n return this.httpClient.get>(this.apiURL + '/project/' + projectId + '/SpaceSettings/BuildingNames');\r\n }\r\n public getSpaceZoneNames(projectId: number,iscreate:number | null = null): Observable> {\r\n if(iscreate)\r\n return this.httpClient.get>(this.apiURL + '/project/' + projectId + '/SpaceSettings/ZoneNames?isCreate=' + iscreate);\r\n else\r\n return this.httpClient.get>(this.apiURL + '/project/' + projectId + '/SpaceSettings/ZoneNames' );\r\n }\r\n public getCircuits(projectId: number,iscreate:number | null = null): Observable> {\r\n if(iscreate)\r\n {\r\n return this.httpClient.get>(this.apiURL + '/project/' + projectId + '/AssetSettings/Circuits?isCreate=' + iscreate);\r\n }\r\n else\r\n return this.httpClient.get>(this.apiURL + '/project/' + projectId + '/AssetSettings/Circuits');\r\n }\r\n \r\n public saveSiteName(projectId:number,siteName:SiteNameModel):Observable\r\n {\r\n return this.httpClient.post(this.apiURL + '/project/' + projectId + '/SpaceSettings/SiteNames', siteName);\r\n }\r\n public saveBuildingName(projectId:number,buildingName:BuildingNameModel):Observable\r\n {\r\n return this.httpClient.post(this.apiURL + '/project/' + projectId + '/SpaceSettings/BuildingNames', buildingName);\r\n }\r\n public saveZoneName(projectId:number,zoneName:ZoneNameModel):Observable\r\n {\r\n return this.httpClient.post(this.apiURL + '/project/' + projectId + '/SpaceSettings/ZoneNames', zoneName);\r\n }\r\n public saveCircuit(projectId:number,circuit:CircuitModel):Observable\r\n {\r\n return this.httpClient.post(this.apiURL + '/project/' + projectId + '/AssetSettings/Circuits', circuit);\r\n }\r\n\r\n public getArchivedSpaces(projectId:number,spacecodeStatus:SpaceCodeStatus = SpaceCodeStatus.OPEN):Observable> {\r\n return this.httpClient.get>(this.apiURL + '/project/' + projectId + '/SpaceCodes/Spaces/Archived?_s=' + spacecodeStatus);\r\n }\r\n\r\n public saveSpaceUpdateCode(projectId: number, spaceCode: SpaceCode): Observable {\r\n return this.httpClient.post(this.apiURL + '/project/' + projectId + '/spacecodes', spaceCode);\r\n }\r\n\r\n public getSpaceGroups(projectId: number,bGetTemplates:boolean = false): Observable> {\r\n return this.httpClient.get>(this.apiURL + '/project/' + projectId + '/spacegroups?bGetTemplates=' + bGetTemplates);\r\n }\r\n\r\n public saveSpaceGroup(projectId: number, spaceGroup: SpaceGroup): Observable {\r\n return this.httpClient.post(this.apiURL + '/project/' + projectId + '/spacegroups', spaceGroup);\r\n }\r\n\r\n public getUnassignedSpaces(projectId: number): Observable> {\r\n return this.httpClient.get>(this.apiURL + '/project/' + projectId + '/spaces/unassigned');\r\n }\r\n\r\n public exportUnassignedSpaces(projectId: number): void {\r\n this.downloadFile(this.apiURL + '/project/' + projectId + '/spaces/unassigned/export?_dateOffset=' + new Date().getTimezoneOffset())\r\n }\r\n public exportSpaces(projectId: number,spaceFilterModel:SpaceFilterModel,bGetAll:boolean,selectedIds:string): void {\r\n var url=this.apiURL + '/project/' + projectId + '/spaces/export?_dateOffset=' + new Date().getTimezoneOffset();\r\n return this.downloadSpaces(url, spaceFilterModel,bGetAll,selectedIds);\r\n }\r\n public downloadChecklistFrequencyReport(projectid:number,checklistid:number)\r\n {\r\n var apiURL:string = this.apiURL + \"/project/\" + projectid + \"/Checklists/\" + checklistid + \"/DMReport\";\r\n this.downloadFile(apiURL);\r\n }\r\n\r\n public getSpaces(projectId: number,filterModel:SpaceFilterModel): Observable {\r\n let params = new HttpParams();\r\n Object.keys(filterModel).forEach((key: string): void => {\r\n \r\n if (filterModel[key] && filterModel[key] instanceof Date)\r\n params = params.append(key, filterModel[key].toISOString());\r\n else if (filterModel[key] && filterModel[key] != null && filterModel[key] != undefined)\r\n params = params.append(key, filterModel[key]);\r\n });\r\n \r\n\r\n var url =this.apiURL + '/project/' + projectId + '/spaces';\r\n return this.httpClient.get(url,{ params: params });\r\n }\r\n\r\n public getAllSpaceCodes(projectId: number):Observable>\r\n {\r\n return this.httpClient.get>(this.apiURL + '/project/' + projectId + '/spaces/Codes');\r\n }\r\n\r\n public bulkUploadSpaces(projectId: number, spaceUpdateCodeId: number, files: Array): Observable {\r\n return this.httpClient.post(this.apiURL + '/project/' + projectId + '/spaces/' + spaceUpdateCodeId + '/csvspaces', files);\r\n }\r\n\r\n public bulkSaveSpaces(projectId: number, spaces: Array): Observable> {\r\n return this.httpClient.post>(this.apiURL + '/project/' + projectId + '/spaces/UploadSpaces', spaces);\r\n }\r\n\r\n public getAssetUpdateCodes(projectId: number): Observable> {\r\n return this.httpClient.get>(this.apiURL + '/project/' + projectId + '/AssetCodes');\r\n }\r\n public saveAssetUpdateCode(projectId: number, assetcode: AssetUpdateCode): Observable {\r\n return this.httpClient.post(this.apiURL + '/project/' + projectId + '/AssetCodes', assetcode);\r\n }\r\n\r\n\r\n public getAssetGroups(projectId: number,bGetTemplates:boolean = false): Observable> {\r\n return this.httpClient.get>(this.apiURL + '/project/' + projectId + '/AssetGroups?bGetTemplates=' + bGetTemplates);\r\n }\r\n public saveAssetGroup(projectId: number, assetgroups: AssetGroup): Observable {\r\n return this.httpClient.post(this.apiURL + '/project/' + projectId + '/AssetGroups', assetgroups);\r\n }\r\n\r\n bulkDeleteSpaces(projectId: number, filter:SpaceFilterModel): Observable {\r\n var url:string =this.apiURL + '/project/' + projectId + '/spaces/delete';\r\n return this.httpClient.request('delete', url, { body: filter });\r\n }\r\n public getSpaceDetails(projectId: number,spaceCode: string,_isparse:boolean): Observable {\r\n return this.httpClient.get(this.apiURL + '/project/' + projectId +'/spaces/code?_c='+encodeURIComponent(spaceCode)+'&_isparse='+_isparse);\r\n }\r\n public getProjectChecklists(projectId:number):Observable>{\r\n return this.httpClient.get>(this.apiURL + '/project/' + projectId +'/Checklists');\r\n }\r\n public getAssets(projectId: number,filterModel:AssetsFilterModel): Observable {\r\n let params = new HttpParams();\r\n Object.keys(filterModel).forEach((key: string): void => {\r\n if (filterModel[key] && filterModel[key] instanceof Date)\r\n params = params.append(key, filterModel[key].toISOString());\r\n else if (filterModel[key] != null && filterModel[key] != undefined)\r\n params = params.append(key, filterModel[key]);\r\n });\r\n\r\n var url =this.apiURL + '/project/' + projectId + '/assets';\r\n return this.httpClient.get(url,{ params: params });\r\n }\r\n public getAssetCodes(projectId: number,filterModel:AssetsFilterModel): Observable> {\r\n let params = new HttpParams();\r\n Object.keys(filterModel).forEach((key: string): void => {\r\n if (filterModel[key] && filterModel[key] instanceof Date)\r\n params = params.append(key, filterModel[key].toISOString());\r\n else if (filterModel[key])\r\n params = params.append(key, filterModel[key]);\r\n });\r\n\r\n var url =this.apiURL + '/project/' + projectId + '/assets/Codes';\r\n return this.httpClient.get>(url,{ params: params });\r\n }\r\n\r\n public exportUnassignedAssets(projectId: number): void {\r\n this.downloadFile(this.apiURL + '/project/' + projectId + '/assets/unassigned/export')\r\n }\r\n public getAssetDetails(projectId: number,assetCode: string): Observable {\r\n return this.httpClient.get(this.apiURL + '/project/' + projectId +'/assets/code?_c='+encodeURIComponent(assetCode));\r\n }\r\n public exportAssetGroups(projectId: number): void {\r\n this.downloadFile(this.apiURL + '/project/' + projectId + '/AssetGroups/export')\r\n }\r\n\r\n public exportSiteNames(projectId: number): void {\r\n this.downloadFile(this.apiURL + '/project/' + projectId + '/SpaceSettings/SiteNames/Export')\r\n }\r\n\r\n public exportBuildingNames(projectId: number): void {\r\n this.downloadFile(this.apiURL + '/project/' + projectId + '/SpaceSettings/BuildingNames/Export')\r\n }\r\n public exportZoneNames(projectId: number): void {\r\n this.downloadFile(this.apiURL + '/project/' + projectId + '/SpaceSettings/ZoneNames/Export')\r\n }\r\n public exportCircuits(projectId: number): void {\r\n this.downloadFile(this.apiURL + '/project/' + projectId + '/AssetSettings/Circuits/Export')\r\n }\r\n public archiveAssets(projectId:number, assetUpdateCodeId: number, assets: Array,filterModel:AssetsFilterModel,getAll:boolean){\r\n let params = this.FillAssetParams(filterModel, getAll);\r\n return this.httpClient.put(this.apiURL + '/project/' + projectId + '/Assets/' + assetUpdateCodeId + '/Archive?_dateOffset=' + this.dateUtil.getOffset(), assets,{ params: params });\r\n }\r\n public moveAssets(projectId:number,assetUpdateCodeId:number,spaceId:number,filterModel:AssetsFilterModel):Observable>\r\n {\r\n \r\n return this.httpClient.put>(this.apiURL + '/project/' + projectId + '/Assets/Move/' + assetUpdateCodeId + '/' + spaceId ,filterModel);\r\n }\r\n\r\n private FillAssetParams(filterModel: AssetsFilterModel, getAll: boolean) {\r\n let params = new HttpParams();\r\n Object.keys(filterModel).forEach((key: string): void => {\r\n if (filterModel[key] && filterModel[key] instanceof Date)\r\n params = params.append(key, filterModel[key].toISOString());\r\n else if (filterModel[key] != null && filterModel[key] != undefined)\r\n params = params.append(key, filterModel[key]);\r\n });\r\n params = params.append('isGetAll', getAll.toString());\r\n return params;\r\n }\r\n\r\n public restoreAssets(projectId:number,assetUpdateCodeId: number, assets: Array,filterModel:AssetsFilterModel,getAll:boolean) {\r\n let params = this.FillAssetParams(filterModel, getAll);\r\n return this.httpClient.put(this.apiURL + '/project/' + projectId + '/Assets/' + assetUpdateCodeId + '/Restore?_dateOffset=' + this.dateUtil.getOffset(), assets,{ params: params });\r\n }\r\n public deleteAssets(projectId: number, assetfiltermodel:AssetsFilterModel):Observable {\r\n var url:string =this.apiURL + '/project/' + projectId + '/Assets/Delete';\r\n return this.httpClient.request('delete', url, { body: assetfiltermodel });\r\n }\r\n\r\n public deleteTickets(projectId: number,ticketsfilterModel: TicketsFilterModel):Observable {\r\n var url:string =this.apiURL + '/project/' + projectId + '/Tickets';\r\n return this.httpClient.request('delete', url, { body:ticketsfilterModel});\r\n }\r\n\r\n public deleteSystemTickets(projectId: number, ticketsfilterModel: TicketsFilterModel,systemTagId:number):Observable {\r\n var url:string =this.apiURL + '/project/' + projectId + `/Tickets/${systemTagId}`;\r\n return this.httpClient.request('delete', url, { body: ticketsfilterModel });\r\n }\r\n public exportSystemTickets(projectId: number, ticketFilter: TicketsFilterModel,systemTagId:number,bGetAll:boolean,selectedIds:string):void {\r\n var url:string =this.apiURL + '/project/' + projectId + `/Tickets/${systemTagId}/Export`;\r\n return this.downloadTickets(url, ticketFilter,bGetAll,selectedIds);\r\n }\r\n public PrintTickets(projectid:number,printTicketModel:PrintTicketsModel):Observable{\r\n var url:string =this.apiURL + '/project/' + projectid + '/Tickets/Print';\r\n return this.httpClient.post( url, printTicketModel);\r\n\r\n }\r\n public PrintSystemTickets(projectid:number,printTicketModel:PrintTicketsModel,systemTagId:number):Observable{\r\n var url:string =this.apiURL + '/project/' + projectid + '/Tickets/' + systemTagId.toString() + '/Print';\r\n return this.httpClient.post( url, printTicketModel);\r\n\r\n }\r\n\r\n\r\n public exportAssets(projectId: number,assetsFilterModel: AssetsFilterModel,bGetAll:boolean,selectedIds:string): void {\r\n var url=this.apiURL + '/project/' + projectId + '/assets/export?_dateOffset=' + new Date().getTimezoneOffset();\r\n return this.downloadAssets(url, assetsFilterModel,bGetAll,selectedIds);\r\n }\r\n\r\n getProjectTicketTags(organizationId: number, projectId: number = 0):Observable> {\r\n var url = this.apiURL + this.appURL + '/' + organizationId + '/' + 'TicketTags?projectId=' + projectId;\r\n return this.httpClient.get>(url);\r\n }\r\n\r\n updateProjectTicketTags(organizationId: number, projectId: number, ticketTags:Array):Observable{\r\n var url =this.apiURL + this.appURL + '/' + organizationId + '/projects/' + projectId + '/TicketTags';\r\n return this.httpClient.put(url,ticketTags);\r\n }\r\n public getTickets(projectId: number,filterModel:TicketsFilterModel): Observable> {\r\n let params = new HttpParams();\r\n Object.keys(filterModel).forEach((key: string): void => {\r\n if (filterModel[key] != null && filterModel[key] != undefined )\r\n params = params.append(key, filterModel[key]);\r\n });\r\n var url =this.apiURL + '/project/' + projectId + '/tickets';\r\n return this.httpClient.get>(url,{ params: params });\r\n }\r\n public getTransmittals(projectId: number,filterModel:TransmittalFilterModel,type:TransmittalTypes): Observable {\r\n let params = new HttpParams();\r\n Object.keys(filterModel).forEach((key: string): void => {\r\n if (filterModel[key] != null && filterModel[key] != undefined )\r\n params = params.append(key, filterModel[key]);\r\n });\r\n var url =this.apiURL + '/project/' + projectId + '/transmittals/'+ type;\r\n return this.httpClient.get(url,{ params: params });\r\n }\r\n\r\n getTicketTagsFlows(projectId: number,userId: number):Observable{\r\n var url =this.apiURL + '/project/' + projectId + '/'+userId+'/FlowTags';\r\n return this.httpClient.get(url);\r\n }\r\n\r\n getProjectIRTemplates(organizationid: number, projectId: number = 0): Observable> {\r\n\r\n var url = this.apiURL + this.appURL + '/' + organizationid + '/' + 'IRTemplates?projectId=' + projectId;\r\n\r\n return this.httpClient.get>(url);\r\n }\r\n getProjectIATemplates(organizationid: number, projectId: number = 0): Observable> {\r\n\r\n var url = this.apiURL + this.appURL + '/' + organizationid + '/' + 'IATemplates?projectId=' + projectId;\r\n\r\n return this.httpClient.get>(url);\r\n\r\n }\r\n\r\n getProjectPPTemplates(organizationid: number, projectId: number = 0): Observable> {\r\n\r\n var url = this.apiURL + this.appURL + '/' + organizationid + '/' + 'PPTemplates?projectId=' + projectId;\r\n\r\n return this.httpClient.get>(url);\r\n\r\n }\r\n\r\n updateProjectIATemplates(organizationId: number, projectId: number, iATemplates:Array):Observable{\r\n var url =this.apiURL + this.appURL + '/' + organizationId + '/projects/' + projectId + '/IATemplates';\r\n return this.httpClient.put(url,iATemplates);\r\n }\r\n\r\n updateProjectIRTemplates(organizationId: number, projectId: number, iRTemplates:Array):Observable{\r\n var url =this.apiURL + this.appURL + '/' + organizationId + '/projects/' + projectId + '/IRTemplates';\r\n return this.httpClient.put(url,iRTemplates);\r\n }\r\n updateProjectPPTemplates(organizationId: number, projectId: number, pPTemplates:Array):Observable{\r\n var url =this.apiURL + this.appURL + '/' + organizationId + '/projects/' + projectId + '/PPTemplates';\r\n return this.httpClient.put(url,pPTemplates);\r\n }\r\n getProjectERTemplates(organizationid: number, projectId: number = 0): Observable> {\r\n\r\n var url = this.apiURL + this.appURL + '/' + organizationid + '/' + 'ERTemplates?projectId=' + projectId;\r\n\r\n return this.httpClient.get>(url);\r\n }\r\n getProjectARTemplates(organizationid: number, projectId: number = 0): Observable> {\r\n\r\n var url = this.apiURL + this.appURL + '/' + organizationid + '/' + 'ARTemplates?projectId=' + projectId;\r\n\r\n return this.httpClient.get>(url);\r\n }\r\n updateProjectERTemplates(organizationId: number, projectId: number, eRTemplates:Array):Observable{\r\n var url =this.apiURL + this.appURL + '/' + organizationId + '/projects/' + projectId + '/ERTemplates';\r\n return this.httpClient.put(url,eRTemplates);\r\n }\r\n updateProjectARTemplates(organizationId: number, projectId: number, aRTemplates:Array):Observable{\r\n var url =this.apiURL + this.appURL + '/' + organizationId + '/projects/' + projectId + '/ARTemplates';\r\n return this.httpClient.put(url,aRTemplates);\r\n }\r\n updateProjectSpaceAdditionalInfos(projectid: number, SpaceAdditionalInfos:SpaceAddlinformation[]):Observable {\r\n var url =this.apiURL + '/project/' + projectid + '/SpaceAddlInformations';\r\n return this.httpClient.put(url,SpaceAdditionalInfos);\r\n }\r\n\r\n updateProjectAssetAdditionalInfos(projectid: number, AssetAdditionalInfos: AssetAddlinformation[]) {\r\n var url =this.apiURL + '/project/' + projectid + '/AssetAddlInformations';\r\n return this.httpClient.put(url,AssetAdditionalInfos);\r\n }\r\n getSystemTicketFlows(projectId: number,systemtagId:number):Observable>{\r\n var url =this.apiURL + '/project/' + projectId + '/SystemTicketFlows/'+systemtagId;\r\n return this.httpClient.get>(url);\r\n }\r\n\r\n DeleteUserChecklists(projectId:number,checklistid:number,filterModel:UserChecklistsFilterModel)\r\n {\r\n var url:string =this.apiURL + '/project/' + projectId + '/' + checklistid + '/UserChecklists';\r\n return this.httpClient.request('delete', url, { body: filterModel });\r\n }\r\n getProjectPATemplates(organizationid: number, projectId: number = 0): Observable> {\r\n var url = this.apiURL + this.appURL + '/' + organizationid + '/' + 'PATemplates?projectId=' + projectId;\r\n return this.httpClient.get>(url);\r\n }\r\n updateProjectPATemplates(organizationId: number, projectId: number, pATemplates:Array):Observable{\r\n var url =this.apiURL + this.appURL + '/' + organizationId + '/projects/' + projectId + '/PATemplates';\r\n return this.httpClient.put(url,pATemplates);\r\n }\r\n updateProjectExternalSettings(project: Project) {\r\n return this.httpClient.put(this.apiURL + '/project/' + project.id+'/ExternalSettings', project);\r\n }\r\n public exportTickets(projectId: number,ticketsFilterModel: TicketsFilterModel,bGetAll:boolean,selectedIds:string): void {\r\n var url=this.apiURL + '/project/' + projectId + '/Tickets/export' ;\r\n return this.downloadTickets(url, ticketsFilterModel,bGetAll,selectedIds);\r\n }\r\n getProjectTimeZone(projectId: number = 0): Observable {\r\n return this.httpClient.get( this.apiURL+'/project/'+ projectId+'/TimeZone');\r\n }\r\n getCompanies(projectId: number): Observable> {\r\n return this.httpClient.get>(this.apiURL+'/project/'+ projectId+'/Companies');\r\n }\r\n assignStatusList(projectId: number, assignedlists: Array) {\r\n return this.httpClient.put(this.apiURL+'/project/'+ projectId+'/StatusList', assignedlists);\r\n }\r\n getAssignedStatusList(projectId: number): Observable> {\r\n return this.httpClient.get>(this.apiURL+'/project/'+ projectId+'/StatusList');\r\n }\r\n\r\n removeProjectLinkedModels(projectid: number,linkedmodels:Array): Observable {\r\n var url:string =this.apiURL + this.appURL + '/projects/' + projectid + '/linked-models';\r\n return this.httpClient.request('delete', url, { body: linkedmodels });\r\n }\r\n\r\n updateProjectLinkedModels(projectid: number,models:Array,_menuAction:BIMMenusAction):Observable> {\r\n var url:string =this.apiURL + this.appURL + '/projects/' + projectid + '/linked-models?_type=' + _menuAction;\r\n return this.httpClient.put>(url,models);\r\n }\r\n CancelSpacesUpload(projectId:number,spaces:Array):Observable{\r\n return this.httpClient.post(this.apiURL + '/project/' + projectId + '/Spaces/CSVSpaces/Cancel',spaces);\r\n }\r\n\r\n downloadFolderHierarchy(projectid:number):void {\r\n var url: string = this.apiURL + '/' + 'Project' + '/' + projectid + '/DownloadFolders';\r\n this.downloadFile(url);\r\n\r\n }\r\n updateTransmittalStatuses(projectid:number,status:TransmittalStatus,filterModel:TransmittalFilterModel):Observable>\r\n {\r\n\r\n return this.httpClient.put>(this.apiURL + '/' + 'Project' + '/' + projectid + '/Transmittals/Status/' + status,filterModel );\r\n\r\n }\r\n\r\n ResendSentNotifications(projectid:number,filterModel:TransmittalFilterModel):Observable\r\n {\r\n\r\n return this.httpClient.put(this.apiURL + '/' + 'Project' + '/' + projectid + '/Transmittals/ResendSentNotifications',filterModel );\r\n\r\n }\r\n deleteTransmittals(projectid:number,filterModel:TransmittalFilterModel):Observable\r\n {\r\n\r\n return this.httpClient.request('delete',this.apiURL + '/' + 'Project' + '/' + projectid + '/Transmittals/Delete',{ body: filterModel } );\r\n\r\n }\r\n\r\n public exportTransmittals(projectId: number,type:TransmittalTypes,filterModel:TransmittalFilterModel): void {\r\n var url: string = this.apiURL + '/' + 'Project' + '/' + projectId + '/Transmittals/' + type + '/Export';\r\n return this.downloadTransmittals(url, filterModel);\r\n }\r\n updateTransmittalNotifications(projectid:number,type:TransmittalTypes,notifications:Array):Observable\r\n {\r\n\r\n return this.httpClient.put(this.apiURL + '/' + 'Project' + '/' + projectid + '/Transmittals/' + type + '/Notifications',notifications );\r\n\r\n }\r\n getTransmittalNotifications(projectid:number,type:TransmittalTypes):Observable>\r\n {\r\n\r\n return this.httpClient.get>(this.apiURL + '/' + 'Project' + '/' + projectid + '/Transmittals/' + type + '/Notifications');\r\n\r\n }\r\n PrintTransmittals(projectid: number, type:TransmittalTypes, filterModel:TransmittalFilterModel):Observable {\r\n return this.httpClient.post(this.apiURL + '/Project/' + projectid + '/Transmittals/' + type + '/Print', filterModel);\r\n }\r\n\r\n UpdateDocumentTransmittals(projectid:number,documentVersions:Array):Observable> {\r\n return this.httpClient.put>(this.apiURL + '/Project/' + projectid + '/Documents/Versions/Transmittals', documentVersions);\r\n }\r\n getSensorCodes(projectid:number):Observable>\r\n {\r\n\r\n return this.httpClient.get>(this.apiURL + '/' + 'Project' + '/' + projectid + '/iOTSensors' );\r\n\r\n }\r\n getSensorCodeData(projectid:number,sensorId:number,_sd:string,_ed:string):Observable\r\n {\r\n let params = new HttpParams();\r\n \r\n params = params.append(\"_sd\",_sd);\r\n params = params.append(\"_ed\",_ed);\r\n \r\n\r\n return this.httpClient.get(this.apiURL + '/' + 'Project' + '/' + projectid + '/iOTSensors/' + sensorId,{params:params} );\r\n\r\n }\r\n \r\n\r\n}\r\n","import { HttpClient, HttpParams } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { BehaviorSubject, Observable, Subject } from 'rxjs';\r\nimport { environment } from 'src/environments/environment';\r\nimport { Folder } from 'src/shared/Models/API/folder';\r\nimport { Project } from 'src/shared/Models/API/Project';\r\nimport { DocumentReportFilter, ReportValuesModel } from 'src/shared/Models/API/ReportsModels';\r\nimport { Scope } from 'src/shared/Models/scope-tree';\r\nimport { HierarchyModificationType, MainViewType } from 'src/shared/UI/ViewTypes';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ScopeService {\r\n private apiURL: string = null;\r\n private appURL: string = '/Scope';\r\n //Inject this service to the component that needs the scope of the system.\r\n private scope = new BehaviorSubject(null);\r\n private RefreshScope = new BehaviorSubject(null);\r\n private refereshHeirarchy = new BehaviorSubject(null);\r\n private modifyHeirarchy = new Subject();\r\n\r\n constructor(private httpClient: HttpClient) {\r\n this.apiURL = environment.WebAPIURL;\r\n }\r\n\r\n emitScopeSelection(event: Scope) {\r\n this.scope.next(event);\r\n }\r\n\r\n scopeObservable(): Observable {\r\n return this.scope.asObservable();\r\n }\r\n\r\n emitRefreshScopeSelection(event: Scope) {\r\n this.RefreshScope.next(event);\r\n\r\n }\r\n\r\n RefreshScopeSelectionObservable(): Observable {\r\n return this.RefreshScope.asObservable();\r\n }\r\n\r\n emitRefreshHeirarchy(event: boolean) {\r\n this.refereshHeirarchy.next(event);\r\n this.refereshHeirarchy.complete();\r\n }\r\n\r\n refreshHeirarchyObservable(): Observable {\r\n return this.refereshHeirarchy.asObservable();\r\n }\r\n\r\n DeletebulkFolders(scopeType: number, scopeId: number,folders:Array) {\r\n return this.httpClient.put(this.apiURL + this.appURL + '/' + scopeType + '/' + scopeId+'/isActive', folders);\r\n }\r\n\r\n emitModifyHeirarchy(project: Project,type:HierarchyModificationType) {\r\n this.modifyHeirarchy.next({project:project,type:type});\r\n }\r\n\r\n modifyHeirarchyObservable(): Observable {\r\n return this.modifyHeirarchy.asObservable();\r\n }\r\n\r\n validateDocumentName(scopeType: number, scopeId: number,docName:string): Observable\r\n {\r\n let cparams = new HttpParams().set('docName',docName);\r\n var url: string = this.apiURL + this.appURL + '/' + scopeType + '/' + scopeId+'/ValidateDocumentName';\r\n return this.httpClient.get(url,{ params: cparams });\r\n }\r\n GetDocumentReport(scopeType: number, scopeId: number,filterModel:DocumentReportFilter):Observable>\r\n {\r\n var url: string = this.apiURL + this.appURL + '/' + scopeType + '/' + scopeId+'/Report';\r\n let params = new HttpParams();\r\n Object.keys(filterModel).forEach(function (key) {\r\n if (filterModel[key] && filterModel[key] != null && filterModel[key] != undefined)\r\n {\r\n params = params.append(key, filterModel[key]);\r\n }\r\n });\r\n return this.httpClient.get>(url,{params:params});\r\n\r\n }\r\n\r\n\r\n\r\n}\r\n","import { Injectable, Injector } from '@angular/core';\r\nimport * as signalR from \"@aspnet/signalr\"\r\nimport { IHttpConnectionOptions } from '@aspnet/signalr';\r\nimport { BehaviorSubject, Observable } from 'rxjs';\r\nimport { AuthService } from 'src/app/modules/authentication/auth.service';\r\nimport { NotificationModel, UserNotificationModel } from 'src/shared/Models/user';\r\nimport { BaseService } from '../base-service';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class SignalrService extends BaseService {\r\n \r\n\r\n constructor(injector: Injector,authService:AuthService) {\r\n super(injector);\r\n }\r\n private notificationSubject = new BehaviorSubject(null);\r\n private hubConnection:signalR.HubConnection;\r\n private _notificationModel:NotificationModel =null;\r\n private _totalCount:number =null;\r\n public startConnection():Promise{\r\n\r\n const options: IHttpConnectionOptions = {\r\n accessTokenFactory: () => {\r\n return this.authService.getAccessToken();\r\n }\r\n };\r\n if(this.hubConnection == null)\r\n {\r\n this.hubConnection = new signalR.HubConnectionBuilder().withUrl( this.apiURL + \"/signalrnotifications\",options).configureLogging(signalR.LogLevel.Information).build();\r\n console.log('startig');\r\n return this.hubConnection.start();\r\n }\r\n \r\n \r\n }\r\n\r\n public resetHubConnection():void\r\n {\r\n if(this.hubConnection != null)\r\n this.hubConnection.stop();\r\n this.hubConnection =null;\r\n }\r\n\r\n public ClearSubject():void {\r\n this.notificationSubject = new BehaviorSubject(null);\r\n \r\n }\r\n public isRefresh():boolean{\r\n var refresh:boolean = false;\r\n\r\n if(this.hubConnection == null || this.hubConnection == undefined)\r\n refresh = true;\r\n\r\n return refresh;\r\n }\r\n\r\n public getUserNotification():NotificationModel{\r\n return this._notificationModel;\r\n }\r\n public setUserNotification(notificationModel:NotificationModel)\r\n {\r\n this._notificationModel=notificationModel;\r\n }\r\n public getTotalCount():number{\r\n return this._totalCount;\r\n }\r\n public setTotalCount(totalCount:number)\r\n {\r\n this._totalCount=totalCount;\r\n }\r\n \r\n public getNotificationHub():signalR.HubConnection {\r\n return this.hubConnection;\r\n }\r\n\r\n notificationObservable(): Observable {\r\n return this.notificationSubject.asObservable();\r\n }\r\n\r\n\r\n\r\n public startNotificationListen = () => {\r\n \r\n this.hubConnection.on('notification', (data) => {\r\n var notification:NotificationModel = data as NotificationModel;\r\n this.notificationSubject.next(notification);\r\n \r\n });\r\n }\r\n\r\n \r\n\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { CookieService } from 'ngx-cookie-service';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class StorageService {\r\n\r\n constructor(private cookieService: CookieService) { }\r\n\r\n getCookie(key: string): T {\r\n var value = this.cookieService.get(key);\r\n if (value) {\r\n var t: T = JSON.parse(value);\r\n return t;\r\n }\r\n\r\n }\r\n getLocalStorageItem(key: string): T {\r\n var value = localStorage.getItem(key);\r\n if (value) {\r\n var t: T = JSON.parse(value);\r\n return t;\r\n }\r\n else\r\n return null;\r\n\r\n }\r\n\r\n setCookie(key: string, obj: T, expires?: number | Date, path?: string, domain?: string, secure?: boolean, sameSite?: 'Lax' | 'None' | 'Strict'): void {\r\n this.cookieService.set(key, JSON.stringify(obj), expires, path, domain, secure, sameSite);\r\n }\r\n setLocalStorage(key: string, obj: T): void {\r\n localStorage.setItem(key,JSON.stringify(obj));\r\n }\r\n removeLocalStorage(key:string)\r\n {\r\n localStorage.removeItem(key);\r\n }\r\n\r\n removeCookie(key: string, path?: string, domain?: string, secure?: boolean, sameSite?: 'Lax' | 'None' | 'Strict'): void {\r\n this.cookieService.delete(key, path, domain, secure, sameSite);\r\n }\r\n\r\n removeAllCookie(path?: string, domain?: string, secure?: boolean, sameSite?: 'Lax' | 'None' | 'Strict') {\r\n this.cookieService.deleteAll(path, domain, secure, sameSite);\r\n }\r\n setMobileValue(isMobile:boolean)\r\n {\r\n if(isMobile)\r\n localStorage.setItem(\"_mb\",\"1\");\r\n else\r\n localStorage.removeItem(\"_mb\");\r\n }\r\n\r\n \r\n\r\n getIsMobile():boolean{\r\n // var _mbVal:string = localStorage.getItem(\"_mb\");\r\n // if(_mbVal != null && _mbVal != undefined && _mbVal == \"1\")\r\n // return true;\r\n // else\r\n // return false;\r\n var isMobile= /iPhone|iPad|iPod|Android/i.test(navigator.userAgent);\r\n return isMobile;\r\n }\r\n}\r\n","import { ApplicationRef, Injectable } from '@angular/core';\r\nimport { SwUpdate } from '@angular/service-worker';\r\nimport { concat, interval, Observable, Subject } from 'rxjs';\r\nimport { first, switchMap } from 'rxjs/operators';\r\ndeclare var $: any;\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class SwUpdateService {\r\n private swUpdateNotification = new Subject();\r\n \r\n constructor(public updates: SwUpdate,\r\n private appRef: ApplicationRef) {\r\n }\r\n\r\n emitUpdateNotification(isUpdated:boolean) {\r\n this.swUpdateNotification.next(isUpdated);\r\n }\r\n \r\n updateNotificationObservable(): Observable {\r\n return this.swUpdateNotification.asObservable();\r\n }\r\n\r\n // this method automatically checks when update is avialble during initialization \r\n //and on each navigation request from outside\r\n public checkForAvailableUpdates(): void {\r\n // Required to enable updates on Windows and ios.\r\n if (this.updates.isEnabled) {\r\n this.updates.available.subscribe((event) => {\r\n this.emitUpdateNotification(true); \r\n //isUpdate - is true here to show swupdate component to notify user about update\r\n });\r\n }\r\n else {\r\n console.log(\"Update Not Enabled\");\r\n }\r\n }\r\n\r\n\r\n public fetchAvailbleupdates():void{\r\n this.updates.activateUpdate().then(() => {\r\n location.reload();\r\n this.emitUpdateNotification(false)\r\n // setting value to false after loading available updates to hide update notification (swupdate component) \r\n });\r\n }\r\n\r\n\r\n\r\n\r\n\r\n //NOTE: this method is not used anywhere for now, if we require on some interval need to check for updates\r\n // then call this method in appcomponent constructor\r\n public checkForAppUpdateOnInterval() {\r\n //The service worker checks for updates during initialization and on each navigation request from outside. \r\n //However, it is possbile to manually check for updates if a site that changes frequently or want updates to happen on a schedule.\r\n\r\n // Required to enable updates on Windows and ios.\r\n if (this.updates.isEnabled) {\r\n // Allow the app to stabilize first, before starting polling for updates with `interval()`.\r\n this.appRef.isStable.pipe(\r\n first(stable => stable),\r\n switchMap(() => interval(6 * 60 * 60 * 1000)) // Every 6h\r\n ).subscribe(() => {\r\n this.updates.checkForUpdate();\r\n });\r\n }\r\n else {\r\n console.log(\"Update Not Enabled\");\r\n }\r\n }\r\n\r\n}\r\n","import { Injectable, Injector } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { environment } from 'src/environments/environment';\r\nimport { Document } from 'src/shared/Models/API/document';\r\nimport { DocumentVersion } from 'src/shared/Models/API/documentVersion';\r\nimport { TransmittalLogModel, TransmittalModel } from 'src/shared/Models/transmittals/tranmittals.model';\r\nimport { BaseService } from './base-service';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class TransmittalService extends BaseService {\r\n\r\n private appURL: string = '/Transmittal'\r\n constructor(injector:Injector) {\r\n super(injector);\r\n }\r\n\r\n public getTransmittalDetails(transmittalId: number): Observable {\r\n return this.httpClient.get(this.apiURL + this.appURL + '/' + transmittalId);\r\n \r\n }\r\n public updateTransmittalDetails(transmittalModel:TransmittalModel): Observable {\r\n return this.httpClient.put(this.apiURL + this.appURL + '/' + transmittalModel.id,transmittalModel);\r\n }\r\n public getTransmittalDocuments(transmittalId: number): Observable> {\r\n return this.httpClient.get>(this.apiURL + this.appURL + '/' + transmittalId + \"/Documents\");\r\n }\r\n public updateDocuments(transmittalId: number,documents:Array): Observable> {\r\n return this.httpClient.put>(this.apiURL + this.appURL + '/' + transmittalId + '/Documents',documents);\r\n }\r\n public removeDocuments(transmittalId: number,documents:Array): Observable {\r\n return this.httpClient.put(this.apiURL + this.appURL + '/' + transmittalId + '/Documents/remove',documents);\r\n }\r\n public DownloadgetTransmittal(id:string,token:string):Observable{\r\n if(this.apiURL.indexOf(\"#WEBAPIURL#\") != -1)\r\n this.apiURL = this.apiURL.replace(\"#WEBAPIURL#\",environment.SERVERURL + \":\" + environment.APIPORT + \"/api\" );\r\n return this.httpClient.get(this.apiURL + this.appURL + '/' + id + \"/GetDownload?_t=\" + token);\r\n }\r\n\r\n public DownloadTransmittal(id:number,token:string)\r\n {\r\n var url:string=this.apiURL + this.appURL + '/' + id + \"/Download\" ;\r\n this.downloadTransmittalDocuments(url,token);\r\n }\r\n public getLogs(id:number):Observable>\r\n {\r\n return this.httpClient.get>(this.apiURL + this.appURL + '/' + id + \"/Logs\" );\r\n }\r\n public exportTransmittalLogs(id: number, startDate: string, endDate: string): void {\r\n var url: string = this.apiURL + this.appURL + '/' + id + '/' + 'logs/export?startDate=' + startDate + '&endDate=' + endDate ;\r\n this.downloadFile(url);\r\n }\r\n public DownloadExternalTransmittal(id:number,fileId:number)\r\n {\r\n var url:string=this.apiURL + this.appURL + '/' + id + \"/\" + fileId + \"/Download\" ;\r\n this.downloadFile(url,null,false);\r\n }\r\n \r\n}\r\n","import { HttpClient, HttpParams } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { environment } from 'src/environments/environment';\r\nimport { Job } from 'src/shared/Models/Internal/job';\r\n\r\n@Injectable({ providedIn: 'root' })\r\n\r\nexport class JobService {\r\n private apiURL: string = null;\r\n private appURL: string = '/Job';\r\n constructor(private httpClient: HttpClient) {\r\n this.apiURL = environment.WebAPIURL;\r\n }\r\n\r\n saveUploadedDocuments(job: Job): any {\r\n return this.httpClient.post(this.apiURL + this.appURL, job);\r\n }\r\n}","import { Injectable } from '@angular/core';\r\nimport { BehaviorSubject, Observable } from 'rxjs';\r\n\r\n@Injectable({ providedIn: 'root' })\r\n\r\nexport class UploadPaneService {\r\n // to carry upload-jobs from PLUpload to Upload Pane.\r\n static uploadJobs: BehaviorSubject = new BehaviorSubject(null);\r\n // to toggle the visibility.\r\n private isVisible: BehaviorSubject = new BehaviorSubject(null);\r\n // to display the number of on-going upload-job(s).\r\n private numUploads: BehaviorSubject = new BehaviorSubject(null);\r\n\r\n constructor() { }\r\n\r\n get uploadJobs(): any {\r\n return UploadPaneService.uploadJobs;\r\n }\r\n\r\n addJobs(job: any): void {\r\n UploadPaneService.uploadJobs.next(job);\r\n }\r\n\r\n getJobs(): Observable {\r\n return UploadPaneService.uploadJobs.asObservable();\r\n }\r\n\r\n setVisibility(value: boolean): void {\r\n this.isVisible.next(value);\r\n }\r\n\r\n getVisibility(): Observable {\r\n return this.isVisible.asObservable();\r\n }\r\n\r\n setOngoingUploadsCount(value: number): void {\r\n this.numUploads.next(value);\r\n }\r\n\r\n getOngoingUploadsCount(): Observable {\r\n return this.numUploads.asObservable();\r\n }\r\n clear()\r\n {\r\n UploadPaneService.uploadJobs.next(null);\r\n }\r\n}\r\n","import { Injectable, Injector } from \"@angular/core\";\r\nimport { HttpClient, HttpParams } from \"@angular/common/http\";\r\nimport { Observable } from 'rxjs';\r\nimport { OrganisationTreeNode } from \"src/shared/Models/scope-tree\";\r\nimport { User, UserNotificationModel } from \"src/shared/Models/user\";\r\nimport { ChangePassword } from \"src/shared/Models/changePassword\";\r\nimport { Project } from \"src/shared/Models/API/Project\";\r\nimport { CheckList } from \"src/shared/Models/API/checklist\";\r\nimport { BaseService } from \"./base-service\";\r\nimport { UserChecklist } from \"src/shared/Models/API/user-checklist\";\r\nimport { UserChecklistsFilterModel, UserNotificationFilterModel } from \"src/shared/Models/API/filtermodel\";\r\nimport { ChecklistReportFilterModel, ReportValuesModel } from \"src/shared/Models/API/ReportsModels\";\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class UserService extends BaseService {\r\n\r\n private appURL: string = '/User'\r\n\r\n constructor(injector: Injector) {\r\n super(injector);\r\n }\r\n\r\n public getOrganization(id: number): Observable {\r\n return this.httpClient.get(this.apiURL + this.appURL + '/' + id.toString() + '/OrgHierarchy');\r\n }\r\n\r\n\r\n public getUser(id: number): Observable {\r\n return this.httpClient.get(this.apiURL + this.appURL + '/' + id);\r\n }\r\n public getUserbyname(name: string): Observable {\r\n return this.httpClient.get(this.apiURL + this.appURL + '/userbyname/' + name);\r\n }\r\n public getUserNotifications(id:number,filterModel:UserNotificationFilterModel)\r\n {\r\n \r\n let params = new HttpParams();\r\n Object.keys(filterModel).forEach((key: string): void => {\r\n if (filterModel[key] && filterModel[key] instanceof Date)\r\n params = params.append(key, filterModel[key].toISOString());\r\n else if (filterModel[key])\r\n params = params.append(key, filterModel[key]);\r\n });\r\n \r\n var url =this.apiURL + '/User/' + id + '/Notifications';\r\n return this.httpClient.get(url,{ params: params });\r\n }\r\n\r\n public exportUserNotifications(id: number,notificationFilterModel: UserNotificationFilterModel): void {\r\n var url=this.apiURL + '/User/' + id + '/Notifications/Export';\r\n return this.downloadUserNotifications(url, notificationFilterModel);\r\n }\r\n public ResetNotificationCount(id:number)\r\n {\r\n return this.httpClient.put(this.apiURL + this.appURL + '/' + id + \"/ResetNotificationCount\",{});\r\n }\r\n\r\n public updateUser(user: User): Observable {\r\n return this.httpClient.put(this.apiURL + this.appURL + '/' + user.id, user);\r\n }\r\n\r\n public changePassword(userId: number, changePassword: ChangePassword,validateCurrentPwd:boolean=false): Observable {\r\n let params = new HttpParams().set('bValidateCurrentPassword',validateCurrentPwd.toString());\r\n var url = this.apiURL + this.appURL + '/' + userId + '/ChangePassword'\r\n return this.httpClient.put(url,changePassword,{params:params});\r\n }\r\n\r\n public getProjects(id: number): Observable> {\r\n return this.httpClient.get>(this.apiURL + this.appURL + '/' + id.toString() + '/Projects');\r\n }\r\n\r\n public getUserChecklists(userId: number, projectId: number, checklistId: number, sortAndFilterOptions: UserChecklistsFilterModel): Observable> {\r\n let params = new HttpParams();\r\n Object.keys(sortAndFilterOptions).forEach((key: string): void => {\r\n if (sortAndFilterOptions[key] && sortAndFilterOptions[key] instanceof Date)\r\n params = params.append(key, sortAndFilterOptions[key] instanceof Date ? sortAndFilterOptions[key].toISOString() : sortAndFilterOptions[key].toString());\r\n else if (sortAndFilterOptions[key])\r\n params = params.append(key, sortAndFilterOptions[key]);\r\n });\r\n \r\n var url = this.apiURL + this.appURL + '/' + userId + '/' + projectId +'/' + checklistId + '/UserChecklists';\r\n\r\n return this.httpClient.get>(url, { params: params });\r\n }\r\n\r\n public GetUserChecklistReport(userId:number,projectId:number,filterModel:ChecklistReportFilterModel):Observable>\r\n {\r\n let params = new HttpParams();\r\n filterModel._do = new Date().getTimezoneOffset();\r\n Object.keys(filterModel).forEach(function (key) {\r\n if (filterModel[key] && filterModel[key] != null && filterModel[key] != undefined)\r\n {\r\n params = params.append(key, filterModel[key]);\r\n }\r\n \r\n });\r\n var url = this.apiURL + this.appURL + '/' + userId + '/' + projectId +'/UserChecklists/Report';\r\n return this.httpClient.get>(url, { params: params });\r\n\r\n }\r\n\r\n public getUserChecklistResponse( userchecklistid: number): Observable {\r\n return this.httpClient.get(this.apiURL + this.appURL + '/UserChecklists/' + userchecklistid +'/Response');\r\n }\r\n\r\n public saveUserChecklistResponse(userchecklistid: number, userChecklist: UserChecklist) {\r\n \r\n var d = new Date();\r\n var offset:number = d.getTimezoneOffset();\r\n \r\n return this.httpClient.put(this.apiURL + this.appURL + '/UserChecklists/' + userchecklistid + '/Response?_dateOffset=' + offset.toString(), userChecklist );\r\n }\r\n\r\n public getUserChecklistTemplates(userId: number, projectId): Observable>{\r\n return this.httpClient.get>(this.apiURL + this.appURL + '/' + userId + '/' + projectId + '/Checklists');\r\n }\r\n\r\n public saveUserChecklist(userId: number,projectid:number, checklistId: number, userChecklist: UserChecklist){\r\n \r\n \r\n \r\n return this.httpClient.post(this.apiURL + this.appURL + '/' + userId + '/' + projectid + '/' + checklistId + '/UserChecklists', userChecklist);\r\n }\r\n\r\n public exportUserChecklists(userId: number, projectId: number, checklistId: number, isGetAll: boolean, selectedIDs: string): void {\r\n var url: string = `${this.apiURL}${this.appURL}/${userId}/${projectId}/${checklistId}/UserChecklists/Export` ;\r\n this.downloadFile(url, selectedIDs, isGetAll);\r\n }\r\n\r\n public sendForceDisconnectEmail(user:User,culture:string)\r\n {\r\n let cparams = new HttpParams().set('culture',culture);\r\n return this.httpClient.post(this.apiURL + this.appURL + '/' + user.id+'/ForceDisconnect', user,{ params: cparams });\r\n }\r\n\r\n public UnlockUser(url:string,token:string)\r\n {\r\n var body = {\r\n accessToken:token\r\n };\r\n return this.httpClient.put(url + this.appURL + '/UnlockUser', body);\r\n }\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { Subscription } from 'rxjs';\r\nimport { SwUpdateService } from '../services/sw-update.service';\r\ndeclare var $: any;\r\n@Component({\r\n selector: 'app-sw-update',\r\n templateUrl: './sw-update.component.html',\r\n styleUrls: ['./sw-update.component.css']\r\n})\r\nexport class SwUpdateComponent implements OnInit {\r\n\r\n public updateNotificationSubscription: Subscription;\r\n constructor(private swupdateservice: SwUpdateService) { }\r\n\r\n ngOnInit() {\r\n this.subsribeForUpdateNotification();\r\n }\r\n Refresh() {\r\n this.swupdateservice.fetchAvailbleupdates();\r\n }\r\n\r\n Cancel() {\r\n $('#updateSW').addClass(\"refresh-alert-hide\");\r\n }\r\n\r\n subsribeForUpdateNotification(): void {\r\n this.updateNotificationSubscription = this.swupdateservice.updateNotificationObservable().subscribe((isUpdated: boolean) => {\r\n if (isUpdated)\r\n $('#updateSW').removeClass(\"refresh-alert-hide\");\r\n else\r\n $('#updateSW').addClass(\"refresh-alert-hide\");\r\n });\r\n }\r\n ngOnDestroy(): void {\r\n if (this.updateNotificationSubscription && !this.updateNotificationSubscription.closed) {\r\n this.updateNotificationSubscription.unsubscribe();\r\n }\r\n }\r\n}\r\n"," \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
Settings.CommonLabel.lblSwUpdate
\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 { ActivatedRoute } from '@angular/router';\r\nimport { combineLatest, Observable } from 'rxjs';\r\nimport { map } from 'rxjs/operators';\r\nimport { GlobalService } from '../services/global.service';\r\nimport { TicketService } from '../services/ticket.service';\r\n\r\n@Component({\r\n selector: 'app-ticket-download',\r\n templateUrl: './ticket-download.component.html',\r\n styleUrls: ['./ticket-download.component.css']\r\n})\r\nexport class TicketDownloadComponent implements OnInit {\r\n\r\n jobId:number=0;\r\n constructor(private globalService:GlobalService,private route:ActivatedRoute) { }\r\n\r\n ngOnInit() {\r\n combineLatest([\r\n this.route.params,\r\n this.route.queryParams\r\n ])\r\n .pipe(map(results => ({params: results[0], query: results[1]})))\r\n .subscribe(results => {\r\n this.globalService.downloadPrintJobs(results.params.id,results.query.t);\r\n });\r\n \r\n }\r\n \r\n}\r\n","declare var window: any;\r\n\r\nexport class DynamicEnvironment {\r\n public get WebAPIURL() {\r\n if(window != null && window != undefined && window.config != null && window.config != undefined)\r\n return window.config.WebAPIURL;\r\n else \r\n return \"#WEBAPIURL#\";\r\n }\r\n public get WEB_URL() {\r\n if(window != null && window != undefined && window.config != null && window.config != undefined)\r\n return window.config.WEB_URL;\r\n else \r\n return \"#WEBURL#\";\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\nimport { DynamicEnvironment } from \"./dynamicenvironment\";\r\n\r\n\r\n\r\nexport class Environment extends DynamicEnvironment {\r\n\r\n public production: boolean;\r\n OFFICE_APP_URL: string = 'https://view.officeapps.live.com/op/view.aspx';\r\n DWG_VIEWER_URL:string = 'http://sharecad.org/cadframe/load?url=';\r\n SyncFusionKey:string='Ngo9BigBOggjHTQxAR8/V1NHaF5cWWNCf1FpRmJGdld5fUVHYVZUTXxaS00DNHVRdkdgWH9fcXRWRmFfVkBzWUQ=';\r\n secureCookieFlag:boolean= false;\r\n APP_LOCALIZATION_PATH:string = \"/assets/i18n/app/\";\r\n SETTINGS_LOCALIZATION_PATH:string =\"/assets/i18n/settings/\";\r\n adfsClientId:string =\"bb15d1a5-fa6a-4a3a-8ef7-3c94658145f9\";\r\n adfsUrl:string =\"https://activedirectory.cboxdev.com/adfs\";\r\n hostingtype:string =\"\";\r\n EmailClaim:string =\"upn\";\r\n AuthenticationType:string=\"\";\r\n OFFLINE_DB_NAME:string =\"CBOXDB\";\r\n SERVERURL:string = \"#{BASEURL}#\";\r\n APIPORT:string = \"8116\";\r\n \r\n constructor() {\r\n super();\r\n this.production = false;\r\n }\r\n}\r\n\r\nexport const environment = new Environment();\r\n\r\n/*\r\n * In development mode, to ignore zone related error stack frames such as\r\n * `zone.run`, `zoneDelegate.invokeTask` for easier debugging, you can\r\n * import the following file, but please comment it out in production mode\r\n * because it will have performance impact when throw error\r\n */\r\n// import 'zone.js/plugins/zone-error'; // Included with Angular CLI.\r\n","/***************************************************************************************************\r\n * Load `$localize` onto the global scope - used if i18n tags appear in Angular templates.\r\n */\r\nimport '@angular/localize/init';\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\nimport { registerLicense } from '@syncfusion/ej2-base';\r\nregisterLicense(environment.SyncFusionKey);\r\nexport function getBaseUrl() {\r\n return document.getElementsByTagName('base')[0].href;\r\n}\r\n\r\nconst providers = [\r\n { provide: 'BASE_URL', useFactory: getBaseUrl, deps: [] }\r\n];\r\n\r\nif (environment.production) {\r\n enableProdMode();\r\n}\r\n\r\n platformBrowserDynamic(providers).bootstrapModule(AppModule)\r\n .catch(err => console.log(err));\r\n\r\n\r\n\r\n\r\n\r\n//export { renderModule, renderModuleFactory } from '@angular/platform-server';","export class IFCCategoryModel {\r\n id: number;\r\n parentId: number;\r\n name: string;\r\n innerObjects: Array = new Array();\r\n ifcElementIds: Array = new Array();\r\n}","export class IFCFloorsModel {\r\n id: number;\r\n parentId: number;\r\n name: string;\r\n innerObjects: Array = new Array();\r\n ifcElementIds: Array = new Array();\r\n documentId:number =0;\r\n elementTypeId:number = 0;\r\n}\r\n\r\nexport enum IFCObjectViewType\r\n{\r\n NONE=-1,\r\n SPACES=0,\r\n ASSETS=1\r\n}","import { User } from \"../user\";\r\nimport {ProjectType} from 'src/shared/UI/ViewTypes'\r\nimport { ProjectLocation } from \"../projectlocation\";\r\nimport { ProjectFloor } from \"../projectFloor\";\r\nimport { ProjectLog } from \"../projectLog\";\r\nimport { Document } from \"./document\";\r\nimport { Role } from \"./role\";\r\nimport { Organization } from \"../organization\";\r\nimport { SpaceAddlinformation } from \"../space\";\r\nimport { AssetAddlinformation } from \"../Asset\";\r\n\r\nexport class TimezoneModel\r\n{\r\n public id:number =0;\r\n public name:string='';\r\n public timeZoneId:string='';\r\n public serializedString:string='';\r\n public currentDateTime:Date = new Date();\r\n public offset:number =0;\r\n}\r\n\r\nexport class Project {\r\n public id: number = 0;\r\n public name: string = '';\r\n public code: string = '';\r\n public description: string = '';\r\n public isselected:boolean=false;\r\n public status:number=0;\r\n public manager:User=new User();\r\n public projectType:ProjectType=ProjectType.BUILDING;\r\n public projectLocation:ProjectLocation= new ProjectLocation();\r\n public projectTeamMembers:Array= new Array();\r\n public floors:Array= new Array();\r\n public projectLogs:Array= new Array();\r\n public models: Array = new Array();\r\n public role:Role= new Role();\r\n public Organization:Organization = new Organization();\r\n public path : string='';\r\n public noOfDigitsToIgnore:number;\r\n public noOfDigitsToIdentify:number;\r\n public timezone:TimezoneModel= new TimezoneModel();\r\n}\r\n\r\nexport class SpaceAssetAdditionalInformations{\r\n public spaceAddlInformations:Array = new Array();\r\n public assetAddlInformations:Array = new Array();\r\n\r\n}","import { Asset, AssetGroup } from \"../Asset\";\r\nimport { BlobFile } from \"../Internal/BlobFileModel\";\r\nimport { PPTemplate } from \"../onm/onm.models\";\r\nimport { Space } from \"../space\";\r\nimport { SpaceGroup } from \"../space-group\";\r\nimport { SystemTicketTag } from \"../SystemTicketTag\";\r\nimport { User } from \"../user\";\r\nimport { CheckList } from \"./checklist\";\r\nimport { Document } from \"./document\";\r\nimport { Project } from \"./Project\";\r\nimport { UserChecklist } from \"./user-checklist\";\r\n\r\nexport class TicketTag {\r\n public id: number;\r\n public name: string = '';\r\n public description: string = '';\r\n public isselected: boolean = false;\r\n public projectId:number=0;\r\n public roleId: number = 0;\r\n public viewAll: boolean = false;\r\n public isOpen: boolean = false;\r\n public isSystem:boolean = false;\r\n public projects:Array;\r\n}\r\nexport class TicketStatus {\r\n public id: number;\r\n public name: string = '';\r\n public code:string='';\r\n public statusProperty: TicketStatusProperty\r\n public statusOwnerShip: TicketStatusRole;\r\n public color: string = ''\r\n public checklist: CheckList = new CheckList();\r\n public isSelected:boolean=false;\r\n public ticketFlowId:number;\r\n public userChecklists:Array= new Array();\r\n}\r\n\r\nexport enum TicketStatusProperty {\r\n UNKNOWN=-1,\r\n START = 1,\r\n OPEN,\r\n ONHOLD,\r\n END\r\n}\r\n\r\nexport enum TicketStatusRole {\r\n UNKNOWN=-1,\r\n ASSIGNEDBY = 1,\r\n ASSIGNEDTO = 2,\r\n CUSTOMROLE=3\r\n}\r\n\r\nexport class TicketFlow {\r\n public id: number\r\n public name: string = ''\r\n public tag: TicketTag = new TicketTag();\r\n public isSelected:boolean=false;\r\n public statuses: Array = new Array();\r\n public projects:Array= new Array();\r\n public description: string = '';\r\n public tickets:Array = new Array();\r\n public isDeactivated:boolean = false;\r\n}\r\n\r\nexport class TicketStatusFlowModel {\r\n public ticketStatus: TicketStatus = new TicketStatus()\r\n public ticketFlows: Array = new Array();\r\n}\r\n\r\nexport enum TicketExpiryStatus {\r\n OnTime,\r\n Delayed,\r\n Closed\r\n}\r\n\r\nexport enum AssignedToType {\r\n UNKNOWN = 0,\r\n COMPANY = 1,\r\n DIVISION,\r\n GROUP,\r\n USER,\r\n CONTACTCENTER\r\n}\r\n\r\nexport enum PriorityType\r\n{\r\n UNKNOWN=0,\r\n Low=1,\r\n Medium=2,\r\n High\r\n}\r\n\r\n\r\nexport class Ticket {\r\n public id: number=0;\r\n public name:string='';\r\n public ticketFlow: TicketFlow = new TicketFlow();\r\n public ppFlow: TicketFlow = new TicketFlow();\r\n public title: string = '';\r\n public expiryDate: Date;\r\n public expiryStatus: TicketExpiryStatus;\r\n public assignedToType: AssignedToType=AssignedToType.UNKNOWN;\r\n public assignedToName: string = '';\r\n\r\n public notifyToName:string='';\r\n\r\n public assignedToDepartmentName:string='';\r\n\r\n public assignedToId:number=0;\r\n public assignedToParentId:number =0;\r\n public assignedToUsers:Array;\r\n public document: Document = new Document()\r\n public space: Space = new Space();\r\n public asset: Asset = new Asset();\r\n public spaceGroup: SpaceGroup = new SpaceGroup();\r\n public assetGroup: AssetGroup = new AssetGroup();\r\n public assignedBy: User = new User();\r\n public children: Array = new Array();\r\n public ticketHistories: Array = new Array();\r\n public userChecklists:Array= new Array();\r\n public ticketResources:Array= new Array();\r\n public isSelected:boolean=false;\r\n public parentId:number=0;\r\n public currentUserRole:TicketStatusRole;\r\n public openDate:Date;\r\n public priority:number;\r\n public systemTicketTag:SystemTicketTag = new SystemTicketTag();\r\n public parentTicket:Ticket;\r\n public isTicketForwarded:boolean=false;\r\n public ppStatus :PPStatus;\r\n public ppTimingStatus :PPTimingStatus;\r\n public projectId:number;\r\n public ticketNotifyModels:Array;\r\n public templateDetails:PPTemplate;\r\n public ticketTiming:PPTimingStatus;\r\n}\r\n\r\n\r\nexport enum PPStatus\r\n{\r\n UNKNOWN=-1,\r\n Open=0,\r\n Next,\r\n Close\r\n}\r\nexport enum PPTimingStatus\r\n{\r\n UNKNOWN =0,\r\n Next = 1,\r\n OnTime,\r\n Delay\r\n}\r\n\r\nexport class TicketHistory {\r\n public id:number=0;\r\n public ticketStatus: TicketStatus = new TicketStatus();\r\n public notes: string = '';\r\n public modifiedDate: Date;\r\n public modifiedUser: User = new User();\r\n public attachments :Array= new Array();\r\n public role:TicketStatusRole;\r\n}\r\n\r\nexport class TicketResourceModel\r\n {\r\n public id :number;\r\n public isSelected :boolean=false;\r\n public startTime:string ;\r\n public endTime :string ;\r\n public createdDate :Date ;\r\n public executionDate:Date;\r\n public interventionDescription :string;\r\n public operators =new Array();\r\n public attachments =new Array();\r\n public resources =new Array();\r\n\r\n\r\n\r\n }\r\n export class ResourceOperatorModel\r\n {\r\n public id :number;\r\n public user:User;\r\n\r\n //UI item\r\n public displayName:string ='';\r\n }\r\n\r\n export class ResourceAttachmentModel\r\n {\r\n public id :number;\r\n public attachment :BlobFile;\r\n }\r\n\r\n\r\n\r\n export class ResourceModel\r\n {\r\n public id :number;\r\n public resourceName :string;\r\n public unit:string;\r\n public quantity :number;\r\n }\r\n\r\nexport class TicketTagsFlowsModel{\r\n public ticketTags: Array = new Array();\r\n public ticketFlows : Array = new Array();\r\n}\r\n\r\nexport enum TicketDetailsViewType\r\n{\r\n DETAILS =0,\r\n HISTORY=1,\r\n ATTACHMENTS=2,\r\n CHECKLISTS=3,\r\n RESOURCES\r\n}\r\nexport enum TicketMode{\r\n CREATE=1,\r\n EDIT=2,\r\n FORWARD=3,\r\n RECREATE\r\n}\r\n\r\nexport class TicketAssociatedObjects{\r\n public id:number=0;\r\n public name:string=''\r\n public assetId:number=0;\r\n public spaceId:number=0;\r\n}\r\nexport enum TicketAssociationTypes{\r\n NONE=0,\r\n DOCUMENTS=1,\r\n ASSET=2,\r\n SPACE=3,\r\n InterventionRequest,\r\n EstimationRequest,\r\n FORWARD\r\n}\r\nexport class TicketAddEditDetails\r\n{\r\n public ticket:Ticket = new Ticket();\r\n public ticketMode:TicketMode = TicketMode.CREATE;\r\n}\r\n\r\nexport class PrintTicketsModel\r\n{\r\n public tickets:Array= new Array();\r\n public requestedDate :Date = new Date();\r\n public allTickets:boolean = false;\r\n public spaceId:number= 0;\r\n public documentId:number = 0;\r\n public assetId:number = 0;\r\n}\r\n\r\nexport class AssignedToModel\r\n{\r\n public assignedToType: AssignedToType=AssignedToType.UNKNOWN;\r\n public assignedToName: string = ''\r\n public assignedToId:number=0;\r\n public parentId:number=0;\r\n\r\n}\r\n\r\n\r\nexport enum SystemTicketTagType {\r\n InterventionRequest=1,\r\n EstimationRequest = 2,\r\n ApprovalRequest=3,\r\n InterventionAssignment=4,\r\n PlannedProcedure=5\r\n}\r\n\r\nexport enum TagTypes{\r\nSYSTEMTAG = 1 ,\r\nCUSTOMTAG=2\r\n}\r\n\r\nexport enum MenusAction{\r\nRefresh=1,\r\nAdd,\r\nEdit,\r\nDelete,\r\nForward,\r\nEstimationRequest,\r\nApprovalRequest,\r\nInterventionAssignment,\r\nExport,\r\nPrint,\r\nMobileSorting,\r\nMobileFiltering\r\n}\r\n\r\nexport class TicketNotifyModel\r\n{\r\n public notifyToId:number;\r\n public notifyToType:AssignedToType=AssignedToType.UNKNOWN;\r\n public notifyToName: string = ''\r\n public parentId:number =0;\r\n}\r\n\r\nexport class UserTypeObject\r\n{\r\n public id:number =0;\r\n public userTypeId:number;\r\n public userType:AssignedToType = AssignedToType.UNKNOWN;\r\n public userTypeName:string ;\r\n public parentId:number=0; //company id in case of department \r\n}\r\n","import {DocumentStatusList} from 'src/shared/Models/API/documentstatuslist'\r\nimport {DocumentStatusItem} from 'src/shared/UI/DocumentStatusItem'\r\nimport { Project } from './Project';\r\n\r\nexport enum WorkflowTypes {\r\n UNKNOWN =0,\r\n WORKINGDAY = 1,\r\n CONSECUTIVE= 2\r\n}\r\nexport class Workflow {\r\n public id: number = 0;\r\n public name: string = '';\r\n public description: string = '';\r\n public isselected:boolean=false;\r\n public startstatusid:number=0;\r\n public documentStatusListsModel:DocumentStatusList= new DocumentStatusList;\r\n public startDocumentStatus:DocumentStatusItem= new DocumentStatusItem();\r\n public projectId:number=0;\r\n public type:WorkflowTypes= WorkflowTypes.WORKINGDAY;\r\n public projects:Array;\r\n}\r\nexport class WorkflowLevel\r\n{\r\n public levelNumber:number =0;\r\n public expiresDays: number = 0;\r\n \r\n}\r\n","import {DocumentStatusList} from 'src/shared/Models/API/documentstatuslist'\r\nimport {DocumentStatusItem} from 'src/shared/UI/DocumentStatusItem'\r\nimport { User } from '../user';\r\nexport class WorkflowUserGroup {\r\n public id: number = 0;\r\n public name: string = '';\r\n public description: string = '';\r\n public users:Array =new Array();\r\n public isselected:boolean= false;\r\n}","import { User } from \"../user\";\r\n\r\nexport class Attachment {\r\n id: number;\r\n name: string;\r\n blobId: string;\r\n description: string;\r\n size: number;\r\n idUpload: string;\r\n extension: string;\r\n createdOn: Date;\r\n uploadedBy: User;\r\n checked: boolean = false;\r\n isViewSupported:boolean = false;\r\n}\r\n\r\nexport class TrasmittalAttachment{\r\n attachments : Array;\r\n trasmittal : string; //latest document version transmittal\r\n}\r\n","import { Project } from \"./Project\";\r\n\r\nexport class ChecklistTag {\r\n public id: number;\r\n public name: string = '';\r\n public description: string = '';\r\n public projectId: number = 0;\r\n public roleId: number = 0;\r\n\r\n //additional UI fields\r\n public isselected: boolean = false;\r\n public viewAll: boolean = false;\r\n public projects:Array;\r\n}\r\n","export class CheckListTagModel {\r\n public id: number = 0;\r\n public name: string = '';\r\n public description: string = '';\r\n public projectId: number = 0;\r\n public roleId: number = 0;\r\n public isSelected: boolean = false;\r\n public viewAll: boolean = false;\r\n public path :string='';\r\n}\r\n","import { CheckTypes } from \"src/shared/utilities/Constants\";\r\nimport { Frequency } from \"../Timing\";\r\nimport { User } from \"../user\";\r\nimport { ChecklistNumberSetting } from \"./checklist-number-setting\";\r\n\r\nexport class CheckListChecks {\r\n public id: number = 0;\r\n public type: CheckTypes;\r\n public description: string = '';\r\n public code: string = '';\r\n public checkValues: Array = new Array();\r\n public checklistNumberSettings: ChecklistNumberSetting = new ChecklistNumberSetting();\r\n public order: number = 0;\r\n public createdBy: User = new User();\r\n public isMandatory: boolean = false;\r\n public answer: string = '';\r\n public comments: string = '';\r\n public qrCode: string = '';\r\n public documentName: string = '';\r\n public documentSize: number;\r\n public isSelected: boolean = false;\r\n public relatedChecks:Array= new Array();\r\n public IsDocumentUpdated:boolean=false;\r\n public documentContent: Blob;\r\n public frequency:Frequency=new Frequency();\r\n}\r\n","import { ChecklistNamingConvention } from \"./checklist-rule-naming-convension\";\r\n\r\nexport class ChecklistNamingRule {\r\n id: number;\r\n name: string;\r\n description: string;\r\n separatorValue: string;\r\n counterValue: number;\r\n counterDigits: number;\r\n namingConventions: Array = new Array();\r\n\r\n isSelected: boolean = false;\r\n isAutomaticNamingRuleEnabled: boolean = false;\r\n}","export class ChecklistNumberSetting {\r\n public id: number = 0;\r\n public minValue: number = 0;\r\n public maxValue: number = 0;\r\n\r\n}","import { User } from \"../user\";\r\nimport { CheckListChecks } from \"./checklist-check\";\r\nimport { ChecklistNamingRule } from \"./checklist-naming-rule\";\r\nimport { ChecklistTag } from \"./checkListTag\";\r\nimport { UserChecklist } from \"./user-checklist\";\r\n\r\nexport class CheckList {\r\n public id: number = 0;\r\n public name: string = '';\r\n public description: string = '';\r\n public createdBy: User = new User();\r\n public namingRule: ChecklistNamingRule = new ChecklistNamingRule();\r\n public checklistTag: ChecklistTag = new ChecklistTag();\r\n public checks: Array = new Array();\r\n public spaceGroupId: number = 0;\r\n public isDeactivated: boolean = false;\r\n public userChecklists: Array = null;\r\n\r\n //additional UI fields\r\n public isselected: boolean = false;\r\n public path:string='';\r\n}\r\n","import { CompanyCategory } from \"./companyCategory\";\r\n\r\nexport class Company {\r\n public id: number = 0;\r\n public code: string = '';\r\n public name: string = '';\r\n public category: CompanyCategory = new CompanyCategory();\r\n public phone: string = '';\r\n public fax: string = '';\r\n public email: string = '';\r\n public website: string = '';\r\n public isActive: boolean;\r\n public address: string = '';\r\n public zipCode: string = '';\r\n public city: string = '';\r\n public district: string = '';\r\n public country: string = '';\r\n public isselected: boolean = false;\r\n}\r\n","export class CompanyCategory {\r\n public id: number = 0;\r\n public name: string = '';\r\n public description: string = '';\r\n public isSelected: boolean = false;\r\n}","export class Department {\r\n id: number;\r\n name: string = '';\r\n description: string = '';\r\n isselected: boolean = false;\r\n}\r\n","import { ScopeType } from \"../scope-tree\";\r\nimport { DocumentStatus } from \"./documentStatus\";\r\nimport { CurrentStatus } from \"src/shared/Models/CurrentStatus\";\r\nimport { SafeUrl } from \"@angular/platform-browser\";\r\nimport { Binary } from \"@angular/compiler\";\r\nimport { User } from \"../user\";\r\nimport { Attachment } from \"./attachment\";\r\nimport { IFCElementModel } from \"./IFCElementModel\";\r\nimport { AttributeOption } from \"./attribute-option\";\r\nimport { WorkflowUserGroup } from \"./WorkflowUserGroup\";\r\nimport { ObjectType } from \"../Internal/objecttype\";\r\nimport { DocumentCategory } from \"./documentCategory\";\r\nimport { Workflow } from \"./Workflow\";\r\nimport { DocumentNote } from \"./documentnote\";\r\nimport { DocumentVersion } from \"./documentVersion\";\r\nimport { Folder } from \"./folder\";\r\n\r\n\r\n\r\n\r\nexport class Document {\r\n public id: number = 0;\r\n public name: string = '';\r\n public idUpload: string = '';\r\n public notes: string = '';\r\n public rvtPath: string = '';\r\n public ifcPath: string = '';\r\n public wexbimPath: string = '';\r\n public version: number = 0;\r\n public extension: string = '';\r\n public extensionIcon: string = '';\r\n public fileSize: number = 0;\r\n public createdOn: string = '';\r\n public userName: string = '';\r\n public scopeid: number = 0;\r\n public scopetype: ScopeType = ScopeType.UNKNOWN;\r\n public jsonBlobPath: string = '';\r\n public statusId: number;\r\n public categoryId: number;\r\n public isSystemTag:boolean= false;\r\n public organizationId: number;\r\n public workflowId: number = 0;\r\n public documentStatus: DocumentStatus = new DocumentStatus();\r\n public currentStatusModel: CurrentStatus = new CurrentStatus();\r\n public qrCode: string;\r\n public workflow:Workflow = new Workflow();\r\n public QRImage: SafeUrl;\r\n public uploadedBy: User;\r\n public isCheckedOut: boolean;\r\n public checkedOutBy: User;\r\n public attachments: Array= new Array();\r\n public ifcFloors: Array = new Array();\r\n public documentCategory:DocumentCategory = new DocumentCategory();\r\n public attributeOptions = new Array();\r\n public fileName: string = \"\";\r\n public IsNamingRule: boolean = false;\r\n public documentDescription: string = \"\";\r\n public isActive: boolean;\r\n public scopeName:string=\"\";\r\n public lastModifiedOn:Date=new Date();\r\n public workflowUserGroups:Array;\r\n public path: string = '';\r\n public countdown:number=0;\r\n public spaceGroupId: number = 0;\r\n public categoryName: string = '';\r\n public isSystem:boolean = false;\r\n public documentVersions:Array = new Array();\r\n public folder:Folder = new Folder();\r\n public isIFCPropertiesGenerated:boolean=false;\r\n\r\n // For UI\r\n public isSelected: boolean = false;\r\n public isDisabled:boolean = false;\r\n public totalTickets:number=0;\r\n public openTickets:number=0;\r\n public expiryDate: Date;\r\n public isStatusLocked:boolean=false;\r\n \r\n}\r\n\r\nexport class DocumentsNotesModel\r\n {\r\n public documents:Array = new Array();\r\n public documentNotes:DocumentNote = new DocumentNote();\r\n }\r\n\r\nexport class DeletedDocument extends Document {\r\n public type: ObjectType = ObjectType.UNKNOWN;\r\n public deletedBy: User = new User();\r\n public deletedOn: Date;\r\n\r\n // for UI\r\n public isSelected: boolean = false;\r\n}\r\nexport class BIMModel extends Document {\r\n public isSpaceMapped:boolean=false;\r\n public isAssetMapped:boolean=false; \r\n}\r\nexport enum BIMMenusAction{\r\n CreateSpaceLInk=1,\r\n CreateAssetLInk=2,\r\n RemoveSpaceLInk=3,\r\n RemoveAssetLInk=4\r\n}\r\n\r\n","import { Project } from \"./Project\";\r\n\r\nexport class DocumentCategory {\r\n public categoryId: number = 0;\r\n public categoryName: string = '';\r\n public description:string='';\r\n public projectId:number=0;\r\n public isselected:boolean=false;\r\n public roleId: number = 0;\r\n public projects:Array;\r\n public isCreate:boolean;\r\n public isView:boolean;\r\n public isSystem:boolean;\r\n}\r\n","import {WorkflowApprover} from 'src/shared/Models/WorkflowApprover';\r\nimport {WorkflowTransition} from 'src/shared/Models/WorkflowTransition';\r\nimport {WorkflowStatusSettings} from 'src/shared/Models/WorkflowStatusSettings';\r\nimport { DocumentStatusList } from './documentstatuslist';\r\nimport { DocumentNote } from './documentnote';\r\nimport { DocumentApprover } from '../documentApprover';\r\nimport { WorkflowLevel } from './Workflow';\r\nimport { DocumentsNotesModel } from './document';\r\nexport class DocumentStatus {\r\n public id: number = 0;\r\n public name: string = '';\r\n public code: string = '';\r\n public color: string = '';\r\n public description: string = '';\r\n public isselected:boolean=false;\r\n public Levels:Array = new Array();\r\n public workflowApprovers:Array= new Array();\r\n public workflowTransitions:Array= new Array();\r\n public workflowStatusSettings:WorkflowStatusSettings = new WorkflowStatusSettings();\r\n public documentNotes:Array= new Array();\r\n}\r\n\r\nexport class DocumentWorkflowStatusesModel\r\n{\r\n public documentStatuses:Array = new Array();\r\n public documentNotes:Array = new Array();\r\n public documentApprover:DocumentApprover= new DocumentApprover();\r\n}\r\n\r\nexport class DocumentStatusResponse\r\n{\r\n public documentStatus :DocumentStatus = new DocumentStatus();\r\n public documentStatusLists : Array = new Array();\r\n}\r\n","import { CategoryControlType } from \"src/shared/UI/ViewTypes\";\r\nimport { radioButtonOptions } from \"../space\";\r\n\r\nexport class DocAddlInformation {\r\n id: number =0;\r\n attributeName: string='';\r\n attributeType: CategoryControlType= CategoryControlType.TEXTBOX;\r\n isselected:Boolean= false;\r\n projectId:number =0;\r\n attributeValue:string='';\r\n selectedRadioOption:radioButtonOptions= radioButtonOptions.UNKNOWN;\r\n}","import { NotesType } from \"src/shared/UI/ViewTypes\";\r\nimport { User } from \"../user\";\r\nimport { WorkflowUserGroup } from \"./WorkflowUserGroup\";\r\nimport { Attachment } from \"./attachment\";\r\nimport { DocumentApprover } from \"../documentApprover\";\r\n\r\nexport class DocumentNote {\r\n public id: number;\r\n public message: string;\r\n public createdOn: Date;\r\n public notesType: NotesType = NotesType.All;\r\n public sourceStatusId: number;\r\n public createdBy: User = new User();\r\n public approvedId:number=0;\r\n public workflowGroup: WorkflowUserGroup = new WorkflowUserGroup();\r\n public documentAttachment: Attachment = new Attachment();\r\n}\r\n","import {DocumentStatus} from 'src/shared/Models/API/documentStatus'\r\nimport { Workflow } from './Workflow';\r\nexport class DocumentStatusList {\r\n public id: number = 0;\r\n public name: string = '';\r\n public isDefault: boolean = false;\r\n public description: string = '';\r\n public documentStatuses:Array= new Array();\r\n public isselected:boolean=false;\r\n public projectId:number=0;\r\n}\r\n\r\nexport class DocumentStatusListResponse{\r\n public documentStatusList: DocumentStatusList = new DocumentStatusList();\r\n public workflows : Array = new Array();\r\n}\r\n","import { KeyConstants } from \"src/shared/constants/key-constants\"\r\nimport { SortOrder } from \"src/shared/UI/ViewTypes\";\r\nimport { AssetGroupColumns, MatchStatus } from \"../Asset\";\r\nimport { ScopeType } from \"../scope-tree\";\r\nimport { SpaceAssetSource, SpaceStatus } from \"../space\";\r\nimport { DeletedDocument } from \"./document\";\r\nimport { PPStatus, PPTimingStatus, PriorityType } from \"./Ticket\";\r\nimport { ProjectFloor } from \"../projectFloor\";\r\n\r\nexport class PagingModel\r\n{\r\n public ps: number = KeyConstants.PageSize; // page size\r\n public pn: number = 1; // page number\r\n}\r\n\r\nexport class BaseFilterModel extends PagingModel\r\n{\r\n // filter\r\n public _n :string='' // filter by name\r\n public _d :string=''// filter by description\r\n}\r\nexport class DocumentsFilterModel extends PagingModel\r\n{\r\n // filter\r\n public _n :string='' // filter by name\r\n public _d :string=''// filter by description\r\n public _s :string='' //filter by status\r\n public _t :string='' //filter by transmittal\r\n public _u :string='' //filter by work flow user group\r\n public _v :string='' //filter by version\r\n public _dt :string='' //filter by Document Tag\r\n\r\n public _fn :string = ''; // filter by file name\r\n public _ext :string = ''; // filter by file extension\r\n public _did:number=0;//filter by document id\r\n\r\n public _ld:string='';//filter by last modified on\r\n public _cd:string=\"\";//filter by countdown\r\n public _all:boolean = false; // select all or not\r\n public _scid:number = 0;\r\n public _sct:ScopeType=0;\r\n public _hatt:number = -1; //has attachement filter\r\n public _tm:string='';\r\n public addlInformations:Array = new Array();\r\n public _strais :string;\r\n //sorting\r\n public ob: number | DocumentColumns | RecycleBinColumns | SpaceCodeColumns | SpaceGroupColumns | SpaceColumns | ChecklistColumns\r\n | AssetGroupColumns|IRSpaceGroupColumns|PPSpaceGroupColumns|IRAssetGroupColumns = DocumentColumns.ID ;\r\n public obd : SortOrder = SortOrder.ASC;\r\n public obt:number =1;\r\n}\r\n\r\nexport class SpaceCodeFilterModel extends DocumentsFilterModel {\r\n public ob: SpaceCodeColumns = SpaceCodeColumns.ID;\r\n\r\n constructor() {\r\n super();\r\n\r\n this.obd = SortOrder.DESC;\r\n }\r\n}\r\n\r\nexport class ScopeFilterModel extends DocumentsFilterModel\r\n{\r\n public _isf:boolean =false; //isIncludeSubfolders\r\n public _strais:string ='';\r\n}\r\n\r\nexport class UserChecklistsFilterModel extends PagingModel\r\n{\r\n public _n: string = ''; // user checklist name\r\n public _uc: string = ''; // user code\r\n public _cc: string = ''; // company code\r\n public _s: UserChecklistStatus = UserChecklistStatus.UNKNOWN; // status\r\n public _sd: string; // range start-date\r\n public _ed: string; // range end-date\r\n public _all:boolean = false;\r\n public _sids:Array;\r\n // sorting\r\n public ob: UCSortOptions = UCSortOptions.ID; // order by\r\n public obd: SortOrder = SortOrder.ASC; // order by direction\r\n // selected checks passed as id,value with or serpator |\r\n public _fcids:string='';\r\n public _vall:number=0;//this for view all for custom roles tags\r\n}\r\n\r\nexport class Checkfilter{\r\n public Id: number = 0;\r\n public Value: ChecklistCheckFilledStatus = ChecklistCheckFilledStatus.UNKNOWN;\r\n}\r\n\r\nexport class RecycleBinFilterModel extends DocumentsFilterModel\r\n{\r\n // filter\r\n public _p: string = ''; // filter by path\r\n public _du: string = ''; // filter by user who deleted the item\r\n public _dd: string = ''; // filter by the date the item was deleted on (deleted date)\r\n public _sids:Array ; //selected ids\r\n\r\n constructor () {\r\n super();\r\n\r\n this.obd = SortOrder.DESC;\r\n }\r\n\r\n public ob: RecycleBinColumns = RecycleBinColumns.DELETED_ON;\r\n}\r\n\r\nexport class SpaceUpdateCodeFilterModel extends DocumentsFilterModel {\r\n // no extra property right now\r\n}\r\n\r\nexport class SpaceGroupFilterModel extends DocumentsFilterModel {\r\n public _docs: string = '';\r\n public _checklists: string = '';\r\n public _spaces:string='';\r\n}\r\nexport class AssetGroupFilterModel extends DocumentsFilterModel {\r\n public _code:string =''\r\n public _docs: string = '';\r\n public _checklists: string = '';\r\n public _pannedprocedure:string='';\r\n}\r\n\r\nexport class SpaceFilterModel extends PagingModel {\r\n public _spc: string = ''; // space code\r\n public _csv: string = ''; // is CSV\r\n public _sn: string = ''; // space name\r\n public _ssn: string = ''; // site name\r\n public _ssnid:number=-1; // site id\r\n public _bn: string = ''; // building name\r\n public _bnid:number=-1;\r\n public _o: string = ''; // origin\r\n public _st: SpaceStatus = SpaceStatus.UNKNOWN; // status\r\n public _s:SpaceAssetSource= SpaceAssetSource.UNKNOWN; //source\r\n public _occ: string = ''; // occupancy\r\n public _spl: string = ''; // level\r\n public _a: string = ''; // area\r\n public _zn: string = ''; // zone name\r\n public _znid:number=-1;//zone id\r\n public _znd: string = ''; // zone description\r\n public _uc: string = ''; // space update code's code\r\n public _spn:string='';//space name\r\n public _lm: string;//last modified\r\n public _spt:string=''; //space type\r\n public _una :boolean = false; //unassigned\r\n public _odby:SpaceColumns | AssetColumns; // as space is extended by assetfiltermodel both column types is supported,\r\n public _od: SortOrder= SortOrder.ASC\r\n public obt:number =1;\r\n public _sid:number=0;//space id\r\n public _sdesc: string = ''; // space description\r\n public _scls: string = ''; // space classification\r\n public _searchview:boolean=false;\r\n public _all:boolean = false;\r\n public _sids:Array;\r\n public _ais :Array;\r\n public _strais :string;\r\n public _sts:Array; //Array of statuses to show\r\n public _d :string=null;\r\n public _prflrs:Array = null;\r\n}\r\n\r\nexport class AddlInformationsFilterModel\r\n{\r\n _i:number = 0;\r\n _v:string='';\r\n \r\n}\r\n\r\nexport class ChecklistFilterModel extends DocumentsFilterModel {\r\n constructor() {\r\n super();\r\n\r\n this.ob = ChecklistColumns.ID;\r\n }\r\n}\r\n\r\nexport class AssetsFilterModel extends SpaceFilterModel{\r\n public _ac:string=''; //filter by assetCode\r\n public _acl:string=''; //filter by Asset Classfication\r\n public _an:string='';//filter by AssetName\r\n public _aa:string=''; //filter by AssetAccountable\r\n public _adesc: string = ''; // asset description\r\n public _ds:string=''; //filter by Discipline\r\n public _ci :number=-1;//circuit id\r\n public _pac:string=''; //filter by Parent Asset Code\r\n public _fch :boolean = false;//filter children asset\r\n public _ad:string=''; //filter by Asset Description\r\n public _ms:MatchStatus= MatchStatus.ALL;\r\n public _all:boolean = false; //all selected\r\n constructor() {\r\n super();\r\n this._odby = AssetColumns.ID;\r\n }\r\n}\r\n\r\nexport class UserNotificationFilterModel extends PagingModel\r\n{\r\n public _sd:string;\r\n public _ed:string; \r\n}\r\n\r\nexport class TransmittalFilterModel extends PagingModel {\r\n public _st:number; //status\r\n public _pc:string;//project code\r\n public _tc:string;// transmittal code\r\n public _sf:number; //send for\r\n public _n:string;//name\r\n public _d:string;//description\r\n public _aby:string;//assigned by\r\n public _asbye:string;//assigned by external\r\n public _ato:string; //assigned to\r\n public _atoe:string; //assigned to external\r\n public _rt:string;//related transmittals\r\n public _hat:number; // has attachments\r\n public _sd:string;// send date\r\n public _nt:string; // notified to\r\n public _ga:boolean = false;//get all\r\n public _sts:Array; //selected transmittals\r\n public _odby:TransmittalColumns;\r\n public _od:SortOrder;\r\n\r\n\r\n}\r\nexport class TicketsFilterModel extends PagingModel{\r\n public _tn:string='';//ticketname/number\r\n public _tg:string='';//tag\r\n public _tf:string='';//ticket flow\r\n public _ppf:string='';//PP Flow\r\n public _s:string='';//status\r\n public _ab:string=''//assigned by\r\n public _at:string='';//assigned to\r\n public _nt:string='';//notify to\r\n public _ed:string='';//expiry date\r\n public _ld:string='';//last modified date\r\n public _sc:string='';//space code\r\n public _ac:string='';//asset code\r\n public _sn:string='';//space name\r\n public _an:string='';//asset name\r\n public _dn:string='';//department name\r\n public _sgc:string='';//space group code\r\n public _agc:string='';//asset group code\r\n public _t:string='';//title\r\n public _odby:TicketColumns;\r\n public _od: SortOrder= SortOrder.ASC;\r\n\r\n public _did:number=0;//filter by document id\r\n public _sid:number=0;//filter by space id\r\n public _aid:number=0;//filter by asset id\r\n public _opd:string='';//Open date\r\n public _p:PriorityType = PriorityType.UNKNOWN; // status\r\n public _rir:string='';//related to ir\r\n public _rer:string='';//related to er\r\n public _nd:string='';//not before days\r\n public _df:string='';//delay from\r\n public _all:boolean = false; //all selected\r\n public _sids:Array;//selected ids\r\n public _tst:number = 0;\r\n public _tti:PPTimingStatus = 0; //timing for ticket\r\n public _isatt:number = -1;\r\n public _ischeck:number =-1;\r\n public _dname:string='';\r\n public _pps:PPStatus = PPStatus.UNKNOWN;\r\n public _ppts:PPTimingStatus = PPTimingStatus.UNKNOWN;\r\n}\r\n\r\nexport enum RecycleBinColumns\r\n{\r\n NAME = 1,\r\n DESCRIPTION = 2,\r\n STATUS = 3,\r\n IDUPLOAD = 4,\r\n VERSION = 5,\r\n UPLOADED_BY = 6,\r\n DOCUMENT_TAG = 7,\r\n COUNT_DOWN = 8,\r\n LAST_MODIFIED = 9,\r\n WUG = 10,\r\n PATH = 11,\r\n DELETED_BY = 12,\r\n DELETED_ON = 13\r\n}\r\n\r\nexport enum SpaceCodeColumns\r\n{\r\n ID = 0,\r\n CODE = 1,\r\n DESCRIPTION = 2,\r\n STATUS = 3\r\n}\r\n\r\nexport enum SpaceGroupColumns\r\n{\r\n ID = 0,\r\n NAME = 1,\r\n DESCRIPTION = 2,\r\n DOCUMENTS = 3,\r\n CHECKLISTS = 4,\r\n SPACES=5\r\n}\r\n\r\nexport enum SpaceColumns {\r\n ID = 0,\r\n CODE = 1,\r\n DESCRIPTION = 2,\r\n SPACETYPE = 3,\r\n ISCSV = 4,\r\n STATUS = 5,\r\n SITE_NAME = 6,\r\n BUILDING_NAME = 7,\r\n ORIGIN = 8,\r\n LEVEL = 9,\r\n AREA = 10,\r\n OCCUPANCY = 11,\r\n SPACE_NAME = 12,\r\n ZONE = 13,\r\n ZONE_DESCRIPTION = 14,\r\n SPACE_INFORMATION = 15,\r\n UPDATE_CODE = 16,\r\n LAST_MODIFIED_ON = 17,\r\n DOCUMENTS = 18,\r\n CHECKLISTS = 19,\r\n SPACE_INFO = 20,\r\n TICKETS= 21,\r\n ONMTICKETS=22,\r\n CLASSIFICATION=23,\r\n LINKED_MODELS=24\r\n\r\n}\r\n\r\nexport enum ChecklistColumns {\r\n ID = 0,\r\n NAME = 1,\r\n DESCRIPTION = 2\r\n}\r\nexport enum IOTSensorColumn\r\n{\r\n UNKNOWN=-1,\r\n DATE=0,\r\n TIME,\r\n DATA\r\n}\r\n\r\nexport enum DocumentColumns\r\n{\r\n ATTACHMENT=-1,\r\n LOCKED=-2,\r\n ID =0,\r\n NAME =1,\r\n DESCRIPTION =2,\r\n STATUS=3,\r\n IDUPLOAD=4,\r\n VERSION = 5,\r\n UPLOADED_BY = 6,\r\n DOCUMENT_TAG=7,\r\n COUNT_DOWN=8,\r\n LAST_MODIFIED=9,\r\n WUG = 10,\r\n PATH = 11,\r\n DELETED_BY = 12,\r\n DELETED_ON = 13,\r\n TICKETS=14,\r\n TRANSMITTALS=15\r\n}\r\n\r\nexport enum UCSortOptions\r\n{\r\n ID = 0,\r\n NAME = 1,\r\n USER_CODE = 2,\r\n COMPANY_CODE = 3,\r\n STATUS = 4\r\n}\r\n\r\nexport enum FilterColumnType{\r\nNONE=0,\r\nTEXT=1,\r\nDROPDOWN=2,\r\nDATEPCIKER=3\r\n}\r\n\r\nexport enum UserChecklistStatus {\r\n UNKNOWN = -1,\r\n NOT_COMPLETED = 0,\r\n COMPLETED = 1\r\n}\r\n\r\nexport enum ChecklistCheckFilledStatus {\r\n UNKNOWN = -1,\r\n NO = 0,\r\n YES = 1\r\n}\r\nexport enum AssetColumns{\r\n //for sorting order should be maintained same as backedn enum -AssetSortOptions\r\n ID=0,\r\n SOURCE,\r\n STATUS,\r\n CODE,\r\n CLASSIFICATION,\r\n ASSETNAME,\r\n ASSETACCOUNTABLE,\r\n SITENAME,\r\n BUILDINGNAME,\r\n SPACECODE,\r\n SPACELEVEL,\r\n SPACETYPE,\r\n SPACEZONE,\r\n SPACEZONEDESCRIPTION,\r\n UPDATECODE,\r\n LASTMODIFIED,\r\n DISCIPLINE,\r\n PARENT,\r\n ASSETDESCRIPTION,\r\n SPACENAME,\r\n // along with above, some more column to display in UI without sorting\r\n ASSET_COMPARE_LOCATION,\r\n PHOTO_AVAILABLE,\r\n ACCESS_TO_DOCUMENT,\r\n ACCESS_TO_CHECKLIST,\r\n ACCESS_TO_TICKET,\r\n ACCESS_PLANNED_PROCEDURE,\r\n ONMTICKETS,\r\n LINKED_MODELS\r\n }\r\n\r\n export enum TransmittalColumns\r\n {\r\n ID =0,\r\n STATUS=1,\r\n PROJECTCODE=2,\r\n TRANSMITTALCODE=3,\r\n SENDFOR=4,\r\n NAME=5,\r\n DESCRIPTION=6,\r\n ASSIGNEDBY,\r\n ASSIGNEDTOEXTERNAL,\r\n SENTDATE,\r\n NOTIFIEDTO,\r\n RELATEDTRANSMITTAL,\r\n HASATTACHMENT,\r\n ASSIGNEDTO,\r\n ASSIGNEDBYEXTERNAL\r\n }\r\n\r\n export enum TicketColumns{\r\n ID=0,\r\n NAME=1,\r\n TAG=2,\r\n TICKETFLOW=3,\r\n EXPIRYDATE=4,\r\n STATUS=5,\r\n ASSIGNEDBY=6,\r\n LASTMODIFIEDDATE=7,\r\n TITLE=8,\r\n //no sorting supported for assigned to\r\n ASSIGNEDTO=9,\r\n OPENDATE=10,\r\n PRIORITY=11,\r\n RELATEDTOIR=12,\r\n RELATEDTOER=13,\r\n SPACECODE=14,\r\n ASSETCODE=15,\r\n SPACEGROUP=16,\r\n ASSETGROUP=17,\r\n TIMING=18,\r\n COMPANY=19,\r\n TEMPLATENAME=20,\r\n NOTBEFORE=21,\r\n DELAYFROM=22,\r\n PPSTATUS=23,\r\n STATUSPROPERTY=24,\r\n DOCUMENTNAME =25,\r\n TICKETTIMING = 26,\r\n SPACENAME=27,\r\n ASSETNAME=28,\r\n\r\n NOTIFYTO=29,\r\n\r\n DEPARTMENT=30,\r\n PPFLOW=31\r\n\r\n \r\n }\r\n\r\nexport enum IRSpaceGroupColumns\r\n{\r\n ID = 0,\r\n NAME = 1,\r\n DESCRIPTION = 2,\r\n CONTACTCENTER = 3,\r\n SPACEGROUPS = 4,\r\n NOTIFICATION=5\r\n}\r\nexport enum IRAssetGroupColumns\r\n{\r\n ID = 0,\r\n NAME = 1,\r\n DESCRIPTION = 2,\r\n CONTACTCENTER = 3,\r\n ASSETGROUPS = 4,\r\n NOTIFICATION=5\r\n}\r\nexport enum PPSpaceGroupColumns\r\n{\r\n ID = 0,\r\n NAME = 1,\r\n DESCRIPTION = 2,\r\n COMPANY = 3,\r\n SPACEGROUPS = 4,\r\n NOTIFICATION=5,\r\n ASSETGROUPS = 6,\r\n PPNAME =7\r\n}\r\n\r\nexport enum PPTemplateColumns\r\n{\r\n NAME= 0,\r\n DESC =1,\r\n COMPANY=2,\r\n PPSTARTDATE=3,\r\n PPENDDATE=4,\r\n SGSTARTDATE=5\r\n}\r\n\r\nexport class IRSpaceGroupFilterModel extends DocumentsFilterModel {\r\n public _spaces:string='';\r\n public _contactCenter:string=''\r\n public _notification:string='-1'\r\n}\r\nexport class IRAssetGroupFilterModel extends DocumentsFilterModel {\r\n public _assets:string='';\r\n public _contactCenter:string=''\r\n public _notification:string='-1'\r\n }\r\nexport class PPSpaceGroupFilterModel extends DocumentsFilterModel {\r\n public _spaces:string='';\r\n public _company:string='';\r\n public _department:string='';\r\n public _notification:string='-1'\r\n public _assets:string='';\r\n public _ppname:string='';\r\n public _ppstartdate:string='';\r\n public sortcolumn:PPSpaceGroupColumns;\r\n}\r\nexport class PPTemplateFilterModel extends DocumentsFilterModel {\r\n public _company:string=''; \r\n public _ppstartdate:any;\r\n public _ppenddate:any ;\r\n public _sgstartdate:any;\r\n public sortcolumn:PPTemplateColumns;\r\n}\r\nexport class ResourceFilterModel\r\n{\r\n public _d:string ='';\r\n public _o:string ='';\r\n public _ed:string='';\r\n public _ef:string='';\r\n public _et:string='';\r\n}\r\nexport class BIMFilterModel\r\n{\r\n public _sm:boolean;\r\n public _am:boolean; \r\n public _prflrs:Array = null;\r\n public _d:string='';\r\n public _did :number | null = null;//doc id\r\n public _vid:number | null = null;\r\n public _cid:number | null = null; //categoryid\r\n public _eid:number | null =null; //elementid\r\n public _etid:number | null =null; //element type id\r\n}\r\n\r\nexport enum IFCFilterColumn\r\n {\r\n SPACE_SITENAME = 1,\r\n SPACE_BUILTNAME,\r\n SPACE_CODE,\r\n SPACE_TYPE,\r\n SPACE_CLASSIFICATION,\r\n SPACE_NAME,\r\n SPACE_OCCUPANCY,\r\n SPACE_LEVEL,\r\n ZONE_NAME,\r\n ZONE_DESCRIPTION,\r\n SPACE_ADDL_KEY,\r\n ASSET_CIRCUIT,\r\n ASSET_CODE,\r\n ASSET_CLASSIFICATION,\r\n ASSET_NAME,\r\n ASSET_ACCOUNTABLE,\r\n ASSET_DESCRIPTION,\r\n ASSET_SPACE_SITENAME,\r\n ASSET_SPACE_BUILTNAME,\r\n ASSET_SPACE_CODE,\r\n ASSET_SPACE_TYPE,\r\n ASSET_SPACE_LEVEL,\r\n ASSET_SPACE_NAME,\r\n ASSET_ZONE_NAME,\r\n ASSET_ADDL_INFORMATION\r\n\r\n }\r\n\r\n export enum FilterOperator\r\n {\r\n UNKNOWN = 0,\r\n AND = 1,\r\n OR\r\n\r\n\r\n\r\n }\r\n export enum Operator\r\n {\r\n EQUAL = 1,\r\n NOTEQUAL,\r\n RANGEIN,\r\n RANGENOTIN,\r\n CONTAINS\r\n\r\n }\r\n export enum IFCFieldType\r\n {\r\n UNKNOWN=-1,\r\n STRING = 0,\r\n INT\r\n }\r\n\r\n export class IFCOperatorUI\r\n {\r\n public id:Operator;\r\n public name:string='';\r\n }\r\n export class IFCFilterFields\r\n {\r\n public id:number;\r\n public name:string='';\r\n public column:IFCFilterColumn ;\r\n public type:IFCFieldType= IFCFieldType.UNKNOWN;\r\n public addlInfoId:number =0;\r\n }\r\n\r\n export class IFCFilterConditionModel\r\n {\r\n public _cid:number = 0;\r\n public _clm:IFCFilterColumn;\r\n public _aid:number =0;\r\n public _op:Operator;\r\n public _v:string=''; \r\n public _mv:string='';\r\n public _l:number=null;\r\n }\r\n\r\n export class IFCFilterModel extends PagingModel\r\n {\r\n public _c1:IFCFilterConditionModel= new IFCFilterConditionModel();\r\n public _fop:FilterOperator = FilterOperator.UNKNOWN;\r\n public _c2:IFCFilterConditionModel =new IFCFilterConditionModel();\r\n public _prflrs:Array = null;\r\n \r\n\r\n }\r\n\r\n export class BaseFilterEntity\r\n {\r\n \r\n public SelectedIds:string =\"\";\r\n }","import { folderPermissions } from \"src/shared/UI/ViewTypes\";\r\nimport { Organization } from \"../organization\";\r\nimport { Scope, ScopeType } from \"../scope-tree\";\r\nimport { User } from \"../user\";\r\n\r\nexport class Folder {\r\n id: number;\r\n name: string;\r\n description: string;\r\n lastUploadedDate: Date;\r\n scopeId: number;\r\n scopeType: number;\r\n subFolders: Array;\r\n showChildren: boolean = false;\r\n isSelected: boolean = false;\r\n workflowId: number;\r\n statusListId:number;\r\n organization: Organization = new Organization();\r\n createdBy: User;\r\n path:string;\r\n type:ScopeType\r\n isfetched:boolean;\r\n permissions:Array;\r\n namingRulesId:number;\r\n isActive: boolean;\r\n paths:Map;\r\n folderType:FolderType;\r\n}\r\nexport enum FolderType\r\n{\r\n FREE=0,\r\n WORKFLOW=1,\r\n STATUSLIST=2,\r\n NAMINGRULE=3\r\n}","import { PermissionTypes } from \"src/shared/utilities/PermissionHelper\";\r\nimport { Project } from \"./Project\";\r\n\r\nexport class Role {\r\n public id: number = 0;\r\n public name: string = '';\r\n public description: string = '';\r\n public permissions: Array = new Array();\r\n public isSystem:boolean = false;\r\n public isProjectAssigned:boolean=false;\r\n public isSelected: boolean = false;\r\n public projects:Array= new Array();\r\n}\r\n","import { CheckListChecks } from \"./checklist-check\";\r\n\r\nexport class UserChecklist {\r\n public checkModels: Array = new Array();\r\n public isCompleted: boolean = false;\r\n public id: number = 0;\r\n public name: string = '';\r\n public description: string = '';\r\n public isSelected: boolean = false;\r\n public savedOn:Date;\r\n public completedOn:Date;\r\n public openDate:Date;\r\n public systemParameters: ChecklistSystemParametersModel = new ChecklistSystemParametersModel();\r\n public checklistId:number=0;\r\n public projectId:number=0;\r\n public serverId:number=0;\r\n }\r\n\r\nexport class ChecklistSystemParametersModel\r\n{\r\n public userCode: string = '';\r\n public companyCode: string = '';\r\n}\r\n","import { IMyDateModel } from \"angular-mydatepicker\";\r\nimport { SpaceAssetAttributeTypes } from \"../UI/ViewTypes\";\r\nimport { CheckList } from \"./API/checklist\";\r\nimport { BIMModel, Document } from \"./API/document\";\r\nimport { IFCElementModel } from \"./API/IFCElementModel\";\r\nimport { BlobFile } from \"./Internal/BlobFileModel\";\r\nimport { GroupNotificationType, PPTemplate } from \"./onm/onm.models\";\r\nimport { OnmStatus, radioButtonOptions, Space, SpaceAssetSource, SpaceStatus } from \"./space\";\r\n\r\nexport class AssetUpdateCode {\r\n public id: number = 0;\r\n public code: string = '';\r\n public description: string = '';\r\n public status: AssetUpdateCodeStatus = AssetUpdateCodeStatus.UNKNOWN;\r\n\r\n public isSelected: boolean = false;\r\n}\r\nexport enum MatchStatus\r\n{\r\n ALL = -2,\r\n NOTYETMATCHED= -1,\r\n SPACENOTMATCH = 0,\r\n SPACEMATCHED= 1\r\n}\r\nexport enum AssetUpdateCodeStatus {\r\n UNKNOWN = -1,\r\n OPEN = 1,\r\n CLOSED = 2\r\n}\r\nexport enum AssetCodeColumns\r\n{\r\n ID = 0,\r\n CODE = 1,\r\n DESCRIPTION = 2,\r\n STATUS = 3\r\n}\r\nexport enum AssetDetailsViewType {\r\n DETAILS = 0,\r\n HISTORY,\r\n LOGS,\r\n PHOTOS,\r\n DOCUMENTS,\r\n CHECKLISTS,\r\n TICKETS,\r\n ONM,\r\n ADDITIONALINFORMATION,\r\n EASY\r\n}\r\n\r\nexport class AssetGroup {\r\n public id: number = 0;\r\n public name: string = '';\r\n public description: string = '';\r\n public documents: Array = new Array();\r\n public checklists: Array = new Array();\r\n public assets:Array= new Array();\r\n public isSelected: boolean = false;\r\n public templateId:number=0;\r\n public ppTemplates:Array = new Array();\r\n public ppNotificationType:GroupNotificationType = GroupNotificationType.GROUP;\r\n}\r\n\r\nexport enum AssetGroupColumns\r\n{\r\n ID = 0,\r\n NAME=1,\r\n DESCRIPTION = 2,\r\n CODE = 3,\r\n DOCUMENTS = 4,\r\n CHECKLISTS = 5\r\n}\r\n\r\nexport class AssetsList\r\n{\r\n public assets:Array = new Array();\r\n public totalCount:number =0;\r\n public activeCount:number =0;\r\n public archiveCount:number =0;\r\n}\r\n\r\nexport class Asset {\r\n public id: number = 0;\r\n public code: string = '';\r\n public qRCode: string = '';\r\n public assetHistories: Array = new Array();\r\n public documents: Array = new Array();\r\n public checklists: Array = new Array();\r\n public totalTickets:number =0;\r\n public openTickets:number =0;\r\n public isModelMapped:boolean = false;\r\n public assetAddlInformations:Array = new Array();\r\n //if you do new here infinite loop will happen whenever an asset is created. So never assign anything here\r\n public childAssets:Array = null;\r\n public matchedSpace:MatchStatus = MatchStatus.NOTYETMATCHED;\r\n //for UI\r\n public isSelected: boolean=false;\r\n public isCollapsed:boolean = true;\r\n public projectId:number;\r\n public showDocuments:boolean = false;\r\n public onmStatus:OnmStatus = OnmStatus.NOTICKETS;\r\n public ifcElements: Array;\r\n}\r\nexport class AssetHistory{\r\n public id:number =0;\r\n public space: Space = new Space();\r\n public assetClassification: string = '';\r\n public assetName: string = '';\r\n public assetAccountable: string = '';\r\n public status: SpaceStatus = SpaceStatus.UNKNOWN;\r\n public source: SpaceAssetSource= SpaceAssetSource.UNKNOWN;\r\n public assetUpdateCode: AssetUpdateCode = new AssetUpdateCode();\r\n public lastModified: Date;\r\n public photos:Array=new Array();\r\n public link:string='';\r\n public assetDescription :string='';\r\n public discipline:string='';\r\n public circuitId:number | null =null ;\r\n public parentAsset:Asset = new Asset();\r\n}\r\n\r\nexport class AssetLog {\r\n public assetId: number = 0;\r\n public actionType: AssetActionType = AssetActionType.UNKNOWN;\r\n public actionDate: Date;\r\n public entity: string = '';\r\n public userName: string = '';\r\n public action: string = '';\r\n public actionDetails: string = '';\r\n public actionFile: string = '';\r\n public name:string='';\r\n}\r\n\r\nexport enum AssetActionType {\r\n UNKNOWN = 0,\r\n ASSOCIATEDGROUP=1,\r\n DISSASSOCIATEDGROUP,\r\n CREATED,\r\n EDIT,\r\n UPLOADPHOTO,\r\n LINKDOCUMENT\r\n}\r\n\r\nexport class AssetAddlinformation{\r\n public id:number =0;\r\n public attributeName:string='';\r\n public attributeType:SpaceAssetAttributeTypes;\r\n public Order:number = 0;\r\n public projectId:number =0;\r\n\r\n public isselected:boolean = false;\r\n\r\n}\r\nexport class AssetAddlinformationValue extends AssetAddlinformation{\r\n public value:string='';\r\n\r\n //for UI\r\n public DateValue:IMyDateModel =null;\r\n selectedRadioOption:radioButtonOptions= radioButtonOptions.UNKNOWN;\r\n}\r\n\r\n//Server side\r\nexport class EasyWebAssetModel\r\n{\r\n public rfid:string ='';\r\n public fornitore:string='';\r\n public nFattura:string='';\r\n public dataFattura:Date;\r\n public tipo:string='';\r\n public anno:number;\r\n public numero:number ;\r\n public causale:string='';\r\n public imponibile:number;\r\n public sconto:string='';\r\n public importoTotale:number;\r\n public aliquotaIva:number;\r\n public ivaTotale:number;\r\n public ivaIndetraibile:number;\r\n public costoEffettivo:string ='';\r\n public valoreAttuale:number ;\r\n public totaleAmmortamenti:number;\r\n\r\n}\r\n\r\n","import { MainViewType } from \"../UI/ViewTypes\";\r\nimport { Project } from \"./API/Project\";\r\n\r\n\r\n\r\n\r\n\r\n\r\n//main class for storing per user ,per project column\r\n//contains project columns which is per project, per user list of columns data\r\nexport class ColumnInformation\r\n{\r\n\r\n public projects:Array = new Array();\r\n}\r\n\r\n//per project, per userid list of columns\r\nexport class ProjectColumns\r\n{\r\n public projectId:number =0;\r\n public userid:number =0;\r\n public viewType:MainViewType= MainViewType.CALENDAR;\r\n public subviewType:number =-1;\r\n public columns:Array = new Array();\r\n\r\n}\r\n\r\n\r\nexport enum ColumnType\r\n{\r\n UNKNOWN=-1,\r\n STANDARD=1,\r\n CUSTOM =2\r\n}\r\n//Used for storing id ->for additional it is DB id else it is an enum value\r\n//isVisible is true when you read data from local storage. \r\nexport class ColumnsData\r\n{\r\n public id:number =0;\r\n public name:string='';\r\n public width:number=0;\r\n public type:ColumnType=ColumnType.STANDARD;\r\n public customColumnType:number = -1;\r\n public isVisible:boolean = false;\r\n\r\n //ui\r\n public widthDisabled:boolean = false;\r\n}\r\n","import { WorkflowTransition } from 'src/shared/Models/WorkflowTransition';\r\nimport { DocumentLevelApprover } from './documentLevelApprover';\r\nimport { WorkflowStatusSettings } from './WorkflowStatusSettings';\r\n\r\nexport class CurrentStatus {\r\n public documentLevelApprovers: Array = new Array();\r\n public workflowTransitions: Array = new Array();\r\n public workflowStatusSettings: WorkflowStatusSettings;\r\n}\r\n","import { fileURLToPath } from \"url\";\r\n\r\nexport class BlobFile {\r\n public id:number =0;\r\n public resourceId:number =0;\r\n private blobId: string = '';\r\n private plUploadContainerId: string = '';\r\n private plUploadId: string = '';\r\n private numOfBlocks: number = 0;\r\n private blockIds: Array = [];\r\n public file: File = null;\r\n private sasUrl: string = '';\r\n private customFileName: string = '';\r\n private maxBlockSize: number = 0;\r\n private uploadedBlockIds: Array = [];\r\n public uploadedBytes: number = 0;\r\n private uploadFailed: boolean = false;\r\n private fileContent: Array = [];\r\n private nextItemToUpload: number = 0;\r\n public isDeleted: boolean = false;\r\n public isInQueue: boolean = false;\r\n public isUploaded: boolean = false;\r\n public fileName: string;\r\n public size: number;\r\n public isSelected:boolean = false;\r\n public parentId:number =0;\r\n public isViewSupported:boolean = false;\r\n\r\n // getters\r\n public getGUID(): string { return this.blobId; }\r\n public getResourceId(): number { return this.resourceId; }\r\n public getCustomFileName(): string { return this.customFileName; }\r\n public getPLUploadContainerId(): string { return this.plUploadContainerId; }\r\n public getPLUploadId(): string { return this.plUploadId; }\r\n public getNumOfBlocks(): number { return this.numOfBlocks; }\r\n public getMaxBlockSize(): number { return this.maxBlockSize; }\r\n public getUploadedBlockIds(): Array { return this.uploadedBlockIds; }\r\n public getUploadedBytes(): number { return this.uploadedBytes; }\r\n public getUploadFailed(): boolean { return this.uploadFailed; }\r\n public getBlockIds(): Array { return this.blockIds; }\r\n public getFile(): File { return this.file; }\r\n public getSize(): number { return this.file.size; }\r\n public getSASUrl(): string { return this.sasUrl; }\r\n public getFileContent(): Array { return this.fileContent; }\r\n public getNextItemToUpload(): number { return this.nextItemToUpload; }\r\n public getFileName(): string { return this.fileName; }\r\n\r\n\r\n // setters\r\n public setGUID(value: string): void { this.blobId = value; }\r\n public setFileName(value: string): void { this.fileName = value; }\r\n public setSize(value: number): void { this.size = value; }\r\n public setCustomFileName(value: string): void { this.customFileName = value; }\r\n public setPLUploadContainerId(value: string): void { this.plUploadContainerId = value; }\r\n public setPLUploadId(value: string): void { this.plUploadId = value; }\r\n public setResourceId(value: number): void { this.resourceId = value; }\r\n public setNumOfBlocks(value?: number): void {\r\n if (value)\r\n this.numOfBlocks = value;\r\n else {\r\n if (this.file.size % this.maxBlockSize == 0)\r\n this.numOfBlocks = this.file.size / this.maxBlockSize;\r\n else\r\n // need to add math library !\r\n this.numOfBlocks = ~~(this.file.size / this.maxBlockSize + 1);\r\n }\r\n }\r\n public addBlockId(value: string): void { this.blockIds.push(value); }\r\n public setFile(value: File): void { this.file = value; }\r\n public setSASUrl(value: string): void { this.sasUrl = value; }\r\n\r\n public setMaxBlockSize(value: number): void { this.maxBlockSize = value; }\r\n public addUploadedBlockId(value: string): void { this.uploadedBlockIds.push(value); }\r\n public setUploadedBytes(value: number): void { this.uploadedBytes = value; }\r\n public setUploadFailed(value: boolean): void { this.uploadFailed = value; }\r\n public addFileContent(value: Blob): void { this.fileContent.push(value); }\r\n public setNextItemToUpload(value: number): void { this.nextItemToUpload = value; }\r\n}\r\n","export enum MessageTypes {\r\n none = '',\r\n primary = 'primary',\r\n secondary = 'secondary',\r\n success = 'success',\r\n danger = 'danger',\r\n warning = 'warning ',\r\n info = 'info',\r\n light = 'light',\r\n dark = 'dark',\r\n}\r\n\r\nexport class MessageModel {\r\n public message: string = '';\r\n public type: MessageTypes = MessageTypes.none;\r\n constructor(_message: string = '', _type: MessageTypes = MessageTypes.none) {\r\n this.message = _message;\r\n this.type = _type;\r\n }\r\n}","export enum DataManagerSettingsType {\r\n PROJECTS = 1,\r\n DOCUMENTS = 2,\r\n USERS = 3,\r\n TICKETS = 4,\r\n CHECKLIST = 5,\r\n TIMING = 6,\r\n OnM = 7,\r\n APPS = 8,\r\n SPACE=9,\r\n ASSET=10\r\n }\r\n ","import { BlobFile } from \"./BlobFileModel\";\r\nimport { MetaData, UPLOAD_JOB_TYPE } from \"./meta-data\";\r\n\r\n\r\nexport enum ImportJobType\r\n {\r\n UNKNOWN=-1,\r\n COMPANYCATEGORYIMPORT=1,\r\n WUG=2,\r\n CUSTOMROLES=3,\r\n DOCUMENTTAGS=4,\r\n DOCUMENTSTATUS=5,\r\n DOCUMENTSTATUSLIST=6,\r\n WORFKLOWS=7,\r\n DOCADDLINFORMATIONS=8,\r\n NAMINGATTRIBUTES=9,\r\n NAMINGRULES=10,\r\n TICKETTAG=11,\r\n TICKETSTATUSES=12,\r\n TICKETFLOW=13,\r\n CHECKLISTTAGS=14,\r\n CHECKLISTFREQUENCY=15,\r\n CHECKLISTFIELDS=16,\r\n CHECKLISTTEMPLATES=17,\r\n CHECKLISTNAMINGRULES=18,\r\n SPACEADDLINFORMATIONS =19,\r\n ASSETADDLINFORMATIONS = 20,\r\n CUSTOMTIMINGS=21,\r\n CONTACTCENTERS=22,\r\n IR=23,\r\n IA=24,\r\n PP=25\r\n }\r\nexport class Job {\r\n public id: string;\r\n public jobType: UPLOAD_JOB_TYPE = UPLOAD_JOB_TYPE.BULK_DOCUMENTS;\r\n public importJobType:ImportJobType = ImportJobType.UNKNOWN;\r\n public status: JobStatus = JobStatus.IN_PROGRESS;\r\n public metaDatas: Array = new Array();\r\n public fileModels: Array = new Array();\r\n public handleException:Boolean = true;\r\n public organizationid:number =0;\r\n public IscsSpaceCalculated:boolean=true;//this is to identify wheteher space is calculated at client or server\r\n public uploadedObjects:object =null;\r\n public tableName:string=null;\r\n}\r\nexport class JobReturnModel\r\n{\r\n public uploadedObjects:object;\r\n public jobType:UPLOAD_JOB_TYPE = 0;\r\n public status: JobStatus = JobStatus.IN_PROGRESS;\r\n}\r\n\r\nexport enum JobStatus {\r\n IN_PROGRESS = 0,\r\n SAVING = 1,\r\n FAILED = 2,\r\n COMPLETE = 3,\r\n}\r\n","export class MetaData {\r\n public name: string;\r\n public value: string;\r\n}\r\n\r\nexport enum UPLOAD_JOB_TYPE {\r\n BULK_DOCUMENTS = 1,\r\n BULK_ATTACHMENTS = 2,\r\n VERSION = 3,\r\n BULK_VERSIONS = 4,\r\n SPACE = 5,\r\n MANUALASSET=6,\r\n BULKASSETUPLOAD=7,\r\n BULKASSETUPDATE=8,\r\n BULKASSETUPDATEPHOTO=9,\r\n NEWTICKET=10,\r\n UPDATETICKET=11,\r\n FORWARDTICKET=12,\r\n BULKASSETDOCUMENTS=13,\r\n NEWTICKETRESOURCE=14,\r\n BULK_DOCUMENTS_UPDATE=15,\r\n ASSETMATCHSPACE=16,\r\n UPLOADFOLDERHIERARCHY=17,\r\n UPLOADTRANSMITTAL=18,\r\n IOTDATAUPLOAD=19,\r\n ASSETGROUPUPLOAD=20,\r\n DMIMPORTJOB=21,\r\n DMBULKIMPORTJOB=22,\r\n NAMEDESCRIPTIONIMPORTJOB=23\r\n}\r\n","export enum ObjectType {\r\n UNKNOWN = 0,\r\n FILE = 1,\r\n FOLDER = 2,\r\n}\r\n","export enum SettingsType {\r\n PROJECTS = 1,\r\n DOCUMENTS = 2,\r\n USERS = 3,\r\n COMPANY = 4,\r\n CHECKLIST = 5,\r\n TIMING=6\r\n\r\n}\r\n\r\nexport enum ProjectManagerSettingsType{\r\n PROJECT_SETTINGS=1,\r\n PROJECT_USER_SETTINGS=2,\r\n PROJECT_BIM_MODELS=3,\r\n PROJECT_SPACE_SETTINGS=4,\r\n PROJECT_ASSET_SETTINGS=5,\r\n PROJECT_OM_SETTINGS=6,\r\n PROJECT_APPS_SETTINGS=7\r\n}\r\n","export enum SystemRoles {\r\n DataManager=1,\r\n ProjectManager = 2,\r\n SystemUser=3\r\n }\r\n\r\nexport enum RoleTypes{\r\n SYSTEMROLES = 1 ,\r\n CUSTOMROLES=2\r\n}\r\n ","import { SortOrder } from \"../UI/ViewTypes\"\r\n\r\nexport class SortModel\r\n{\r\n public _colname:string=''\r\n public _order:SortOrder=SortOrder.ASC;\r\n}\r\n"," export class SystemTicketTag\r\n{\r\n id:number=0;\r\n name:string=\"\";\r\n description:string=\"\"\r\n }","import { CheckList } from \"./API/checklist\";\r\n\r\nexport class Timing {\r\n public id: number = 0;\r\n public name: string = '';\r\n public isSystem: boolean = false;\r\n //for UI - to have unique id for all group, as group might contains same id\r\n public uniqueId:string;\r\n}\r\nexport class SystemTiming extends Timing {\r\n public description: string = '';\r\n}\r\nexport class CustomTiming extends Timing {\r\n public number: number = 0;\r\n public systemTiming: SystemTiming = new SystemTiming();\r\n //UI\r\n public isSelected: boolean = false;\r\n\r\n}\r\nexport class Frequency {\r\n public id: number = 0;\r\n public name: string = '';\r\n public description: string = '';\r\n public noOfUnits: number = 0;\r\n public timing: Timing = new Timing();\r\n public checklists:Array = new Array();\r\n public isSelected: boolean = false;\r\n}","export class WorkflowStatusSettings\r\n{\r\n public id: number = 0;\r\n public isNotification: boolean = false;\r\n public isBlockMove: boolean = false;\r\n public isBlockEdit: boolean = false;\r\n public isBlockNewVersionUpload: boolean = false;\r\n public isBlockDelete: boolean = false;\r\n public isparallellevel:boolean=false;\r\n\r\n}\r\n","export enum ChecklistAttributes {\r\n SEPARATOR = 1,\r\n PROJECT_ID = 2,\r\n COMPANY_CODE = 3,\r\n USER_CODE = 4,\r\n TIME = 5,\r\n TAG = 6,\r\n TEMPLATE_NAME = 7,\r\n COUNTER = 8\r\n}\r\n","import {DocumentStatusItem} from 'src/shared/UI/DocumentStatusItem';\r\nimport {User} from 'src/shared/Models/user';\r\nimport { WorkflowUserGroup } from './API/WorkflowUserGroup';\r\nimport { DocumentNote } from './API/documentnote';\r\nexport class DocumentApprover\r\n{\r\n public id: number = 0;\r\n public level: number = 0;\r\n public expiresDays:number = 0;\r\n public user:User= new User();\r\n public isApproved:boolean=false;\r\n public isExpired:boolean=false;\r\n public expirationDate:Date= new Date();\r\n public approvedOn:Date= new Date();\r\n public sourceDocumentStatusModel:DocumentStatusItem = new DocumentStatusItem();\r\n public targetDocumentStatusModel:DocumentStatusItem = new DocumentStatusItem();\r\n public ApproverType:number =0;\r\n public documentNotes:Array = new Array();\r\n public workflowGroup:WorkflowUserGroup = new WorkflowUserGroup();\r\n\r\n}\r\n","import { IMyDateModel } from \"angular-mydatepicker\";\r\nimport { Company } from \"../API/company\";\r\nimport { Department } from \"../API/department\";\r\nimport { Project } from \"../API/Project\";\r\nimport { TicketFlow } from \"../API/Ticket\";\r\nimport { AssetGroup } from \"../Asset\";\r\nimport { SpaceGroup } from \"../space-group\";\r\nimport { Timing } from \"../Timing\";\r\nimport { User } from \"../user\";\r\n\r\nexport abstract class OnM {\r\n id: number = 0;\r\n name: string = \"\";\r\n description: string = \"\";\r\n projectId: number = 0;\r\n isselected: boolean = false;\r\n}\r\n\r\nexport class ContactCenter extends OnM {\r\n users: Array = new Array();\r\n}\r\n\r\nexport class IRTemplate extends OnM {\r\n ticketFlow: TicketFlow;\r\n contactCenter: ContactCenter;\r\n spaceGroups:Array= new Array();\r\n assetGroups:Array= new Array();\r\n notificationType:GroupNotificationType;\r\n}\r\nexport class IATemplate extends OnM {\r\n ticketFlow: TicketFlow;\r\n company: Company;\r\n department: Department;\r\n}\r\nexport class PPTemplate extends OnM{\r\n ticketFlow: TicketFlow;\r\n company: Company;\r\n department: Department;\r\n timing: Timing;\r\n startDate: Date;\r\n endDate: Date;\r\n previewNumber: number;\r\n notBeforeDays: number;\r\n delayFromDays: number;\r\n reminderDays: number;\r\n sgStartDate:Date;\r\n agStartDate:Date;\r\n groupId:number =0;\r\n code:string='';\r\n \r\n \r\n notificationType:GroupNotificationType;\r\n templateType:PPBasis = PPBasis.STARTDATEBASED;\r\n contactCenter: ContactCenter;\r\n\r\n //UI\r\n public sgStartDateModel:IMyDateModel =null;\r\n public agStartDateModel:IMyDateModel =null;\r\n public isSelected:boolean = false;\r\n}\r\n\r\nexport class PPList\r\n{\r\n ppTemplate: PPTemplate ;\r\n buildings:Array;\r\n}\r\n\r\nexport class ERTemplate {\r\n ticketFlow: TicketFlow;\r\n projectId:number=0;\r\n isselected: boolean=false;\r\n}\r\nexport class ARTemplate {\r\n ticketFlow: TicketFlow;\r\n projectId:number=0;\r\n isselected: boolean=false;\r\n}\r\n\r\nexport class OnMTemplate{\r\n irTemplates:Array;\r\n iaTemplates:Array;\r\n ppTemplates:Array;\r\n}\r\n\r\nexport enum GroupNotificationType\r\n {\r\n GROUP=1,\r\n SINGLE\r\n }\r\n export enum PPBasis\r\n {\r\n STARTDATEBASED= 1,\r\n ENDDATEBASED\r\n }\r\n\r\n export class PATemplate {\r\n ticketFlow: TicketFlow;\r\n projectId:number=0;\r\n isselected: boolean=false;\r\n}\r\n\r\n//other models related to OnM\r\n","import { FeatureType } from \"../UI/feature-type.enum\";\r\n\r\nexport class Organization {\r\n public id: number = 0;\r\n public name: string = '';\r\n public expiry:Date;\r\n public notificationBeforeDays:number;\r\n public features:Array= new Array();\r\n public storageSpace:number =0;\r\n}\r\n","import { StringifyOptions } from \"querystring\";\r\nimport { Organization } from \"./organization\";\r\nimport {Country} from \"src/shared/Models/country\"\r\n\r\nexport class ProjectLocation\r\n{\r\n public latitude:number=0;\r\n public longitude:number=0;\r\n public organization:Organization= new Organization();\r\n public address:string='';\r\n public city:string='';\r\n public country:string='';\r\n public continent:string='';\r\n public region:string='';\r\n public localArea:string=''\r\n}\r\n","import { FeatureType } from \"../UI/feature-type.enum\";\r\nimport { Project } from \"./API/Project\";\r\nimport { Role } from \"./API/role\";\r\n\r\nexport class Scope {\r\n public id: number;\r\n public type: ScopeType;\r\n public path: string;\r\n public name: string;\r\n public role:Role;\r\n public project:Project;\r\n}\r\n\r\nexport enum ScopeType {\r\n UNKNOWN = 0,\r\n ORGANIZATION = 1,\r\n PROJECT = 2,\r\n FOLDER = 3\r\n}\r\nexport class OrganisationTreeNode {\r\n public name: string;\r\n public scope: Scope;\r\n public children: Array;\r\n public features: Array;\r\n public showChildren: boolean = false;\r\n public isSelected: boolean = false;\r\n}\r\n","import { Document } from 'src/shared/Models/API/document';\r\nimport { CheckList } from \"./API/checklist\";\r\nimport { GroupNotificationType, PPTemplate } from './onm/onm.models';\r\nimport { Space } from './space';\r\n\r\nexport class SpaceGroup {\r\n public id: number = 0;\r\n public name: string = '';\r\n public description: string = '';\r\n public documents: Array = new Array();\r\n public checklists: Array = new Array();\r\n public spaces: Array = new Array();\r\n\r\n public ppTemplates:Array = new Array();\r\n public ppNotificationType:GroupNotificationType = GroupNotificationType.GROUP;\r\n\r\n public isSelected: boolean = false;\r\n public strDocuments: string = '';\r\n public strChecklists: string = '';\r\n public templateId:number=0;\r\n\r\n}\r\n","export class SpaceCode {\r\n public id: number = 0;\r\n public code: string = '';\r\n public description: string = '';\r\n public status: SpaceCodeStatus = SpaceCodeStatus.UNKNOWN;\r\n\r\n public isSelected: boolean = false;\r\n}\r\n\r\nexport enum SpaceCodeStatus {\r\n UNKNOWN = -1,\r\n OPEN = 1,\r\n CLOSED = 2\r\n}","import { SafeUrl } from '@angular/platform-browser';\r\nimport { CheckList } from './API/checklist';\r\nimport { BlobFile } from './Internal/BlobFileModel';\r\nimport { SpaceCode } from \"./space-update-code\";\r\nimport { BIMModel, Document } from 'src/shared/Models/API/document';\r\nimport { SpaceAssetAttributeTypes } from '../UI/ViewTypes';\r\nimport { IMyDateModel } from 'angular-mydatepicker';\r\nimport { IFCElementModel } from './API/IFCElementModel';\r\n\r\n\r\nexport enum OnmStatus\r\n{\r\n NOTICKETS=0,\r\n SOMEOPENTICKETS=1,\r\n ALLCLOSEDTICKETS=2\r\n}\r\n\r\nexport class SpacesList\r\n{\r\n public spaces:Array = new Array();\r\n public totalCount:number =0;\r\n public activeCount:number =0;\r\n public deActiveCount:number =0;\r\n public archiveCount:number =0;\r\n public transferCount:number=0;\r\n public totalSpaceArea:number=0;\r\n}\r\n \r\n\r\n\r\nexport class Space {\r\n public id: number = 0;\r\n public code: string = '';\r\n public description: string = '';\r\n public spaceGroupId: number = 0;\r\n public level: string = '';\r\n public area: number = 0;\r\n public siteName: string = '';\r\n public siteId:number | null=null;\r\n public buildingName: string = ''\r\n public buildingId:number | null = null;\r\n public spaceOrigin: Array = new Array();\r\n public history: Array = new Array();\r\n public documents: Array = new Array();\r\n public checklists: Array = new Array();\r\n public spaceAddlInformationValues:Array = new Array();\r\n public QRImage: SafeUrl;\r\n public qrCode:string ='';\r\n public totalTickets:number=0;\r\n public openTickets:number=0;\r\n public isModelMapped:boolean = false;\r\n\r\n public isSelected: boolean = false;\r\n public strOrigins: string = '';\r\n public isDocumentsAssigned: boolean = false;\r\n public isChecklistsAssigned: boolean = false;\r\n public projectId:number;\r\n public showDocuments:boolean = false;\r\n public onmStatus:OnmStatus = OnmStatus.NOTICKETS;\r\n public ifcElements: Array;\r\n}\r\n\r\nexport class SpaceHistory {\r\n public spaceName: string = '';\r\n public spaceType: string = '';\r\n public occupancy: string = '';\r\n public zone: string = '';\r\n public zoneId:number | null = null;\r\n public zoneDescription: string = '';\r\n public isCSV: boolean = false;\r\n public status: SpaceStatus = SpaceStatus.UNKNOWN;\r\n public lastModifiedOn: Date;\r\n public photos: Array = new Array();\r\n public spaceCode: SpaceCode = new SpaceCode();\r\n public isPhotosAvailable: boolean = false;\r\n public link:string='';\r\n public spaceDescription :string='';\r\n public spaceClassification :string='';\r\n public source:SpaceAssetSource = SpaceAssetSource.UNKNOWN;\r\n}\r\n\r\nexport class sasURL{\r\n url:string ='';\r\n}\r\n\r\n\r\n\r\nexport enum SpaceStatus {\r\n UNKNOWN = 0,\r\n ACTIVE = 1,\r\n DEACTIVATED = 2,\r\n ARCHIVED = 3,\r\n TRANSFER=4\r\n}\r\nexport enum SpaceAssetSource\r\n{\r\n UNKNOWN = -1,\r\n CSV=1,\r\n BIM=2,\r\n MANUAL=3\r\n}\r\n\r\n\r\nexport class SpaceAddlinformation{\r\n public id:number =0;\r\n public attributeName:string='';\r\n public attributeType:SpaceAssetAttributeTypes;\r\n public Order:number = 0;\r\n public projectId:number =0;\r\n\r\n public isselected:boolean = false;\r\n\r\n}\r\n\r\nexport enum radioButtonOptions\r\n{\r\n UNKNOWN=-1,\r\n yes=1,\r\n no=2\r\n}\r\nexport class SpaceAddlInformationValue extends SpaceAddlinformation\r\n{\r\n\r\n public value:string='';\r\n\r\n //for UI\r\n public DateValue:IMyDateModel =null;\r\n selectedRadioOption:radioButtonOptions= radioButtonOptions.UNKNOWN;\r\n}\r\n\r\n\r\nexport class SiteNameModel\r\n{\r\n public id:number =0;\r\n public name:string=null;\r\n public description:string=null;\r\n public roleId:number =0;\r\n public isCreate:boolean = false;\r\n public isView:boolean = false;\r\n\r\n //UI\r\n public isselected:boolean = false;\r\n}\r\nexport class BuildingNameModel\r\n{\r\n public id:number =0;\r\n public name:string=null;\r\n public description:string=null;\r\n public roleId:number =0;\r\n public isCreate:boolean = false;\r\n public isView:boolean = false;\r\n\r\n //UI\r\n public isselected:boolean = false;\r\n}\r\nexport class ZoneNameModel\r\n{\r\n public id:number =0;\r\n public name:string=null;\r\n public description:string=null;\r\n public roleId:number =0;\r\n public isCreate:boolean = false;\r\n public isView:boolean = false;\r\n\r\n //UI\r\n public isselected:boolean = false;\r\n}\r\nexport class CircuitModel\r\n{\r\n public id:number =0;\r\n public name:string=null;\r\n public description:string=null;\r\n public roleId:number =0;\r\n public isCreate:boolean = false;\r\n public isView:boolean = false;\r\n\r\n //UI\r\n public isselected:boolean = false;\r\n}","import { Project } from \"../API/Project\";\r\nimport { AssignedToType, TicketNotifyModel, UserTypeObject } from \"../API/Ticket\";\r\nimport { BlobFile } from \"../Internal/BlobFileModel\";\r\nimport { User } from \"../user\";\r\nimport { Document } from 'src/shared/Models/API/document';\r\n\r\nexport enum TransmittalTypes\r\n{\r\n UNKNOWN=-1,\r\n TIN=1,\r\n TOUT\r\n}\r\nexport enum SystemValueType\r\n{\r\n UNKNOWN=-1,\r\n SENDFOR=1,\r\n ASCHECKED=2\r\n}\r\nexport enum TransmittalViewType\r\n{\r\n DETAILS,\r\n LOG,\r\n DOCUMENTS\r\n}\r\nexport class SystemValueModel\r\n{\r\n public id:number;\r\n public name:string;\r\n public systemValueType:SystemValueType=SystemValueType.UNKNOWN;\r\n}\r\n\r\nexport enum TransmittalStatus\r\n{\r\n UNKNOWN=-1,\r\n WIP =1,\r\n SENT=2,\r\n EXPIRED=3\r\n}\r\nexport class TransmittalsModel\r\n{\r\n public transmittals:Array;\r\n public totalCount:number =0;\r\n}\r\nexport class TransmittalModel\r\n{\r\n public id:number = 0;\r\n public project:Project= new Project();\r\n public transmittalCode:string;\r\n public sendFor:SystemValueModel;\r\n public asChecked:SystemValueModel= new SystemValueModel();\r\n public description:string;\r\n public name:string;\r\n public assignedBy:User;\r\n public assignedToObjects:Array = new Array();\r\n public assignedToExternalObjects:Array = new Array();\r\n public status:TransmittalStatus= TransmittalStatus.UNKNOWN;\r\n public notifyModels:Array = new Array();\r\n public relatedTransmittals:Array = new Array();\r\n public sentDate:Date;\r\n public documents:Array = new Array();\r\n public transmittalType :TransmittalTypes= TransmittalTypes.UNKNOWN;\r\n public assignedByExternal:string='';\r\n public files:Array = new Array();\r\n\r\n //UI\r\n public isSelected:boolean = false;\r\n}\r\nexport enum TransmittalNotificationType\r\n{\r\n CREATED=1,\r\n STATUSCHANGE,\r\n DOWNLOADED\r\n\r\n}\r\nexport class TransmittalLogModel\r\n{\r\n public logDate:Date;\r\n public email:string;\r\n}","import { PermissionTypes } from \"../utilities/PermissionHelper\";\r\nimport { Company } from \"./API/company\";\r\nimport { Department } from \"./API/department\";\r\nimport { Project } from \"./API/Project\";\r\nimport { Role } from \"./API/role\";\r\nimport { Organization } from \"./organization\"\r\nimport { UserAccess } from \"./useraccess\";\r\n\r\n\r\nexport enum NotificationType\r\n {\r\n DOCUMENTDOWNLOAD =1,\r\n DOCUMENTUPLOAD,\r\n NEWVERSION,\r\n STATUSCHANGE,\r\n DOCUMENTDELETE,\r\n DOCUMENTLOCK,\r\n DOCUMENTMOVE,\r\n WORKFLOW,\r\n TICKET,\r\n IA,\r\n IR,\r\n AR,\r\n ER,\r\n PP,\r\n DOCUMENTUNLOCK,\r\n NOSPACESFOUND,\r\n IFCSPACEMISMATCH,\r\n TRANSMITTALS,\r\n TRANSMITTALSENT,\r\n TRANSMITTALEXPIRED,\r\n TRANSMITTALDOWNLOADED\r\n }\r\n export enum EmailNotificationType\r\n {\r\n DAILY=1,\r\n REALTIME\r\n }\r\n\r\n export class UserEmailSettingsModel\r\n {\r\n public notificationType:NotificationType ;\r\n public emailNotificationType:EmailNotificationType = EmailNotificationType.DAILY;\r\n public isSelected:boolean= true;\r\n }\r\n export class NotificationModel\r\n {\r\n public user:User = new User();\r\n public type:NotificationType;\r\n public date:Date;\r\n public name:string = ''; \r\n public title:string= '';\r\n public projectModel:Project = new Project();\r\n public creator:User= new User();\r\n\r\n }\r\n export class UserNotificationModel\r\n {\r\n public notifications:Array = new Array();\r\n public totalCount:number = 0;\r\n }\r\n export enum Themes\r\n {\r\n UNKNOWN=-1,\r\n DARK = 1,\r\n LIGHT = 2,\r\n }\r\nexport class User {\r\n public id: number;\r\n public userName: string;\r\n public organization: Organization = new Organization();\r\n public password: string;\r\n public lastName: string;\r\n public firstName: string;\r\n public token: string;\r\n public refreshToken: string;\r\n public expires: number;\r\n public isselected: boolean = false;\r\n public isActive: boolean;\r\n public isEmailConfirmed: boolean;\r\n public title: string;\r\n public phone: string;\r\n public mobile: string;\r\n public code: string;\r\n public company: Company = new Company();\r\n public department: Department = new Department();\r\n public roles: Array = new Array();\r\n public permissions = Array();\r\n public access:UserAccess= new UserAccess();\r\n public languagePreference:string;\r\n public isFirstLogin:boolean;\r\n public emailSettings: Array= new Array();\r\n public departments:Array = new Array();\r\n public url:string='';\r\n public theme:Themes= Themes.DARK;\r\n //for offline-online sync\r\n public isModified:boolean=false;\r\n}\r\n\r\n\r\nexport class LoginInfo\r\n{\r\n public userName:string=\"\";\r\n public URL:string=\"\";\r\n}","export class UserAccess {\r\n public isAccessDenied: boolean=false;\r\n public ipAddress: string='';\r\n public deviceName: string='';\r\n public osName: string='';\r\n}\r\n","export class DocumentStatusItem {\r\n public id: number = 0;\r\n public name: string = '';\r\n public code: string = '';\r\n public color: string = '';\r\n public description: string = '';\r\n public isselected:boolean=false;\r\n}\r\n","\r\nexport enum PermissionViewType{\r\n MainPermission=1,\r\n SubPermission =2,\r\n ChildPermission=3\r\n}\r\n\r\nexport enum PermissionGroup{\r\n PROJECT,\r\n FOLDERS_AND_DOCUMENTS,\r\n SEARCH_DUPLICATES,\r\n MARKUP,\r\n TICKET,\r\n CHECKLIST,\r\n BIMMODELS,\r\n SPACES,\r\n TRANSMITTALS,\r\n ASSET,\r\n O_AND_M,\r\n APPS,\r\n REPORT,\r\n}\r\n","import { PermissionTypes } from \"../utilities/PermissionHelper\";\r\nimport { PermissionGroup, PermissionViewType } from \"./PermissionEnums\";\r\n\r\nexport class PermissionModel {\r\n public permission: PermissionTypes;\r\n public name: string = \"\";\r\n public level:number=0;\r\n public selected: boolean = false;\r\n public displayGroup : PermissionGroup;\r\n public type: PermissionViewType;\r\n constructor(permission: PermissionTypes = null, name: string = null, group:PermissionGroup=null,type:PermissionViewType=null,level:number=0) {\r\n if (permission != null)\r\n this.permission = permission;\r\n if (name != null)\r\n this.name = name;\r\n this.displayGroup= group;\r\n this.type=type;\r\n this.level=level;\r\n }\r\n \r\n}\r\n\r\nexport class PermissionGroupModel{\r\n public permission : PermissionModel= new PermissionModel();\r\n public subpermissions :Array= new Array();\r\n public childPermissions:PermissionGroupModel;\r\n}","export enum SpaceDetailsViewType\r\n{\r\n DETAILS =0,\r\n HISTORY,\r\n LOGS,\r\n PHOTOS,\r\n DOCUMENTS,\r\n CHECKLISTS,\r\n TICKETS,\r\n ONM,\r\n SPACEADDLINFORMATION\r\n}\r\n\r\nexport enum IRType\r\n{\r\n NONE=0,\r\n SPACE,\r\n ASSET\r\n}\r\n","\r\n\r\nexport class MainView {\r\n displayName: string = \"\";\r\n name: string = '';\r\n id: string = \"\";\r\n icon: string = \"\";\r\n type: MainViewType;\r\n isselected:boolean = false;\r\n}\r\n\r\nexport class SubView {\r\n name: string = \"\";\r\n id: string = \"\";\r\n aria_controls: string = \"\";\r\n}\r\n\r\nexport enum MainViewType {\r\n PROJECTS = 0,\r\n ADDITIONALINFORMATION = 1,\r\n USER = 2,\r\n TICKET = 3,\r\n CHECKLIST = 4,\r\n DOCUMENTS = 5,\r\n WORKFLOW = 6,\r\n // SETTINGS = 7,\r\n SUPPORT = 8,\r\n DATA_MANAGER_SETTINGS = 9,\r\n PROJECT_MANAGER_SETTINGS = 10,\r\n BIM_MODEL = 11,\r\n MY_PROFILE = 12,\r\n RECYCLE_BIN = 13,\r\n SPACES = 14,\r\n ASSETS=15,\r\n ONM=16,\r\n CALENDAR=17,\r\n TRANSMITTALS=18,\r\n IOT=19,\r\n REPORTS=20\r\n}\r\n\r\nexport enum Workflowlevel {\r\n PARALLEL = 1,\r\n SERIAL = 2\r\n}\r\n\r\nexport enum ProjectType {\r\n BUILDING = 1,\r\n BRIDGE\r\n}\r\n\r\nexport enum BuildingMenuType {\r\n PROPERTY = 0,\r\n TEAM = 1,\r\n LINKEDMODELS = 2,\r\n FLOORS = 3,\r\n USERGROUP = 4,\r\n WORKFLOWUSERGROUP=5,\r\n LOG = 6,\r\n ADDITIONAL_INFORMATION=7,\r\n CONTACTCENTERS=8\r\n}\r\n\r\nexport enum CategoryControlType {\r\n UNKNOWN=-1,\r\n TEXTBOX = 1,\r\n MULTITEXTBOX,\r\n BOOLEAN\r\n}\r\n\r\nexport enum SpaceAssetAttributeTypes{\r\n UNKNOWN = -1,\r\n TEXT=1,\r\n BOOLEAN,\r\n NUMBER,\r\n INTEGER,\r\n DATE\r\n}\r\n\r\nexport enum Userlevel\r\n{\r\n NONE=0,\r\n GROUP=1,\r\n COMPANY=2,\r\n DIVISION=3,\r\n USER=4\r\n}\r\n\r\nexport enum folderPermissions\r\n{\r\n LIST=1,\r\n VIEW=2,\r\n DOWNLOAD=3,\r\n NEWVERSION=4,\r\n UPLOAD=5,\r\n EDITFOLDERCONTENT=6,\r\n PUBLICACCESS=7,\r\n FULLCONTROL=8\r\n}\r\nexport enum folderNotifications\r\n{\r\n DOWNLOAD=1,\r\n UPLOAD=2,\r\n NEWVERSION=3,\r\n STATUSCHANGE=4,\r\n DELETE=5,\r\n CHECKINOUT=6,\r\n MOVE=7\r\n}\r\n\r\nexport enum SortOrder\r\n{\r\n ASC=1,\r\n DESC=2\r\n}\r\nexport enum NotesType\r\n{\r\n All=1,\r\n Draft=2\r\n\r\n}\r\nexport enum HierarchyModificationType\r\n{\r\n Add=1,\r\n Delete=2\r\n}\r\n\r\n\r\nexport enum ChangeStatusViewType\r\n{\r\n GRID=1,\r\n DETAILS=2\r\n}","export enum FeatureType {\r\nDocument=1,\r\nSystemRoles=2,\r\nPermissions=3,\r\nNotifications=4,\r\nDocumentAdditionalInformation=5,\r\nCustomRoles=6,\r\nDocumentNamingRule=7,\r\nDocumentWorkflow=8,\r\nSpace=9,\r\nAsset=10,\r\nTicket=11,\r\nChecklist=12,\r\nOperationandMaintenance=13,\r\nAPP=14,\r\nBIM=15,\r\nEASY=16,\r\nIOT=17\r\n}\r\n","import { AssetColumns, DocumentColumns, FilterColumnType, RecycleBinColumns, SpaceColumns, TicketColumns, TransmittalColumns } from \"../Models/API/filtermodel\";\r\nimport { ColumnType } from \"../Models/Column-Settings\";\r\nimport { SortModel } from \"../Models/SortModel\";\r\nimport { CategoryControl } from \"../Models/categoryControl\";\r\nimport { CategoryControlType, SpaceAssetAttributeTypes } from \"./ViewTypes\";\r\n\r\nexport class GridColumnOption {\r\n colspan: number = 0;\r\n name: string = \"\";\r\n // show: boolean = true;\r\n\r\n constructor(_name: string, _colspan: number) {\r\n this.name = _name;\r\n this.colspan = _colspan;\r\n }\r\n}\r\n\r\nexport class SpacesGridColumnOption extends GridColumnOption {\r\n column: number ;\r\n filterColumnType : FilterColumnType;\r\n filterColumnValue: any = '';\r\n classvalue:string='';\r\n type:ColumnType= ColumnType.STANDARD;\r\n customColumnType:SpaceAssetAttributeTypes =SpaceAssetAttributeTypes.UNKNOWN;\r\n\r\n constructor(_name: string, _colspan: number, columnName: number, columnType: FilterColumnType,strClass:string) {\r\n super(_name, _colspan);\r\n\r\n this.column = columnName;\r\n this.filterColumnType = columnType;\r\n this.classvalue=strClass;\r\n }\r\n}\r\n\r\nexport class DocumentGridColumnOption extends GridColumnOption{\r\ncolumn : number;\r\nfilterColumnType : FilterColumnType;\r\nfilterColumnValue: any = '';\r\nwidth:number =1;\r\ntype:ColumnType= ColumnType.STANDARD;\r\ncustomColumnType:CategoryControlType=CategoryControlType.UNKNOWN;\r\n// show: boolean = true;\r\n\r\nconstructor(_name: string, _colspan: number,_sort:number,_filterColumnType: FilterColumnType,width:number) {\r\n super(_name,_colspan);\r\n this.column =_sort;\r\n this.filterColumnType= _filterColumnType;\r\n this.width=width;\r\n}\r\n}\r\n\r\nexport class RecycleBinGridColumnOption extends GridColumnOption {\r\n column : RecycleBinColumns;\r\n filterColumnType : FilterColumnType;\r\n filterColumnValue: any = '';\r\n\r\n constructor (_name: string, _colspan: number, _sort:RecycleBinColumns, _filterColumnType: FilterColumnType) {\r\n super(_name, _colspan);\r\n this.column = _sort;\r\n this.filterColumnType = _filterColumnType;\r\n }\r\n}\r\nexport class AssetGridColumnOption extends GridColumnOption {\r\n column : AssetColumns;\r\n filterColumnType : FilterColumnType;\r\n filterColumnValue: any = '';\r\n classvalue:string='';\r\n type:ColumnType= ColumnType.STANDARD;\r\n customColumnType:SpaceAssetAttributeTypes =SpaceAssetAttributeTypes.UNKNOWN;\r\n constructor (_name: string, _colspan: number, _sort:AssetColumns, _colummnType: FilterColumnType,strClass:string)\r\n {\r\n super(_name, _colspan);\r\n this.column = _sort;\r\n this.filterColumnType = _colummnType;\r\n this.classvalue= strClass;\r\n }\r\n}\r\n\r\nexport class TicketGridColumnOption extends GridColumnOption {\r\n column : TicketColumns;\r\n filterColumnType : FilterColumnType;\r\n filterColumnValue: any = '';\r\n classvalue:string='';\r\n constructor (_name: string, _colspan: number, _sort:TicketColumns, _colummnType: FilterColumnType,strClass:string)\r\n {\r\n super(_name, _colspan);\r\n this.column = _sort;\r\n this.filterColumnType = _colummnType;\r\n this.classvalue= strClass;\r\n }\r\n}\r\nexport class TransmittalColumnOption extends GridColumnOption {\r\n column : TransmittalColumns;\r\n filterColumnType : FilterColumnType;\r\n filterColumnValue: any = '';\r\n classvalue:string='';\r\n constructor (_name: string, _colspan: number, _sort:TransmittalColumns, _colummnType: FilterColumnType,strClass:string)\r\n {\r\n super(_name, _colspan);\r\n this.column = _sort;\r\n this.filterColumnType = _colummnType;\r\n this.classvalue= strClass;\r\n }\r\n}\r\n","import { Component, Injector, Input, OnChanges, OnInit, SimpleChanges, ViewChild,Output,EventEmitter } from '@angular/core';\r\nimport { BaseComponent } from 'src/app/modules/shared/BaseComponent';\r\nimport { BlobFile } from 'src/shared/Models/Internal/BlobFileModel';\r\nimport { PlUploaderComponent } from '../pl-uploader/pl-uploader.component';\r\nimport { Job } from 'src/shared/Models/Internal/job';\r\nimport { FileUtil } from 'src/shared/utilities/FileUtil';\r\n\r\n\r\n@Component({\r\n selector: 'app-import-shell',\r\n templateUrl: './import-shell.component.html',\r\n styleUrls: ['./import-shell.component.css']\r\n})\r\nexport class ImportShellComponent extends BaseComponent implements OnInit,OnChanges {\r\n @Input() title:string=\"\";\r\n @Input() UploaderNumber:number =1;\r\n @Input() isDisplayed:boolean = false;\r\n @Input() appName:string=\"UploaderApp\";\r\n @Output() OnImport:EventEmitter = new EventEmitter();\r\n @Output() OnCancel:EventEmitter = new EventEmitter();\r\n filesToUpload:Array = new Array();\r\n utilFile:FileUtil = new FileUtil();\r\n \r\n @ViewChild('uploader', { static: true }) uploaderComponent: PlUploaderComponent;\r\n constructor(injector:Injector) {super(injector); }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n if (changes && changes.isDisplayed.currentValue) {\r\n this.resetView();\r\n \r\n }\r\n \r\n }\r\n\r\n public resetView(): void {\r\n \r\n this.filesToUpload = new Array();\r\n this.uploaderComponent.resetUploader();\r\n this.uploaderComponent.clearFiles();\r\n \r\n }\r\n\r\n onFilesAttach(attachments:Array)\r\n {\r\n this.filesToUpload= attachments;\r\n }\r\n Upload()\r\n {\r\n if(this.filesToUpload == null || this.filesToUpload.length == 0)\r\n {\r\n this.errorMsg(this.translate.instant(\"ProjectManagerSettings.Spaces.warnSelectFile\"));\r\n return;\r\n }\r\n\r\n var uploadJob: Job = new Job();\r\n uploadJob.id = this.utilFile.generateGUID();\r\n if (this.filesToUpload && this.filesToUpload.length > 0) {\r\n this.filesToUpload.forEach((blob: BlobFile): void => {\r\n uploadJob.fileModels.push(this.utilFile.createBlobFileObject(blob));\r\n });\r\n }\r\n this.uploaderComponent.resetUploader();\r\n\r\n this.OnImport.emit(uploadJob);\r\n\r\n\r\n }\r\n\r\n OnCancelled()\r\n {\r\n this.resetView();\r\n this.modelPopup('Uploader_' + this.appName,false);\r\n this.OnCancel.emit();\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
\r\n
","import { AfterViewInit, Component, EventEmitter, Input, OnDestroy, OnInit, Output } from '@angular/core';\r\nimport { BlobFile } from 'src/shared/Models/Internal/BlobFileModel';\r\ndeclare var $: any\r\n@Component({\r\n selector: 'app-pl-uploader',\r\n templateUrl: './pl-uploader.component.html',\r\n styleUrls: ['./pl-uploader.component.css']\r\n})\r\nexport class PlUploaderComponent implements OnInit,AfterViewInit,OnDestroy {\r\n\r\n @Input() uniqueId:number;\r\n @Output() onFilesAttach: EventEmitter>=new EventEmitter>();\r\n divId: string='dvPlUploadId';\r\n public attachments: Array = new Array();\r\n @Input() public clearAfterAdd:boolean = false;\r\n constructor() { }\r\n\r\n ngOnInit() {\r\n this.divId= this.divId+this.uniqueId.toString();\r\n \r\n }\r\n \r\n get id()\r\n {\r\n return this.divId;\r\n }\r\n ngAfterViewInit(){\r\n \r\n if(this.divId){ \r\n this.initializePLUpload($(\"#\"+this.divId));\r\n }\r\n }\r\n resetUploader()\r\n {\r\n if(this.divId){ \r\n this.initializePLUpload($(\"#\"+this.divId));\r\n }\r\n this.attachments= new Array();\r\n }\r\n clearFiles()\r\n {\r\n this.attachments= new Array();\r\n }\r\n\r\n ngOnDestroy(){\r\n var eleStartUpload: Element = document.getElementById(this.divId);\r\n if (eleStartUpload) {\r\n eleStartUpload.remove();\r\n } \r\n }\r\n //BEGIN - plupload functionalities\r\n\r\n public initializePLUpload(parentDiv: any) {\r\n parentDiv.pluploadQueue({\r\n // General settings\r\n runtimes: 'html5,flash,silverlight,html4',\r\n url: \"\",\r\n chunk_size: '2mb',\r\n rename: true,\r\n dragdrop: true,\r\n // to stop loading until DOM is ready.\r\n container: parentDiv.attr('id'),\r\n filters: {\r\n // Maximum file size\r\n max_file_size: '5120mb',\r\n prevent_duplicates: true\r\n },\r\n // events\r\n init: {\r\n PostInit: this.postInit,\r\n FilesAdded: this.onFilesAdded,\r\n FilesRemoved: this.onFilesRemoved\r\n }\r\n });\r\n\r\n // remove 'Start Upload' button\r\n this.removePLUploadStartButton();\r\n $(parentDiv).addClass(\"scroller\");\r\n }\r\n \r\n private postInit = () => {\r\n this.removeUploadStatus();\r\n }\r\n private removePLUploadStartButton(): void {\r\n var eleStartUpload: Element = document.getElementsByClassName('plupload_start')[0];\r\n if (eleStartUpload) {\r\n eleStartUpload.remove();\r\n }\r\n }\r\n private removeUploadStatus(): void {\r\n var eleFileAction: HTMLCollectionOf = document.getElementsByClassName('plupload_file_status');\r\n while (eleFileAction.length > 0) {\r\n if (eleFileAction[0])\r\n eleFileAction[0].remove();\r\n }\r\n }\r\n // PLUpload events\r\n private onFilesAdded = (uploader: any, files: any): void => {\r\n this.removeUploadStatus();\r\n if (uploader && uploader.files) {\r\n if (uploader.files.length > 0) {\r\n for (var idx: number = 0; idx < uploader.files.length; idx++) {\r\n var file: any = uploader.files[idx];\r\n var tempFile: BlobFile = new BlobFile();\r\n tempFile.setFile(file.getNative());\r\n tempFile.setFileName(file.name);\r\n tempFile.setSize(file.size);\r\n this.attachments.push(tempFile);\r\n }\r\n }\r\n }\r\n \r\n this.onFilesAttach.emit(this.attachments);\r\n \r\n if(this.clearAfterAdd)\r\n {\r\n this.attachments=[];\r\n if(this.divId){ \r\n this.initializePLUpload($(\"#\"+this.divId));\r\n }\r\n }\r\n }\r\n\r\n private onFilesRemoved = (uploader: any, files: any): void => {\r\n for (var idx: number = (this.attachments.length - 1); idx >= 0; idx--) {\r\n var matched: boolean = false;\r\n for (var fileIdx: number = 0; fileIdx < files.length; fileIdx++) {\r\n var file: any = files[fileIdx];\r\n if (file.name == this.attachments[idx].getFile().name) {\r\n this.attachments.splice(idx, 1);\r\n }\r\n }\r\n this.onFilesAttach.emit(this.attachments);\r\n }\r\n }\r\n}\r\n","
\r\n
\r\n \r\n
\r\n
","import { HttpErrorResponse } from '@angular/common/http';\r\n\r\nimport { AfterViewInit, Component, ElementRef, EventEmitter, Injector, Input, OnChanges, OnInit, Output, SimpleChanges, ViewChild } from '@angular/core';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { fromEvent } from 'rxjs';\r\nimport { debounceTime, distinctUntilChanged, map } from 'rxjs/operators';\r\nimport { BaseComponent } from 'src/app/modules/shared/BaseComponent';\r\nimport { ProjectService } from 'src/app/services/project.service';\r\nimport { Document } from 'src/shared/Models/API/document';\r\nimport { DocumentCategory } from 'src/shared/Models/API/documentCategory';\r\nimport { DocumentColumns, DocumentsFilterModel } from 'src/shared/Models/API/filtermodel';\r\nimport { SortOrder } from 'src/shared/UI/ViewTypes';\r\n@Component({\r\n selector: 'app-project-documents',\r\n templateUrl: './project-documents.component.html',\r\n styleUrls: ['./project-documents.component.css']\r\n})\r\nexport class ProjectDocumentsComponent extends BaseComponent implements OnInit,AfterViewInit,OnChanges {\r\n @Input() SelectedDocuments:Array = new Array();\r\n @Input() DisabledDocuments:Array = new Array();\r\n @Input() ProjectId:number = 0;\r\n @Input() loadcomplete:Boolean =false;\r\n\r\n @ViewChild('inpName', { static: true }) eleName: ElementRef;\r\n @ViewChild('inpDesc', { static: true }) eleDesc: ElementRef;\r\n @ViewChild('m_inpName', { static: true }) eleName_m: ElementRef;\r\n @ViewChild('m_inpDesc', { static: true }) eleDesc_m: ElementRef;\r\n public documents:Array = new Array(); \r\n @Output() onSave = new EventEmitter>();\r\n @Output() oncancel = new EventEmitter();\r\n public filterAndSortOptions: DocumentsFilterModel =new DocumentsFilterModel();\r\n public DocumentColumns = DocumentColumns;\r\n public isDocumentsLoaded: boolean = false;\r\n public _sortOrder = SortOrder;\r\n public documentTags: Array = new Array();\r\n public _searchbycategory:DocumentCategory=null;\r\n constructor(injector:Injector,private projectService:ProjectService) {\r\n super(injector);\r\n this.filterAndSortOptions.ps = 100;\r\n }\r\n ngOnChanges(change: SimpleChanges) {\r\n if (change && change.loadcomplete && change.loadcomplete.currentValue) {\r\n this.documents = new Array();\r\n this.documentTags = new Array();\r\n var categoryAll: DocumentCategory = new DocumentCategory();\r\n categoryAll.categoryId = -1;\r\n categoryAll.categoryName = this.translate.instant(\"Settings.CommonLabel.lblAll\");\r\n this.documentTags = this.documentTags.concat(categoryAll);\r\n this.resetFilters();\r\n this.filterAndSortOptions.pn= 1;\r\n this.LoadDocumentTags();\r\n this.LoadDocuments();\r\n this.bindKeyUpEvent();\r\n }\r\n }\r\n\r\n public LoadDocumentTags() {\r\n this.projectService.getProjectDocumentCategories(this.ProjectId).subscribe((_documentTags: Array): void => {\r\n if (_documentTags != null && _documentTags.length > 0) {\r\n _documentTags.forEach((x) => {\r\n if (x.categoryId > 0)\r\n this.documentTags = this.documentTags.concat(x);\r\n });\r\n }\r\n });\r\n }\r\n\r\n public cancel() {\r\n this.oncancel.emit();\r\n }\r\n public onScroll(): void {\r\n this.filterAndSortOptions.pn += 1;\r\n this.LoadDocuments();\r\n }\r\n\r\n private bindKeyUpEvent(): void {\r\n var elements: Array = new Array();\r\n elements = [this.eleName, this.eleDesc,this.eleDesc_m,this.eleName_m];\r\n\r\n elements.forEach((ele: ElementRef): void => {\r\n fromEvent(ele.nativeElement, 'keyup').pipe(\r\n // Get value\r\n map((event: any) => {\r\n return event.target.value;\r\n })\r\n // Time in milliseconds between key events\r\n ,debounceTime(1000)\r\n // IF previous query is diffent from current\r\n ,distinctUntilChanged()\r\n // Subscription for response\r\n )\r\n .subscribe((text: string) => {\r\n this.documents = new Array();\r\n\r\n this.filterAndSortOptions.pn = 1;\r\n\r\n this.LoadDocuments();\r\n });\r\n });\r\n }\r\n public sortBy(order: SortOrder, column: DocumentColumns){\r\n this.filterAndSortOptions.ob = column;\r\n this.filterAndSortOptions.obd = order;\r\n\r\n this.documents = new Array();\r\n\r\n this.filterAndSortOptions.pn = 1;\r\n\r\n this.LoadDocuments();\r\n }\r\n\r\n onchangetag(){\r\n this.documents = new Array();\r\n\r\n this.filterAndSortOptions.pn = 1;\r\n if (this._searchbycategory == null || this._searchbycategory == undefined) this.filterAndSortOptions._dt = \"\";\r\n else \r\n {\r\n var cat:DocumentCategory = this.documentTags.find(x=>x.categoryId == this._searchbycategory.categoryId && x.isSystem == this._searchbycategory.isSystem);\r\n if(cat != null)\r\n this.filterAndSortOptions._dt=cat.categoryId.toString() + \"||\" + (cat.isSystem == true ?\"1\":\"0\"); \r\n }\r\n\r\n this.LoadDocuments();\r\n }\r\n ngOnInit() {\r\n \r\n \t }\r\n LoadDocuments() {\r\n this.projectService.getProjectDocuments(this.ProjectId, this.filterAndSortOptions).subscribe((_documents: Array): void => { \r\n \r\n if (_documents && _documents.length > 0) { \r\n _documents.forEach((document: Document): void => {\r\n document.isDisabled= false;\r\n document.isSelected=false;\r\n if (this.SelectedDocuments != null && this.SelectedDocuments.length > 0)\r\n {\r\n var doc: Document = this.SelectedDocuments.find((x) => x.id == document.id);\r\n if (doc != null) \r\n document.isSelected = true;\r\n else \r\n document.isSelected = false;\r\n }\r\n if (this.DisabledDocuments != null && this.DisabledDocuments.length > 0) \r\n {\r\n var doc: Document = this.DisabledDocuments.find((x) => x.id == document.id);\r\n if (doc != null) \r\n document.isDisabled = true;\r\n }\r\n this.documents.push(document);\r\n });\r\n\r\n if (_documents.length < this.filterAndSortOptions.ps) \r\n {\r\n this.isDocumentsLoaded = true;\r\n }\r\n }\r\n },\r\n (error: HttpErrorResponse): void => {\r\n super.handleError(error, this.translate.instant('ProjectManagerSettings.SpaceGroups.failedGetDocuments'));\r\n }\r\n );\r\n }\r\n\r\n saveDocuments() \r\n {\r\n //first the UI selected documents\r\n var selectedDocuments:Array = this.documents.filter(x=>x.isSelected == true);\r\n\r\n //then the documents which are not there in UI due to paging but in Selected Documents\r\n\r\n this.SelectedDocuments.forEach((x) => {\r\n var doc:Document = this.documents.find(y=>y.id == x.id);\r\n if(doc == null)\r\n selectedDocuments.push(x);\r\n });\r\n\r\n this.onSave.emit(selectedDocuments);\r\n }\r\n\r\n //BEGIN - Mobile functioanlities //\r\n public clearMobileFilters() {\r\n this.resetFilters();\r\n this.documents = new Array();\r\n this.LoadDocuments();\r\n }\r\n\r\n public resetFilters() \r\n {\r\n this.filterAndSortOptions = new DocumentsFilterModel();\r\n }\r\n}\r\n","
\r\n
\r\n
\r\n
\r\n
{{ 'ProjectManagerSettings.SpaceGroups.lblAssignDocuments' | translate }}
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\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.CommonLabel.lblName
\r\n \r\n
\r\n
\r\n
Settings.CommonLabel.lblDesc
\r\n \r\n
\r\n \r\n
\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.CommonLabel.lblName' | translate }}
\r\n \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.CommonLabel.lblDesc' | translate }}
\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
{{ 'Documents.DocumentManager.lblTag' | translate }}\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\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.CommonLabel.lblName' | translate }}\r\n
\r\n
{{ item.name }}
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n {{ 'Settings.CommonLabel.lblDesc' | translate }}\r\n
\r\n
\r\n
\r\n {{ item.documentDescription }}\r\n
\r\n
\r\n
\r\n
-
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n {{ 'Documents.DocumentManager.lblTag' | translate }}\r\n
\r\n
\r\n {{ item.categoryName }}\r\n
\r\n
\r\n
-
\r\n
\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, ElementRef, EventEmitter, Input, OnDestroy, OnInit, Output, ViewChild } from '@angular/core';\r\nimport { NgxMaterialTimepickerTheme } from 'ngx-material-timepicker';\r\n\r\n@Component({\r\n selector: 'app-time-picker',\r\n \r\n templateUrl: './time-picker.component.html',\r\n styleUrls: ['./time-picker.component.css']\r\n})\r\nexport class TimePickerComponent implements OnInit {\r\n @Input() time:string|null;\r\n @Output() onTimeChange: EventEmitter=new EventEmitter();\r\n @ViewChild('tCancelBtn') tCancelBtn: ElementRef;\r\n @Output() onClear:EventEmitter= new EventEmitter();\r\n disablePicker :boolean=false;\r\n darkTheme: NgxMaterialTimepickerTheme = {\r\n container: {\r\n bodyBackgroundColor: '#424242',\r\n buttonColor: '#fff'\r\n },\r\n dial: {\r\n dialBackgroundColor: '#555',\r\n },\r\n clockFace: {\r\n clockFaceBackgroundColor: '#555',\r\n clockHandColor: '#9fbd90',\r\n clockFaceTimeInactiveColor: '#fff'\r\n }\r\n};\r\nconstructor() { }\r\n\r\n ngOnInit() {\r\n } \r\n clearTime()\r\n {\r\n this.time=null;\r\n this.onClear.emit();\r\n\r\n }\r\n\r\n \r\n fireOnChange(newTime) {\r\n \r\n \r\n \r\n this.onTimeChange.emit(newTime); \r\n }\r\n \r\n}\r\n","
\r\n \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 { HttpErrorResponse } from '@angular/common/http';\r\nimport { Component, Input, OnChanges, OnInit, Output, SimpleChanges, EventEmitter, ViewChild, OnDestroy, ChangeDetectorRef, Injector } from '@angular/core';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { Subscription } from 'rxjs';\r\nimport { AuthService } from 'src/app/modules/authentication/auth.service';\r\nimport { BaseComponent } from 'src/app/modules/shared/BaseComponent';\r\nimport { AzureBlobService } from 'src/app/services/azure-blob.service';\r\nimport { FileStorageService } from 'src/app/services/file-storage.service';\r\nimport { OnlineOfflineService } from 'src/app/services/network/online-offline.service';\r\nimport { OrganizationService } from 'src/app/services/organization.service';\r\nimport { StorageService } from 'src/app/services/storage.service';\r\nimport { JobService } from 'src/app/services/upload-job.service';\r\nimport { UploadPaneService } from 'src/app/services/upload-pane.service';\r\nimport { BlobFile } from 'src/shared/Models/Internal/BlobFileModel';\r\nimport { Job, JobStatus } from 'src/shared/Models/Internal/job';\r\nimport { Organization } from 'src/shared/Models/organization';\r\nimport { User } from 'src/shared/Models/user';\r\nimport { BlobUtil } from 'src/shared/utilities/BlobUtil';\r\nimport { FileUtil } from 'src/shared/utilities/FileUtil';\r\n\r\n@Component({\r\n selector: 'app-upload-pane',\r\n templateUrl: './upload-pane.component.html',\r\n styleUrls: ['./upload-pane.component.css']\r\n})\r\n\r\nexport class UploadPaneComponent implements OnInit, OnChanges {\r\n static onGoingJobs: Array = new Array();\r\n\r\n\r\n\r\n @Input('isVisible') isVisible: boolean;\r\n @Input('uploadJob') uploadJob: Job;\r\n @Output('uploadedJob') uploadedJob: EventEmitter = new EventEmitter();\r\n\r\n public JobStatus = JobStatus;\r\n public sasToken: string = '';\r\n public minimizeUploadPane: boolean = true;\r\n public utilFile: FileUtil = new FileUtil();\r\n private onlineOfflinesubcription:Subscription;\r\n \r\n\r\n constructor(\r\n private fileStorageService :FileStorageService,\r\n private uploadPaneService: UploadPaneService,\r\n private jobService: JobService,\r\n private cdr: ChangeDetectorRef,\r\n private toastr: ToastrService,\r\n private translate: TranslateService,\r\n private storageService:StorageService,\r\n private onlineOfflineService:OnlineOfflineService,private organizationService:OrganizationService,\r\n ) { \r\n \r\n }\r\n\r\n\r\n\r\n get ongoingJobs(): Array {\r\n return UploadPaneComponent.onGoingJobs;\r\n }\r\n\r\n ngOnInit() { \r\n this.fillSASToken();\r\n this.subscribeForOnlineOfflineNotification();\r\n }\r\n ngAfterViewChecked() {\r\n this.cdr.detectChanges();\r\n }\r\n ngOnChanges(changes: SimpleChanges): void {\r\n if (changes && changes.uploadJob && changes.uploadJob.currentValue && changes.uploadJob.currentValue.id) {\r\n // in case a job comes multiple times, won't be added\r\n // in order to avoid duplicates in the queue.\r\n var matched: boolean = false;\r\n this.ongoingJobs.forEach((ongoingJob: Job): void => {\r\n if (changes.uploadJob.currentValue.id == ongoingJob.id)\r\n matched = true;\r\n });\r\n\r\n if (!matched) {\r\n // IF a job is in progress THEN adding it to array of on-going jobs.\r\n // Otherwise, initiating the received job.\r\n var isJobRunning: boolean = false;\r\n this.ongoingJobs.forEach((job: Job): void => {\r\n job.fileModels.forEach((doc: BlobFile) => {\r\n if (doc.isInQueue == true)\r\n isJobRunning = true;\r\n });\r\n });\r\n\r\n this.ongoingJobs.push(changes.uploadJob.currentValue);\r\n this.ongoingJobs.forEach((job: Job) => {\r\n job.fileModels.forEach((doc: BlobFile) => {\r\n if (!doc.isUploaded) {\r\n doc.isInQueue = true;\r\n }\r\n });\r\n });\r\n\r\n if (isJobRunning) {\r\n\t\t // console.log('A job is in progress already. Will initiate once the queue is empty . . .');\r\n this.uploadPaneService.setOngoingUploadsCount(this.getOngoingUploads());\r\n this.showPane();\r\n setTimeout((): void => { this.togglePaneState() }, 2000);\r\n }\r\n else {\r\n // console.log('The is queue is empty. Starting upload for received job . . .');\r\n var job: Job = changes.uploadJob.currentValue;\r\n if (job.fileModels && job.fileModels.length > 0) {\r\n this.startUpload(this.ongoingJobs.length - 1);\r\n }\r\n else {\r\n this.saveJob(this.ongoingJobs[this.ongoingJobs.length - 1]);\r\n }\r\n }\r\n }\r\n }\r\n\r\n // show or hide the upload pane.\r\n }\r\n\r\n // get & store SAS token.\r\n private fillSASToken(): void {\r\n this.fileStorageService.getSasToken().subscribe((response: any): void => {\r\n if (response)\r\n this.sasToken = response.baseURL + '?' + response.blobSASToken;\r\n })\r\n }\r\n\r\n // this method will process the documents in the queue\r\n // it has two scenarios : NORMAL and DELETE\r\n // NORMAL scenario is uploading document one by one \r\n // DELETE scenario is when a document is sliced out of the job in the queue.\r\n private processQueue(uploadedDocument: BlobFile): void {\r\n for (var jobIdx: number = 0; jobIdx < this.ongoingJobs.length; jobIdx++) {\r\n var job: Job = this.ongoingJobs[jobIdx];\r\n for (var docIdx: number = 0; docIdx < job.fileModels.length; docIdx++) {\r\n var doc: BlobFile = job.fileModels[docIdx];\r\n\r\n // FIRST, locate the document in the array of on-going jobs.\r\n if (doc.getGUID() == uploadedDocument.getGUID()) {\r\n // Handling DELETE scenario\r\n if (uploadedDocument.isDeleted) {\r\n // console.log('Removing a document from the queue with ID : ' + doc.getGUID());\r\n job.fileModels.splice(docIdx, 1);\r\n this.uploadPaneService.setOngoingUploadsCount(this.getOngoingUploads() - 1);\r\n }\r\n if (job.fileModels.length == 0) {\r\n if(uploadedDocument.isDeleted && job.IscsSpaceCalculated)\r\n {\r\n var organization:Organization = new Organization();\r\n organization.storageSpace= -uploadedDocument.size;\r\n this.organizationService.updateStorageSpace(job.organizationid,organization,0).subscribe(()=>{\r\n // console.log('Job is empty. The job will be removed in 5 seconds.')\r\n this.uploadPaneService.setOngoingUploadsCount(this.getOngoingUploads() - 1);\r\n setTimeout((): void => { this.removeCompleteJob(); }, 5000);\r\n if (this.ongoingJobs.length > (jobIdx + 1)) {\r\n // console.log('DELETE : Moving to next job.');\r\n this.startUpload(jobIdx + 1);\r\n }\r\n });\r\n }\r\n else\r\n {\r\n this.uploadPaneService.setOngoingUploadsCount(this.getOngoingUploads() - 1);\r\n setTimeout((): void => { this.removeCompleteJob(); }, 5000);\r\n if (this.ongoingJobs.length > (jobIdx + 1)) {\r\n // console.log('DELETE : Moving to next job.');\r\n this.startUpload(jobIdx + 1);\r\n }\r\n\r\n }\r\n }\r\n // Handling NORMAL flow \r\n else {\r\n // THEN, check whether the job to which uploaded documents belongs to is over or not.\r\n var pendingUploads = job.fileModels.find((tDoc: BlobFile) => { return tDoc.isInQueue == true; });\r\n var isJobOver: boolean = (pendingUploads) ? false : true;\r\n\r\n // IF all the documents are uploaded. Save the job.\r\n if (isJobOver) {\r\n // console.log('The job with ID : ' + job.id + ' has been finished. With ' + job.documents.length + ' documents.');\r\n // var jobToSave: JobModel = this.getJobToSave(job);\r\n\r\n this.saveJob(job);\r\n }\r\n // else if (!uploadedDocument.isDeleted) {\r\n // console.log('The document with ID : ' + uploadedDocument.getGUID() + ' has been uploaded.');\r\n // }\r\n\r\n // ELSE, start processing next document/job.\r\n if (uploadedDocument.isDeleted && job.fileModels.length > (docIdx)) {\r\n // console.log('DELETE : Moving to next document');\r\n if(job.IscsSpaceCalculated)\r\n {\r\n var organization:Organization = new Organization();\r\n organization.storageSpace= -uploadedDocument.size;\r\n this.organizationService.updateStorageSpace(job.organizationid,organization,0).subscribe(()=>{\r\n this.uploadPaneService.setOngoingUploadsCount(this.getOngoingUploads() - 1);\r\n job.fileModels[docIdx].setSASUrl(this.sasToken.split('?')[0] + '/' + job.fileModels[docIdx].getGUID() + '?' + this.sasToken.split('?')[1]);\r\n this.fileStorageService.uploadFileInBlocks(job.fileModels[docIdx], this.onCompleteUpload, this.onUploadFailure);\r\n \r\n });\r\n }\r\n else\r\n {\r\n this.uploadPaneService.setOngoingUploadsCount(this.getOngoingUploads() - 1);\r\n job.fileModels[docIdx].setSASUrl(this.sasToken.split('?')[0] + '/' + job.fileModels[docIdx].getGUID() + '?' + this.sasToken.split('?')[1]);\r\n this.fileStorageService.uploadFileInBlocks(job.fileModels[docIdx], this.onCompleteUpload, this.onUploadFailure);\r\n }\r\n }\r\n else if (!uploadedDocument.isDeleted && job.fileModels.length > (docIdx + 1)) {\r\n // console.log('Moving to next document.');\r\n this.uploadPaneService.setOngoingUploadsCount(this.getOngoingUploads());\r\n job.fileModels[docIdx + 1].setSASUrl(this.sasToken.split('?')[0] + '/' + job.fileModels[docIdx + 1].getGUID() + '?' + this.sasToken.split('?')[1]);\r\n this.fileStorageService.uploadFileInBlocks(job.fileModels[docIdx + 1], this.onCompleteUpload, this.onUploadFailure);\r\n // setTimeout(() => { this.onCompleteUpload(this.ongoingJobs[jobIndex].documents[docIndex + 1]) }, 5000);\r\n }\r\n else if (this.ongoingJobs.length > (jobIdx + 1)) {\r\n // console.log('Moving to next job.');\r\n this.startUpload(jobIdx + 1);\r\n }\r\n return;\r\n }\r\n }\r\n }\r\n }\r\n }\r\n\r\n private saveJob(job: Job): void {\r\n job.status = JobStatus.SAVING;\r\n this.jobService.saveUploadedDocuments(job).subscribe((response: any) => {\r\n job.status = JobStatus.COMPLETE;\r\n response.status = JobStatus.COMPLETE;\r\n this.uploadPaneService.addJobs(response);\r\n setTimeout((): void => { this.removeCompleteJob(); }, 5000);\r\n },\r\n (err: HttpErrorResponse): void => {\r\n job.status = JobStatus.FAILED;\r\n this.uploadPaneService.addJobs(job);\r\n if(job.handleException)\r\n this.handleError(err);\r\n setTimeout((): void => { this.removeCompleteJob(); }, 5000);\r\n });\r\n }\r\n\r\n private startUpload(queueLength: number): void {\r\n if (this.sasToken && this.sasToken != '') {\r\n // setTimeout(() => { this.onCompleteUpload(this.ongoingJobs[queueLength].documents[0]) }, 5000);\r\n if(this.ongoingJobs[queueLength].IscsSpaceCalculated)\r\n {\r\n var storageSpace:number = this.getTotalFileSize(this.ongoingJobs[queueLength]);\r\n var organization:Organization = new Organization();\r\n organization.storageSpace= storageSpace;\r\n this.organizationService.updateStorageSpace(this.ongoingJobs[queueLength].organizationid,organization,1).subscribe(()=>{\r\n //call increase + email API here\r\n this.uploadPaneService.setOngoingUploadsCount(this.getOngoingUploads());\r\n this.ongoingJobs[queueLength].fileModels[0].setSASUrl(this.sasToken.split('?')[0] + '/' + this.ongoingJobs[queueLength].fileModels[0].getGUID() + '?' + this.sasToken.split('?')[1]);\r\n this.fileStorageService.uploadFileInBlocks(this.ongoingJobs[queueLength].fileModels[0], this.onCompleteUpload, this.onUploadFailure);\r\n this.showPane();\r\n setTimeout((): void => { this.togglePaneState() }, 2000);\r\n\r\n });\r\n }\r\n else{\r\n this.uploadPaneService.setOngoingUploadsCount(this.getOngoingUploads());\r\n this.ongoingJobs[queueLength].fileModels[0].setSASUrl(this.sasToken.split('?')[0] + '/' + this.ongoingJobs[queueLength].fileModels[0].getGUID() + '?' + this.sasToken.split('?')[1]);\r\n this.fileStorageService.uploadFileInBlocks(this.ongoingJobs[queueLength].fileModels[0], this.onCompleteUpload, this.onUploadFailure);\r\n this.showPane();\r\n setTimeout((): void => { this.togglePaneState() }, 2000);\r\n }\r\n \r\n \r\n\r\n }\r\n // else {\r\n // console.log('Trying to upload without SAS token.');\r\n // }\r\n }\r\n getTotalFileSize(job: Job): number {\r\n var fileSize:number = 0;\r\n if(job.fileModels == null || job.fileModels.length ==0)\r\n return fileSize;\r\n\r\n job.fileModels.forEach((fileModel:BlobFile)=> fileSize += fileModel.size);\r\n\r\n return fileSize;\r\n \r\n }\r\n onCompleteUpload = (uploadedDocument: BlobFile): void => {\r\n // Whenever a document is uploaded\r\n uploadedDocument.isInQueue = false;\r\n uploadedDocument.isUploaded = true;\r\n this.processQueue(uploadedDocument);\r\n }\r\n onUploadFailure = (): void => {\r\n console.log('Upload Failed !');\r\n }\r\n\r\n private removeCompleteJob(): void {\r\n this.ongoingJobs.splice(0, 1);\r\n this.uploadPaneService.setOngoingUploadsCount(this.getOngoingUploads());\r\n }\r\n\r\n // to handle click on the upload pane's header.\r\n togglePaneState(): void {\r\n this.isVisible = !this.isVisible;\r\n this.uploadPaneService.setVisibility(this.isVisible);\r\n }\r\n // to show/hide the upload pane as per the items in the queue.\r\n showPane(): void {\r\n this.isVisible = this.ongoingJobs.length > 0 ? true : false;\r\n this.uploadPaneService.setVisibility(this.isVisible);\r\n }\r\n\r\n // cancel document upload1\r\n cancelUpload(document: BlobFile,job:Job): void {\r\n if (document.getUploadFailed()) {\r\n //if job has started it will come here. Need to reduce space here\r\n // console.log('Deleting an on-going document.');\r\n this.fileStorageService.CancelUpload(document, this.onDeleteOnGoingUpload, null);\r\n }\r\n else if (document.isUploaded) {\r\n //already uploaded document is fine.no need to do anything on space\r\n // console.log('Deleting an already uploaded document.');\r\n this.fileStorageService.CancelUpload(document, this.onDeleteUploaded, null);\r\n }\r\n else {\r\n //if job has not started here. Space needs to be reduced\r\n // console.log('Deleted an pending document.');\r\n this.removeDocument(document,job);\r\n }\r\n\r\n }\r\n onDeleteOnGoingUpload = (document: BlobFile): void => {\r\n // console.log('Deleted blob with ID: ' + document.getGUID());\r\n //call reducing API here\r\n \r\n this.processQueue(document);\r\n }\r\n onDeleteUploaded = (document: BlobFile): void => {\r\n this.removeDocument(document,null);\r\n }\r\n private removeDocument(document: BlobFile,job:Job): void {\r\n for (var jobIdx: number = 0; jobIdx < this.ongoingJobs.length; jobIdx++) {\r\n var job: Job = this.ongoingJobs[jobIdx];\r\n\r\n for (var docIdx: number = 0; docIdx < job.fileModels.length; docIdx++) {\r\n var tDoc: BlobFile = job.fileModels[docIdx];\r\n\r\n if (tDoc.getGUID() == document.getGUID()) {\r\n if(job != null && job.IscsSpaceCalculated)\r\n {\r\n var organization:Organization = new Organization();\r\n organization.storageSpace= -document.size;\r\n this.organizationService.updateStorageSpace(job.organizationid,organization,0).subscribe(()=>{\r\n document.isDeleted = true;\r\n job.fileModels.splice(docIdx, 1);\r\n this.uploadPaneService.setOngoingUploadsCount(this.getOngoingUploads());\r\n if (job.fileModels && job.fileModels.length <= 0) \r\n this.ongoingJobs.splice(jobIdx, 1);\r\n\r\n })\r\n }\r\n else\r\n {\r\n document.isDeleted = true;\r\n job.fileModels.splice(docIdx, 1);\r\n this.uploadPaneService.setOngoingUploadsCount(this.getOngoingUploads());\r\n if (job.fileModels && job.fileModels.length <= 0) \r\n this.ongoingJobs.splice(jobIdx, 1);\r\n }\r\n \r\n //call reducing api here\r\n }\r\n }\r\n }\r\n }\r\n public onClose(): void {\r\n this.uploadPaneService.setVisibility(false);\r\n }\r\n\r\n private getOngoingUploads(): number {\r\n if (this.ongoingJobs && this.ongoingJobs.length > 0) {\r\n var count: number = 0;\r\n for (var jIdx: number = 0; jIdx < this.ongoingJobs.length; jIdx++) {\r\n var job: Job = this.ongoingJobs[jIdx];\r\n for (var dIdx: number = 0; dIdx < job.fileModels.length; dIdx++) {\r\n var file: BlobFile = job.fileModels[dIdx];\r\n if (file.isInQueue && !file.isUploaded) {\r\n count += 1;\r\n }\r\n }\r\n }\r\n return count;\r\n }\r\n else {\r\n return 0;\r\n }\r\n }\r\n\r\n private handleError(err: any, defaultMsg: string = ''): void {\r\n var title:string = this.translate.instant('Settings.CommonLabel.lblFailed');\r\n if (err && err.error && err.error.errorMessage) {\r\n this.errorMsg(err.error.errorMessage, title);\r\n } else {\r\n if (defaultMsg != '') {\r\n this.errorMsg(defaultMsg,title);\r\n }\r\n }\r\n}\r\nprivate errorMsg(msg: string, title: string = ''): void {\r\n if (title == '')\r\n title= this.translate.instant('Settings.CommonLabel.lblError');\r\n this.toastr.error(msg,title);\r\n}\r\nprivate subscribeForOnlineOfflineNotification():void{\r\n this.onlineOfflinesubcription=this.onlineOfflineService.connectionChanged.subscribe((status)=>{\r\n if(status!=null && this.storageService.getIsMobile())\r\n {\r\n if(!status)\r\n {\r\n //if mobile mode and user goes offline at any case then reset document count to 0 \r\n this.ongoingJobs.forEach((job)=>{\r\n if(job.status != JobStatus.COMPLETE){\r\n job.status= JobStatus.FAILED;\r\n }\r\n });\r\n //after updating job to failed state , after 5 sec remove all job from upload pane\r\n setTimeout((): void => { this.removeCompleteJob(); }, 5000);\r\n this.uploadPaneService.setOngoingUploadsCount(0);\r\n }\r\n }\r\n });\r\n}\r\n}\r\n","
\r\n
\r\n UploadPane.lblUploadFiles\r\n \r\n
\r\n
\r\n
\r\n UploadPane.messageNoUploads\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
{{ document.file.name }}
\r\n
{{ document.uploadedBytes | BytesToSize }}/{{ document.file.size | BytesToSize }}\r\n
\r\n
UploadPane.lblSaveFailed
\r\n
UploadPane.lblSaveProgress
\r\n
UploadPane.lblUploadComplete
\r\n
UploadPane.lblUploadComplete
\r\n
UploadPane.lblUploadFailed
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
","export class KeyConstants {\r\n public static _USER: string = \"USER\";\r\n public static TransmittalCounterDigit =6;\r\n public static PageSize : number =50;\r\n public static _DOCUMENT_GRID_COLUMNS_USER: string = \"CBOX_DOCUMENT_GRID_COLUMNS_%USER%\";\r\n public static _SPACE_GRID_COLUMNS_USER: string = \"SPACE_GRID_COLUMNS_%USER%\";\r\n public static _RECYCLE_BIN_GRID_COLUMNS_USER: string = \"RECYCLE_BIN_GRID_COLUMNS_%USER%\";\r\n public static HOSTING_TYPE : string =\"HOSTING_TYPE\";\r\n public static _OAUTHACCESSTOKEN:string=\"access_token\";\r\n public static _CalendarRefreshInterval:number= (30 * 60 * 1000);// 30minutes * seconds * milli seconds \r\n\r\n public static ProjectColumns=\"ProjectColumns\";\r\n}\r\n\r\n\r\n","import {\r\n Directive,\r\n OnDestroy,\r\n Input,\r\n Output,\r\n EventEmitter\r\n } from \"@angular/core\";\r\n import { Subject } from \"rxjs\";\r\n import {\r\n takeUntil,\r\n debounceTime,\r\n distinctUntilChanged,\r\n tap\r\n } from \"rxjs/operators\";\r\n \r\n \r\n @Directive()\r\nexport abstract class AbstractDebounceDirective implements OnDestroy {\r\n @Input()\r\n public debounceTime: number;\r\n \r\n @Output()\r\n public onEvent: EventEmitter;\r\n \r\n protected emitEvent$: Subject;\r\n protected subscription$: Subject;\r\n \r\n constructor() {\r\n this.debounceTime = 1000;\r\n this.onEvent = new EventEmitter();\r\n this.emitEvent$ = new Subject();\r\n this.subscription$ = new Subject();\r\n }\r\n \r\n ngOnInit(): void {\r\n this.emitEvent$\r\n .pipe(\r\n takeUntil(this.subscription$),\r\n debounceTime(this.debounceTime),\r\n distinctUntilChanged(),\r\n tap(value => this.emitChange(value))\r\n )\r\n .subscribe();\r\n }\r\n \r\n public emitChange(value: any): void {\r\n this.onEvent.emit(value);\r\n }\r\n \r\n ngOnDestroy(): void {\r\n this.subscription$.next();\r\n this.subscription$.complete();\r\n }\r\n }\r\n ","import { Directive, HostListener} from '@angular/core';\r\nimport { AbstractDebounceDirective } from './abstract-debounce.directive';\r\n\r\n@Directive({\r\n selector: '[appDebounceKeyUp]'\r\n})\r\nexport class DebounceKeyUpDirective extends AbstractDebounceDirective { \r\n constructor() { \r\n super(); \r\n }\r\n ngOnInit() { \r\n }\r\n\r\n @HostListener(\"keyup\", [\"$event\"])\r\n public onKeyUp(event: any): void {\r\n event.preventDefault();\r\n this.emitEvent$.next(event);\r\n }\r\n\r\n}\r\n","import { BlobFile } from \"../Models/Internal/BlobFileModel\";\r\n\r\ndeclare var $:any;\r\n\r\nexport class BlobUtil {\r\n public initReaderObject = (fileToUpload: BlobFile, blockId: string, fileContent: Blob, retryCount: number, onUploadComplete: (uploadedFile: BlobFile) => void, onError: Function, showStatus: boolean) => {\r\n var readerObject = new FileReader();\r\n readerObject.onloadend = (evt: any) => {\r\n if (evt.target.readyState == FileReader.DONE) {\r\n var uri = fileToUpload.getSASUrl() + '&comp=block&blockid=' + blockId;\r\n var requestData = new Uint8Array(evt.target.result);\r\n $.ajax({\r\n url: uri,\r\n type: \"PUT\",\r\n data: requestData,\r\n processData: false,\r\n beforeSend: (xhr) => {\r\n xhr.setRequestHeader('x-ms-blob-type', 'BlockBlob');\r\n xhr.setRequestHeader('Access-Control-Allow-Origin', '*');\r\n },\r\n success: (data, status) => {\r\n fileToUpload.setUploadedBytes(fileToUpload.getUploadedBytes() + requestData.length);\r\n fileToUpload.addUploadedBlockId(blockId);\r\n if (!fileToUpload.isDeleted) {\r\n if (fileToUpload.getBlockIds()[fileToUpload.getNextItemToUpload()]) {\r\n this.initReaderObject(fileToUpload, fileToUpload.getBlockIds()[fileToUpload.getNextItemToUpload()], fileToUpload.getFileContent()[fileToUpload.getNextItemToUpload()], 0, onUploadComplete, onError, showStatus);\r\n fileToUpload.setNextItemToUpload(fileToUpload.getNextItemToUpload() + 1);\r\n }\r\n else if (fileToUpload.getUploadedBlockIds().length === fileToUpload.getBlockIds().length) {\r\n this.commitBlockList(fileToUpload, onUploadComplete);\r\n }\r\n if (showStatus) {\r\n this.statusUpdator(fileToUpload, 'partial');\r\n }\r\n }\r\n },\r\n error: (xhr, desc, err) => {\r\n fileToUpload.setGUID('');\r\n if (!fileToUpload.getUploadFailed()) {\r\n fileToUpload.setUploadFailed(true);\r\n \r\n }\r\n onError();\r\n }\r\n });\r\n }\r\n };\r\n readerObject.readAsArrayBuffer(fileContent);\r\n }\r\n\r\n private commitBlockList = (fileToUpload: BlobFile, onUploadComplete: (uploadedFile: BlobFile) => void) => {\r\n var uri: string = fileToUpload.getSASUrl() + '&comp=blocklist';\r\n var requestBody: string = '';\r\n for (var idx: number = 0; idx < fileToUpload.getBlockIds().length; idx++) {\r\n requestBody += '' + fileToUpload.getBlockIds()[idx] + '';\r\n }\r\n requestBody += '';\r\n var encryptedFileName: string = '';\r\n try {\r\n encryptedFileName = btoa(fileToUpload.getFile().name);\r\n }\r\n catch (exp) {\r\n try {\r\n encryptedFileName = btoa(encodeURIComponent(fileToUpload.getFile().name));\r\n }\r\n catch (exp) {\r\n encryptedFileName = fileToUpload.getFile().name.replace(/\\W/g, '');\r\n encryptedFileName = btoa(encryptedFileName);\r\n }\r\n }\r\n\r\n $.ajax({\r\n url: uri,\r\n type: \"PUT\",\r\n data: requestBody,\r\n processData: false,\r\n beforeSend: (xhr) => {\r\n xhr.setRequestHeader('x-ms-blob-content-disposition', 'attachment;filename=' + '\"' + encryptedFileName + '\"');\r\n },\r\n success: (data, status) => {\r\n fileToUpload.setUploadFailed(false);\r\n onUploadComplete(fileToUpload);\r\n },\r\n error: (xhr, desc, err) => {\r\n fileToUpload.setGUID('');\r\n }\r\n });\r\n }\r\n\r\n public deleteBlob = (blob: BlobFile, onDeleteComplete: (uploadedFile: BlobFile) => void, onError: Function) => {\r\n $.ajax({\r\n url: blob.getSASUrl(),\r\n type: \"DELETE\",\r\n processData: false,\r\n beforeSend: (xhr) => {\r\n xhr.setRequestHeader('Access-Control-Allow-Origin', '*');\r\n xhr.setRequestHeader('x-ms-delete-snapshots', 'include');\r\n xhr.setRequestHeader('x-ms-version', '2020-02-10');\r\n },\r\n success: (data, status) => {\r\n console.log(status);\r\n blob.isDeleted = true;\r\n blob.isInQueue = false;\r\n blob.setUploadedBytes(-1);\r\n onDeleteComplete(blob);\r\n },\r\n error: (xhr, desc, err) => {\r\n blob.isDeleted = false;\r\n blob.setUploadFailed(true);\r\n blob.setGUID('');\r\n blob.setUploadedBytes(0);\r\n onError(blob);\r\n }\r\n });\r\n }\r\n\r\n private statusUpdator(fileObject: BlobFile, status: string): void {\r\n if (status == 'partial') {\r\n var percentComplete: number = parseFloat(((fileObject.getUploadedBytes() / fileObject.getSize()) * 100).toFixed(2));\r\n $('#uploadProgress').attr('style','width: ' + percentComplete + '%');\r\n\r\n var element: Element = document.getElementById(fileObject.getPLUploadId()).getElementsByClassName(\"plupload_file_status\")[0];\r\n if (element) {\r\n element.innerHTML = percentComplete + '%';\r\n }\r\n }\r\n }\r\n\r\n public getDocument =(blobId:string, uri:string,onSuccess:(blobId:string,Blob:Blob)=>void)=>{ \r\n $.ajax({\r\n url: uri,\r\n type: \"GET\",\r\n processData: true,\r\n beforeSend: (xhr) => {\r\n xhr.setRequestHeader('Access-Control-Allow-Origin', '*');\r\n },\r\n success: async (data, status) => {\r\n var blobContnet:Blob = new Blob([data])\r\n onSuccess(blobId, blobContnet);\r\n },\r\n error: (xhr, desc, err) => {\r\n }\r\n });\r\n }\r\n}\r\n\r\n\r\n","export enum DownloadTypes {\r\n DOWNLOAD = 1,\r\n DOWNLOAD_WITH_ATTACHMENTS = 2,\r\n DOWNLOAD_WITH_ATTACHMENTS_BASED_ON_ID_UPLOAD = 3\r\n}\r\n\r\nexport enum FileNameType {\r\n DOCUMENTNAME = 1,\r\n FILENAME = 2\r\n}\r\n\r\nexport enum CompanyMenuTypes {\r\n DETAILS = 1,\r\n DIVISIONS = 2,\r\n}\r\n\r\nexport enum ChecklistMenuTypes {\r\n DETAILS = 1,\r\n}\r\n\r\nexport enum CheckTypes {\r\n TEXT = 1,\r\n NUMBER,\r\n LIST,\r\n DOCUMENT,\r\n QRCODE,\r\n RADIO,\r\n CHECKBOX\r\n}\r\nexport enum FileUploadStatus{\r\n INPROGRESS=1,\r\n COMPLETED=2\r\n}\r\n","import { environment } from \"src/environments/environment\";\r\nimport { AssetsFilterModel, ScopeFilterModel, SpaceFilterModel, TicketsFilterModel, TransmittalFilterModel, UserNotificationFilterModel } from \"../Models/API/filtermodel\";\r\nimport { BlobFile } from \"../Models/Internal/BlobFileModel\";\r\n\r\nexport class FileUtil {\r\n \r\n public attachmentsupportedFiles:Array = new Array();\r\n\r\n constructor(){\r\n this.attachmentsupportedFiles.push(\"jpg\");\r\n this.attachmentsupportedFiles.push(\"jpeg\");\r\n this.attachmentsupportedFiles.push(\"png\");\r\n this.attachmentsupportedFiles.push(\"dwg\");\r\n this.attachmentsupportedFiles.push(\"pdf\");\r\n this.attachmentsupportedFiles.push(\"doc\");\r\n this.attachmentsupportedFiles.push(\"docx\");\r\n this.attachmentsupportedFiles.push(\"xls\");\r\n this.attachmentsupportedFiles.push(\"xlsx\");\r\n this.attachmentsupportedFiles.push(\"ppt\");\r\n this.attachmentsupportedFiles.push(\"pptx\");\r\n\r\n }\r\n\r\n isAttachmentViewSupported(extension:string): boolean {\r\n var extensionFound:boolean = false;\r\n var extension:string = this.attachmentsupportedFiles.find(x=>x == extension);\r\n if(extension != null && extension != undefined && extension.length > 0)\r\n extensionFound=true;\r\n\r\n return extensionFound;\r\n }\r\n\r\n public createBlobFileObject(objFile: BlobFile): BlobFile {\r\n var sasUrl: Array = objFile.getSASUrl().split('?');\r\n var fileObject: BlobFile = new BlobFile();\r\n var tempArr: Array = objFile.getFile().name.split('.');\r\n var extension: string = '.' + tempArr[tempArr.length - 1];\r\n\r\n fileObject.setGUID(this.generateGUID() + extension);\r\n fileObject.setSASUrl(sasUrl[0] + '/' + fileObject.getGUID() + '?' + sasUrl[1]);\r\n fileObject.setFile(objFile.getFile());\r\n fileObject.setPLUploadId(objFile.getPLUploadId());\r\n fileObject.setMaxBlockSize(3072 * 1024);\r\n fileObject.setNumOfBlocks();\r\n fileObject.setUploadedBytes(0);\r\n fileObject.setPLUploadContainerId(objFile.getPLUploadContainerId());\r\n fileObject.setFileName(objFile.getFile().name);\r\n fileObject.setSize(objFile.getFile().size);\r\n fileObject.setResourceId(objFile.getResourceId());\r\n return fileObject;\r\n }\r\n\r\n public getExtension(name: string): string {\r\n var idx: number = name.lastIndexOf('.');\r\n if (idx != -1)\r\n return name.substring(name.lastIndexOf('.'), name.length);\r\n else\r\n return '';\r\n }\r\n\r\n public generateGUID(): string {\r\n return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, (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 public downloadFile(url: string, accessToken: string, selectedIDs?: string, isGetAll?: boolean): void {\r\n if(url.startsWith(\"#WEBAPIURL#\"))\r\n url = url.replace(\"#WEBAPIURL#\",environment.WebAPIURL)\r\n var form = document.createElement(\"form\");\r\n form.setAttribute(\"method\", \"post\");\r\n form.setAttribute(\"action\", url);\r\n form.setAttribute(\"target\", \"_blank\");\r\n var input = document.createElement(\"input\");\r\n input.setAttribute(\"id\", \"_t\");\r\n input.setAttribute(\"name\", \"_t\");\r\n form.appendChild(input);\r\n\r\n if (selectedIDs && selectedIDs != '') {\r\n var input = document.createElement(\"input\");\r\n input.setAttribute(\"id\", \"selectedIDs\");\r\n input.setAttribute(\"name\", \"selectedIDs\");\r\n form.appendChild(input);\r\n }\r\n if (isGetAll) {\r\n var input = document.createElement(\"input\");\r\n input.setAttribute(\"id\", \"isGetAll\");\r\n input.setAttribute(\"name\", \"isGetAll\");\r\n form.appendChild(input);\r\n }\r\n\r\n document.body.appendChild(form);\r\n\r\n ((document.getElementById(\"_t\")) as HTMLInputElement).value = accessToken;\r\n if (document.getElementById(\"selectedIDs\"))\r\n ((document.getElementById(\"selectedIDs\")) as HTMLInputElement).value = selectedIDs;\r\n if (document.getElementById(\"isGetAll\"))\r\n ((document.getElementById(\"isGetAll\")) as HTMLInputElement).value = String(isGetAll);\r\n form.submit();\r\n form.remove();\r\n }\r\n\r\n public bytesToSize(bytes: number, decimals: number = 2): string {\r\n if (bytes === 0 || bytes === 1) return bytes + ' Byte';\r\n const k = 1024;\r\n const dm = decimals < 0 ? 0 : decimals;\r\n const sizes = ['Bytes', 'KB', 'MB', 'GB', 'TB', 'PB', 'EB', 'ZB', 'YB'];\r\n const i = Math.floor(Math.log(bytes) / Math.log(k));\r\n return parseFloat((bytes / Math.pow(k, i)).toFixed(dm)) + ' ' + sizes[i];\r\n }\r\n\r\n public getrandomString(length) {\r\n var result = '';\r\n var characters = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789';\r\n var charactersLength = characters.length;\r\n for ( var i = 0; i < length; i++ ) {\r\n result += characters.charAt(Math.floor(Math.random() * charactersLength));\r\n }\r\n return result;\r\n }\r\n\r\n public downloadDocuments(url: string, accessToken: string, selectedIDs: string, isGetAll: boolean,filtermodel:ScopeFilterModel,isSearchResultView:boolean,columnorder:string): void {\r\n if(url.startsWith(\"#WEBAPIURL#\"))\r\n url = url.replace(\"#WEBAPIURL#\",environment.WebAPIURL)\r\n var form = document.createElement(\"form\");\r\n form.setAttribute(\"method\", \"post\");\r\n form.setAttribute(\"action\", url);\r\n form.setAttribute(\"target\", \"_blank\");\r\n var input = document.createElement(\"input\");\r\n input.setAttribute(\"id\", \"_t\");\r\n input.setAttribute(\"name\", \"_t\");\r\n form.appendChild(input);\r\n\r\n if(!isGetAll)\r\n {\r\n var input = document.createElement(\"input\");\r\n input.setAttribute(\"id\", \"selectedIDs\");\r\n input.setAttribute(\"name\", \"selectedIDs\");\r\n form.appendChild(input);\r\n\r\n }\r\n var input = document.createElement(\"input\");\r\n input.setAttribute(\"id\", \"isGetAll\");\r\n input.setAttribute(\"name\", \"isGetAll\");\r\n form.appendChild(input);\r\n\r\n\r\n var input = document.createElement(\"input\");\r\n input.setAttribute(\"id\", \"isSearchResultView\");\r\n input.setAttribute(\"name\", \"isSearchResultView\");\r\n form.appendChild(input);\r\n\r\n\r\n\r\n var input = document.createElement(\"input\");\r\n input.setAttribute(\"id\", \"filterModel\");\r\n input.setAttribute(\"name\", \"filterModel\");\r\n form.appendChild(input);\r\n\r\n var input = document.createElement(\"input\");\r\n input.setAttribute(\"id\", \"columnorder\");\r\n input.setAttribute(\"name\", \"columnorder\");\r\n form.appendChild(input);\r\n\r\n\r\n\r\n document.body.appendChild(form);\r\n\r\n ((document.getElementById(\"_t\")) as HTMLInputElement).value = accessToken;\r\n if (document.getElementById(\"selectedIDs\"))\r\n ((document.getElementById(\"selectedIDs\")) as HTMLInputElement).value = selectedIDs;\r\n if (document.getElementById(\"isGetAll\"))\r\n ((document.getElementById(\"isGetAll\")) as HTMLInputElement).value = String(isGetAll);\r\n if (document.getElementById(\"isSearchResultView\"))\r\n ((document.getElementById(\"isSearchResultView\")) as HTMLInputElement).value = String(isSearchResultView);\r\n if (document.getElementById(\"filterModel\"))\r\n ((document.getElementById(\"filterModel\")) as HTMLInputElement).value = JSON.stringify(filtermodel)\r\n if (document.getElementById(\"columnorder\"))\r\n ((document.getElementById(\"columnorder\")) as HTMLInputElement).value = columnorder;\r\n\r\n form.submit();\r\n form.remove();\r\n\r\n }\r\n\r\n createFormInputField(key:string)\r\n {\r\n var input = document.createElement(\"input\");\r\n input.setAttribute(\"id\", key);\r\n input.setAttribute(\"name\", key);\r\n return input;\r\n }\r\n\r\n public downloadTickets(url: string, accessToken: string,ticketFilter: TicketsFilterModel,bGetAll:boolean,selectedIds:string): void {\r\n if(url.startsWith(\"#WEBAPIURL#\"))\r\n url = url.replace(\"#WEBAPIURL#\",environment.WebAPIURL)\r\n var form = document.createElement(\"form\");\r\n form.setAttribute(\"method\", \"post\");\r\n form.setAttribute(\"action\", url);\r\n form.setAttribute(\"target\", \"_blank\");\r\n\r\n form.appendChild(this.createFormInputField(\"_t\"));\r\n form.appendChild(this.createFormInputField(\"filterString\"));\r\n \r\n if(!bGetAll)\r\n {\r\n var input = document.createElement(\"input\");\r\n input.setAttribute(\"id\", \"selectedIDs\");\r\n input.setAttribute(\"name\", \"selectedIDs\");\r\n form.appendChild(input);\r\n }\r\n var input = document.createElement(\"input\");\r\n input.setAttribute(\"id\", \"isGetAll\");\r\n input.setAttribute(\"name\", \"isGetAll\");\r\n form.appendChild(input);\r\n document.body.appendChild(form);\r\n ((document.getElementById(\"_t\")) as HTMLInputElement).value = accessToken;\r\n if (document.getElementById(\"filterString\"))\r\n ((document.getElementById(\"filterString\")) as HTMLInputElement).value = JSON.stringify(ticketFilter)\r\n if (document.getElementById(\"selectedIDs\"))\r\n ((document.getElementById(\"selectedIDs\")) as HTMLInputElement).value = selectedIds;\r\n if (document.getElementById(\"isGetAll\"))\r\n ((document.getElementById(\"isGetAll\")) as HTMLInputElement).value = String(bGetAll);\r\n form.submit();\r\n form.remove();\r\n\r\n }\r\n\r\n public createBlobFileObjectForSync(objFile: BlobFile): BlobFile {\r\n var sasUrl: Array = objFile.getSASUrl().split('?');\r\n var fileObject: BlobFile = new BlobFile();\r\n var tempArr: Array = objFile.getFile().name.split('.');\r\n var extension: string = '.' + tempArr[tempArr.length - 1];\r\n\r\n fileObject.setGUID(objFile.getGUID());\r\n fileObject.setSASUrl(sasUrl[0] + '/' + fileObject.getGUID() + '?' + sasUrl[1]);\r\n fileObject.setFile(objFile.getFile());\r\n // fileObject.setPLUploadId(objFile.getPLUploadId());\r\n fileObject.setMaxBlockSize(3072 * 1024);\r\n fileObject.setNumOfBlocks();\r\n fileObject.setUploadedBytes(0);\r\n // fileObject.setPLUploadContainerId(objFile.getPLUploadContainerId());\r\n fileObject.setFileName(objFile.getFile().name);\r\n fileObject.setSize(objFile.getFile().size);\r\n\r\n // $('#' + fileObject.getPLUploadId() + ' .plupload_file_status').text(\"0.00 %\");\r\n return fileObject;\r\n}\r\npublic blobToFile = (theBlob: Blob, fileName:string): File => {\r\n var b: any = theBlob;\r\n //A Blob() is almost a File() - it's just missing the two properties below which we will add\r\n b.lastModifiedDate = new Date();\r\n b.name = fileName;\r\n\r\n //Cast to a File() type\r\n return theBlob;\r\n}\r\n\r\ndownloadTransmittals(url: string, accessToken: string, filterModel: TransmittalFilterModel) {\r\n if(url.startsWith(\"#WEBAPIURL#\"))\r\n url = url.replace(\"#WEBAPIURL#\",environment.WebAPIURL)\r\n var form = document.createElement(\"form\");\r\n form.setAttribute(\"method\", \"post\");\r\n form.setAttribute(\"action\", url);\r\n form.setAttribute(\"target\", \"_blank\");\r\n\r\n form.appendChild(this.createFormInputField(\"_t\"));\r\n form.appendChild(this.createFormInputField(\"filterString\"));\r\n document.body.appendChild(form);\r\n\r\n\r\n\r\n\r\n ((document.getElementById(\"_t\")) as HTMLInputElement).value = accessToken;\r\n if (document.getElementById(\"filterString\"))\r\n ((document.getElementById(\"filterString\")) as HTMLInputElement).value = JSON.stringify(filterModel)\r\n \r\n form.submit();\r\n form.remove();\r\n }\r\n\r\n downloadTransmittalDocuments(url: string, accessToken: string) {\r\n if(url.startsWith(\"#WEBAPIURL#\"))\r\n url = url.replace(\"#WEBAPIURL#\",environment.WebAPIURL)\r\n var form = document.createElement(\"form\");\r\n form.setAttribute(\"method\", \"post\");\r\n form.setAttribute(\"action\", url);\r\n form.setAttribute(\"target\", \"_blank\");\r\n\r\n form.appendChild(this.createFormInputField(\"_t\"));\r\n \r\n document.body.appendChild(form);\r\n\r\n\r\n\r\n\r\n ((document.getElementById(\"_t\")) as HTMLInputElement).value = accessToken;\r\n \r\n \r\n form.submit();\r\n form.remove();\r\n }\r\npublic downloadAssets(url: string, accessToken: string,assetsFilterModel: AssetsFilterModel,bGetAll:boolean,selectedIds:string): void {\r\n if(url.startsWith(\"#WEBAPIURL#\"))\r\n url = url.replace(\"#WEBAPIURL#\",environment.WebAPIURL)\r\n var form = document.createElement(\"form\");\r\n form.setAttribute(\"method\", \"post\");\r\n form.setAttribute(\"action\", url);\r\n form.setAttribute(\"target\", \"_blank\");\r\n\r\n form.appendChild(this.createFormInputField(\"_t\"));\r\n form.appendChild(this.createFormInputField(\"filterString\"));\r\n document.body.appendChild(form);\r\n\r\n if(!bGetAll)\r\n {\r\n var input = document.createElement(\"input\");\r\n input.setAttribute(\"id\", \"selectedIDs\");\r\n input.setAttribute(\"name\", \"selectedIDs\");\r\n form.appendChild(input);\r\n\r\n }\r\n var input = document.createElement(\"input\");\r\n input.setAttribute(\"id\", \"isGetAll\");\r\n input.setAttribute(\"name\", \"isGetAll\");\r\n form.appendChild(input);\r\n\r\n ((document.getElementById(\"_t\")) as HTMLInputElement).value = accessToken;\r\n if (document.getElementById(\"filterString\"))\r\n ((document.getElementById(\"filterString\")) as HTMLInputElement).value = JSON.stringify(assetsFilterModel)\r\n if (document.getElementById(\"selectedIDs\"))\r\n ((document.getElementById(\"selectedIDs\")) as HTMLInputElement).value = selectedIds;\r\n if (document.getElementById(\"isGetAll\"))\r\n ((document.getElementById(\"isGetAll\")) as HTMLInputElement).value = String(bGetAll);\r\n\r\n form.submit();\r\n form.remove();\r\n\r\n }\r\n public downloadUserNotifications(url: string, accessToken: string,notificationFilter: UserNotificationFilterModel): void {\r\n if(url.startsWith(\"#WEBAPIURL#\"))\r\n url = url.replace(\"#WEBAPIURL#\",environment.WebAPIURL)\r\n var form = document.createElement(\"form\");\r\n form.setAttribute(\"method\", \"post\");\r\n form.setAttribute(\"action\", url);\r\n form.setAttribute(\"target\", \"_blank\");\r\n \r\n form.appendChild(this.createFormInputField(\"_t\"));\r\n form.appendChild(this.createFormInputField(\"filterString\"));\r\n document.body.appendChild(form);\r\n \r\n \r\n \r\n \r\n ((document.getElementById(\"_t\")) as HTMLInputElement).value = accessToken;\r\n if (document.getElementById(\"filterString\"))\r\n ((document.getElementById(\"filterString\")) as HTMLInputElement).value = JSON.stringify(notificationFilter)\r\n \r\n \r\n form.submit();\r\n form.remove();\r\n \r\n }\r\n \r\n\r\n public downloadSpaces(url: string, accessToken: string,spaceFilterModel: SpaceFilterModel,isGetAll:boolean,selectedIds:string): void {\r\n if(url.startsWith(\"#WEBAPIURL#\"))\r\n url = url.replace(\"#WEBAPIURL#\",environment.WebAPIURL)\r\n var form = document.createElement(\"form\");\r\n form.setAttribute(\"method\", \"post\");\r\n form.setAttribute(\"action\", url);\r\n form.setAttribute(\"target\", \"_blank\");\r\n\r\n form.appendChild(this.createFormInputField(\"_t\"));\r\n form.appendChild(this.createFormInputField(\"filterString\"));\r\n document.body.appendChild(form);\r\n if(!isGetAll)\r\n {\r\n var input = document.createElement(\"input\");\r\n input.setAttribute(\"id\", \"selectedIDs\");\r\n input.setAttribute(\"name\", \"selectedIDs\");\r\n form.appendChild(input);\r\n\r\n }\r\n var input = document.createElement(\"input\");\r\n input.setAttribute(\"id\", \"isGetAll\");\r\n input.setAttribute(\"name\", \"isGetAll\");\r\n form.appendChild(input);\r\n\r\n\r\n\r\n ((document.getElementById(\"_t\")) as HTMLInputElement).value = accessToken;\r\n if (document.getElementById(\"filterString\"))\r\n ((document.getElementById(\"filterString\")) as HTMLInputElement).value = JSON.stringify(spaceFilterModel)\r\n if (document.getElementById(\"selectedIDs\"))\r\n ((document.getElementById(\"selectedIDs\")) as HTMLInputElement).value = selectedIds;\r\n if (document.getElementById(\"isGetAll\"))\r\n ((document.getElementById(\"isGetAll\")) as HTMLInputElement).value = String(isGetAll);\r\n form.submit();\r\n form.remove();\r\n\r\n }\r\n\r\n}\r\n","import { PermissionGroup, PermissionViewType } from \"../UI/PermissionEnums\";\r\nimport { PermissionModel } from \"../UI/PermissionModel\";\r\n\r\nexport enum PermissionTypes {\r\n NONE = 0,\r\n VIEWDOCUMENTANDFOLDERS = 1,\r\n CHANGESTATUS = 2,\r\n MOVE = 3,\r\n ACCESSFOLDERPERMISSIONS = 4,\r\n ACCESSFOLDERNOTIFICATIONS = 5,\r\n FOLDERNAMINGRULE = 6,\r\n FOLDERWORKFLOW = 7,\r\n VIEWDOCUMENTLOG = 8,\r\n VIEWPROJECTLOG = 9,\r\n VIEWREPORT = 10,\r\n TICKET = 11,\r\n CHECKLIST = 12,\r\n BIM = 13,\r\n SPACES = 14,\r\n SPACEMANAGEMENT = 15,\r\n ASSET = 16,\r\n ASSETMANAGEMENT = 17,\r\n ASSETCOMPARE = 18,\r\n OperationAndMaintenance = 19,\r\n APPS = 20,\r\n FOLDERANDDOCUMENTEDIT = 21,\r\n DOCUMENTDETAILSEDIT = 22,\r\n CHANGETRANSMITTAL = 23,\r\n EXPIREDATE = 24,\r\n FOLDERSANDDOCUMENTDELETE = 25,\r\n TRANSMITTAL = 26,\r\n SEARCHDUPLICATES = 27,\r\n DELETETICKET = 28,\r\n DELETECHECKLIST = 29,\r\n DELETEOM = 30,\r\n OMREQUEST = 31,\r\n APPSMODULE01 = 32,\r\n APPSMODULENN = 33,\r\n MARKUP = 34,\r\n MARKUPVIEW = 35,\r\n MARKUPADDOREDIT = 36,\r\n MARKUPMEGE = 37,\r\n MARKUPCOMPARE = 38,\r\n EXPORTDOCUMENT=39,\r\n PROJECT=40,\r\n TEAMMANAGEMENT=41,\r\n PROJECTUSERGROUPMANAGEMENT=42,\r\n WORKFLOWUSERGROUPMANAGEMENT=43,\r\n PROJECTADDITIONALINFO=44,\r\n SPACEDETAILS=45,\r\n CHECKLISTFREQUENCYREPORT=46,\r\n ASSETDETAILS=47,\r\n FORWARDTICKET=48,\r\n INTERVENTIONREQUEST=49,\r\n FORWARD=50,\r\n APPROVALREQUEST=51,\r\n ESTIMATIONREQUEST=52,\r\n INTERVENTIONASSIGNMENT=53,\r\n PLANNEDPROCEDURE=54,\r\n VIEWALLTICKETS=55,\r\n CREATEINTERVENTIONREQUEST=56,\r\n CREATEESTIMATIONREQUEST=57,\r\n CREATEAPPROVALREQUEST=58,\r\n CREATEINTERVENTIONASSIGNMENT=59,\r\n CREATEPLANNEDPROCEDURE=60,\r\n VIEWFEDERATEDMODELS=61,\r\n ADDORREMOVEMODELS=62,\r\n UPLOADDOWNLOADHIERARCHY=63,\r\n CREATEEDITTOUT=64,\r\n CREATETIN=65,\r\n VIEWALLTOUT=66,\r\n VIEWALLTIN =67,\r\n TRANSMITTALS=68,\r\n SETTRANSMITTALNOTIFICATION=69,\r\n TICKETFORCESTATUS=70,\r\n ONMFORCESTATUS=71,\r\n DOCUMENTREPORT=72,\r\n TICKETREPORT=73,\r\n CHECKLISTREPORT=74,\r\n SPACEREPORT=75,\r\n ASSETREPORT=76,\r\n ONMREPORT=77,\r\n TRANSMITTALREPORT=78\r\n}\r\n\r\nexport class PermissionHelper {\r\n\r\n static getPermissionModel(permissionType: PermissionTypes): PermissionModel {\r\n\r\n var model: PermissionModel;\r\n switch (permissionType) {\r\n case PermissionTypes.VIEWDOCUMENTANDFOLDERS:\r\n model = new PermissionModel(PermissionTypes.VIEWDOCUMENTANDFOLDERS, \"Folders and Documents\", PermissionGroup.FOLDERS_AND_DOCUMENTS, PermissionViewType.MainPermission);\r\n break;\r\n case PermissionTypes.TRANSMITTALS:\r\n model = new PermissionModel(PermissionTypes.TRANSMITTALS, \"Transmittals\", PermissionGroup.TRANSMITTALS, PermissionViewType.MainPermission);\r\n break;\r\n case PermissionTypes.CHANGESTATUS:\r\n model = new PermissionModel(PermissionTypes.CHANGESTATUS, \"Change Documents Status\", PermissionGroup.FOLDERS_AND_DOCUMENTS, PermissionViewType.SubPermission);\r\n break;\r\n case PermissionTypes.MOVE:\r\n model = new PermissionModel(PermissionTypes.MOVE, \"Move Document\", PermissionGroup.FOLDERS_AND_DOCUMENTS, PermissionViewType.SubPermission);\r\n break;\r\n case PermissionTypes.ACCESSFOLDERPERMISSIONS:\r\n model = new PermissionModel(PermissionTypes.ACCESSFOLDERPERMISSIONS, \"Set Folder Permissions\", PermissionGroup.FOLDERS_AND_DOCUMENTS, PermissionViewType.SubPermission);\r\n break;\r\n case PermissionTypes.ACCESSFOLDERNOTIFICATIONS:\r\n model = new PermissionModel(PermissionTypes.ACCESSFOLDERNOTIFICATIONS, \"Set Folder Notifications\", PermissionGroup.FOLDERS_AND_DOCUMENTS, PermissionViewType.SubPermission);\r\n break;\r\n case PermissionTypes.FOLDERNAMINGRULE:\r\n model = new PermissionModel(PermissionTypes.FOLDERNAMINGRULE, \"Set Folder Naming Rule\", PermissionGroup.FOLDERS_AND_DOCUMENTS, PermissionViewType.SubPermission);\r\n break;\r\n case PermissionTypes.FOLDERWORKFLOW:\r\n model = new PermissionModel(PermissionTypes.FOLDERWORKFLOW, \"Set Folder Workflow\", PermissionGroup.FOLDERS_AND_DOCUMENTS, PermissionViewType.SubPermission);\r\n break;\r\n case PermissionTypes.VIEWDOCUMENTLOG:\r\n model = new PermissionModel(PermissionTypes.VIEWDOCUMENTLOG, \"Document Log\", PermissionGroup.FOLDERS_AND_DOCUMENTS, PermissionViewType.SubPermission);\r\n break;\r\n\r\n // case PermissionTypes.VIEWREPORT:\r\n // model = new PermissionModel(PermissionTypes.VIEWREPORT, \"Report\", PermissionGroup.REPORT, PermissionViewType.MainPermission);\r\n // break;\r\n case PermissionTypes.TICKET:\r\n model = new PermissionModel(PermissionTypes.TICKET, \"Tickets\", PermissionGroup.TICKET, PermissionViewType.MainPermission);\r\n break;\r\n case PermissionTypes.CHECKLIST:\r\n model = new PermissionModel(PermissionTypes.CHECKLIST, \"Checklist\", PermissionGroup.CHECKLIST, PermissionViewType.MainPermission);\r\n break;\r\n case PermissionTypes.BIM:\r\n model = new PermissionModel(PermissionTypes.BIM, \"BIM Models\", PermissionGroup.BIMMODELS, PermissionViewType.MainPermission);\r\n break;\r\n case PermissionTypes.SPACES:\r\n model = new PermissionModel(PermissionTypes.SPACES, \"Spaces\", PermissionGroup.SPACES, PermissionViewType.MainPermission);\r\n break;\r\n\r\n case PermissionTypes.SPACEMANAGEMENT:\r\n model = new PermissionModel(PermissionTypes.SPACEMANAGEMENT, \"Spaces Management\", PermissionGroup.SPACES, PermissionViewType.SubPermission);\r\n break;\r\n\r\n case PermissionTypes.ASSET:\r\n model = new PermissionModel(PermissionTypes.ASSET, \"Asset\", PermissionGroup.ASSET, PermissionViewType.MainPermission);\r\n break;\r\n\r\n case PermissionTypes.ASSETMANAGEMENT:\r\n model = new PermissionModel(PermissionTypes.ASSETMANAGEMENT, \"Asset Management\", PermissionGroup.ASSET, PermissionViewType.SubPermission);\r\n break;\r\n\r\n // case PermissionTypes.ASSETCOMPARE:\r\n // model = new PermissionModel(PermissionTypes.ASSETCOMPARE, \"Asset (compare)\", PermissionGroup.ASSET, PermissionViewType.SubPermission);\r\n // break;\r\n\r\n case PermissionTypes.OperationAndMaintenance:\r\n model = new PermissionModel(PermissionTypes.OperationAndMaintenance, \"O&M\", PermissionGroup.O_AND_M, PermissionViewType.MainPermission);\r\n break;\r\n //removed for now \r\n // case PermissionTypes.APPS:\r\n // model = new PermissionModel(PermissionTypes.APPS, \"APPS\", PermissionGroup.APPS, PermissionViewType.MainPermission);\r\n // break;\r\n // case PermissionTypes.MARKUP:\r\n // model = new PermissionModel(PermissionTypes.MARKUP, \"MarkUp\", PermissionGroup.MARKUP, PermissionViewType.MainPermission);\r\n // break;\r\n // case PermissionTypes.MARKUPADDOREDIT:\r\n // model = new PermissionModel(PermissionTypes.MARKUPADDOREDIT, \"Insert/Edit\", PermissionGroup.MARKUP, PermissionViewType.SubPermission);\r\n // break;\r\n // case PermissionTypes.MARKUPCOMPARE:\r\n // model = new PermissionModel(PermissionTypes.MARKUPCOMPARE, \"Compare\", PermissionGroup.MARKUP, PermissionViewType.SubPermission);\r\n // break;\r\n // case PermissionTypes.MARKUPVIEW:\r\n // model = new PermissionModel(PermissionTypes.MARKUPVIEW, \"View\", PermissionGroup.MARKUP, PermissionViewType.SubPermission);\r\n // break;\r\n // case PermissionTypes.MARKUPMEGE:\r\n // model = new PermissionModel(PermissionTypes.MARKUPMEGE, \"Merge\", PermissionGroup.MARKUP, PermissionViewType.SubPermission);\r\n // break;\r\n case PermissionTypes.DELETECHECKLIST:\r\n model = new PermissionModel(PermissionTypes.DELETECHECKLIST, \"Delete Checklist\", PermissionGroup.CHECKLIST, PermissionViewType.SubPermission);\r\n break;\r\n case PermissionTypes.DELETETICKET:\r\n model = new PermissionModel(PermissionTypes.DELETETICKET, \"Delete Ticket\", PermissionGroup.TICKET, PermissionViewType.SubPermission);\r\n break;\r\n case PermissionTypes.TICKETFORCESTATUS:\r\n model = new PermissionModel(PermissionTypes.TICKETFORCESTATUS, \"Force Ticket Status\", PermissionGroup.TICKET, PermissionViewType.SubPermission);\r\n break;\r\n case PermissionTypes.TICKETREPORT:\r\n model = new PermissionModel(PermissionTypes.TICKETREPORT, \"Ticket Report\", PermissionGroup.TICKET, PermissionViewType.SubPermission);\r\n break;\r\n case PermissionTypes.OMREQUEST:\r\n model = new PermissionModel(PermissionTypes.OMREQUEST, \"O&M Request\", PermissionGroup.O_AND_M, PermissionViewType.ChildPermission,1);\r\n break;\r\n case PermissionTypes.DELETEOM:\r\n model = new PermissionModel(PermissionTypes.DELETEOM, \"Delete\", PermissionGroup.O_AND_M, PermissionViewType.SubPermission);\r\n break;\r\n case PermissionTypes.INTERVENTIONREQUEST:\r\n model = new PermissionModel(PermissionTypes.INTERVENTIONREQUEST, \"Intervention Request\", PermissionGroup.O_AND_M, PermissionViewType.SubPermission,1);\r\n break;\r\n case PermissionTypes.FORWARD:\r\n model = new PermissionModel(PermissionTypes.FORWARD, \"Forward\", PermissionGroup.O_AND_M, PermissionViewType.SubPermission);\r\n break;\r\n case PermissionTypes.APPROVALREQUEST:\r\n model = new PermissionModel(PermissionTypes.APPROVALREQUEST, \"Approval Request\", PermissionGroup.O_AND_M, PermissionViewType.SubPermission,1);\r\n break;\r\n case PermissionTypes.ESTIMATIONREQUEST:\r\n model = new PermissionModel(PermissionTypes.ESTIMATIONREQUEST, \"Estimation Request\", PermissionGroup.O_AND_M, PermissionViewType.SubPermission,1);\r\n break;\r\n case PermissionTypes.INTERVENTIONASSIGNMENT:\r\n model = new PermissionModel(PermissionTypes.INTERVENTIONASSIGNMENT, \"Intervention Assignment\", PermissionGroup.O_AND_M, PermissionViewType.SubPermission,1);\r\n break;\r\n case PermissionTypes.PLANNEDPROCEDURE:\r\n model = new PermissionModel(PermissionTypes.PLANNEDPROCEDURE, \"Planned Procedure\", PermissionGroup.O_AND_M, PermissionViewType.SubPermission,1);\r\n break;\r\n //removed for now \r\n // case PermissionTypes.APPSMODULE01:\r\n // model = new PermissionModel(PermissionTypes.APPSMODULE01, \"Module01\", PermissionGroup.APPS, PermissionViewType.SubPermission);\r\n // break;\r\n // case PermissionTypes.APPSMODULENN:\r\n // model = new PermissionModel(PermissionTypes.APPSMODULENN, \"Module NN\", PermissionGroup.APPS, PermissionViewType.SubPermission);\r\n // break;\r\n // case PermissionTypes.SEARCHDUPLICATES:\r\n // model = new PermissionModel(PermissionTypes.SEARCHDUPLICATES, \"Search Duplicates\", PermissionGroup.SEARCH_DUPLICATES, PermissionViewType.MainPermission);\r\n // break;\r\n // case PermissionTypes.TRANSMITTAL:\r\n // model = new PermissionModel(PermissionTypes.TRANSMITTAL, \"Transmittal\", PermissionGroup.TRANSMITTAL, PermissionViewType.MainPermission);\r\n // break;\r\n\r\n case PermissionTypes.DOCUMENTDETAILSEDIT:\r\n model = new PermissionModel(PermissionTypes.DOCUMENTDETAILSEDIT, \"Details(Edit)\", PermissionGroup.FOLDERS_AND_DOCUMENTS, PermissionViewType.SubPermission);\r\n break;\r\n case PermissionTypes.FOLDERANDDOCUMENTEDIT:\r\n model = new PermissionModel(PermissionTypes.FOLDERANDDOCUMENTEDIT, \"Edit\", PermissionGroup.FOLDERS_AND_DOCUMENTS, PermissionViewType.SubPermission);\r\n break;\r\n case PermissionTypes.FOLDERSANDDOCUMENTDELETE:\r\n model = new PermissionModel(PermissionTypes.FOLDERSANDDOCUMENTDELETE, \"Delete\", PermissionGroup.FOLDERS_AND_DOCUMENTS, PermissionViewType.SubPermission);\r\n break;\r\n case PermissionTypes.EXPIREDATE:\r\n model = new PermissionModel(PermissionTypes.EXPIREDATE, \"Expiry Date\", PermissionGroup.FOLDERS_AND_DOCUMENTS, PermissionViewType.SubPermission);\r\n break;\r\n case PermissionTypes.CHANGETRANSMITTAL:\r\n model = new PermissionModel(PermissionTypes.CHANGETRANSMITTAL, \"Change Update Code\", PermissionGroup.FOLDERS_AND_DOCUMENTS, PermissionViewType.SubPermission);\r\n break;\r\n case PermissionTypes.EXPORTDOCUMENT:\r\n model = new PermissionModel(PermissionTypes.EXPORTDOCUMENT, \"Export Document\", PermissionGroup.FOLDERS_AND_DOCUMENTS, PermissionViewType.SubPermission);\r\n break;\r\n\r\n case PermissionTypes.PROJECT:\r\n model = new PermissionModel(PermissionTypes.PROJECT, \"Project Log\", PermissionGroup.PROJECT, PermissionViewType.MainPermission);\r\n break;\r\n\r\n case PermissionTypes.TEAMMANAGEMENT:\r\n model = new PermissionModel(PermissionTypes.TEAMMANAGEMENT, \"Team Management\", PermissionGroup.PROJECT, PermissionViewType.SubPermission);\r\n break;\r\n case PermissionTypes.PROJECTUSERGROUPMANAGEMENT:\r\n model = new PermissionModel(PermissionTypes.PROJECTUSERGROUPMANAGEMENT, \"Project User group Management\", PermissionGroup.PROJECT, PermissionViewType.SubPermission);\r\n break;\r\n case PermissionTypes.WORKFLOWUSERGROUPMANAGEMENT:\r\n model = new PermissionModel(PermissionTypes.WORKFLOWUSERGROUPMANAGEMENT, \"Workflow User group Management\", PermissionGroup.PROJECT, PermissionViewType.SubPermission);\r\n break;\r\n case PermissionTypes.PROJECTADDITIONALINFO:\r\n model = new PermissionModel(PermissionTypes.PROJECTADDITIONALINFO, \"Project Additional Information\", PermissionGroup.PROJECT, PermissionViewType.SubPermission);\r\n break;\r\n case PermissionTypes.VIEWPROJECTLOG:\r\n model = new PermissionModel(PermissionTypes.VIEWPROJECTLOG, \"Project Log\", PermissionGroup.PROJECT, PermissionViewType.SubPermission);\r\n break;\r\n case PermissionTypes.SPACEDETAILS:\r\n model = new PermissionModel(PermissionTypes.SPACEDETAILS, \"Space Details\", PermissionGroup.SPACES, PermissionViewType.SubPermission);\r\n break;\r\n case PermissionTypes.SPACEREPORT:\r\n model = new PermissionModel(PermissionTypes.SPACEREPORT, \"Space Report\", PermissionGroup.SPACES, PermissionViewType.SubPermission);\r\n break;\r\n case PermissionTypes.CHECKLISTFREQUENCYREPORT:\r\n model = new PermissionModel(PermissionTypes.CHECKLISTFREQUENCYREPORT, \"Checklist Frequency Report\", PermissionGroup.CHECKLIST, PermissionViewType.SubPermission);\r\n break;\r\n case PermissionTypes.CHECKLISTREPORT:\r\n model = new PermissionModel(PermissionTypes.CHECKLISTREPORT, \"Checklist Report\", PermissionGroup.CHECKLIST, PermissionViewType.SubPermission);\r\n break;\r\n case PermissionTypes.ASSETDETAILS:\r\n model = new PermissionModel(PermissionTypes.ASSETDETAILS, \"Asset Details\", PermissionGroup.ASSET, PermissionViewType.SubPermission);\r\n break;\r\n case PermissionTypes.ASSETREPORT:\r\n model = new PermissionModel(PermissionTypes.ASSETREPORT, \"Asset Report\", PermissionGroup.ASSET, PermissionViewType.SubPermission);\r\n break;\r\n case PermissionTypes.FORWARDTICKET:\r\n model = new PermissionModel(PermissionTypes.FORWARDTICKET, \"Forward Ticket\", PermissionGroup.TICKET, PermissionViewType.SubPermission);\r\n break;\r\n case PermissionTypes.VIEWALLTICKETS:\r\n model = new PermissionModel(PermissionTypes.VIEWALLTICKETS, \"View All\", PermissionGroup.TICKET, PermissionViewType.SubPermission);\r\n break;\r\n\r\n case PermissionTypes.CREATEINTERVENTIONREQUEST:\r\n model = new PermissionModel(PermissionTypes.CREATEINTERVENTIONREQUEST, \"Create Intervention Request\", PermissionGroup.O_AND_M, PermissionViewType.SubPermission);\r\n break;\r\n case PermissionTypes.CREATEESTIMATIONREQUEST:\r\n model = new PermissionModel(PermissionTypes.CREATEESTIMATIONREQUEST, \"Create Estimation Request\", PermissionGroup.O_AND_M, PermissionViewType.SubPermission);\r\n break;\r\n\r\n case PermissionTypes.CREATEAPPROVALREQUEST:\r\n model = new PermissionModel(PermissionTypes.CREATEAPPROVALREQUEST, \"Create Approval Request\", PermissionGroup.O_AND_M, PermissionViewType.SubPermission);\r\n break;\r\n\r\n case PermissionTypes.CREATEINTERVENTIONASSIGNMENT:\r\n model = new PermissionModel(PermissionTypes.CREATEINTERVENTIONASSIGNMENT, \"Create Intervention Assignment\", PermissionGroup.O_AND_M, PermissionViewType.SubPermission);\r\n break;\r\n case PermissionTypes.ONMFORCESTATUS:\r\n model = new PermissionModel(PermissionTypes.ONMFORCESTATUS, \"ONM Force Status\", PermissionGroup.O_AND_M, PermissionViewType.SubPermission);\r\n break;\r\n case PermissionTypes.ONMREPORT:\r\n model = new PermissionModel(PermissionTypes.ONMREPORT, \"ONM Report\", PermissionGroup.O_AND_M, PermissionViewType.SubPermission);\r\n break;\r\n //Planned procedure is system created and assigned to company so it is always allowed Bug-47263\r\n // case PermissionTypes.CREATEPLANNEDPROCEDURE:\r\n // model = new PermissionModel(PermissionTypes.CREATEPLANNEDPROCEDURE, \"Create Planned Procedure\", PermissionGroup.O_AND_M, PermissionViewType.SubPermission);\r\n // break;\r\n case PermissionTypes.VIEWFEDERATEDMODELS:\r\n model = new PermissionModel(PermissionTypes.VIEWFEDERATEDMODELS, \"View federated models\", PermissionGroup.BIMMODELS, PermissionViewType.SubPermission);\r\n break; \r\n case PermissionTypes.ADDORREMOVEMODELS:\r\n model = new PermissionModel(PermissionTypes.ADDORREMOVEMODELS, \"Add/Remove models\", PermissionGroup.BIMMODELS, PermissionViewType.SubPermission);\r\n break; \r\n\r\n case PermissionTypes.UPLOADDOWNLOADHIERARCHY:\r\n model = new PermissionModel(PermissionTypes.UPLOADDOWNLOADHIERARCHY, \"Export/Import Folder Hierarchies\", PermissionGroup.FOLDERS_AND_DOCUMENTS, PermissionViewType.SubPermission);\r\n break;\r\n case PermissionTypes.DOCUMENTREPORT:\r\n model = new PermissionModel(PermissionTypes.DOCUMENTREPORT, \"Document Report\", PermissionGroup.FOLDERS_AND_DOCUMENTS, PermissionViewType.SubPermission);\r\n break;\r\n case PermissionTypes.CREATEEDITTOUT:\r\n model = new PermissionModel(PermissionTypes.CREATEEDITTOUT, \"Create/Edit T-OUT\", PermissionGroup.TRANSMITTALS, PermissionViewType.SubPermission);\r\n break;\r\n\r\n case PermissionTypes.CREATETIN:\r\n model = new PermissionModel(PermissionTypes.CREATETIN, \"Create T-IN\", PermissionGroup.TRANSMITTALS, PermissionViewType.SubPermission);\r\n break;\r\n case PermissionTypes.VIEWALLTOUT:\r\n model = new PermissionModel(PermissionTypes.VIEWALLTOUT, \"View All T-OUT\", PermissionGroup.TRANSMITTALS, PermissionViewType.SubPermission);\r\n break;\r\n\r\n case PermissionTypes.VIEWALLTIN:\r\n model = new PermissionModel(PermissionTypes.VIEWALLTIN, \"View All T-IN\", PermissionGroup.TRANSMITTALS, PermissionViewType.SubPermission);\r\n break;\r\n case PermissionTypes.TRANSMITTALREPORT:\r\n model = new PermissionModel(PermissionTypes.TRANSMITTALREPORT, \"Report\", PermissionGroup.TRANSMITTALS, PermissionViewType.SubPermission);\r\n break;\r\n case PermissionTypes.SETTRANSMITTALNOTIFICATION:\r\n model = new PermissionModel(PermissionTypes.SETTRANSMITTALNOTIFICATION, \"Set Transmittal Notification\", PermissionGroup.TRANSMITTALS, PermissionViewType.SubPermission);\r\n break;\r\n\r\n\r\n\r\n default:\r\n // model = new PermissionModel(PermissionTypes.NONE, \"None\");\r\n break;\r\n }\r\n return model;\r\n }\r\n\r\n}\r\n","import { SystemTicketTagType } from \"../Models/API/Ticket\";\r\nimport { SystemRoles } from \"../Models/Roles.enum\";\r\nimport { Scope, ScopeType } from \"../Models/scope-tree\";\r\nimport { User } from \"../Models/user\";\r\nimport { PermissionTypes } from \"./PermissionHelper\";\r\n\r\nexport class PermissionUtil {\r\n\r\n //Method to check User is a DM\r\n IsDataManager(user:User):boolean{\r\n if(user && user.roles)\r\n {\r\n const IsDm= user.roles.find(role=>role.id == SystemRoles.DataManager && role.isSystem);\r\n if(IsDm){\r\n return true;\r\n }\r\n }\r\n return false;\r\n }\r\n\r\n //Method to check User is a PM for the selected Scope\r\n IsProjectManager(currentScope:Scope):boolean{\r\n var isPM: boolean = false;\r\n if (currentScope) {\r\n if (currentScope.type !== ScopeType.ORGANIZATION && currentScope.role) {\r\n if (currentScope.role.id == SystemRoles.ProjectManager && currentScope.role.isSystem) {\r\n isPM = true;\r\n }\r\n }\r\n }\r\n return isPM;\r\n }\r\n\r\n //Method to check permission is exist for custom role user and if DM/PM permisision will be enebaled by Default\r\n IsPermissionExists(user:User,currentScope:Scope,permission: PermissionTypes): boolean {\r\n var isPermitted: boolean = false;\r\n if(this.IsDataManager(user))\r\n {\r\n isPermitted=true;\r\n }\r\n else\r\n {\r\n if(this.IsProjectManager(currentScope))\r\n {\r\n isPermitted=true;\r\n }\r\n else if(currentScope && !currentScope.role.isSystem)\r\n {\r\n //if custom roles it will check specific permission\r\n isPermitted= currentScope.role.permissions.includes(permission);\r\n }\r\n }\r\n return isPermitted;\r\n }\r\n\r\n IsOnmCreatePermissionExists(user:User,currentScope:Scope,_gridsystemtagId:SystemTicketTagType)\r\n {\r\n //Planned procedure is system created and assigned to company so it is always allowed Bug-47263\r\n if(_gridsystemtagId == SystemTicketTagType.PlannedProcedure)\r\n return true;\r\n var permission:PermissionTypes; \r\n switch(_gridsystemtagId)\r\n {\r\n case SystemTicketTagType.InterventionRequest:permission=PermissionTypes.CREATEINTERVENTIONREQUEST;break;\r\n case SystemTicketTagType.EstimationRequest:permission=PermissionTypes.CREATEESTIMATIONREQUEST;break;\r\n case SystemTicketTagType.ApprovalRequest:permission=PermissionTypes.CREATEAPPROVALREQUEST;break;\r\n case SystemTicketTagType.InterventionAssignment:permission=PermissionTypes.CREATEINTERVENTIONASSIGNMENT;break;\r\n \r\n }\r\n \r\n \r\n if(permission)\r\n {\r\n return this.IsPermissionExists(user,currentScope,permission);\r\n }\r\n else\r\n {\r\n return false;\r\n }\r\n }\r\n\r\n IsDMorPM(user:User,currentScope:Scope)\r\n {\r\n if(this.IsDataManager(user))\r\n {\r\n return true;\r\n }\r\n if(this.IsProjectManager(currentScope))\r\n {\r\n return true;\r\n }\r\n return false;\r\n }\r\n}\r\n","import { SortOrder } from \"../UI/ViewTypes\";\r\n\r\nexport class SortUtil\r\n{\r\n public sortByProperty(array: T[], propName:String=null,order:SortOrder): void {\r\n if(propName==null)\r\n {\r\n array.sort((n1,n2) => {\r\n if (n1 > n2) {\r\n return 1;\r\n }\r\n if (n1 < n2) {\r\n return -1;\r\n }\r\n return 0;\r\n });\r\n }\r\n else{\r\n var propNames = propName.split('.');\r\n var len = propNames.length;\r\n\r\n array.sort(function (a, b) {\r\n var i = 0;\r\n while( i < len ) \r\n { \r\n a = a!=undefined && a!=null ? a[propNames[i]] :a;\r\n b = b!=undefined && b!=null ? b[propNames[i]] :b;\r\n i++; \r\n }\r\n var x = a != null ? String(a).toLowerCase() : a;\r\n var y = b != null ? String(b).toLowerCase() : b;\r\n if (x < y) {\r\n return -1;\r\n }\r\n else if (x > y) {\r\n return 1;\r\n }\r\n else if (x === y) {\r\n return 1;\r\n }\r\n else if (x == null) {\r\n return 1;\r\n }\r\n else if (y == null) {\r\n return -1;\r\n }\r\n else {\r\n return 0;\r\n }\r\n });\r\n }\r\n\r\n if (order === SortOrder.DESC) {\r\n array.reverse();\r\n }\r\n }\r\n\r\n public sortByNumberProperty(array: T[], propName:String=null,order:SortOrder): void {\r\n if(propName==null)\r\n {\r\n array.sort((n1,n2) => {\r\n if (n1 > n2) {\r\n return 1;\r\n }\r\n if (n1 < n2) {\r\n return -1;\r\n }\r\n return 0;\r\n });\r\n }\r\n else{\r\n var propNames = propName.split('.');\r\n var len = propNames.length;\r\n\r\n array.sort(function (a, b) {\r\n var i = 0;\r\n while( i < len ) \r\n { \r\n a = a!=undefined && a!=null ? a[propNames[i]] :a;\r\n b = b!=undefined && b!=null ? b[propNames[i]] :b;\r\n i++; \r\n }\r\n var x = a != null ? String(a).toLowerCase() : a;\r\n var y = b != null ? String(b).toLowerCase() : b;\r\n if (parseInt(x.toString()) < parseInt(y.toString())) {\r\n return -1;\r\n }\r\n else if (parseInt(x.toString()) > parseInt(y.toString())) {\r\n return 1;\r\n }\r\n else if (parseInt(x.toString()) === parseInt(y.toString())) {\r\n return 1;\r\n }\r\n else if (x == null) {\r\n return 1;\r\n }\r\n else if (y == null) {\r\n return -1;\r\n }\r\n else {\r\n return 0;\r\n }\r\n });\r\n }\r\n\r\n if (order === SortOrder.DESC) {\r\n array.reverse();\r\n }\r\n }\r\n\r\n public sortCommaSeparatedValues(array: T[], propName: string,commaproperty:string, order:SortOrder): void {\r\n array.sort(function(a,b){\r\n var firstArray:[]= a[propName];\r\n var secondArray:[]= b[propName];\r\n var strFirst:string='';\r\n firstArray.forEach(x=>strFirst += x[commaproperty] +\",\");\r\n var strSecond:string='';\r\n secondArray.forEach(x=>strSecond += x[commaproperty] + \",\");\r\n var x = strFirst != null ? String(strFirst).toLowerCase() : a;\r\n var y = strSecond != null ? String(strSecond).toLowerCase() : b;\r\n if (x < y) {\r\n return -1;\r\n }\r\n else if (x > y) {\r\n return 1;\r\n }\r\n else if (x === y) {\r\n return 1;\r\n }\r\n else if (x == null) {\r\n return 1;\r\n }\r\n else if (y == null) {\r\n return -1;\r\n }\r\n else {\r\n return 0;\r\n }\r\n\r\n });\r\n if (order === SortOrder.DESC) \r\n array.reverse();\r\n\r\n }\r\n\r\n public sortByArrayProperty(array: T[], propName: string, index: number, order:SortOrder): void {\r\n var propNames = propName.split('.');\r\n var len = propNames.length;\r\n\r\n array.sort(function (a, b) {\r\n var i = 0;\r\n while (i < len) {\r\n if (propNames[i]) {\r\n if (i != 0) {\r\n a = a!=undefined && a!=null ? a[propNames[i]] :a;\r\n b = b!=undefined && b!=null ? b[propNames[i]] :b;\r\n }\r\n else {\r\n a = a!=undefined && a!=null && a[propNames[i]]!=undefined ? a[propNames[i]][index] :a ;\r\n b = b!=undefined && b!=null && b[propNames[i]]!=undefined ? b[propNames[i]][index] :b ;\r\n } \r\n }\r\n i++;\r\n }\r\n\r\n var x = a != null ? String(a).toLowerCase() : a;\r\n var y = b != null ? String(b).toLowerCase() : b;\r\n if (x < y) {\r\n return -1;\r\n }\r\n else if (x > y) {\r\n return 1;\r\n }\r\n else if (x === y) {\r\n return 1;\r\n }\r\n else if (x == null) {\r\n return 1;\r\n }\r\n else if (y == null) {\r\n return -1;\r\n }\r\n else {\r\n return 0;\r\n }\r\n });\r\n\r\n if (order === SortOrder.DESC) {\r\n array.reverse();\r\n }\r\n\r\n}\r\n}","export class DateUtil{\r\n\r\n public get_UTCDate(date:Date){\r\n var utcDate:Date = new Date(date.getUTCFullYear(),\r\n date.getUTCMonth(),\r\n date.getUTCDate(),\r\n date.getUTCHours(),\r\n date.getUTCMinutes(),\r\n date.getUTCSeconds());\r\n return utcDate;\r\n }\r\n\r\n public getOffsetDate(date:Date,offset:number)\r\n {\r\n return new Date(date.getTime() + offset*60000);\r\n \r\n \r\n \r\n\r\n\r\n \r\n \r\n }\r\n getOffset():string\r\n {\r\n return new Date().getTimezoneOffset().toString();\r\n }\r\n //this method will return datearray for a date range \r\n getDateArray = function(startDate, endDate) {\r\n var arr = new Array();\r\n var dt = new Date(startDate);\r\n while (dt <= endDate) {\r\n arr.push(new Date(dt));\r\n dt.setDate(dt.getDate() + 1);\r\n }\r\n return arr;\r\n }\r\n \r\n\r\n}\r\n","// custom translate loader to load translation from system path\r\nimport { TranslateLoader } from '@ngx-translate/core';\r\nimport { from, Observable } from 'rxjs';\r\n\r\n\r\nexport class CustomTranslateLoader implements TranslateLoader {\r\n getTranslation(lang: string): Observable {\r\n return from(import(`../assets/i18n/settings/${lang}.json`));\r\n }\r\n}","var map = {\n\t\"./en-GB.json\": [\n\t\t42550,\n\t\t\"src_assets_i18n_settings_en-GB_json\"\n\t],\n\t\"./fr-FR.json\": [\n\t\t23487,\n\t\t\"src_assets_i18n_settings_fr-FR_json\"\n\t],\n\t\"./it-IT.json\": [\n\t\t8881,\n\t\t\"src_assets_i18n_settings_it-IT_json\"\n\t]\n};\nfunction webpackAsyncContext(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\treturn Promise.resolve().then(() => {\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(() => {\n\t\treturn __webpack_require__.t(id, 3 | 16);\n\t});\n}\nwebpackAsyncContext.keys = () => (Object.keys(map));\nwebpackAsyncContext.id = 78230;\nmodule.exports = webpackAsyncContext;"],"names":["RouterModule","MainViewType","HomeComponent","LoginComponent","OauthComponent","OrganizationHierarchyResolve","AuthGuardService","PrivacyPolicyComponent","MobilesyncComponent","TicketDownloadComponent","TransmittalDownloadComponent","routes","path","component","canActivate","resolve","data","permission","children","loadChildren","then","m","BuildingModule","menuType","PROJECTS","DataManagerSettingsModule","DATA_MANAGER_SETTINGS","MyProfileModule","MY_PROFILE","PublicLinksModule","MobileProjectsViewModule","redirectTo","AppRoutingModule","forRoot","paramsInheritanceStrategy","imports","i1","exports","Router","DEFAULT_INTERRUPTSOURCES","Idle","Keepalive","TranslateService","OAuthService","JwksValidationHandler","environment","Organization","User","AuthService","JSStoreDBService","SyncJsstoreService","OnlineOfflineService","StorageService","SwUpdateService","UserService","i0","ɵɵelement","AppComponent","constructor","auth","idle","keepalive","router","translate","oauthService","userService","JsStoreService","onlineOfflineService","storageservice","syncJsstoreService","swUpdateService","title","idleState","timedOut","lastPing","isMobile","getIsMobile","setDefaultLang","initDB","OFFLINE_DB_NAME","AuthenticationType","toLowerCase","initializeOAuthService","onlineOfflinesubcription","connectionChanged","subscribe","isConnected","getLoggedInStatus","StartSynchronization","getUser","registerForSWUpdates","configure","redirectUri","window","location","origin","clientId","adfsClientId","requireHttps","loginUrl","adfsUrl","issuer","scope","responseType","silentRefreshRedirectUri","oidc","logoutUrl","protocol","hostname","port","postLogoutRedirectUri","tokenValidationHandler","setStorage","localStorage","hasValidAccessToken","loadDiscoveryDocumentAndTryLogin","initImplicitFlow","LogUserIn","claims","getIdentityClaims","access_token","getAccessToken","expires","getAccessTokenExpiration","length","accesstoken","username","EmailClaim","newUser","token","storeToken","getUserbyname","user","id","organization","roles","navigate","logout","logOut","ngOnInit","SetAbilityOfUserByPermissions","LoggedInStatusObservable","_status","ConfigureIdleSettings","stop","setIdle","setTimeout","setInterrupts","onTimeout","__awaiter","onIdleEnd","reset","onIdleStart","interval","onPing","Date","maxThreshold","setMinutes","getMinutes","_user","expiry","silentRefresh","info","console","debug","catch","err","error","RequestRefreshedToken","watch","ngOnDestroy","closed","unsubscribe","checkForAvailableUpdates","ɵɵdirectiveInject","i2","i3","i4","i5","i6","i7","i8","i9","i10","i11","i12","selectors","decls","vars","consts","template","AppComponent_Template","rf","ctx","ɵɵelementStart","ɵɵtemplate","AppComponent_app_sw_update_2_Template","ɵɵelementEnd","ɵɵadvance","ɵɵproperty","BrowserModule","APP_INITIALIZER","FormsModule","BrowserAnimationsModule","ToastrModule","CookieService","MainComponent","FilterComponent","MainviewComponent","InnerviewComponent","SidePanelComponent","MainMenuComponent","AuthenticationModule","JwtInterceptor","SharedModule","AbilityModule","NgIdleKeepaliveModule","TranslateLoader","TranslateModule","TranslateHttpLoader","DatePipe","ProjectResolve","ChecklistTagResolve","TagChecklistResolve","OAuthModule","ServiceWorkerModule","SwRegistrationOptions","CustomTranslateLoader","SwUpdateComponent","DebounceKeyUpDirective","SpaceAssetFilterComponent","BimmodelFilterComponent","KeyConstants","from","map","ColumnSettingsDialogComponent","HTTP_INTERCEPTORS","HttpClient","HttpClientModule","BimmodelPresetComponent","AppModule","bootstrap","provide","useClass","multi","useFactory","InitializeApp","deps","enabled","production","registrationStrategy","withServerTransition","appId","timeOut","positionClass","preventDuplicates","loader","defaultLanguage","register","declarations","createTranslateLoader","http","SETTINGS_LOCALIZATION_PATH","cookie","httpClient","value","get","_USER","undefined","JSON","parse","fetch","response","json","pipe","config","WebAPIURL","replace","url","APIPORT","WEB_URL","testConnectionStatus","UpdateConnectionStatus","StartConnectionStatusUpdate","toPromise","Promise","reject","EventEmitter","ElementRef","ChangeDetectorRef","Injector","Scope","ScopeType","OrganisationTreeNode","NotificationModel","NotificationType","Themes","ScopeService","ActivatedRoute","CommonService","ProjectService","MenuService","HierarchyModificationType","MainView","UploadPaneService","Job","UploadPaneComponent","BaseComponent","UserJsstoreService","ɵɵtext","ɵɵlistener","HeaderComponent_nav_0_Template_app_tree_view_changeEventTriggered_11_listener","$event","ɵɵrestoreView","_r6","ctx_r5","ɵɵnextContext","ɵɵresetView","onChange","HeaderComponent_nav_0_Template_div_click_15_listener","ctx_r7","onClickUploadPane","HeaderComponent_nav_0_Template_div_click_22_listener","ctx_r8","onClickNotifications","HeaderComponent_nav_0_Template_a_click_36_listener","ctx_r9","OnMyProfileClick","HeaderComponent_nav_0_Template_a_click_40_listener","ctx_r10","showHideLanguages","HeaderComponent_nav_0_Template_a_click_46_listener","ctx_r11","changelanguage","HeaderComponent_nav_0_Template_a_click_50_listener","ctx_r12","HeaderComponent_nav_0_Template_a_click_54_listener","ctx_r13","HeaderComponent_nav_0_Template_a_click_58_listener","ctx_r14","showHideThemes","HeaderComponent_nav_0_Template_a_click_64_listener","ctx_r15","changeTheme","_themes","DARK","HeaderComponent_nav_0_Template_a_click_68_listener","ctx_r16","LIGHT","HeaderComponent_nav_0_Template_a_click_72_listener","ctx_r17","ɵɵtextInterpolate1","ctx_r0","selectedTreeNodeName","scopeTreeData","ɵɵpureFunction2","_c1","onGoingUploadsCount","ɵɵtextInterpolate","isUploadPaneVisible","uploadJob","totalCount","ɵɵpureFunction1","_c2","showLanguages","_c3","languagePreference","showThemes","theme","_c4","ctx_r18","ctx_r19","projectId","HeaderComponent_nav_1_div_5_Template_app_tree_view_changeEventTriggered_6_listener","_r24","ctx_r23","ctx_r20","HeaderComponent_nav_1_li_26_Template_a_click_1_listener","_r26","ctx_r25","HeaderComponent_nav_1_a_3_Template","HeaderComponent_nav_1_a_4_Template","HeaderComponent_nav_1_div_5_Template","HeaderComponent_nav_1_Template_div_click_9_listener","_r28","ctx_r27","HeaderComponent_nav_1_Template_div_click_16_listener","ctx_r29","HeaderComponent_nav_1_li_26_Template","HeaderComponent_nav_1_Template_a_click_28_listener","ctx_r30","HeaderComponent_nav_1_Template_a_click_34_listener","ctx_r31","HeaderComponent_nav_1_Template_a_click_38_listener","ctx_r32","HeaderComponent_nav_1_Template_a_click_42_listener","ctx_r33","ctx_r1","isProjectScope","IsdisplayScopeTree","isOnline","HeaderComponent_div_2_span_6_Template","HeaderComponent_div_2_span_7_Template","HeaderComponent_div_2_span_8_Template","HeaderComponent_div_2_span_9_Template","HeaderComponent_div_2_span_10_Template","HeaderComponent_div_2_span_11_Template","HeaderComponent_div_2_span_12_Template","HeaderComponent_div_2_span_13_Template","HeaderComponent_div_2_span_14_Template","HeaderComponent_div_2_span_15_Template","HeaderComponent_div_2_span_16_Template","HeaderComponent_div_2_span_17_Template","HeaderComponent_div_2_span_18_Template","HeaderComponent_div_2_span_19_Template","HeaderComponent_div_2_span_20_Template","HeaderComponent_div_2_span_21_Template","HeaderComponent_div_2_span_22_Template","HeaderComponent_div_2_span_23_Template","HeaderComponent_div_2_span_24_Template","HeaderComponent_div_2_span_25_Template","ctx_r2","latestNotification","type","_notificationType","WORKFLOW","DOCUMENTDOWNLOAD","DOCUMENTUPLOAD","NEWVERSION","STATUSCHANGE","DOCUMENTDELETE","DOCUMENTLOCK","DOCUMENTMOVE","TICKET","IA","IR","AR","ER","PP","DOCUMENTUNLOCK","NOSPACESFOUND","IFCSPACEMISMATCH","TRANSMITTALS","TRANSMITTALSENT","TRANSMITTALEXPIRED","TRANSMITTALDOWNLOADED","ɵɵpipeBind2","date","projectModel","name","HeaderComponent_app_notification_list_3_Template_app_notification_list_ResetEvent_0_listener","_r55","ctx_r54","ResetNotifications","HeaderComponent_app_notification_list_3_Template_app_notification_list_CloseEvent_0_listener","ctx_r56","HeaderComponent","injector","scopeService","commonService","cdr","projectService","menuService","route","ouathService","uploadPaneService","userJSStoreService","toggleUploadPane","ResetEvent","logoutEvent","Array","isNotPaneVisible","currentnode","snapshot","SetFeatures","features","push","SetPath","isSelected","showChildren","emitScopeSelection","mainView1","displayName","icon","emitMainViewSelection","scopeServiceSubscription","scopeObservable","selectedScope","PROJECT","selectednode","find","x","UpdateNodeSelection","ORGANIZATION","RefreshScopeSelectionObservable","modifyHierarchySubscription","modifyHeirarchyObservable","modifyOrganizationHeirarchy","uploadPaneSubscriber","getOngoingUploadsCount","getVisibility","getJobs","incomingJob","ngAfterViewChecked","detectChanges","loadsubcription","onGoingJobs","setOngoingUploadsCount","setVisibility","event","IsMobile","relativeTo","project","role","dropdownProjects","nativeElement","classList","remove","tree","forEach","node","selectedNode","idx","LoadOrganizationHeirarchy","getOrganization","emit","queryParams","emitProjectRoles","_scope","getProject","_project","Add","newChild","Delete","foundIndex","findIndex","element","splice","updateUser","reload","UpdateUser","lang","use","e","stopPropagation","viewQuery","HeaderComponent_Query","HeaderComponent_nav_0_Template","HeaderComponent_nav_1_Template","HeaderComponent_div_2_Template","HeaderComponent_app_notification_list_3_Template","IAngularMyDpOptions","IMyDateModel","CalendarService","UserNotificationFilterModel","NotificationListComponent_button_20_Template_button_click_0_listener","_r4","_r0","ɵɵreference","clearDate","NotificationListComponent_div_50_span_11_Template","NotificationListComponent_div_50_span_12_Template","NotificationListComponent_div_50_span_13_Template","NotificationListComponent_div_50_span_14_Template","NotificationListComponent_div_50_span_15_Template","NotificationListComponent_div_50_span_16_Template","NotificationListComponent_div_50_span_17_Template","NotificationListComponent_div_50_span_18_Template","NotificationListComponent_div_50_span_19_Template","NotificationListComponent_div_50_span_20_Template","NotificationListComponent_div_50_span_21_Template","NotificationListComponent_div_50_span_22_Template","NotificationListComponent_div_50_span_23_Template","NotificationListComponent_div_50_span_24_Template","NotificationListComponent_div_50_span_25_Template","NotificationListComponent_div_50_span_26_Template","NotificationListComponent_div_50_span_27_Template","NotificationListComponent_div_50_span_28_Template","NotificationListComponent_div_50_span_29_Template","NotificationListComponent_div_50_span_30_Template","ɵɵpipeBind1","notification_r5","creator","company","firstName","lastName","NotificationListComponent","authService","calendarService","notifications","notificationFilter","CloseEvent","isAllNotificationLoaded","filterdatemodel","IsRefreshDisabled","pn","myDateRangePickerOptions","getAngularDateRangePickerOptions","dateRange","ResetNotificationCount","LoadNotifications","onDateRangeChanged","ExportNotifications","beginJsDate","endJsDate","_sd","toDateString","_ed","exportUserNotifications","onRefreshClick","resetFilters","onclose","bRefresh","getUserNotifications","userNotification","notification","ps","onScroll","outputs","NotificationListComponent_Template","NotificationListComponent_Template_a_click_4_listener","NotificationListComponent_Template_a_click_9_listener","NotificationListComponent_Template_input_ngModelChange_16_listener","NotificationListComponent_button_20_Template","NotificationListComponent_Template_button_click_22_listener","toggleCalendar","NotificationListComponent_Template_a_click_24_listener","NotificationListComponent_Template_div_scrolled_49_listener","NotificationListComponent_div_50_Template","ɵɵclassProp","ɵɵpropertyInterpolate","TreeViewComponent_ul_1_app_tree_view_7_Template_app_tree_view_changeEventTriggered_0_listener","_r5","ctx_r4","onClickChild","node_r1","TreeViewComponent_ul_1_Template_span_click_3_listener","restoredCtx","_r8","$implicit","showHideChildren","TreeViewComponent_ul_1_Template_span_click_5_listener","TreeViewComponent_ul_1_app_tree_view_7_Template","_c0","setScopeIcon","TreeViewComponent","changeEventTriggered","setCSSClasses","retVal","inputs","nodes","TreeViewComponent_Template","TreeViewComponent_ul_1_Template","styles","GlobalService","SignalrService","DOCUMENT","currentScope","signalRService","globalService","document","setTheme","body","setAttribute","signalRSubscription","notificationObservable","notificationModel","setTotalCount","setUserNotification","isRefresh","StartListening","getUserNotification","getTotalCount","firstChild","filterModel","userNotificationModel","establishSignalRConnection","startConnection","startNotificationListen","log","resetHubConnection","ClearSubject","ɵɵInheritDefinitionFeature","HomeComponent_Template","HomeComponent_Template_app_header_toggleUploadPane_0_listener","HomeComponent_Template_app_header_logoutEvent_0_listener","HomeComponent_Template_app_header_ResetEvent_0_listener","HomeComponent_app_main_1_Template","breadcrumbService","FolderService","BreadcrumbComponent_ul_1_li_1_Template_a_click_1_listener","_r9","item_r5","first_r7","first","onFolderLinkClick","key","i_r6","pathsdict","size","BreadcrumbComponent_ul_1_li_1_Template","keepOriginalOrder","BreadcrumbComponent_ul_2_li_1_Template_a_click_1_listener","_r15","i_r12","index","onBreadCrumbClick","item_r11","trail","BreadcrumbComponent_ul_2_li_1_Template","BreadcrumbComponent_ul_3_li_1_Template_a_click_1_listener","_r20","item_r17","i_r18","Navigate","BreadcrumbComponent_ul_3_li_1_Template","BreadcrumbComponent","_currentScope","split","mainview","_mainview","folderService","elementRef","breadCrumbService","storageService","authservice","_mainviewType","Map","a","b","folderSelectionSubscription","folderSelectionObservable","folder","clear","set","projectLocation","paths","pathSubscription","pathUpdateObservable","buildBreadcrumbs","clearPathUpdate","isorganizationnode","NavigatetoProjectsView","emitdocumentFolderSelection","pathKey","pathValue","keycount","i","parseInt","viewURL","getMainViewURL","array","CHECKLIST","BreadcrumbComponent_Template","BreadcrumbComponent_ul_1_Template","BreadcrumbComponent_ul_2_Template","BreadcrumbComponent_ul_3_Template","BreadcrumbComponent_div_4_Template","DOCUMENTS","OrganizationService","DocAddlInformation","AddlInformationsFilterModel","ScopeFilterModel","Folder","radioButtonOptions","CategoryControlType","FilterService","item_r3","FilterComponent_div_26_div_1_div_4_Template_input_ngModelChange_1_listener","_r11","docAddlInformation_r5","attributeValue","FilterComponent_div_26_div_1_div_5_Template_textarea_ngModelChange_1_listener","FilterComponent_div_26_div_1_div_6_Template_input_change_2_listener","_r19","onChangeBoolean","FilterComponent_div_26_div_1_div_6_Template_input_ngModelChange_2_listener","selectedRadioOption","FilterComponent_div_26_div_1_div_6_Template_input_change_6_listener","ctx_r22","FilterComponent_div_26_div_1_div_6_Template_input_ngModelChange_6_listener","_radioButtonOptions","yes","no","FilterComponent_div_26_div_1_div_4_Template","FilterComponent_div_26_div_1_div_5_Template","FilterComponent_div_26_div_1_div_6_Template","attributeName","attributeType","_CategoryControlType","TEXTBOX","MULTITEXTBOX","BOOLEAN","FilterComponent_div_26_div_1_Template","documentAddlInformations","organizationService","filterService","filter","currentFolder","OnApplyDocFilter","folderServiceSubscription","selectedFolder","ClearDocFilterObservable","clearFilter","mainViewObservable","emitedSelection","loadWorkflowUserGroups","loadDocAddlInformations","addlInformation","UNKNOWN","projectid","getDocumentAdditionalInformations","docAddlInformations","realDocddlInformations","docAddlInformationValue","docAddlInformation","onSearch","ValidateSearchCriteria","emitSearchView","_scid","_sct","fillDocdditionalInformations","warningMsg","instant","docAddlInformationWithValues","_ais","addlInformationFilter","_i","_v","_strais","stringify","validated","_n","trim","_t","_dt","_u","_ext","getWorkflowUserGroups","workflowusergroups","workflowUserGroups","$","selectpicker","FilterComponent_Template","FilterComponent_Template_select_ngModelChange_7_listener","FilterComponent_option_12_Template","FilterComponent_Template_input_ngModelChange_14_listener","FilterComponent_Template_input_ngModelChange_17_listener","FilterComponent_Template_input_ngModelChange_20_listener","FilterComponent_Template_input_ngModelChange_23_listener","FilterComponent_div_25_Template","FilterComponent_div_26_Template","FilterComponent_Template_input_ngModelChange_29_listener","_isf","FilterComponent_Template_a_click_33_listener","Ability","SystemRoles","PermissionTypes","FeatureType","ɵɵelementContainerStart","MainMenuComponent_ng_container_2_Template_a_click_2_listener","item_r2","ctx_r3","Onclick","ɵɵelementContainerEnd","currentMainView","ɵɵclassMap","MainMenuComponent_ng_container_4_Template_a_click_2_listener","_r7","ctx_r6","currentscope","_currentscope","v","SetMainView","activtedRoute","ability","mainviews","settingsViews","orgfeature","currentType","menuServiceSubscription","GetMainViews","mainViewsForBuilding","IsRoleBasedPermissionExists","VIEWDOCUMENTANDFOLDERS","IsOrganizationFeatureExists","Document","Ticket","Checklist","VIEWFEDERATEDMODELS","BIM","BIM_MODEL","SPACEDETAILS","Space","SPACES","ASSETDETAILS","Asset","ASSETS","OperationAndMaintenance","OperationandMaintenance","ONM","IOT","ifAnyReportPermissionExists","REPORTS","CALENDAR","IsPMDMRolePermissionExists","DOCUMENTREPORT","TICKETREPORT","CHECKLISTREPORT","TRANSMITTALREPORT","SPACEREPORT","ASSETREPORT","ONMREPORT","GetSettingViews","settingsView","dmRole","DataManager","isSystem","dmView","ProjectManager","RECYCLE_BIN","PROJECT_MANAGER_SETTINGS","view","toLocaleLowerCase","it","permissions","includes","_permission","permissionUtil","IsPermissionExists","MainMenuComponent_Template","MainMenuComponent_ng_container_2_Template","MainMenuComponent_ng_container_4_Template","cd","eScopeTypes","ngOnChanges","ɵɵNgOnChangesFeature","MainComponent_Template","MainComponent_app_main_menu_2_Template","SimpleChanges","ColumnSelectionService","ColumnsData","ColumnType","ProjectColumns","ColumnSettingsDialogComponent_div_28_Template_input_ngModelChange_6_listener","_r3","column_r1","isVisible","ColumnSettingsDialogComponent_div_28_Template_input_change_6_listener","OnChangeVisible","ColumnSettingsDialogComponent_div_28_Template_input_ngModelChange_9_listener","width","widthDisabled","columnSettingsService","isDisplayed","lstColumns","cancelEvent","subType","subscription","InitSubTypeSubscription","subTypeObservable","getAllColumns","changes","currentValue","SetColumnsData","selectedColumns","getSelectedColumns","column","selectedColumn","OnReset","getStandardColumns","OnClose","AppendDocumentCustomColumns","AppendSpaceCustomColumns","ApppendAssetCustomColumns","CUSTOM","getAssetAdditionalInformations","assetsAddlInformations","projectAssetAddlInformations","columnData","customColumnType","getSpaceAdditionalInformations","spaceAddlInformations","projectSpaceAddlInformations","getDocumentAdditionalInfos","addlInfos","addlInfo","OnSave","ValidateDialog","visibleColumns","saveColumns","projectColumn","columns","viewType","userid","subviewType","emitColumnSelection","isValid","nowidthColumn","status","target","checked","ColumnSettingsDialogComponent_Template","ColumnSettingsDialogComponent_Template_button_click_7_listener","ColumnSettingsDialogComponent_div_28_Template","ColumnSettingsDialogComponent_Template_a_click_30_listener","ColumnSettingsDialogComponent_Template_a_click_33_listener","ColumnSettingsDialogComponent_Template_a_click_36_listener","DomSanitizer","DwgViewerComponent","sanitizer","urlSafe","bypassSecurityTrustResourceUrl","DWG_VIEWER_URL","DwgViewerComponent_Template","ɵɵsanitizeResourceUrl","HttpUrlEncodingCodec","FileUtil","OfficeViewerComponent","codec","utilFile","OFFICE_APP_URL","encodeValue","getrandomString","OfficeViewerComponent_Template","SubView","SetSubViews","subviews","currentSubView","mainViewType","GetSubViews","subView","aria_controls","InnerviewComponent_Template","MainviewComponent_div_0_a_7_Template_a_click_0_listener","OnSettingDialog","MainviewComponent_div_0_app_side_panel_1_Template","MainviewComponent_div_0_a_7_Template","toggleSidepannel","IsSettingSupported","cdref","eScopeType","scopeTypes","IsSettings","disabledApps","InitScopeSubscription","CloseSettings","modal","MainviewComponent_Template","MainviewComponent_div_0_Template","MainviewComponent_Template_app_column_settings_dialog_cancelEvent_1_listener","IFCService","BIMFilterModel","FilterOperator","IFCFieldType","IFCFilterColumn","IFCFilterFields","IFCFilterModel","IFCOperatorUI","Operator","IFCCategoryModel","IFCObjectViewType","item_r6","BimmodelFilterComponent_div_24_Template_input_ngModelChange_1_listener","ifcFilter","_mv","isAllPropertiesDisabled","item_r9","ifcElementIds","item_r14","item_r15","BimmodelFilterComponent_div_41_div_17_Template_input_ngModelChange_1_listener","_r17","item_r18","BimmodelFilterComponent_div_41_Template_ng_select_ngModelChange_5_listener","_cid","BimmodelFilterComponent_div_41_Template_ng_select_ngModelChange_8_listener","ctx_r21","c2FieldId","BimmodelFilterComponent_div_41_Template_ng_select_change_8_listener","onC2FieldChange","BimmodelFilterComponent_div_41_ng_option_10_Template","BimmodelFilterComponent_div_41_Template_ng_select_ngModelChange_12_listener","_op","BimmodelFilterComponent_div_41_ng_option_14_Template","BimmodelFilterComponent_div_41_Template_input_ngModelChange_16_listener","ctx_r24","BimmodelFilterComponent_div_41_div_17_Template","BimmodelFilterComponent_div_41_Template_ng_select_ngModelChange_18_listener","selectedFloorId2","BimmodelFilterComponent_div_41_ng_option_20_Template","SecondDivName","ifcCategories","ifcFields","_c2OperatorValues","_c2valueText","_c2isRange","floors","ifcService","AddOrClicked","_c1isRange","visibleValue","documents","isApplyDisabled","_ifcViewType","currentIFCView","NONE","_c1OperatorValues","_filteroperator","_c1valueText","selectedFloorId1","bimFilter","OnApplyEvent","allIFCCategory","emitIFCViewType","presetFilterObservable","EnableFilter","bEnable","getSpaceAssetAdditionalInformations","getSpaceAssetAddlInformations","SpaceAssetAdditionalInformations","assetAddlInformations","fillFilterFields","spaceAddlInfos","assetAddlInfos","filterField","SPACE_SITENAME","STRING","SPACE_BUILTNAME","SPACE_CODE","SPACE_TYPE","SPACE_CLASSIFICATION","SPACE_NAME","SPACE_OCCUPANCY","SPACE_LEVEL","ZONE_NAME","ZONE_DESCRIPTION","addlinfo","SPACE_ADDL_KEY","addlInfoId","ASSET_CIRCUIT","ASSET_CODE","ASSET_CLASSIFICATION","ASSET_NAME","ASSET_ACCOUNTABLE","ASSET_DESCRIPTION","ASSET_SPACE_SITENAME","ASSET_SPACE_BUILTNAME","ASSET_SPACE_CODE","ASSET_SPACE_TYPE","ASSET_SPACE_LEVEL","ASSET_SPACE_NAME","ASSET_ZONE_NAME","ASSET_ADDL_INFORMATION","ifcFilterField","fillOperatorValues","onC1FieldChange","c1FieldId","_clm","isC1","ifcField","operatorUI","EQUAL","NOTEQUAL","CONTAINS","INT","RANGEIN","RANGENOTIN","isIFCPropertiesGenerated","FillIFCCategories","FillIFCFloors","getDocumentsData","counter","version","getFloors","floorsModels","innerObjects","floor","strDocuments","getCategories","categories","concat","onORClick","_fop","OR","onAndClick","AND","OnApply","_aid","_l","ValidateFilters","getFilterModel","_prflrs","OnChangeViewType","BimmodelFilterComponent_Template","BimmodelFilterComponent_Template_ng_select_ngModelChange_12_listener","BimmodelFilterComponent_Template_ng_select_ngModelChange_15_listener","BimmodelFilterComponent_Template_ng_select_change_15_listener","BimmodelFilterComponent_ng_option_17_Template","BimmodelFilterComponent_Template_ng_select_ngModelChange_19_listener","BimmodelFilterComponent_ng_option_21_Template","BimmodelFilterComponent_Template_input_ngModelChange_23_listener","BimmodelFilterComponent_div_24_Template","BimmodelFilterComponent_Template_ng_select_ngModelChange_26_listener","BimmodelFilterComponent_ng_option_28_Template","BimmodelFilterComponent_Template_a_click_32_listener","BimmodelFilterComponent_Template_a_click_37_listener","BimmodelFilterComponent_div_41_Template","BimmodelFilterComponent_Template_a_click_44_listener","BimmodelFilterComponent_Template_input_change_48_listener","BimmodelFilterComponent_Template_input_ngModelChange_48_listener","BimmodelFilterComponent_Template_input_change_52_listener","BimmodelFilterComponent_Template_input_ngModelChange_52_listener","BimmodelFilterComponent_Template_input_change_56_listener","BimmodelFilterComponent_Template_input_ngModelChange_56_listener","QueryList","BimmodelPresetComponent_div_9_Template_input_change_4_listener","projectFloor_r1","OnSelectionChange","code","presetFloorSubscription","_projectFloors","bimMOdelFilter","OnClearEvent","validateSelection","ClearFilter","checkboxes","bValidated","errorMsg","onClear","projectFloor","slice","getFloorIFCFloorMapping","projectFloors","ifcFloors","BimmodelPresetComponent_Query","BimmodelPresetComponent_div_9_Template","BimmodelPresetComponent_Template_a_click_11_listener","BimmodelPresetComponent_Template_a_click_13_listener","folderPermissions","ExplorerComponent","GetFolderTree","displayHeader","onFolderClick","permissiontype","searchedScope","queryParamMap","params","documentFolderSelectionSubscription","documentFolderSelectionObservable","folderid","getElementById","click","refreshFolderSubscription","refreshFolderObservable","AddNode","folderTree","refreshExplorerSubscription","refreshExplorerObservable","refreshFolderPermissionSubscription","refreshFolderPermissionObservable","UpdateCurrentFolderPermissions","onDoubleClickSubscription","onFolderDoubleClickObservable","folderClicked","OnChange","refreshFolderTreeSubscription","refreshFolderTreeObservable","RefreshTree","emitFolderSelection","emitOnFolderDoubleClick","projId","getFoldertree","SetFolderPath","GetSubFolderTree","subFolders","expandTree","isfetched","isTreeExpand","FOLDER","selectFolder","newNode","scopeId","VIEW","scopeType","UpdateSubFolderPermission","isparentfolderSelected","isSearchView","ExplorerComponent_Template","ExplorerComponent_div_1_Template","ExplorerComponent_Template_app_folder_tree_onFolderClick_4_listener","FolderTreeComponent_ul_1_app_folder_tree_7_Template_app_folder_tree_onFolderExpandClick_0_listener","ShowHideChildren","FolderTreeComponent_ul_1_app_folder_tree_7_Template_app_folder_tree_onFolderClick_0_listener","OnClickChild","FolderTreeComponent_ul_1_Template_span_click_3_listener","FolderTreeComponent_ul_1_Template_span_click_4_listener","FolderTreeComponent_ul_1_Template_span_click_5_listener","FolderTreeComponent_ul_1_app_folder_tree_7_Template","ɵɵpureFunctionV","workflowId","namingRulesId","statusListId","FolderTreeComponent","FolderTreeComponent_Template","FolderTreeComponent_ul_1_Template","isDocumentSearchView","SidePanelComponent_app_filter_4_Template_app_filter_OnApplyDocFilter_0_listener","mainMenuSelected","mainMenuType","isIFCViewerOn","ifcDocuments","searchViewSubscription","searchViewObservable","searchView","SubscribeBIMClose","ifcViewSubscription","IFCViewObservable","ifcDocumentsSubscription","DocumentsObservable","enableFilterSubscription","EnableFilterObservable","bimfilter","IFCBackObservable","BIMCloseObservable","bimpresetfilter","OnApplyModelFilter","emitModelFilter","OnApplyPresetFilter","bimModelFilter","emitPresetFilter","emitDocFilterView","OnClearPresetFilter","bimFilterModel","emitClearPresetFilter","SidePanelComponent_Query","SidePanelComponent_app_explorer_3_Template","SidePanelComponent_app_filter_4_Template","SidePanelComponent_app_space_asset_filter_5_Template","SidePanelComponent_Template_app_bimmodel_filter_OnApplyEvent_6_listener","SidePanelComponent_Template_app_bimmodel_preset_OnClearEvent_8_listener","SidePanelComponent_Template_app_bimmodel_preset_OnApplyEvent_8_listener","SidePanelComponent_div_10_Template","AssetsFilterModel","SpaceFilterModel","AssetAddlinformation","AssetAddlinformationValue","SpaceAddlInformationValue","SpaceStatus","SpaceAssetAttributeTypes","siteName_r13","buildingName_r14","zoneName_r16","SpaceAssetFilterComponent_ng_select_28_Template_ng_select_ngModelChange_0_listener","_r18","_znid","SpaceAssetFilterComponent_ng_select_28_ng_option_5_Template","getViewZoneNames","zoneNames","circuit_r22","SpaceAssetFilterComponent_div_29_ng_select_2_Template_ng_select_ngModelChange_0_listener","_ci","SpaceAssetFilterComponent_div_29_ng_select_2_ng_option_5_Template","getViewCircuits","SpaceAssetFilterComponent_div_29_div_1_Template","SpaceAssetFilterComponent_div_29_ng_select_2_Template","mainView","SpaceAssetFilterComponent_input_33_Template_input_ngModelChange_0_listener","_spt","SpaceAssetFilterComponent_input_34_Template_input_ngModelChange_0_listener","_spl","SpaceAssetFilterComponent_div_38_div_1_div_4_Template_input_ngModelChange_1_listener","_r38","spaceAddlInformation_r30","SpaceAssetFilterComponent_div_38_div_1_div_5_Template_input_ngModelChange_1_listener","_r42","SpaceAssetFilterComponent_div_38_div_1_div_6_Template_input_ngModelChange_1_listener","_r46","SpaceAssetFilterComponent_div_38_div_1_div_7_Template_input_change_2_listener","_r50","ctx_r48","SpaceAssetFilterComponent_div_38_div_1_div_7_Template_input_ngModelChange_2_listener","SpaceAssetFilterComponent_div_38_div_1_div_7_Template_input_change_6_listener","ctx_r53","SpaceAssetFilterComponent_div_38_div_1_div_7_Template_input_ngModelChange_6_listener","ctx_r34","SpaceAssetFilterComponent_div_38_div_1_div_8_button_4_Template_button_click_0_listener","_r61","_r58","SpaceAssetFilterComponent_div_38_div_1_div_8_Template_input_ngModelChange_1_listener","_r64","DateValue","SpaceAssetFilterComponent_div_38_div_1_div_8_button_4_Template","SpaceAssetFilterComponent_div_38_div_1_div_8_Template_button_click_6_listener","ctx_r35","myDatePickerOptions","SpaceAssetFilterComponent_div_38_div_1_div_4_Template","SpaceAssetFilterComponent_div_38_div_1_div_5_Template","SpaceAssetFilterComponent_div_38_div_1_div_6_Template","SpaceAssetFilterComponent_div_38_div_1_div_7_Template","SpaceAssetFilterComponent_div_38_div_1_div_8_Template","_SpaceAssetAttributeTypes","TEXT","NUMBER","INTEGER","DATE","SpaceAssetFilterComponent_div_38_div_1_Template","spaceAddlInformationValues","SpaceAssetFilterComponent_div_39_div_1_div_4_Template_input_ngModelChange_1_listener","_r76","assetAddlInformation_r68","SpaceAssetFilterComponent_div_39_div_1_div_5_Template_input_ngModelChange_1_listener","_r80","SpaceAssetFilterComponent_div_39_div_1_div_6_Template_input_ngModelChange_1_listener","_r84","SpaceAssetFilterComponent_div_39_div_1_div_7_Template_input_change_2_listener","_r88","ctx_r86","onChangeAssetBoolean","SpaceAssetFilterComponent_div_39_div_1_div_7_Template_input_ngModelChange_2_listener","SpaceAssetFilterComponent_div_39_div_1_div_7_Template_input_change_6_listener","ctx_r91","SpaceAssetFilterComponent_div_39_div_1_div_7_Template_input_ngModelChange_6_listener","ctx_r72","SpaceAssetFilterComponent_div_39_div_1_div_8_button_4_Template_button_click_0_listener","_r99","_r96","SpaceAssetFilterComponent_div_39_div_1_div_8_Template_input_ngModelChange_1_listener","_r102","SpaceAssetFilterComponent_div_39_div_1_div_8_button_4_Template","SpaceAssetFilterComponent_div_39_div_1_div_8_Template_button_click_6_listener","ctx_r73","SpaceAssetFilterComponent_div_39_div_1_div_4_Template","SpaceAssetFilterComponent_div_39_div_1_div_5_Template","SpaceAssetFilterComponent_div_39_div_1_div_6_Template","SpaceAssetFilterComponent_div_39_div_1_div_7_Template","SpaceAssetFilterComponent_div_39_div_1_div_8_Template","ctx_r67","SpaceAssetFilterComponent_div_39_div_1_Template","assetAddlInformationValues","filterservice","siteNames","buildingNames","circuits","dateFormat","alignSelectorRight","InitFilterModel","addlInfoValue","fillSiteNames","fillBuildingNames","fillZoneNames","fillCircuits","getCircuits","_circuits","getViewSiteNames","_siteNames","isView","getViewBuildingNames","_buildingNames","_zoneNames","getSpaceZoneNames","getSpaceBuildingNames","getSpaceSiteNames","realAssetAddlInformations","assetAddlInformationValue","assetAddlInformation","spaceAddlInformation","realSpaceAddlInformations","spaceAddlInformationValue","fillSpaceAdditionalInformations","fillAssetAdditionalInformations","_searchview","_st","ACTIVE","emitSpaceAssetFilterView","assetAddlInformationWithValues","singleDate","jsDate","getTime","toString","spaceAddlInformationWithValues","_ssnid","_bnid","SpaceAssetFilterComponent_Template","SpaceAssetFilterComponent_Template_ng_select_ngModelChange_10_listener","SpaceAssetFilterComponent_ng_option_15_Template","SpaceAssetFilterComponent_Template_ng_select_ngModelChange_20_listener","SpaceAssetFilterComponent_ng_option_25_Template","SpaceAssetFilterComponent_div_27_Template","SpaceAssetFilterComponent_ng_select_28_Template","SpaceAssetFilterComponent_div_29_Template","SpaceAssetFilterComponent_div_31_Template","SpaceAssetFilterComponent_div_32_Template","SpaceAssetFilterComponent_input_33_Template","SpaceAssetFilterComponent_input_34_Template","SpaceAssetFilterComponent_div_36_Template","SpaceAssetFilterComponent_div_37_Template","SpaceAssetFilterComponent_div_38_Template","SpaceAssetFilterComponent_div_39_Template","SpaceAssetFilterComponent_Template_a_click_41_listener","SpaceAssetFilterComponent_Template_a_click_43_listener","AssetJSStoreService","ChecklistJsstoreService","ProjectJSStoreService","SpaceJSStoreService","TicketJSStoreService","MobileSyncService","MobilesyncComponent_div_5_Template_a_click_7_listener","moveToNextPage","MobilesyncComponent_div_5_Template_a_click_9_listener","NavigateToLoginPage","MobilesyncComponent_div_6_Template_a_click_8_listener","MobilesyncComponent_div_6_Template_a_click_10_listener","MobilesyncComponent_div_7_Template_a_click_8_listener","_r12","MobilesyncComponent_div_8_Template_a_click_6_listener","_r14","MobilesyncComponent_div_8_Template_a_click_8_listener","OnClickSync","mobileSyncService","projectJSStoreService","checklistJsstoreService","spaceJSStoreService","assetJSStoreService","ticketJSStoreService","Issyncfailed","IsproceedwithprevsyncData","has","isexistinguser","ClearTablesandSync","InitSynchronization","getProjects","getSpaces","getAssets","getIRTemplates","getFlowStatuses","syncUserChecklistsFromIndexDbToServer","syncTickets","ClearSpacesTable","ClearAssetsTable","ClearProjectsTable","ClearAllChecklistTables","ClearAllTicketTables","GetProjects","_projects","AddProjects","setSynchronizationFailed","GetChecklistTags","_checklisttags","addChecklistTags","GetChecklists","_checklists","addChecklistTemplate","GetUserChecklists","ClearUserChecklistsFromIndexDB","_userchecklists","addUserChecklists","removeCookie","mb","getConnectionStatus","res","GetSpaces","_spaces","AddSpaces","GetAssets","_assets","AddAssets","GetIRTemplates","_irTemplates","AddIrTemplates","GetFlowStatuses","_statuses","AddStatuses","MobilesyncComponent_Template","MobilesyncComponent_div_4_Template","MobilesyncComponent_div_5_Template","MobilesyncComponent_div_6_Template","MobilesyncComponent_div_7_Template","MobilesyncComponent_div_8_Template","BehaviorSubject","Observable","tap","PermissionHelper","AbilityService","HttpParams","abilityService","apiURL","loggedInStatus","login","culture","userName","password","cparams","put","access","isAccessDenied","EmitLoggedinStatus","getCookie","setCookie","secureCookieFlag","userModel","startsWith","_a","StopConnectionStatusUpdate","uploadJobs","RemoveAllRules","removeAttribute","getClientJsonData","default","rules","permision","getPermissionModel","rule","actions","subject","AddRules","next","asObservable","currentUser","accessToken","refreshToken","post","getLanguagePreference","SendForgotPasswordEmail","ɵɵinject","factory","ɵfac","providedIn","ReactiveFormsModule","UntypedFormGroup","UntypedFormControl","UntypedFormBuilder","Validators","LoginInfo","ToastrService","LoginJSStoreService","LoginComponent_div_3_Template_div_click_0_listener","Login","LoginComponent_form_6_div_1_Template","LoginComponent_form_6_div_2_Template","LoginComponent_form_6_div_5_Template","LoginComponent_form_6_div_8_Template","LoginComponent_form_6_input_9_Template","LoginComponent_form_6_div_10_Template","LoginComponent_form_6_input_11_Template","loginForm","submitted","f","organizationname","errors","isForgotPwdUI","LoginComponent_div_7_Template_a_click_3_listener","_r16","OnBackToLogin","LoginComponent_div_7_Template_a_click_6_listener","OnForgotPasswordSubmit","LoginComponent_div_8_Template_a_click_6_listener","LoginComponent_div_9_div_6_Template_a_click_1_listener","_r22","OnForgotPasswordClick","LoginComponent_div_9_Template_input_ngModelChange_3_listener","isRememberMe","LoginComponent_div_9_div_6_Template","fb","organisationService","userservice","toaster","loginJSStoreService","selectedLanguage","requestSent","isForgotPwdSucess","isExisitingUser","expireInDays","UnlockUser","_res","success","mobile","setMobileValue","isloggedIn","setLanguagePreference","loginInfo","getLocalStorageItem","URL","InitForm","controls","group","required","LoginUser","setLocalStorage","removeLocalStorage","saveLoggedInUserToIndexDB","Object","assign","setExpiryDays","notificationBeforeDays","NavigateToReturnUrl","handleLoginError","errorMessage","GetURL","returnURL","SERVERURL","valid","environmentVar","logInFromIndexDB","organizationid","defaultUrl","navigateByUrl","returnUrl","OnForceDisconnect","sendForceDisconnectEmail","openWebsite","open","addLangs","getBrowserCultureLang","browserLang","getDefaultLang","SetPasswordFieldValidation","isfieldvisible","pwdControl","setValidators","updateValueAndValidity","currentDate","expiryDate","getDate","Math","UTC","getFullYear","getMonth","getIsUserExistsInIndexDB","addLoggedInUser","getLoggedInUser","LoginComponent_Template","LoginComponent_div_3_Template","LoginComponent_div_5_Template","LoginComponent_form_6_Template","LoginComponent_div_7_Template","LoginComponent_div_8_Template","LoginComponent_div_9_Template","LoginComponent_Template_img_click_23_listener","LoginComponent_Template_img_click_27_listener","LoginComponent_Template_img_click_31_listener","LoginComponent_Template_a_click_61_listener","LoginComponent_Template_button_click_71_listener","LoginComponent_Template_a_click_83_listener","ɵɵsanitizeUrl","ipAddress","osName","ɵɵtextInterpolate4","OauthComponent_Template","jsQR","ChecklistResponseService","CheckListChecks","UserChecklist","BlobFile","CheckTypes","ChecklistControlsComponent_div_0_Template_textarea_ngModelChange_7_listener","check","answer","userChecklist","isCompleted","ɵɵattribute","ChecklistControlsComponent_div_1_Template_input_ngModelChange_5_listener","_r10","ɵɵtextInterpolate2","checklistNumberSettings","minValue","maxValue","item_r12","isListValueSelected","ChecklistControlsComponent_div_2_Template_select_ngModelChange_7_listener","ChecklistControlsComponent_div_2_option_8_Template","checkValues","ChecklistControlsComponent_div_3_div_8_Template_input_change_1_listener","item_r16","changeCheckbox","getCheckboxId","i_r17","checkIndex","isCheckboxValueSelected","ChecklistControlsComponent_div_3_div_8_Template","ChecklistControlsComponent_div_4_div_8_Template_input_change_1_listener","item_r21","changeRadio","getRadioId","i_r22","isRadioValueSelected","ChecklistControlsComponent_div_4_div_8_Template","ChecklistControlsComponent_div_5_div_8_a_1_Template_a_click_0_listener","_r30","ShowQrCodeScanner","ChecklistControlsComponent_div_5_div_8_a_1_Template","ctx_r26","isScannerEnabled","ChecklistControlsComponent_div_5_div_9_a_2_Template_a_click_0_listener","_r33","removeQrCode","ChecklistControlsComponent_div_5_div_9_a_2_Template","ChecklistControlsComponent_div_5_div_7_Template","ChecklistControlsComponent_div_5_div_8_Template","ChecklistControlsComponent_div_5_div_9_Template","ChecklistControlsComponent_div_6_div_1_Template_input_change_10_listener","_r37","ctx_r36","readFile","ChecklistControlsComponent_div_6_div_2_a_7_Template_a_click_0_listener","_r41","ctx_r40","downloadCheckDocument","ChecklistControlsComponent_div_6_div_2_a_7_Template_a_click_8_listener","ctx_r42","removeFile","ctx_r38","documentName","documentSize","ChecklistControlsComponent_div_6_div_2_div_8_Template_a_click_7_listener","_r44","ctx_r43","ctx_r39","ChecklistControlsComponent_div_6_div_2_a_7_Template","ChecklistControlsComponent_div_6_div_2_div_8_Template","ChecklistControlsComponent_div_6_div_1_Template","ChecklistControlsComponent_div_6_div_2_Template","ChecklistControlsComponent","responseservice","sasURLAndToken","AddFilesToUploadEvent","removeDocumentsEvent","scanning","scopeSubscription","userchecklistid","checkid","indexOf","getQRCodeImageUrl","qrCode","objectURL","bypassSecurityTrustUrl","input","files","file","reader","FileReader","onload","AddFilesToUpload","readAsDataURL","val","tempFile","setFile","setSASUrl","createBlobFileObject","getGUID","getSize","IsDocumentUpdated","relatedCheckIndex","canvasElement","hidden","canvasContext","getContext","video","createElement","navigator","mediaDevices","getUserMedia","facingMode","stream","srcObject","tracks","getVideoTracks","play","requestAnimationFrame","tick","bind","drawLine","begin","end","color","beginPath","moveTo","y","lineTo","lineWidth","strokeStyle","stroke","readyState","HAVE_ENOUGH_DATA","height","videoHeight","videoWidth","drawImage","imageData","getImageData","topLeftCorner","topRightCorner","bottomRightCorner","bottomLeftCorner","SetQRcodeValue","_code","noOfDigitsToIgnore","noOfDigitsToIdentify","substr","offCamera","track","ChecklistControlsComponent_Template","ChecklistControlsComponent_div_0_Template","ChecklistControlsComponent_div_1_Template","ChecklistControlsComponent_div_2_Template","ChecklistControlsComponent_div_3_Template","ChecklistControlsComponent_div_4_Template","ChecklistControlsComponent_div_5_Template","ChecklistControlsComponent_div_6_Template","LIST","CHECKBOX","RADIO","QRCODE","FileStorageService","ChecklistFormDetailsComponent_div_7_input_1_Template_input_ngModelChange_0_listener","ChecklistFormDetailsComponent_div_7_input_1_Template","isNamingRuleEnabled","ɵɵsanitizeHtml","ChecklistFormDetailsComponent_div_16_div_9_Template_app_checklist_controls_AddFilesToUploadEvent_9_listener","ChecklistFormDetailsComponent_div_16_div_9_Template_app_checklist_controls_removeDocumentsEvent_9_listener","relatedCheck_r13","description","checkIndex_r9","relatedCheckIndex_r14","ChecklistFormDetailsComponent_div_16_span_1_Template","ChecklistFormDetailsComponent_div_16_div_2_Template","ChecklistFormDetailsComponent_div_16_Template_app_checklist_controls_AddFilesToUploadEvent_8_listener","ChecklistFormDetailsComponent_div_16_Template_app_checklist_controls_removeDocumentsEvent_8_listener","ChecklistFormDetailsComponent_div_16_div_9_Template","check_r8","isMandatory","relatedChecks","ChecklistFormDetailsComponent_a_21_Template_a_click_0_listener","_r23","saveDetails","saveButtonDisabled","ChecklistFormDetailsComponent_a_22_Template_a_click_0_listener","_r25","ChecklistFormDetailsComponent","fileStorageService","closeEvent","saveCallback","documentsToUpload","removeDocuments","loadSassToken","openDate","refreshDropdownsByClassName","closeDetailsPane","showBodyOverflow","getSasToken","baseURL","blobSASToken","closeAndCompleteDetailsPane","isFormValid","saveAndClose","clearControls","checkModels","isValidCheck","isValidRelatedCheck","NumberCheckLists","showError","isNaN","blobFile","setSize","setGUID","refreshTooltips","getFileTotalSize","storageSpace","updateStorageSpace","EmitSave","deleteFile","doc","uploadFileInBlocks","uploadedFile","ChecklistFormDetailsComponent_Template","ChecklistFormDetailsComponent_div_7_Template","ChecklistFormDetailsComponent_span_8_Template","ChecklistFormDetailsComponent_Template_textarea_ngModelChange_14_listener","ChecklistFormDetailsComponent_div_16_Template","ChecklistFormDetailsComponent_Template_a_click_19_listener","ChecklistFormDetailsComponent_a_21_Template","ChecklistFormDetailsComponent_a_22_Template","ActivatedRouteSnapshot","EMPTY","catchError","appURL","paramMap","tagid","tag","getCheckListTag","checklistid","checklist","getChecklistTemplate","checks","getChecklistChecks","fromEvent","debounceTime","distinctUntilChanged","ProjectOnMService","PPTemplateColumns","PPTemplateFilterModel","SortOrder","SortUtil","AssignPptemplatesComponent_button_65_Template_button_click_0_listener","AssignPptemplatesComponent_button_83_Template_button_click_0_listener","_r13","AssignPptemplatesComponent_div_87_button_14_Template_button_click_0_listener","AssignPptemplatesComponent_div_87_Template_a_click_5_listener","sortBy","_sortOrder","ASC","_ppTemplateColumns","SGSTARTDATE","AssignPptemplatesComponent_div_87_Template_a_click_7_listener","DESC","AssignPptemplatesComponent_div_87_Template_input_ngModelChange_11_listener","sgStartDateModel","onDateChanged","AssignPptemplatesComponent_div_87_button_14_Template","AssignPptemplatesComponent_div_87_Template_button_click_16_listener","AssignPptemplatesComponent_div_89_div_39_button_10_Template_button_click_0_listener","_r29","AssignPptemplatesComponent_div_89_div_39_Template_input_ngModelChange_7_listener","_r32","item_r24","AssignPptemplatesComponent_div_89_div_39_button_10_Template","AssignPptemplatesComponent_div_89_div_39_Template_button_click_12_listener","AssignPptemplatesComponent_div_89_Template_input_ngModelChange_3_listener","_r36","AssignPptemplatesComponent_div_89_Template_input_change_3_listener","ctx_r37","ChangeSelected","AssignPptemplatesComponent_div_89_div_39_Template","startDateEditable","startDate","endDate","AssignPptemplatesComponent_button_91_Template_button_click_0_listener","_r39","AssignPptemplatesComponent","projectOnmService","isLaterOption","isAsset","ppTemplates","SaveLaterEvent","SaveNowEvent","filteredppTemplates","filterAndSortOptions","sortUtil","ppstartDate","ppendDate","bindKeyUpEvent","elements","ppname","ppdesc","ele","text","applyFilter","columnname","_ppstartdate","_ppenddate","_sgstartdate","filteredTemplate","ppTemplate","_d","_company","String","valueOf","order","sortcolumn","obd","NAME","sortByProperty","COMPANY","PPSTARTDATE","sort","reverse","PPENDDATE","simpleChange","sgStartDate","isRange","formatted","epoc","agStartDate","groupId","fTemplate","blater","isValidModel","selectedPPTemplates","bValid","message","startdate","enddate","AssignPptemplatesComponent_Query","AssignPptemplatesComponent_Template_a_click_20_listener","AssignPptemplatesComponent_Template_a_click_22_listener","AssignPptemplatesComponent_Template_input_ngModelChange_25_listener","AssignPptemplatesComponent_Template_a_click_32_listener","AssignPptemplatesComponent_Template_a_click_34_listener","AssignPptemplatesComponent_Template_input_ngModelChange_37_listener","AssignPptemplatesComponent_Template_a_click_44_listener","AssignPptemplatesComponent_Template_a_click_46_listener","AssignPptemplatesComponent_Template_input_ngModelChange_49_listener","AssignPptemplatesComponent_Template_a_click_56_listener","AssignPptemplatesComponent_Template_a_click_58_listener","AssignPptemplatesComponent_Template_input_ngModelChange_62_listener","AssignPptemplatesComponent_button_65_Template","AssignPptemplatesComponent_Template_button_click_67_listener","_r40","AssignPptemplatesComponent_Template_a_click_74_listener","AssignPptemplatesComponent_Template_a_click_76_listener","AssignPptemplatesComponent_Template_input_ngModelChange_80_listener","AssignPptemplatesComponent_button_83_Template","AssignPptemplatesComponent_Template_button_click_85_listener","AssignPptemplatesComponent_div_87_Template","AssignPptemplatesComponent_div_89_Template","AssignPptemplatesComponent_button_91_Template","AssignPptemplatesComponent_Template_button_click_92_listener","dataFromApi","PermissionUtil","_permissionType","_orgfeature","_mainViewType","_fileTypes","toastr","onLoad","offlineonlineSubscriber","hideTooltips","currentScopeSubscription","ngAfterViewInit","loadPLUploadLocalizationScript","refresh","modelPopup","controlId","show","msg","warning","successMsg","informationMsg","handleError","defaultMsg","refreshDropdown","refreshDropdownWithValue","cssClass","setDropdownValue","initDateRange","datepicker","autoclose","format","each","unbind","parents","focus","tooltip","on","InitSelectPicker","script","srcUrl","currentLang","src","appendChild","_feature","HideBodyOverflow","addClass","removeClass","IsRolePermissionExists","parsedText","dom","DOMParser","parseFromString","decodedString","textContent","AssetService","EasyWebAssetModel","AssetsEasywebComponent_button_28_Template_button_click_0_listener","AssetsEasywebComponent","assetService","asset","isEasyWebLoaded","easyWebAssetModel","dateFattura","myDatePickerOptionsFilter","getEasyWebInformation","getAssetEasyWebInformation","d","dataFattura","AssetsEasywebComponent_Template","AssetsEasywebComponent_Template_input_ngModelChange_11_listener","nFattura","AssetsEasywebComponent_Template_input_ngModelChange_17_listener","fornitore","AssetsEasywebComponent_Template_input_ngModelChange_25_listener","AssetsEasywebComponent_button_28_Template","AssetsEasywebComponent_Template_button_click_30_listener","AssetsEasywebComponent_Template_input_ngModelChange_42_listener","tipo","AssetsEasywebComponent_Template_input_ngModelChange_48_listener","anno","AssetsEasywebComponent_Template_input_ngModelChange_55_listener","causale","AssetsEasywebComponent_Template_input_ngModelChange_61_listener","numero","AssetsEasywebComponent_Template_input_ngModelChange_72_listener","imponibile","AssetsEasywebComponent_Template_input_ngModelChange_78_listener","sconto","AssetsEasywebComponent_Template_input_ngModelChange_85_listener","aliquotaIva","AssetsEasywebComponent_Template_input_ngModelChange_91_listener","ivaTotale","AssetsEasywebComponent_Template_input_ngModelChange_97_listener","ivaIndetraibile","AssetsEasywebComponent_Template_input_ngModelChange_105_listener","importoTotale","AssetsEasywebComponent_Template_input_ngModelChange_112_listener","costoEffettivo","Subject","AssetColumns","FilterColumnType","MatchStatus","OnmStatus","SpaceAssetSource","AssetsListComponent_div_4_Template_a_click_2_listener","OnExpandCollapseAll","AssetsListComponent_div_4_Template_input_ngModelChange_6_listener","isSelectAll","AssetsListComponent_div_4_Template_input_change_6_listener","onSelectAll","isCollapsedAll","AssetsListComponent_div_5_div_1_a_3_Template_a_click_0_listener","column_r10","GetAssetsBySorting","sortDirection","AssetsListComponent_div_5_div_1_a_4_Template_a_click_0_listener","_r31","AssetsListComponent_div_5_div_1_a_5_Template_a_click_0_listener","_r34","AssetsListComponent_div_5_div_1_a_6_Template_a_click_0_listener","AssetsListComponent_div_5_div_1_a_3_Template","AssetsListComponent_div_5_div_1_a_4_Template","AssetsListComponent_div_5_div_1_a_5_Template","AssetsListComponent_div_5_div_1_a_6_Template","classvalue","AssetsListComponent_div_5_div_10_input_1_Template_input_ngModelChange_0_listener","filterColumnValue","AssetsListComponent_div_5_div_10_input_1_Template_input_keyup_0_listener","ctx_r59","ApplyFiltersOnKeyUp","AssetsListComponent_div_5_div_10_ng_select_2_Template_ng_select_change_0_listener","_r63","ctx_r61","onFilterDropdownChange","AssetsListComponent_div_5_div_10_ng_select_2_Template_ng_select_ngModelChange_0_listener","dropDownPosition","AssetsListComponent_div_5_div_10_ng_select_3_Template_ng_select_change_0_listener","_r69","AssetsListComponent_div_5_div_10_ng_select_3_Template_ng_select_ngModelChange_0_listener","ctx_r49","buildingName_r74","AssetsListComponent_div_5_div_10_ng_select_4_Template_ng_select_change_0_listener","_r77","ctx_r75","AssetsListComponent_div_5_div_10_ng_select_4_Template_ng_select_ngModelChange_0_listener","AssetsListComponent_div_5_div_10_ng_select_4_ng_option_5_Template","ctx_r50","zoneName_r82","AssetsListComponent_div_5_div_10_ng_select_5_Template_ng_select_change_0_listener","_r85","ctx_r83","AssetsListComponent_div_5_div_10_ng_select_5_Template_ng_select_ngModelChange_0_listener","AssetsListComponent_div_5_div_10_ng_select_5_ng_option_5_Template","ctx_r51","siteName_r90","AssetsListComponent_div_5_div_10_ng_select_6_Template_ng_select_change_0_listener","_r93","AssetsListComponent_div_5_div_10_ng_select_6_Template_ng_select_ngModelChange_0_listener","AssetsListComponent_div_5_div_10_ng_select_6_ng_option_5_Template","ctx_r52","circuit_r98","AssetsListComponent_div_5_div_10_ng_select_7_Template_ng_select_change_0_listener","_r101","ctx_r99","AssetsListComponent_div_5_div_10_ng_select_7_Template_ng_select_ngModelChange_0_listener","AssetsListComponent_div_5_div_10_ng_select_7_ng_option_5_Template","AssetsListComponent_div_5_div_10_ng_select_8_Template_ng_select_ngModelChange_0_listener","_r107","AssetsListComponent_div_5_div_10_ng_select_8_Template_ng_select_change_0_listener","ctx_r108","AssetsListComponent_div_5_div_10_div_9_button_4_Template_button_click_0_listener","_r114","_r111","AssetsListComponent_div_5_div_10_div_9_Template_input_ngModelChange_1_listener","_r117","ctx_r118","AssetsListComponent_div_5_div_10_div_9_button_4_Template","AssetsListComponent_div_5_div_10_div_9_Template_button_click_6_listener","ctx_r55","AssetsListComponent_div_5_div_10_input_1_Template","AssetsListComponent_div_5_div_10_ng_select_2_Template","AssetsListComponent_div_5_div_10_ng_select_3_Template","AssetsListComponent_div_5_div_10_ng_select_4_Template","AssetsListComponent_div_5_div_10_ng_select_5_Template","AssetsListComponent_div_5_div_10_ng_select_6_Template","AssetsListComponent_div_5_div_10_ng_select_7_Template","AssetsListComponent_div_5_div_10_ng_select_8_Template","AssetsListComponent_div_5_div_10_div_9_Template","filterColumnType","columnTypes","assetColumns","SOURCE","ASSET_COMPARE_LOCATION","BUILDINGNAME","SPACEZONE","SITENAME","DISCIPLINE","STATUS","LASTMODIFIED","AssetsListComponent_div_5_div_11_input_1_Template_input_ngModelChange_0_listener","_r127","AssetsListComponent_div_5_div_11_input_1_Template_input_keyup_0_listener","ctx_r128","AssetsListComponent_div_5_div_11_div_2_button_4_Template_button_click_0_listener","_r133","_r130","AssetsListComponent_div_5_div_11_div_2_Template_input_ngModelChange_1_listener","_r136","ctx_r137","onCustomDateChanged","AssetsListComponent_div_5_div_11_div_2_button_4_Template","AssetsListComponent_div_5_div_11_div_2_Template_button_click_6_listener","ctx_r123","AssetsListComponent_div_5_div_11_ng_select_3_Template_ng_select_change_0_listener","_r143","ctx_r141","onCustomFilterDropdownChange","AssetsListComponent_div_5_div_11_ng_select_3_Template_ng_select_ngModelChange_0_listener","ctx_r124","AssetsListComponent_div_5_div_11_input_1_Template","AssetsListComponent_div_5_div_11_div_2_Template","AssetsListComponent_div_5_div_11_ng_select_3_Template","DATEPCIKER","DROPDOWN","AssetsListComponent_div_5_div_1_Template","AssetsListComponent_div_5_div_2_Template","AssetsListComponent_div_5_div_3_Template","AssetsListComponent_div_5_div_4_Template","AssetsListComponent_div_5_div_5_Template","AssetsListComponent_div_5_div_6_Template","AssetsListComponent_div_5_div_7_Template","AssetsListComponent_div_5_div_8_Template","AssetsListComponent_div_5_div_9_Template","AssetsListComponent_div_5_div_10_Template","AssetsListComponent_div_5_div_11_Template","colspan","LINKED_MODELS","ACCESS_TO_CHECKLIST","ACCESS_TO_DOCUMENT","ACCESS_TO_TICKET","ACCESS_PLANNED_PROCEDURE","ONMTICKETS","PHOTO_AVAILABLE","AssetsListComponent_div_7_div_3_a_2_Template_a_click_0_listener","_r156","asset_r148","ctx_r154","OnExpandAsset","isCollapsed","AssetsListComponent_div_7_div_3_a_2_Template","AssetsListComponent_div_7_div_3_Template_input_ngModelChange_4_listener","_r160","AssetsListComponent_div_7_div_3_Template_input_change_4_listener","ctx_r161","updateSelectedAssets","ctx_r150","isActiveOnly","childAssets","assetHistories","discipline","parentAsset","assetClassification","assetDescription","space","siteName","buildingName","history","zone","spaceName","zoneDescription","assetName","assetAccountable","assetUpdateCode","spaceType","level","lastModified","AssetsListComponent_div_7_div_4_div_22_div_2_Template","AssetsListComponent_div_7_div_4_div_22_div_3_Template","AssetsListComponent_div_7_div_4_div_22_div_4_Template","source","ctx_r182","assetSource","CSV","MANUAL","AssetsListComponent_div_7_div_4_div_23_div_2_Template","AssetsListComponent_div_7_div_4_div_23_div_3_Template","AssetsListComponent_div_7_div_4_div_23_div_4_Template","ctx_r183","assetStatus","DEACTIVATED","ARCHIVED","AssetsListComponent_div_7_div_4_div_24_div_2_Template","checklists","AssetsListComponent_div_7_div_4_div_25_div_2_Template","AssetsListComponent_div_7_div_4_div_25_div_3_Template","AssetsListComponent_div_7_div_4_div_25_div_4_Template","matchedSpace","ctx_r185","_matchStatus","NOTYETMATCHED","SPACENOTMATCH","SPACEMATCHED","AssetsListComponent_div_7_div_4_div_26_div_2_Template_div_click_0_listener","_r227","ctx_r225","showDocuments","document_r229","AssetsListComponent_div_7_div_4_div_26_div_3_li_2_Template","AssetsListComponent_div_7_div_4_div_26_div_2_Template","AssetsListComponent_div_7_div_4_div_26_div_3_Template","ɵɵstyleProp","openTickets","totalTickets","AssetsListComponent_div_7_div_4_div_28_div_3_Template","AssetsListComponent_div_7_div_4_div_28_div_4_Template","AssetsListComponent_div_7_div_4_div_28_div_5_Template","onmStatus","ctx_r188","onmstatus","NOTICKETS","column_r164","SOMEOPENTICKETS","ALLCLOSEDTICKETS","AssetsListComponent_div_7_div_4_div_29_div_2_Template","photos","element_r243","AssetsListComponent_div_7_div_4_div_30_div_1_Template_div_click_1_listener","_r246","ctx_r244","showIconDetails","AssetsListComponent_div_7_div_4_div_30_div_1_li_8_Template","ctx_r240","getUniqueIfcElements","ifcElements","AssetsListComponent_div_7_div_4_div_30_div_1_Template","AssetsListComponent_div_7_div_4_div_30_div_2_Template","isModelMapped","ctx_r191","getAddlColumnValue","AssetsListComponent_div_7_div_4_div_5_Template","AssetsListComponent_div_7_div_4_div_6_Template","AssetsListComponent_div_7_div_4_div_7_Template","AssetsListComponent_div_7_div_4_div_8_Template","AssetsListComponent_div_7_div_4_div_9_Template","AssetsListComponent_div_7_div_4_div_10_Template","AssetsListComponent_div_7_div_4_div_11_Template","AssetsListComponent_div_7_div_4_div_12_Template","AssetsListComponent_div_7_div_4_div_13_Template","AssetsListComponent_div_7_div_4_div_14_Template","AssetsListComponent_div_7_div_4_div_15_Template","AssetsListComponent_div_7_div_4_div_16_Template","AssetsListComponent_div_7_div_4_div_17_Template","AssetsListComponent_div_7_div_4_div_18_Template","AssetsListComponent_div_7_div_4_div_19_Template","AssetsListComponent_div_7_div_4_div_20_Template","AssetsListComponent_div_7_div_4_div_21_Template","AssetsListComponent_div_7_div_4_div_22_Template","AssetsListComponent_div_7_div_4_div_23_Template","AssetsListComponent_div_7_div_4_div_24_Template","AssetsListComponent_div_7_div_4_div_25_Template","AssetsListComponent_div_7_div_4_div_26_Template","AssetsListComponent_div_7_div_4_div_27_Template","AssetsListComponent_div_7_div_4_div_28_Template","AssetsListComponent_div_7_div_4_div_29_Template","AssetsListComponent_div_7_div_4_div_30_Template","AssetsListComponent_div_7_div_4_div_31_Template","ctx_r151","CODE","PARENT","CLASSIFICATION","ASSETDESCRIPTION","SPACECODE","SPACENAME","SPACEZONEDESCRIPTION","ASSETNAME","ASSETACCOUNTABLE","UPDATECODE","SPACETYPE","SPACELEVEL","AssetsListComponent_div_7_div_5_div_1_div_2_Template_input_ngModelChange_2_listener","_r257","childAsset_r252","AssetsListComponent_div_7_div_5_div_1_div_2_Template_input_change_2_listener","ctx_r258","ctx_r253","ɵɵpropertyInterpolate1","AssetsListComponent_div_7_div_5_div_1_div_3_div_22_div_2_Template","AssetsListComponent_div_7_div_5_div_1_div_3_div_22_div_3_Template","AssetsListComponent_div_7_div_5_div_1_div_3_div_22_div_4_Template","ctx_r278","AssetsListComponent_div_7_div_5_div_1_div_3_div_23_div_2_Template","AssetsListComponent_div_7_div_5_div_1_div_3_div_23_div_3_Template","AssetsListComponent_div_7_div_5_div_1_div_3_div_23_div_4_Template","ctx_r279","AssetsListComponent_div_7_div_5_div_1_div_3_div_24_div_2_Template","AssetsListComponent_div_7_div_5_div_1_div_3_div_25_div_2_Template","AssetsListComponent_div_7_div_5_div_1_div_3_div_25_div_3_Template","AssetsListComponent_div_7_div_5_div_1_div_3_div_25_div_4_Template","ctx_r281","AssetsListComponent_div_7_div_5_div_1_div_3_div_26_div_2_Template_div_click_0_listener","_r323","ctx_r321","document_r325","AssetsListComponent_div_7_div_5_div_1_div_3_div_26_div_3_li_2_Template","AssetsListComponent_div_7_div_5_div_1_div_3_div_26_div_2_Template","AssetsListComponent_div_7_div_5_div_1_div_3_div_26_div_3_Template","AssetsListComponent_div_7_div_5_div_1_div_3_div_28_div_3_Template","AssetsListComponent_div_7_div_5_div_1_div_3_div_28_div_4_Template","AssetsListComponent_div_7_div_5_div_1_div_3_div_28_div_5_Template","ctx_r284","AssetsListComponent_div_7_div_5_div_1_div_3_div_29_div_2_Template","element_r339","AssetsListComponent_div_7_div_5_div_1_div_3_div_30_div_1_Template_div_click_1_listener","_r342","ctx_r340","AssetsListComponent_div_7_div_5_div_1_div_3_div_30_div_1_li_8_Template","ctx_r337","AssetsListComponent_div_7_div_5_div_1_div_3_div_30_div_1_Template","ctx_r287","column_r260","AssetsListComponent_div_7_div_5_div_1_div_3_div_5_Template","AssetsListComponent_div_7_div_5_div_1_div_3_div_6_Template","AssetsListComponent_div_7_div_5_div_1_div_3_div_7_Template","AssetsListComponent_div_7_div_5_div_1_div_3_div_8_Template","AssetsListComponent_div_7_div_5_div_1_div_3_div_9_Template","AssetsListComponent_div_7_div_5_div_1_div_3_div_10_Template","AssetsListComponent_div_7_div_5_div_1_div_3_div_11_Template","AssetsListComponent_div_7_div_5_div_1_div_3_div_12_Template","AssetsListComponent_div_7_div_5_div_1_div_3_div_13_Template","AssetsListComponent_div_7_div_5_div_1_div_3_div_14_Template","AssetsListComponent_div_7_div_5_div_1_div_3_div_15_Template","AssetsListComponent_div_7_div_5_div_1_div_3_div_16_Template","AssetsListComponent_div_7_div_5_div_1_div_3_div_17_Template","AssetsListComponent_div_7_div_5_div_1_div_3_div_18_Template","AssetsListComponent_div_7_div_5_div_1_div_3_div_19_Template","AssetsListComponent_div_7_div_5_div_1_div_3_div_20_Template","AssetsListComponent_div_7_div_5_div_1_div_3_div_21_Template","AssetsListComponent_div_7_div_5_div_1_div_3_div_22_Template","AssetsListComponent_div_7_div_5_div_1_div_3_div_23_Template","AssetsListComponent_div_7_div_5_div_1_div_3_div_24_Template","AssetsListComponent_div_7_div_5_div_1_div_3_div_25_Template","AssetsListComponent_div_7_div_5_div_1_div_3_div_26_Template","AssetsListComponent_div_7_div_5_div_1_div_3_div_27_Template","AssetsListComponent_div_7_div_5_div_1_div_3_div_28_Template","AssetsListComponent_div_7_div_5_div_1_div_3_div_29_Template","AssetsListComponent_div_7_div_5_div_1_div_3_div_30_Template","AssetsListComponent_div_7_div_5_div_1_div_3_div_31_Template","ctx_r254","AssetsListComponent_div_7_div_5_div_1_div_2_Template","AssetsListComponent_div_7_div_5_div_1_div_3_Template","ctx_r251","isUnassignedAssets","gridColumns","AssetsListComponent_div_7_div_5_div_1_Template","AssetsListComponent_div_7_div_3_Template","AssetsListComponent_div_7_div_4_Template","AssetsListComponent_div_7_div_5_Template","AssetsListComponent_div_8_div_7_div_1_Template_a_click_5_listener","_r353","column_r349","ctx_r351","AssetsListComponent_div_8_div_7_div_1_Template_a_click_9_listener","ctx_r354","AssetsListComponent_div_8_div_7_div_1_Template","ctx_r348","AssetsListComponent_div_8_Template_a_click_4_listener","_r358","ctx_r357","closeMobileSorting","AssetsListComponent_div_8_div_7_Template","column_r360","AssetsListComponent_div_9_div_10_input_4_Template_input_ngModelChange_0_listener","_r369","AssetsListComponent_div_9_div_10_ng_select_5_Template_ng_select_ngModelChange_0_listener","_r373","ctx_r363","AssetsListComponent_div_9_div_10_ng_select_6_Template_ng_select_ngModelChange_0_listener","_r377","ctx_r364","AssetsListComponent_div_9_div_10_div_7_button_4_Template_button_click_0_listener","_r382","_r379","AssetsListComponent_div_9_div_10_div_7_Template_input_ngModelChange_1_listener","_r385","AssetsListComponent_div_9_div_10_div_7_button_4_Template","AssetsListComponent_div_9_div_10_div_7_Template_button_click_6_listener","ctx_r365","AssetsListComponent_div_9_div_10_div_2_Template","AssetsListComponent_div_9_div_10_input_4_Template","AssetsListComponent_div_9_div_10_ng_select_5_Template","AssetsListComponent_div_9_div_10_ng_select_6_Template","AssetsListComponent_div_9_div_10_div_7_Template","ctx_r359","AssetsListComponent_div_9_Template_a_click_8_listener","_r389","ctx_r388","clearMobileFilters","AssetsListComponent_div_9_div_10_Template","AssetsListComponent_div_9_Template_a_click_14_listener","ctx_r390","cancelMobileFilters","AssetsListComponent_div_9_Template_a_click_17_listener","ctx_r391","applyMobileFilter","AssetsListComponent","datepipe","selectedAssets","isLoadAssets","isClearSelectedOnRefresh","assets","isAllAssetsLoaded","keyupFilter","filterAndSortingOptions","isMobileFilterEnabled","isMobileSortingEnabled","iServerAssetCount","iTotalCount","iselectedCount","iactiveCount","iarchiveCount","isLoaderEnabled","assetSelected","AllAssetsSelected","selectedElementids","InitAssetFilterSubscription","filterSubscriber","clearSpaceAssetFilterSubscribers","clearAllSelection","SpaceAssetfilterViewObservable","loadAssets","RemoveAllAssets","change","clearGridFilters","setFilterOptions","bindDefaultFilterDropDownValues","bindKeyUp","isRefreshed","_sid","documentStr","_assetslist","activeCount","archiveCount","count","childAsset","_selectedAssetIndex","MergeIntoAssets","ifcElementId","existingAsset","newAsset","findindex","STANDARD","_ac","_lm","_ad","_pac","_acl","_spc","_an","_aa","_sn","_znd","_uc","_s","_una","sortColumn","sortDir","_odby","_od","obt","getAssignedAssets","assignedAssets","_asset","childAssetsAssigned","col","dropDownColumn","compareLocation","ALL","_ms","transform","showMobileFilters","showMobileSorting","OnSaveDocuments","OnSavePhoto","onSaveddetails","incomingAssets","MergeUpdateAssets","incomingAsset","foundAsset","MergeParentAsset","MergeChildAsset","newAssets","filteredAssets","getFilteredAssets","assetFound","currentParent","foundChildAsset","getSelectedAsset","AddNewAssetstoList","MergeAssets","existAsset","_bn","_ssn","_zn","_sp","selectedDeselectedAssets","structuredClone","selectDelectIFCElement","bSelected","foundAssets","onRefresh","resetView","UpdateAssetsInList","updatedAssets","UpdateSpaceInList","UpdatePhotosInList","updatedAsset","bFound","iParentAsset","iChildAsset","UpdateSpaceMatch","UpdateDocuments","getSelectedAssets","UpdateAssetStatusInList","updateCode","bIncludeChild","updatedCounts","foundParent","RemoveDeletedAssetsFromList","deletedAssets","iDeletedAssets","childIndex","onExportClick","bGetAll","selectedIds","exportAssets","elementId","toggleClass","arrayUniqueelements","item","documentId","values","AssetsListComponent_Template","AssetsListComponent_Template_div_scrolled_0_listener","AssetsListComponent_app_grid_loader_1_Template","AssetsListComponent_div_4_Template","AssetsListComponent_div_5_Template","AssetsListComponent_div_7_Template","AssetsListComponent_div_8_Template","AssetsListComponent_div_9_Template","CommonMenuControlsComponent_div_5_Template_a_click_1_listener","onAdd","CommonMenuControlsComponent_div_6_Template_a_click_1_listener","onEdit","CommonMenuControlsComponent_div_7_Template_a_click_1_listener","onDelete","CommonMenuControlsComponent_div_8_Template_a_click_1_listener","ExportClick","CommonMenuControlsComponent","onAddClick","onEditClick","onDeleteClick","IsEditEnabled","IsAddEnabled","IsDeleteEnabled","IsExportEnabled","CommonMenuControlsComponent_Template","CommonMenuControlsComponent_Template_a_click_2_listener","CommonMenuControlsComponent_div_5_Template","CommonMenuControlsComponent_div_6_Template","CommonMenuControlsComponent_div_7_Template","CommonMenuControlsComponent_div_8_Template","ConfirmationPopupComponent","confirm","onConfirm","ConfirmationPopupComponent_Template","ConfirmationPopupComponent_Template_a_click_14_listener","GridLoaderComponent","GridLoaderComponent_Template","IfcMappingComponent_div_15_Template_input_ngModelChange_4_listener","IfcMappingComponent_div_15_Template_input_change_4_listener","changedocSelection","IfcMappingComponent_div_15_Template_a_click_15_listener","OnMatch","getFileIconClass","extension","fileSize","IfcMappingComponent_ng_container_17_Template_a_click_1_listener","OnMatchAll","IfcMappingComponent_ng_container_17_Template_a_click_3_listener","OnMatchSelected","IfcMappingComponent","bimModels","filteredbimModels","_searchByname","matchEvent","returnclass","loadProjectLinkedModels","filtermodel","_sm","_am","getProjectLinkedModels","linkedModels","UpdateFilteredList","documentStatus","isselected","eleName","SortBy","_colName","onEmitMatchModels","selbimModels","IfcMappingComponent_Query","IfcMappingComponent_Template_a_click_8_listener","IfcMappingComponent_Template_a_click_10_listener","IfcMappingComponent_Template_input_ngModelChange_12_listener","IfcMappingComponent_div_15_Template","IfcMappingComponent_ng_container_17_Template","LinkedModelsPopupComponent","selectEvent","selectedmodel","onViewClick","LinkedModelsPopupComponent_Template","LinkedModelsPopupComponent_Template_button_click_6_listener","LinkedModelsPopupComponent_Template_ng_select_ngModelChange_12_listener","LinkedModelsPopupComponent_Template_a_click_15_listener","LinkedModelsPopupComponent_Template_a_click_17_listener","LoaderComponent","LoaderComponent_Template","MessageModel","MessageTypes","MessageComponent_div_0_Template_button_click_1_listener","_r2","hidePopup","model","MessageComponent","messageTypes","none","MessageComponent_Template","MessageComponent_div_0_Template","NameDescPopupComponent","modalTitle","saveEvent","validateDetails","savedetails","closeDetails","NameDescPopupComponent_Template","NameDescPopupComponent_Template_button_click_6_listener","NameDescPopupComponent_Template_input_ngModelChange_18_listener","NameDescPopupComponent_Template_textarea_ngModelChange_28_listener","NameDescPopupComponent_Template_a_click_32_listener","NameDescPopupComponent_Template_a_click_34_listener","projects","getScopeTreeFromIndexDB","scopetree","_childtreenode","ArraySortPipe","field","isArray","pure","BytesToSizePipe","bytes","decimals","k","dm","sizes","parseFloat","pow","toFixed","SafeHtmlPipe","sanitized","bypassSecurityTrustHtml","EnumToArrayPipe","args","keys","enumMember","ChecklistColumns","ChecklistFilterModel","ProjectChecklistsComponent_div_91_Template_input_ngModelChange_3_listener","ProjectChecklistsComponent","SelectedChecklists","isLoadChecklists","onSave","oncancel","filteredChecklists","LoadChecklists","BindKeyUpEvent","getProjectChecklists","_checklist","searchedDesc","searchedName","m_searchedDesc","m_searchedName","ob","saveChecklists","selectedChecklists","cancel","ProjectChecklistsComponent_Query","ProjectChecklistsComponent_Template_button_click_7_listener","ProjectChecklistsComponent_Template_a_click_25_listener","ProjectChecklistsComponent_Template_a_click_29_listener","ProjectChecklistsComponent_Template_a_click_37_listener","DESCRIPTION","ProjectChecklistsComponent_Template_a_click_41_listener","ProjectChecklistsComponent_Template_input_ngModelChange_54_listener","ProjectChecklistsComponent_Template_input_ngModelChange_59_listener","ProjectChecklistsComponent_Template_div_click_61_listener","ProjectChecklistsComponent_Template_a_click_71_listener","ProjectChecklistsComponent_Template_a_click_73_listener","ProjectChecklistsComponent_Template_input_ngModelChange_76_listener","ProjectChecklistsComponent_Template_a_click_83_listener","ProjectChecklistsComponent_Template_a_click_85_listener","ProjectChecklistsComponent_Template_input_ngModelChange_88_listener","ProjectChecklistsComponent_div_91_Template","ProjectChecklistsComponent_Template_a_click_93_listener","ProjectChecklistsComponent_Template_a_click_96_listener","NgxQrcodeElementTypes","QrcodeBarcodeComponentComponent_div_3_Template_a_click_1_listener","downloadQRCode","qrcodedvid","QrcodeBarcodeComponentComponent","QrCodeType","qrcodetype","Qrcodevalue","qrcodedata","dvQrcodeID","elementType","IMG","showDownloadOption","fileNameToDownload","image","querySelector","base64Img","blob","msSaveOrOpenBlob","createObjectURL","link","href","download","QrcodeBarcodeComponentComponent_Template","QrcodeBarcodeComponentComponent_div_3_Template","ablity","_rules","update","ReplaceRules","RouterStateSnapshot","state","getDateRangePickerOptions","monthLabels","dayLabels","su","mo","tu","we","th","fr","sa","clone","ClonerService","deepClone","RawRule","CommonModule","ColorPickerModule","AutocompleteLibModule","DragDropModule","SystemRolesViewComponent","NgSelectModule","ProjectDocumentsComponent","InfiniteScrollModule","NgxQRCodeModule","TicketsGridViewComponent","UserchecklistMenuControlComponent","UserchecklistGridComponent","PlUploaderComponent","TimePickerComponent","NgxMaterialTimepickerModule","SpacesListComponent","AngularMyDatePickerModule","ImportShellComponent","language","forChild","isolate","NgClass","NgForOf","NgIf","DefaultValueAccessor","NgControlStatus","NgModel","TranslateDirective","TranslatePipe","SpaceColumns","BuildingNameModel","SiteNameModel","SpaceHistory","SpacesList","ZoneNameModel","SpacesListComponent_div_4_div_2_Template_input_ngModelChange_1_listener","SpacesListComponent_div_4_div_2_Template_input_change_1_listener","SpacesListComponent_div_4_div_2_Template","singleSelection","selectAllAvailable","SpacesListComponent_div_5_div_1_a_3_Template_a_click_0_listener","getSpacesBySorting","SpacesListComponent_div_5_div_1_a_4_Template_a_click_0_listener","SpacesListComponent_div_5_div_1_a_5_Template_a_click_0_listener","SpacesListComponent_div_5_div_1_a_6_Template_a_click_0_listener","SpacesListComponent_div_5_div_1_a_3_Template","SpacesListComponent_div_5_div_1_a_4_Template","SpacesListComponent_div_5_div_1_a_5_Template","SpacesListComponent_div_5_div_1_a_6_Template","spaceColumns","ORIGIN","SpacesListComponent_div_5_div_8_input_1_Template_input_ngModelChange_0_listener","_r52","SpacesListComponent_div_5_div_8_input_1_Template_input_keyup_0_listener","buildingName_r56","SpacesListComponent_div_5_div_8_ng_select_2_Template_ng_select_change_0_listener","_r59","ctx_r57","SpacesListComponent_div_5_div_8_ng_select_2_Template_ng_select_ngModelChange_0_listener","SpacesListComponent_div_5_div_8_ng_select_2_ng_option_5_Template","ctx_r44","zoneName_r64","SpacesListComponent_div_5_div_8_ng_select_3_Template_ng_select_change_0_listener","_r67","ctx_r65","SpacesListComponent_div_5_div_8_ng_select_3_Template_ng_select_ngModelChange_0_listener","SpacesListComponent_div_5_div_8_ng_select_3_ng_option_5_Template","ctx_r45","siteName_r72","SpacesListComponent_div_5_div_8_ng_select_4_Template_ng_select_change_0_listener","_r75","SpacesListComponent_div_5_div_8_ng_select_4_Template_ng_select_ngModelChange_0_listener","SpacesListComponent_div_5_div_8_ng_select_4_ng_option_5_Template","ctx_r46","SpacesListComponent_div_5_div_8_ng_select_5_Template_ng_select_change_0_listener","_r81","ctx_r79","SpacesListComponent_div_5_div_8_ng_select_5_Template_ng_select_ngModelChange_0_listener","ctx_r47","SpacesListComponent_div_5_div_8_ng_select_6_Template_ng_select_ngModelChange_0_listener","_r87","SpacesListComponent_div_5_div_8_ng_select_6_Template_ng_select_change_0_listener","ctx_r88","SpacesListComponent_div_5_div_8_div_7_button_4_Template_button_click_0_listener","_r94","_r91","SpacesListComponent_div_5_div_8_div_7_Template_input_ngModelChange_1_listener","_r97","ctx_r98","SpacesListComponent_div_5_div_8_div_7_button_4_Template","SpacesListComponent_div_5_div_8_div_7_Template_button_click_6_listener","SpacesListComponent_div_5_div_8_input_1_Template","SpacesListComponent_div_5_div_8_ng_select_2_Template","SpacesListComponent_div_5_div_8_ng_select_3_Template","SpacesListComponent_div_5_div_8_ng_select_4_Template","SpacesListComponent_div_5_div_8_ng_select_5_Template","SpacesListComponent_div_5_div_8_ng_select_6_Template","SpacesListComponent_div_5_div_8_div_7_Template","BUILDING_NAME","ZONE","SITE_NAME","ISCSV","LAST_MODIFIED_ON","SpacesListComponent_div_5_div_9_input_1_Template_input_ngModelChange_0_listener","SpacesListComponent_div_5_div_9_input_1_Template_input_keyup_0_listener","SpacesListComponent_div_5_div_9_div_2_button_4_Template_button_click_0_listener","_r113","_r110","SpacesListComponent_div_5_div_9_div_2_Template_input_ngModelChange_1_listener","_r116","ctx_r117","SpacesListComponent_div_5_div_9_div_2_button_4_Template","SpacesListComponent_div_5_div_9_div_2_Template_button_click_6_listener","ctx_r103","SpacesListComponent_div_5_div_9_ng_select_3_Template_ng_select_change_0_listener","_r123","ctx_r121","SpacesListComponent_div_5_div_9_ng_select_3_Template_ng_select_ngModelChange_0_listener","ctx_r104","SpacesListComponent_div_5_div_9_input_1_Template","SpacesListComponent_div_5_div_9_div_2_Template","SpacesListComponent_div_5_div_9_ng_select_3_Template","SpacesListComponent_div_5_div_1_Template","SpacesListComponent_div_5_div_2_Template","SpacesListComponent_div_5_div_3_Template","SpacesListComponent_div_5_div_4_Template","SpacesListComponent_div_5_div_5_Template","SpacesListComponent_div_5_div_6_Template","SpacesListComponent_div_5_div_7_Template","SpacesListComponent_div_5_div_8_Template","SpacesListComponent_div_5_div_9_Template","SPACE_INFO","CHECKLISTS","TICKETS","SpacesListComponent_div_7_div_2_Template_input_ngModelChange_2_listener","_r134","item_r128","SpacesListComponent_div_7_div_2_Template_input_change_2_listener","ctx_r135","updateSelectedSpaces","ctx_r130","SpacesListComponent_div_7_div_3_div_1_div_6_Template","SpacesListComponent_div_7_div_3_div_1_div_7_Template","SpacesListComponent_div_7_div_3_div_1_div_8_Template","column_r138","ctx_r139","_spaceAssetSource","SpacesListComponent_div_7_div_3_div_2_div_6_Template","SpacesListComponent_div_7_div_3_div_2_div_7_Template","SpacesListComponent_div_7_div_3_div_2_div_8_Template","SpacesListComponent_div_7_div_3_div_2_div_9_Template","SpacesListComponent_div_7_div_3_div_2_div_10_Template","ctx_r140","spaceStatus","TRANSFER","SpacesListComponent_div_7_div_3_div_3_div_6_Template","emptyValue","SpacesListComponent_div_7_div_3_div_4_div_6_Template","ctx_r142","SpacesListComponent_div_7_div_3_div_5_div_6_Template","ctx_r143","ctx_r144","getOriginString","spaceOrigin","SpacesListComponent_div_7_div_3_div_7_div_6_Template","ctx_r145","spaceClassification","SpacesListComponent_div_7_div_3_div_8_div_6_Template","ctx_r146","SpacesListComponent_div_7_div_3_div_9_div_6_Template","ctx_r147","occupancy","SpacesListComponent_div_7_div_3_div_10_div_6_Template","ctx_r148","SpacesListComponent_div_7_div_3_div_11_div_6_Template","area","SpacesListComponent_div_7_div_3_div_12_div_6_Template","SpacesListComponent_div_7_div_3_div_13_div_6_Template","SpacesListComponent_div_7_div_3_div_14_div_6_Template","ctx_r152","spaceCode","SpacesListComponent_div_7_div_3_div_15_div_6_Template","ctx_r153","lastModifiedOn","SpacesListComponent_div_7_div_3_div_16_div_6_Template","SpacesListComponent_div_7_div_3_div_17_div_6_div_1_Template","SpacesListComponent_div_7_div_3_div_17_div_6_div_2_Template","ctx_r228","isSpaceCodeLatest","SpacesListComponent_div_7_div_3_div_17_div_6_Template","ctx_r155","SpacesListComponent_div_7_div_3_div_18_div_6_Template_div_click_0_listener","_r238","ctx_r236","document_r240","SpacesListComponent_div_7_div_3_div_18_div_7_li_2_Template","SpacesListComponent_div_7_div_3_div_18_div_6_Template","SpacesListComponent_div_7_div_3_div_18_div_7_Template","ctx_r156","ɵɵpropertyInterpolate2","SpacesListComponent_div_7_div_3_div_20_div_6_Template","SpacesListComponent_div_7_div_3_div_20_div_7_Template","SpacesListComponent_div_7_div_3_div_20_div_8_Template","ctx_r158","SpacesListComponent_div_7_div_3_div_21_div_6_Template","ctx_r159","element_r257","SpacesListComponent_div_7_div_3_div_22_div_5_Template_div_click_1_listener","_r260","SpacesListComponent_div_7_div_3_div_22_div_5_li_8_Template","SpacesListComponent_div_7_div_3_div_22_div_5_Template","SpacesListComponent_div_7_div_3_div_22_div_6_Template","SpacesListComponent_div_7_div_3_div_1_Template","SpacesListComponent_div_7_div_3_div_2_Template","SpacesListComponent_div_7_div_3_div_3_Template","SpacesListComponent_div_7_div_3_div_4_Template","SpacesListComponent_div_7_div_3_div_5_Template","SpacesListComponent_div_7_div_3_div_6_Template","SpacesListComponent_div_7_div_3_div_7_Template","SpacesListComponent_div_7_div_3_div_8_Template","SpacesListComponent_div_7_div_3_div_9_Template","SpacesListComponent_div_7_div_3_div_10_Template","SpacesListComponent_div_7_div_3_div_11_Template","SpacesListComponent_div_7_div_3_div_12_Template","SpacesListComponent_div_7_div_3_div_13_Template","SpacesListComponent_div_7_div_3_div_14_Template","SpacesListComponent_div_7_div_3_div_15_Template","SpacesListComponent_div_7_div_3_div_16_Template","SpacesListComponent_div_7_div_3_div_17_Template","SpacesListComponent_div_7_div_3_div_18_Template","SpacesListComponent_div_7_div_3_div_19_Template","SpacesListComponent_div_7_div_3_div_20_Template","SpacesListComponent_div_7_div_3_div_21_Template","SpacesListComponent_div_7_div_3_div_22_Template","SpacesListComponent_div_7_div_3_div_23_Template","ctx_r131","OCCUPANCY","LEVEL","AREA","UPDATE_CODE","SpacesListComponent_div_7_div_2_Template","SpacesListComponent_div_7_div_3_Template","isUnassignedSpaces","column_r267","SpacesListComponent_div_8_div_10_ng_select_4_Template_ng_select_ngModelChange_0_listener","_r276","SpacesListComponent_div_8_div_10_ng_select_5_Template_ng_select_ngModelChange_0_listener","_r280","SpacesListComponent_div_8_div_10_input_6_Template_input_ngModelChange_0_listener","_r284","SpacesListComponent_div_8_div_10_div_7_button_4_Template_button_click_0_listener","_r289","_r286","SpacesListComponent_div_8_div_10_div_7_Template_input_ngModelChange_1_listener","_r291","ctx_r290","lastModifiedOnDate","SpacesListComponent_div_8_div_10_div_7_button_4_Template","SpacesListComponent_div_8_div_10_div_7_Template_button_click_6_listener","ctx_r272","SpacesListComponent_div_8_div_10_div_2_Template","SpacesListComponent_div_8_div_10_ng_select_4_Template","SpacesListComponent_div_8_div_10_ng_select_5_Template","SpacesListComponent_div_8_div_10_input_6_Template","SpacesListComponent_div_8_div_10_div_7_Template","ctx_r266","SpacesListComponent_div_8_Template_a_click_8_listener","_r294","ctx_r293","SpacesListComponent_div_8_div_10_Template","SpacesListComponent_div_8_Template_a_click_14_listener","ctx_r295","SpacesListComponent_div_8_Template_a_click_17_listener","ctx_r296","SpacesListComponent_div_9_div_7_div_1_Template_a_click_5_listener","_r301","column_r298","ctx_r300","SpacesListComponent_div_9_div_7_div_1_Template_a_click_9_listener","ctx_r303","SpacesListComponent_div_9_div_7_div_1_Template","ctx_r297","SpacesListComponent_div_9_Template_a_click_4_listener","_r307","ctx_r306","SpacesListComponent_div_9_div_7_Template","selectedSpaces","spaceStatuses","spaces","_attributeType","deActiveCount","transferCount","selectedCount","totalSpaceArea","spaceAreaTotal","spaceSelected","AllspaceSelected","InitSpaceFilterSubscription","isLoadSpaces","origins","str","drop","_spacesList","assignedSpaces","strOrigins","sp","temp","substring","isPhotosAvailable","isDocumentsAssigned","isChecklistsAssigned","SetTotalSpaceArea","isAllSpacesLoaded","_scls","_o","_occ","_sts","otherSpaces","foundSpaces","round","Number","EPSILON","getSelectedSpaces","_space","OnShowMobileFilterClick","foundSpace","so","AddNewSpacesIntoList","UpdateSpaceStatusInList","spaceList","ExportSpaces","exportSpaces","bVal","spaceUpdateCodeId","parentId","UpdateSpacesInList","spacecodeid","updatedSpaces","MergeUpdateSpaces","incomingSpaces","matchedIdx","spaceModels","spaceFound","RemoveDeletedSpacesFromList","deletedSpaces","UpdateSpaceIFCElementsInList","iFCElements","_ifcElementindex","SpacesListComponent_Template","SpacesListComponent_Template_div_scrolled_0_listener","SpacesListComponent_app_grid_loader_1_Template","SpacesListComponent_div_4_Template","SpacesListComponent_div_5_Template","SpacesListComponent_div_7_Template","SpacesListComponent_div_8_Template","SpacesListComponent_div_9_Template","DataManagerSettingsType","ProjectManagerSettingsType","SortModel","PermissionModel","Role","_permissionTypes","permission_r6","i_r7","item_r4","SystemRolesViewComponent_div_32_span_13_Template","SystemRolesViewComponent_div_33_Template_a_click_8_listener","SystemRolesViewComponent_div_33_Template_input_ngModelChange_15_listener","SystemRolesViewComponent_div_33_Template_a_click_19_listener","SystemRolesViewComponent_div_33_Template_a_click_22_listener","SystemRolesViewComponent_div_34_Template_a_click_4_listener","SystemRolesViewComponent_div_34_Template_a_click_11_listener","SystemRolesViewComponent_div_34_Template_a_click_15_listener","allSystemRoles","currentSortModel","systemRolesGridItems","IsMobileFilterEnabled","getAllSystemRoles","BindKeyUp","searchroleInput","role1","role2","role3","permissionModels","returnBack","activeTab","USERS","PROJECT_USER_SETTINGS","_colname","_order","SystemRolesViewComponent_Query","SystemRolesViewComponent_Template_a_click_6_listener","SystemRolesViewComponent_Template_a_click_10_listener","SystemRolesViewComponent_Template_a_click_12_listener","SystemRolesViewComponent_Template_a_click_21_listener","SystemRolesViewComponent_Template_a_click_23_listener","SystemRolesViewComponent_Template_input_ngModelChange_26_listener","SystemRolesViewComponent_div_32_Template","SystemRolesViewComponent_div_33_Template","SystemRolesViewComponent_div_34_Template","TicketColumns","TicketsFilterModel","PPTimingStatus","TicketExpiryStatus","TicketStatusProperty","TicketsGridViewComponent_div_64_a_4_Template_a_click_0_listener","column_r4","GetTicketsBySorting","TicketsGridViewComponent_div_64_a_5_Template_a_click_0_listener","TicketsGridViewComponent_div_64_input_7_Template_input_ngModelChange_0_listener","TicketsGridViewComponent_div_64_input_7_Template_input_keyup_0_listener","TicketsGridViewComponent_div_64_div_8_button_4_Template_button_click_0_listener","TicketsGridViewComponent_div_64_div_8_Template_input_ngModelChange_1_listener","TicketsGridViewComponent_div_64_div_8_button_4_Template","TicketsGridViewComponent_div_64_div_8_Template_button_click_6_listener","TicketsGridViewComponent_div_64_a_4_Template","TicketsGridViewComponent_div_64_a_5_Template","TicketsGridViewComponent_div_64_input_7_Template","TicketsGridViewComponent_div_64_div_8_Template","ticketColumns","ASSIGNEDTO","NOTIFYTO","ticket_r31","ɵɵattributeInterpolate1","getExpiryColorClass","getTimingColorClass","TicketsGridViewComponent_div_66_div_14_Template_div_click_0_listener","_r47","attachment_r49","fileName","TicketsGridViewComponent_div_66_div_15_li_5_Template","ticketHistories","attachments","TicketsGridViewComponent_div_66_div_17_Template_span_click_1_listener","_r53","checklist_r55","TicketsGridViewComponent_div_66_div_18_li_5_Template","userChecklists","ticketFlow","ticketStatus","assignedBy","assignedToName","notifyToName","TicketsGridViewComponent_div_66_div_19_div_16_div_1_Template_a_click_2_listener","ctx_r85","onDocumentClick","TicketsGridViewComponent_div_66_div_19_div_16_div_1_Template","TicketsGridViewComponent_div_66_div_19_div_16_div_2_Template","TicketsGridViewComponent_div_66_div_19_div_16_div_3_Template","ctx_r69","modifiedDate","TicketsGridViewComponent_div_66_div_19_div_5_Template","TicketsGridViewComponent_div_66_div_19_div_6_Template","TicketsGridViewComponent_div_66_div_19_div_7_Template","TicketsGridViewComponent_div_66_div_19_div_8_Template","TicketsGridViewComponent_div_66_div_19_div_9_Template","TicketsGridViewComponent_div_66_div_19_div_10_Template","TicketsGridViewComponent_div_66_div_19_div_11_Template","TicketsGridViewComponent_div_66_div_19_div_12_Template","TicketsGridViewComponent_div_66_div_19_div_13_Template","TicketsGridViewComponent_div_66_div_19_div_14_Template","TicketsGridViewComponent_div_66_div_19_div_15_Template","TicketsGridViewComponent_div_66_div_19_div_16_Template","TicketsGridViewComponent_div_66_div_19_div_17_Template","column_r57","TITLE","TAG","TICKETFLOW","EXPIRYDATE","ASSIGNEDBY","ASSETCODE","DOCUMENTNAME","LASTMODIFIEDDATE","ctx_r93","childTicket_r92","TicketsGridViewComponent_div_66_div_21_div_12_Template_div_click_0_listener","ctx_r100","attachment_r104","TicketsGridViewComponent_div_66_div_21_div_13_li_5_Template","TicketsGridViewComponent_div_66_div_21_div_15_Template_div_click_0_listener","_r108","ctx_r106","checklist_r110","TicketsGridViewComponent_div_66_div_21_div_16_li_5_Template","TicketsGridViewComponent_div_66_div_21_div_17_div_5_Template","TicketsGridViewComponent_div_66_div_21_div_17_div_6_Template","TicketsGridViewComponent_div_66_div_21_div_17_div_7_Template","TicketsGridViewComponent_div_66_div_21_div_17_div_8_Template","TicketsGridViewComponent_div_66_div_21_div_17_div_9_Template","TicketsGridViewComponent_div_66_div_21_div_17_div_10_Template","TicketsGridViewComponent_div_66_div_21_div_17_div_11_Template","TicketsGridViewComponent_div_66_div_21_div_17_div_12_Template","TicketsGridViewComponent_div_66_div_21_div_17_div_13_Template","TicketsGridViewComponent_div_66_div_21_div_17_div_14_Template","column_r112","TicketsGridViewComponent_div_66_div_21_Template_input_change_4_listener","ctx_r133","updateSelectedTickets","TicketsGridViewComponent_div_66_div_21_Template_input_ngModelChange_4_listener","TicketsGridViewComponent_div_66_div_21_div_10_Template","TicketsGridViewComponent_div_66_div_21_div_12_Template","TicketsGridViewComponent_div_66_div_21_div_13_Template","TicketsGridViewComponent_div_66_div_21_div_15_Template","TicketsGridViewComponent_div_66_div_21_div_16_Template","TicketsGridViewComponent_div_66_div_21_div_17_Template","ctx_r41","TicketsGridViewComponent_div_66_a_5_Template","TicketsGridViewComponent_div_66_Template_input_change_7_listener","_r138","TicketsGridViewComponent_div_66_Template_input_ngModelChange_7_listener","TicketsGridViewComponent_div_66_div_10_Template","TicketsGridViewComponent_div_66_div_12_Template","TicketsGridViewComponent_div_66_div_14_Template","TicketsGridViewComponent_div_66_div_15_Template","TicketsGridViewComponent_div_66_div_17_Template","TicketsGridViewComponent_div_66_div_18_Template","TicketsGridViewComponent_div_66_div_19_Template","TicketsGridViewComponent_div_66_div_21_Template","TicketsGridViewComponent_div_67_div_7_div_1_Template_a_click_5_listener","_r145","column_r141","TicketsGridViewComponent_div_67_div_7_div_1_Template_a_click_9_listener","TicketsGridViewComponent_div_67_div_7_div_1_Template","TicketsGridViewComponent_div_67_Template_a_click_4_listener","_r150","ctx_r149","TicketsGridViewComponent_div_67_div_7_Template","column_r152","TicketsGridViewComponent_div_68_div_10_input_4_Template_input_ngModelChange_0_listener","TicketsGridViewComponent_div_68_div_10_div_5_button_4_Template_button_click_0_listener","_r165","_r162","TicketsGridViewComponent_div_68_div_10_div_5_Template_input_ngModelChange_1_listener","_r168","TicketsGridViewComponent_div_68_div_10_div_5_button_4_Template","TicketsGridViewComponent_div_68_div_10_div_5_Template_button_click_6_listener","TicketsGridViewComponent_div_68_div_10_div_6_button_4_Template_button_click_0_listener","_r174","_r171","TicketsGridViewComponent_div_68_div_10_div_6_Template_input_ngModelChange_1_listener","_r177","TicketsGridViewComponent_div_68_div_10_div_6_button_4_Template","TicketsGridViewComponent_div_68_div_10_div_6_Template_button_click_6_listener","TicketsGridViewComponent_div_68_div_10_div_2_Template","TicketsGridViewComponent_div_68_div_10_input_4_Template","TicketsGridViewComponent_div_68_div_10_div_5_Template","TicketsGridViewComponent_div_68_div_10_div_6_Template","TicketsGridViewComponent_div_68_Template_a_click_8_listener","_r181","ctx_r180","TicketsGridViewComponent_div_68_div_10_Template","TicketsGridViewComponent_div_68_Template_a_click_14_listener","TicketsGridViewComponent_div_68_Template_a_click_17_listener","dynamicheightclass","isLoadTickets","OnDocumentClick","refreshComplete","tickets","ticketTiming","isAttachment","isChecklist","expiryStatuses","isAllTicketsLoaded","selectedtickets","STATUSPROPERTY","loadTickets","ticket","childticket","_did","getTickets","_tickets","getTicketsLength","tLength","_ld","_tst","_tti","_isatt","_ischeck","_tn","_ab","_at","_nt","_tf","_tg","_sc","_dname","getSelectedTickets","MergeIntoTickets","clonedticket","parentTicket","p","classname","OnTime","statusProperty","END","deleteTickets","deletedTickets","parentIndex","OnExportTickets","exportTickets","onDeleteConfirmation","ticketsFilterModel","_all","_sids","TicketsGridViewComponent_Template","TicketsGridViewComponent_Template_div_scrolled_0_listener","TicketsGridViewComponent_Template_input_ngModelChange_6_listener","TicketsGridViewComponent_Template_input_change_6_listener","TicketsGridViewComponent_Template_ng_select_ngModelChange_12_listener","TicketsGridViewComponent_Template_ng_select_change_12_listener","TicketsGridViewComponent_Template_ng_select_ngModelChange_26_listener","TicketsGridViewComponent_Template_ng_select_change_26_listener","TicketsGridViewComponent_Template_ng_select_ngModelChange_40_listener","TicketsGridViewComponent_Template_ng_select_change_40_listener","TicketsGridViewComponent_Template_ng_select_ngModelChange_54_listener","TicketsGridViewComponent_Template_ng_select_change_54_listener","TicketsGridViewComponent_div_64_Template","TicketsGridViewComponent_div_66_Template","TicketsGridViewComponent_div_67_Template","TicketsGridViewComponent_div_68_Template","UserChecklistsFilterModel","uc_r3","check_r11","UserchecklistGridComponent_div_15_div_21_div_8_Template_a_click_1_listener","relCheck_r24","UserchecklistGridComponent_div_15_div_21_div_10_div_1_div_8_Template_a_click_1_listener","UserchecklistGridComponent_div_15_div_21_div_10_div_1_div_7_Template","UserchecklistGridComponent_div_15_div_21_div_10_div_1_div_8_Template","UserchecklistGridComponent_div_15_div_21_div_10_div_1_div_9_Template","_checktype","UserchecklistGridComponent_div_15_div_21_div_10_div_1_Template","UserchecklistGridComponent_div_15_div_21_div_7_Template","UserchecklistGridComponent_div_15_div_21_div_8_Template","UserchecklistGridComponent_div_15_div_21_div_9_Template","UserchecklistGridComponent_div_15_div_21_div_10_Template","UserchecklistGridComponent_div_15_Template_input_ngModelChange_5_listener","UserchecklistGridComponent_div_15_Template_input_change_5_listener","onSelect","UserchecklistGridComponent_div_15_div_13_Template","UserchecklistGridComponent_div_15_div_14_Template","UserchecklistGridComponent_div_15_div_15_Template","UserchecklistGridComponent_div_15_div_21_Template","UserchecklistGridComponent_div_16_Template_a_click_8_listener","UserchecklistGridComponent_div_16_Template_input_ngModelChange_15_listener","sortAndFilterOptions","UserchecklistGridComponent_div_16_Template_a_click_19_listener","UserchecklistGridComponent_div_16_Template_a_click_22_listener","UserchecklistGridComponent_div_17_Template_a_click_4_listener","UserchecklistGridComponent_div_17_Template_a_click_11_listener","sortOrder","UserchecklistGridComponent_div_17_Template_a_click_15_listener","userchecklists","filteredchecklists","getSelectedChecklist","UserchecklistGridComponent_Query","UserchecklistGridComponent_Template_a_click_9_listener","UserchecklistGridComponent_Template_a_click_11_listener","UserchecklistGridComponent_Template_input_keyup_14_listener","UserchecklistGridComponent_Template_input_ngModelChange_14_listener","UserchecklistGridComponent_div_15_Template","UserchecklistGridComponent_div_16_Template","UserchecklistGridComponent_div_17_Template","AddorEditClick","onMobileFilterClick","onMobileSortingClick","isFillbtndisabled","AddorEditUserCheckList","mobileFilterClick","mobileSortClick","UserchecklistMenuControlComponent_Template","UserchecklistMenuControlComponent_Template_a_click_2_listener","UserchecklistMenuControlComponent_Template_a_click_6_listener","UserchecklistMenuControlComponent_Template_a_click_10_listener","UserchecklistMenuControlComponent_Template_a_click_12_listener","PrivacyPolicyComponent_Template","combineLatest","TransmittalService","TransmittalStatus","transmittalService","results","query","getTransmittal","t","DownloadgetTransmittal","transmittal","EXPIRED","downloadTransmittal","DownloadTransmittal","TransmittalDownloadComponent_Template","HttpRequest","HttpHandler","HttpEvent","throwError","intercept","request","setHeaders","Authorization","newParams","fromString","append","handle","BaseService","DateUtil","IRTemplate","PPTemplate","dateUtil","getAssetDetails","assetId","getAssetAddlInformations","getAssetHistory","putAssetDetails","getOffset","putAssetDocuments","getAssetLogs","getChecklists","getDocuments","deleteDocument","documentid","delete","uploadPhotos","getPhotos","downloadPhoto","photoid","downloadFile","DownloadAllPhotos","updatecodeid","getPhotoUrl","exportAssetLogs","ExportAssetHistory","deletePhoto","getAssetTemplates","systemTagId","updateAssetIfcModels","models","BlobUtil","AzureBlobService","utilBlob","uploadFiles","fileToUpload","onUploadComplete","onError","showStatus","setUploadFailed","ajaxCaller","getNumOfBlocks","isDeleted","setNextItemToUpload","initReaderObject","getBlockIds","getFileContent","chunkFiles","fileContent","getMaxBlockSize","getFile","blockId","pad","addBlockId","btoa","addFileContent","number","CancelUpload","onDeleteComplete","deleteBlob","onerror","fileUtil","downloadPrintJob","selectedIDs","isGetAll","downloadDocuments","isSearchResultView","columnorder","downloadTickets","ticketFilter","appendCulture","downloadUserNotifications","notificationFiterModel","downloadAssets","assetsFilterModel","downloadTransmittals","downloadTransmittalDocuments","downloadSpaces","spaceFilterModel","pathupdation","emitPathUpdate","downloadDocument","DocumentColumns","TransmittalColumns","SystemTicketTagType","ColumnInformation","TransmittalTypes","AssetGridColumnOption","DocumentGridColumnOption","SpacesGridColumnOption","TicketGridColumnOption","TransmittalColumnOption","translateService","columnsData","subTypeChanged","columnSelectionObservable","emitSubTypeSelection","subtype","getDocumentStandardColumns","getTicketStandardColumns","getTransmittalStandardColumns","getSpacesStandardColumns","getAssetsStandardColumns","getOnmStandardColumns","columnDatas","InterventionRequest","getIRStandardColumns","EstimationRequest","getERStandardColumns","ApprovalRequest","getARStandardColumns","InterventionAssignment","getIAStandardColumns","PlannedProcedure","getPPStandardColumns","PPFLOW","NOTBEFORE","DELAYFROM","SPACEGROUP","ASSETGROUP","DEPARTMENT","OPENDATE","RELATEDTOIR","RELATEDTOER","PRIORITY","TOUT","PROJECTCODE","TRANSMITTALCODE","SENDFOR","ASSIGNEDTOEXTERNAL","RELATEDTRANSMITTAL","HASATTACHMENT","SENTDATE","TIN","ASSIGNEDBYEXTERNAL","NOTIFIEDTO","DOCUMENT_TAG","COUNT_DOWN","WUG","IDUPLOAD","VERSION","LAST_MODIFIED","existColInformation","replaceItem","newItem","colInformation","getDocumentGridColumns","documentGridColumns","getDocumentFilterType","documentGridColumn","getTicketGridColumns","ticketGridColumns","getTicketFilterType","ticketGridColumn","getOnMGridColumns","getOnMFilterType","filterType","getTransmittalGridColumns","transmittalGridColumns","getTransmittalFilterType","transmittalGridColumn","getSpacesGridColumns","spaceGridColumnOptions","getSpacesFilterType","spaceGridColumnOption","getAssetsGridColumns","assetGridColumnOptions","getAssetFilterType","assetGridColumnOption","FileSystemStorageService","fileSystemStorageService","blobStorageService","hostingType","hostingtype","fileStorage","of","FilePartName","itemToUploadIndex","getNextItemToUpload","uploadChunkFile","isInQueue","setUploadedBytes","formData","FormData","getUploadedBytes","addUploadedBlockId","getUploadedBlockIds","mergeFile","filename","searchViewSubject","spacefilter","scopeFilter","ifcViewerView","ifcSearch","floorReset","ifcViewType","bimClose","ifcback","clearfloorReset","enableFilter","clearDocFilter","filterObservable","emitFCView","bView","emitBIMClose","emitIFCBack","emitDocuments","modelFilterObservable","IFCViewTypeObservable","ClearpresetFilterObservable","DocFilterViewObservable","emitClearDocFilter","folderSelection","refreshFolder","refreshExplorer","refreshFolderPermission","onFolderDoubleClick","documentfolderSelection","refreshFolderTree","emitRefreshFolder","getall","updateFolderDetails","folderType","patchWorkflowStatusListId","patch","emitrefreshExplorer","emitrefreshFolderPermission","UpdateFolder","Deletebulkdocuments","emitRefreshFolderTree","changedocumentsStatus","userId","StatusCode","GetDocumentStatuses","iDocumentIds","documentsJson","UpdateDocumentStatusNotes","documentsNotesModel","forkJoin","getCountries","getTimezones","getContinents","getSystemTicketTags","getDocumentTicketTags","getSystemTimings","getSystemValues","organizationId","downloadPrintJobs","jobid","_token","getElementChildren","versionid","elementids","elementid","getIFCInitialHiddenElements","filterElements","ifcElement","categoryId","elementTypeId","searchCBOXElements","filterString","getElementProperty","elementIds","strId","getInitialNodes","getChildNodes","searchElements","AssetHistory","jSStoreDBService","Id","ProjectId","Name","Code","SpaceId","SpaceName","SpaceCode","_connection","insert","into","upsert","return","select","where","assethistory","sphistory","CheckList","CheckListTagModel","ChecklistAttributes","saveAs","util","addBlobContnetToChecklistResponse","blobId","blobContnet","in","DocumentContent","Type","Answer","getChecklistTags","_tags","UserId","tags","ctag","getChecklistTemplates","tagId","TagId","ctemplate","namingRule","join","with","as","Description","checklistId","getChecklist","getUserChecklists","templateId","ChecklistId","usercode","companyCode","uc","savedOn","getOffsetDate","systemParameters","userCode","getUserChecklistResponse","getUserChecklistDetails","userChecklistId","UserChecklistId","_response","ucr","getCheck_listResponseValue","_checks","getCheck_listValue","checkId","CheckId","listvalue","valuesArray","checkResponseId","ChecklistResponseId","getUserChecklistName","projectcode","offset","attributes","attribute","COMPANY_CODE","COUNTER","counterDigits","PROJECT_ID","SEPARATOR","TEMPLATE_NAME","TIME","dateTime","getHours","getSeconds","USER_CODE","Path","templates","_templates","namingConventions","convention","checklistAttribute","tempalte","checklistTag","NamingRuleSeperator","separatorValue","CounterDigit","NamingRuleAttributes","NamingRuleId","addChecks","ServerId","IsComplete","SavedOn","CompletedOn","completedOn","OpenDate","Synced","insertedUc","addUserChecklistResponse","addchecklist_listResponsevalues","GetDocumentsBlobContent","ucResponse","IsMandatory","MinValue","MaxValue","DocumentName","DocumentSize","QRCode","Order","addchecklist_listvalues","listValues","lstvalue","Value","Clear","table_name","saveUserChecklist","isSynced","get_UTCDate","inserted","cindx","saveUserChecklistResponse","rindx","_documents","Blob","insertedResponse","saveUserchecklistResponse_listvalues","updateUserChecklist","updateUserChecklistResponse","getAllUserChecklistsforSync","serverId","getUserChecklistResponseforsync","userchecklistId","responseId","UpdatesyncedUserChecklist","isUpdateResponse","addUserChecklistResponseforsync","documentContent","_documentResponse","blobUtil","getDocument","removeChecklistResponseListValues","removeUserChecklistResponse","_userChecklistId","j","JsStore","getWorkerPath","require","idbCon","Connection","Worker","getUserChecklistTables","retTables","UserChecklists","primaryKey","autoIncrement","dataType","notNull","datatType","Checklist_Response","notnull","datatype","Checklist_Response_List_Values","getChecklistTables","tblChecklistTags","tblChecklists","tblChecks","QrCode","tblCheck_list_values","getTables","tblUser","UserName","OrganizationId","FirstName","LastName","Password","CompanyCode","OrganizationName","OrganizationExpiry","NotificationBeforeDays","OrganizationFeatures","RoleId","NotNull","IsSystemRole","isModified","tblProject","Permissions","IsSystem","NoOfDigitsToIgnore","NoOfDigitsToIdentify","getSpaceandAssetTables","getTicketTables","tblSpace","tblAsset","tblIrTemplate","FlowId","isDeactivated","ContactCenterId","ContactCenterName","Spaces","multiEntry","Assets","tblStatuses","StatusPropertyId","tblticket","Title","Priority","AssignedToType","AssignedToName","AssignedToId","AssetId","StatusId","Notes","tblticket_Attachments","TicketId","FileName","FileSize","FileContent","BlobId","getDatabase","db_name","offlinetables","DataBase","tables","initDb","isDbCreated","syncJsStoreService","SyncUserFromIndexDBToServer","isSystemRole","loggedInUser","regex","RegExp","userDetails","Project","AddTimezones","timezones","timezone","getSpaceDetails","cloneService","userJsStoreService","sasToken","blobToFile","theBlob","lastModifiedDate","issyncfromserverDb","isDocumentChanged","clonedUserChecklists","uploadDocumentsToBlob","clonedResponse","syncUserChecklist","documentCheck","syncUserChecklists","documentChecks","sasUrl","createBlobFileObjectForSync","syncProjects","syncChecklistTags","syncChecklists","syncSpaces","syncAssets","syncIRTemplates","syncFlowStatuses","syncTimezones","syncUser","ClearIRTemplatesTable","ClearStatusesTable","getAllTicketsforSync","fillSASToken","_ticket","uploadAttachmentsToBlob","_restickets","resticket","ticketid","removeSyncedTicket","_attachments","i13","TicketFlow","TicketHistory","TicketStatus","ContactCenter","SystemTicketTag","IRType","fileutil","spaceGroups","assetGroups","contactCenter","ticketFlowId","getIrTemplates","SPACE","ASSET","irtemplate","flowId","_ticketStatuses","rettickets","systemTicketTag","priority","assignedToType","assignedToId","notes","modifiedUser","getTicketAttachmentsforSync","setFileName","saveticket","insertedticket","saveticketAttachments","_ticketattachment","getFileName","mainMenu","internalConnectionChanged","_connectionstatus","timerSubscription","func","testConnectionStatusasync","updateOnlineStatus","connectionStatus","TicketAssociationTypes","getProjectIRTemplates","getProjectPPTemplates","spaceGroupId","assetGroupId","getAssignedSpaceGroups","systemtagId","getAssignedAssetGroups","updateAssignedSpaceGroups","_spacegroups","updateAssignedAssetGroups","_assetgroups","getUnAssignedSpaceGroups","systemtagid","getUnAssignedAssetGroups","exportUnAssignedSpaces","exportUnAssignedAssets","updateNotificationType","notifytype","getContactCenters","updateContactCenterMembers","contactCenterId","_users","getSystemTickets","CustomTiming","Frequency","getDocumentstatuses","saveDocumentStatus","getDocumentstatusList","saveDocumentStatusList","updateDocumentStatusList","deleteDocumentStatusList","statuslistId","getDocumentCategories","roleId","getAllNamingRules","getProjectCategories","getWorkflows","buildingId","getUsers","getOrganizations","saveCategory","category","saveDocumentAddtionalInformation","docaddlinformation","saveSpaceAddtionalInformation","CurrentAddlInformation","saveAssetAddtionalInformation","saveWorkflowUserGroup","userGroup","editCategory","updateDocumentAddtionalInformation","docAdllInfo","updateWorkflowUserGroup","deleteDocumentCategory","deleteDocAdditionalInformation","deleteWorkflowUserGroup","getAttributes","postAttribute","putAttribute","deleteAttribute","attributeId","getNamingRules","PostNamingRules","getCustomRoles","saveRole","getCompanies","saveCompany","saveUser","exportUsers","exportRoles","getCompanyCategories","getTags","getChecks","saveCheckList","checkList","increase","getChecklistNamingRules","getAllCustomTimings","saveCustomTiming","customTiming","saveChecklistNamingRule","getAllTimings","getFrequencies","saveFrequency","frequency","getTicketTags","saveTicketTag","getTicketStatuses","saveTicketStatus","getTicketFlows","saveTicketFlow","getTicketFlowStatuses","getDashBoardDetails","cloneChecklistTemplate","DocumentsFilterModel","RecycleBinFilterModel","TransmittalFilterModel","SpaceCodeStatus","assignWorkflows","assignedworkflows","assignDocAdditionalInfos","assignedDocAddlInfos","assignNamingRules","assignednamingrules","getAssignedWorkFlows","getAssignedWorkflowGroupMembers","workflowusergroupid","getAssignedNamingRules","assignToProjectModels","selecteddocuments","SaveAssignedWorkflowGroupMembers","users","assignProjectCategories","assignedprojectcategories","SaveProject","getProjectTeams","fetchInactive","getTicketsReport","_do","getTimezoneOffset","getOnMReport","getTransmittalsReport","getSpacesReport","getAssetsReport","getProjectFloors","getProjectLogs","saveModel","documentModel","InviteUser","newuser","getModelFloors","floorId","UpdateFloorMapping","floorid","updateProject","SaveProjectCategory","updateProjectCategory","getProjectCategory","categoryid","deleteProjectCategory","saveFloor","updateFloor","deleteFloor","getProjectCategoryValues","saveProjectCategoryValues","projectcategories","RemoveUser","AssignDocumentCategories","assignedcategories","updateProjectCheckListTags","checkListTag","getProjectCheckListTags","getRoleCheckListTags","updateRoleCheckListTags","roleID","exportLogs","getUserGroups","SaveUserGroup","updateUserGroup","deleteUserGroup","userGroupId","assignProjectCustomRoles","customroles","UpdateTeamMember","usermodel","getAssignedCheckListTags","getProjectDocumentCategories","getProjectDocuments","searchDocuments","deleteProject","ExportDocuments","saveFolder","UpdateFolderScope","bulkmovemodel","getRecycleBinItems","deleteRecycleBinItems","filterModels","restoreRecycleBinItems","selectedItems","getSpaceUpdateCodes","statuses","iscreate","saveSiteName","saveBuildingName","saveZoneName","zoneName","saveCircuit","circuit","getArchivedSpaces","spacecodeStatus","OPEN","saveSpaceUpdateCode","getSpaceGroups","bGetTemplates","saveSpaceGroup","spaceGroup","getUnassignedSpaces","exportUnassignedSpaces","downloadChecklistFrequencyReport","toISOString","getAllSpaceCodes","bulkUploadSpaces","bulkSaveSpaces","getAssetUpdateCodes","saveAssetUpdateCode","assetcode","getAssetGroups","saveAssetGroup","assetgroups","bulkDeleteSpaces","_isparse","encodeURIComponent","getAssetCodes","exportUnassignedAssets","assetCode","exportAssetGroups","exportSiteNames","exportBuildingNames","exportZoneNames","exportCircuits","archiveAssets","assetUpdateCodeId","getAll","FillAssetParams","moveAssets","spaceId","restoreAssets","deleteAssets","assetfiltermodel","ticketsfilterModel","deleteSystemTickets","exportSystemTickets","PrintTickets","printTicketModel","PrintSystemTickets","getProjectTicketTags","updateProjectTicketTags","ticketTags","getTransmittals","getTicketTagsFlows","getProjectIATemplates","updateProjectIATemplates","iATemplates","updateProjectIRTemplates","iRTemplates","updateProjectPPTemplates","pPTemplates","getProjectERTemplates","getProjectARTemplates","updateProjectERTemplates","eRTemplates","updateProjectARTemplates","aRTemplates","updateProjectSpaceAdditionalInfos","SpaceAdditionalInfos","updateProjectAssetAdditionalInfos","AssetAdditionalInfos","getSystemTicketFlows","DeleteUserChecklists","getProjectPATemplates","updateProjectPATemplates","pATemplates","updateProjectExternalSettings","getProjectTimeZone","assignStatusList","assignedlists","getAssignedStatusList","removeProjectLinkedModels","linkedmodels","updateProjectLinkedModels","_menuAction","CancelSpacesUpload","downloadFolderHierarchy","updateTransmittalStatuses","ResendSentNotifications","deleteTransmittals","exportTransmittals","updateTransmittalNotifications","getTransmittalNotifications","PrintTransmittals","UpdateDocumentTransmittals","documentVersions","getSensorCodes","getSensorCodeData","sensorId","RefreshScope","refereshHeirarchy","modifyHeirarchy","emitRefreshScopeSelection","emitRefreshHeirarchy","complete","refreshHeirarchyObservable","DeletebulkFolders","folders","emitModifyHeirarchy","validateDocumentName","docName","GetDocumentReport","signalR","notificationSubject","_notificationModel","_totalCount","hubConnection","options","accessTokenFactory","HubConnectionBuilder","withUrl","configureLogging","LogLevel","Information","build","start","getNotificationHub","cookieService","getItem","obj","domain","secure","sameSite","setItem","removeItem","removeAllCookie","deleteAll","test","userAgent","ApplicationRef","SwUpdate","switchMap","updates","appRef","swUpdateNotification","emitUpdateNotification","isUpdated","updateNotificationObservable","isEnabled","available","fetchAvailbleupdates","activateUpdate","checkForAppUpdateOnInterval","isStable","stable","checkForUpdate","getTransmittalDetails","transmittalId","updateTransmittalDetails","transmittalModel","getTransmittalDocuments","updateDocuments","getLogs","exportTransmittalLogs","DownloadExternalTransmittal","fileId","JobService","saveUploadedDocuments","job","numUploads","addJobs","notificationFilterModel","changePassword","validateCurrentPwd","GetUserChecklistReport","getUserChecklistTemplates","exportUserChecklists","swupdateservice","subsribeForUpdateNotification","Refresh","Cancel","updateNotificationSubscription","SwUpdateComponent_Template","SwUpdateComponent_Template_a_click_10_listener","SwUpdateComponent_Template_a_click_12_listener","jobId","TicketDownloadComponent_Template","DynamicEnvironment","Environment","SyncFusionKey","APP_LOCALIZATION_PATH","enableProdMode","registerLicense","getBaseUrl","getElementsByTagName","providers","__NgCli_bootstrap_1","platformBrowser","bootstrapModule","IFCFloorsModel","ProjectType","ProjectLocation","TimezoneModel","timeZoneId","serializedString","currentDateTime","manager","projectType","BUILDING","projectTeamMembers","projectLogs","AssetGroup","SpaceGroup","TicketTag","viewAll","isOpen","TicketStatusRole","TicketStatusFlowModel","ticketFlows","PriorityType","ppFlow","assignedToDepartmentName","assignedToParentId","assetGroup","ticketResources","isTicketForwarded","PPStatus","TicketResourceModel","operators","resources","ResourceOperatorModel","ResourceAttachmentModel","ResourceModel","TicketTagsFlowsModel","TicketDetailsViewType","TicketMode","TicketAssociatedObjects","TicketAddEditDetails","ticketMode","CREATE","PrintTicketsModel","requestedDate","allTickets","AssignedToModel","TagTypes","MenusAction","TicketNotifyModel","notifyToType","UserTypeObject","userType","DocumentStatusList","DocumentStatusItem","WorkflowTypes","Workflow","startstatusid","documentStatusListsModel","startDocumentStatus","WORKINGDAY","WorkflowLevel","levelNumber","expiresDays","WorkflowUserGroup","Attachment","isViewSupported","TrasmittalAttachment","ChecklistTag","ChecklistNumberSetting","createdBy","comments","ChecklistNamingRule","isAutomaticNamingRuleEnabled","CompanyCategory","Company","phone","fax","email","website","address","zipCode","city","district","country","Department","DocumentStatus","CurrentStatus","ObjectType","DocumentCategory","DocumentNote","idUpload","rvtPath","ifcPath","wexbimPath","extensionIcon","createdOn","scopeid","scopetype","jsonBlobPath","isSystemTag","currentStatusModel","workflow","documentCategory","attributeOptions","IsNamingRule","documentDescription","scopeName","countdown","categoryName","isDisabled","isStatusLocked","DocumentsNotesModel","documentNotes","DeletedDocument","deletedBy","BIMModel","isSpaceMapped","isAssetMapped","BIMMenusAction","WorkflowStatusSettings","DocumentApprover","Levels","workflowApprovers","workflowTransitions","workflowStatusSettings","DocumentWorkflowStatusesModel","documentStatuses","documentApprover","DocumentStatusResponse","documentStatusLists","NotesType","notesType","All","approvedId","workflowGroup","documentAttachment","isDefault","DocumentStatusListResponse","documentStatusList","workflows","PagingModel","PageSize","BaseFilterModel","_fn","_cd","_hatt","_tm","addlInformations","ID","SpaceCodeFilterModel","SpaceCodeColumns","_cc","UserChecklistStatus","UCSortOptions","_fcids","_vall","Checkfilter","ChecklistCheckFilledStatus","_p","_du","_dd","RecycleBinColumns","DELETED_ON","SpaceUpdateCodeFilterModel","SpaceGroupFilterModel","_docs","AssetGroupFilterModel","_pannedprocedure","_csv","_spn","_sdesc","_adesc","_ds","_fch","_ga","_ppf","_dn","_sgc","_agc","_opd","_rir","_rer","_nd","_df","_pps","_ppts","SpaceGroupColumns","IOTSensorColumn","IRSpaceGroupColumns","IRAssetGroupColumns","PPSpaceGroupColumns","IRSpaceGroupFilterModel","_contactCenter","_notification","IRAssetGroupFilterModel","PPSpaceGroupFilterModel","_department","_ppname","ResourceFilterModel","_ef","_et","_vid","_eid","_etid","IFCFilterConditionModel","BaseFilterEntity","SelectedIds","FolderType","isProjectAssigned","ChecklistSystemParametersModel","GroupNotificationType","AssetUpdateCode","AssetUpdateCodeStatus","AssetCodeColumns","AssetDetailsViewType","ppNotificationType","GROUP","AssetGroupColumns","AssetsList","qRCode","circuitId","AssetLog","actionType","AssetActionType","entity","action","actionDetails","actionFile","rfid","documentLevelApprovers","resourceId","plUploadContainerId","plUploadId","numOfBlocks","blockIds","customFileName","maxBlockSize","uploadedBlockIds","uploadedBytes","uploadFailed","nextItemToUpload","isUploaded","getResourceId","getCustomFileName","getPLUploadContainerId","getPLUploadId","getUploadFailed","getSASUrl","setCustomFileName","setPLUploadContainerId","setPLUploadId","setResourceId","setNumOfBlocks","setMaxBlockSize","_message","_type","UPLOAD_JOB_TYPE","ImportJobType","jobType","BULK_DOCUMENTS","importJobType","JobStatus","IN_PROGRESS","metaDatas","fileModels","handleException","IscsSpaceCalculated","uploadedObjects","tableName","JobReturnModel","MetaData","SettingsType","RoleTypes","Timing","SystemTiming","systemTiming","noOfUnits","timing","isNotification","isBlockMove","isBlockEdit","isBlockNewVersionUpload","isBlockDelete","isparallellevel","isApproved","isExpired","expirationDate","approvedOn","sourceDocumentStatusModel","targetDocumentStatusModel","ApproverType","OnM","IATemplate","templateType","PPBasis","STARTDATEBASED","agStartDateModel","PPList","ERTemplate","ARTemplate","OnMTemplate","PATemplate","latitude","longitude","continent","region","localArea","strChecklists","siteId","zoneId","isCSV","spaceDescription","sasURL","SpaceAddlinformation","isCreate","CircuitModel","SystemValueType","TransmittalViewType","SystemValueModel","systemValueType","TransmittalsModel","TransmittalModel","asChecked","assignedToObjects","assignedToExternalObjects","notifyModels","relatedTransmittals","transmittalType","assignedByExternal","TransmittalNotificationType","TransmittalLogModel","UserAccess","EmailNotificationType","UserEmailSettingsModel","emailNotificationType","DAILY","UserNotificationModel","department","emailSettings","departments","deviceName","PermissionViewType","PermissionGroup","selected","displayGroup","PermissionGroupModel","subpermissions","SpaceDetailsViewType","Workflowlevel","BuildingMenuType","Userlevel","folderNotifications","ChangeStatusViewType","GridColumnOption","_name","_colspan","columnName","columnType","strClass","_sort","_filterColumnType","RecycleBinGridColumnOption","_colummnType","UploaderNumber","appName","OnImport","OnCancel","filesToUpload","uploaderComponent","resetUploader","clearFiles","onFilesAttach","Upload","generateGUID","OnCancelled","ImportShellComponent_Query","ImportShellComponent_Template_button_click_6_listener","ImportShellComponent_Template_app_pl_uploader_onFilesAttach_11_listener","ImportShellComponent_Template_a_click_14_listener","ImportShellComponent_Template_a_click_17_listener","divId","clearAfterAdd","postInit","removeUploadStatus","onFilesAdded","uploader","getNative","initializePLUpload","onFilesRemoved","matched","fileIdx","uniqueId","eleStartUpload","parentDiv","pluploadQueue","runtimes","chunk_size","rename","dragdrop","container","attr","filters","max_file_size","prevent_duplicates","init","PostInit","FilesAdded","FilesRemoved","removePLUploadStartButton","getElementsByClassName","eleFileAction","PlUploaderComponent_Template","PlUploaderComponent_div_0_Template","ProjectDocumentsComponent_div_103_Template_input_ngModelChange_3_listener","ProjectDocumentsComponent_div_103_div_19_Template","ProjectDocumentsComponent_div_103_div_20_Template","ProjectDocumentsComponent_div_103_div_26_Template","ProjectDocumentsComponent_div_103_div_27_Template","SelectedDocuments","DisabledDocuments","loadcomplete","isDocumentsLoaded","documentTags","_searchbycategory","categoryAll","LoadDocumentTags","LoadDocuments","_documentTags","eleDesc","eleDesc_m","eleName_m","onchangetag","cat","saveDocuments","selectedDocuments","ProjectDocumentsComponent_Query","ProjectDocumentsComponent_Template_button_click_7_listener","ProjectDocumentsComponent_Template_a_click_25_listener","ProjectDocumentsComponent_Template_a_click_29_listener","ProjectDocumentsComponent_Template_a_click_37_listener","ProjectDocumentsComponent_Template_a_click_41_listener","ProjectDocumentsComponent_Template_input_ngModelChange_54_listener","ProjectDocumentsComponent_Template_input_ngModelChange_59_listener","ProjectDocumentsComponent_Template_div_click_61_listener","ProjectDocumentsComponent_Template_a_click_72_listener","ProjectDocumentsComponent_Template_a_click_74_listener","ProjectDocumentsComponent_Template_input_ngModelChange_77_listener","ProjectDocumentsComponent_Template_a_click_84_listener","ProjectDocumentsComponent_Template_a_click_86_listener","ProjectDocumentsComponent_Template_input_ngModelChange_89_listener","ProjectDocumentsComponent_Template_a_click_96_listener","ProjectDocumentsComponent_Template_a_click_98_listener","ProjectDocumentsComponent_Template_ng_select_change_101_listener","ProjectDocumentsComponent_Template_ng_select_ngModelChange_101_listener","ProjectDocumentsComponent_Template_div_scrolled_102_listener","ProjectDocumentsComponent_div_103_Template","ProjectDocumentsComponent_Template_a_click_105_listener","ProjectDocumentsComponent_Template_a_click_108_listener","TimePickerComponent_ng_template_5_Template_button_click_0_listener","clearTime","onTimeChange","disablePicker","darkTheme","bodyBackgroundColor","buttonColor","dial","dialBackgroundColor","clockFace","clockFaceBackgroundColor","clockHandColor","clockFaceTimeInactiveColor","time","fireOnChange","newTime","TimePickerComponent_Query","TimePickerComponent_Template_input_ngModelChange_1_listener","TimePickerComponent_ng_template_5_Template","ɵɵtemplateRefExtractor","TimePickerComponent_ng_template_7_Template","_r1","document_r4","UploadPaneComponent_div_7_div_1_a_11_Template_a_click_0_listener","job_r2","cancelUpload","UploadPaneComponent_div_7_div_1_div_5_Template","UploadPaneComponent_div_7_div_1_div_6_Template","UploadPaneComponent_div_7_div_1_div_7_Template","UploadPaneComponent_div_7_div_1_div_8_Template","UploadPaneComponent_div_7_div_1_div_9_Template","UploadPaneComponent_div_7_div_1_div_10_Template","UploadPaneComponent_div_7_div_1_a_11_Template","UploadPaneComponent_div_7_div_1_div_12_Template","FAILED","SAVING","COMPLETE","UploadPaneComponent_div_7_div_1_Template","jobService","uploadedJob","minimizeUploadPane","onCompleteUpload","uploadedDocument","processQueue","onUploadFailure","onDeleteOnGoingUpload","onDeleteUploaded","removeDocument","ongoingJobs","subscribeForOnlineOfflineNotification","ongoingJob","isJobRunning","getOngoingUploads","showPane","togglePaneState","startUpload","saveJob","jobIdx","docIdx","removeCompleteJob","pendingUploads","tDoc","isJobOver","queueLength","getTotalFileSize","fileModel","onClose","jIdx","dIdx","UploadPaneComponent_Template","UploadPaneComponent_Template_a_click_4_listener","UploadPaneComponent_div_6_Template","UploadPaneComponent_div_7_Template","TransmittalCounterDigit","_DOCUMENT_GRID_COLUMNS_USER","_SPACE_GRID_COLUMNS_USER","_RECYCLE_BIN_GRID_COLUMNS_USER","HOSTING_TYPE","_OAUTHACCESSTOKEN","_CalendarRefreshInterval","takeUntil","AbstractDebounceDirective","onEvent","emitEvent$","subscription$","emitChange","onKeyUp","preventDefault","hostBindings","DebounceKeyUpDirective_HostBindings","retryCount","readerObject","onloadend","evt","DONE","uri","requestData","Uint8Array","result","ajax","processData","beforeSend","xhr","setRequestHeader","commitBlockList","statusUpdator","desc","readAsArrayBuffer","requestBody","encryptedFileName","exp","onSuccess","fileObject","percentComplete","innerHTML","DownloadTypes","FileNameType","CompanyMenuTypes","ChecklistMenuTypes","FileUploadStatus","attachmentsupportedFiles","isAttachmentViewSupported","extensionFound","objFile","tempArr","getExtension","lastIndexOf","c","r","random","form","submit","bytesToSize","characters","charactersLength","charAt","createFormInputField","permissionType","FOLDERS_AND_DOCUMENTS","MainPermission","CHANGESTATUS","SubPermission","MOVE","ACCESSFOLDERPERMISSIONS","ACCESSFOLDERNOTIFICATIONS","FOLDERNAMINGRULE","FOLDERWORKFLOW","VIEWDOCUMENTLOG","BIMMODELS","SPACEMANAGEMENT","ASSETMANAGEMENT","O_AND_M","DELETECHECKLIST","DELETETICKET","TICKETFORCESTATUS","OMREQUEST","ChildPermission","DELETEOM","INTERVENTIONREQUEST","FORWARD","APPROVALREQUEST","ESTIMATIONREQUEST","INTERVENTIONASSIGNMENT","PLANNEDPROCEDURE","DOCUMENTDETAILSEDIT","FOLDERANDDOCUMENTEDIT","FOLDERSANDDOCUMENTDELETE","EXPIREDATE","CHANGETRANSMITTAL","EXPORTDOCUMENT","TEAMMANAGEMENT","PROJECTUSERGROUPMANAGEMENT","WORKFLOWUSERGROUPMANAGEMENT","PROJECTADDITIONALINFO","VIEWPROJECTLOG","CHECKLISTFREQUENCYREPORT","FORWARDTICKET","VIEWALLTICKETS","CREATEINTERVENTIONREQUEST","CREATEESTIMATIONREQUEST","CREATEAPPROVALREQUEST","CREATEINTERVENTIONASSIGNMENT","ONMFORCESTATUS","ADDORREMOVEMODELS","UPLOADDOWNLOADHIERARCHY","CREATEEDITTOUT","CREATETIN","VIEWALLTOUT","VIEWALLTIN","SETTRANSMITTALNOTIFICATION","IsDataManager","IsDm","IsProjectManager","isPM","isPermitted","IsOnmCreatePermissionExists","_gridsystemtagId","IsDMorPM","propName","n1","n2","propNames","len","sortByNumberProperty","sortCommaSeparatedValues","commaproperty","firstArray","secondArray","strFirst","strSecond","sortByArrayProperty","getDateArray","arr","dt","setDate","utcDate","getUTCFullYear","getUTCMonth","getUTCDate","getUTCHours","getUTCMinutes","getUTCSeconds","getTranslation"],"sourceRoot":"webpack:///","x_google_ignoreList":[]}