{"version":3,"file":"3278.a3a98aadd37ef827.js","sources":["./src/app/components/account-selection-dropdown/account-selection-dropdown.module.ts","./src/app/components/create-vcs-app-integration-v3/create-vcs-app-integration-v3.module.ts","./src/app/components/project-type-supported-intents/project-type-supported-intents.module.ts","./src/app/pages/projects/components/create-project-form/create-project-form.component.html","./src/app/pages/projects/components/create-project-form/create-project-form.component.ts","./src/app/pages/projects/components/project-card-item/project-card-item.component.html","./src/app/pages/projects/components/project-card-item/project-card-item.component.ts","./src/app/pages/projects/projects.component.html","./src/app/pages/projects/projects-routing.module.ts","./src/app/pages/projects/projects.component.ts","./src/app/pages/projects/projects.module.ts"],"sourceRoot":"webpack:///","sourcesContent":["import { NgModule } from '@angular/core';\nimport {\n NbIconModule,\n NbSelectModule,\n NbListModule,\n NbSpinnerModule,\n NbPopoverModule,\n NbCardModule,\n NbButtonModule,\n NbTooltipModule,\n} from '@nebular/theme';\nimport { AccountSelectionDropdownComponent } from './account-selection-dropdown.component';\nimport { ComponentsModule } from '../components.module';\nimport { ReactiveFormsModule } from '@angular/forms';\nimport { CommonModule } from '@angular/common';\nimport { CreateVcsAppV3Module } from '../create-vcs-app-integration-v3/create-vcs-app-integration-v3.module';\n\n@NgModule({\n declarations: [AccountSelectionDropdownComponent],\n imports: [\n CommonModule,\n NbSelectModule,\n NbIconModule,\n NbListModule,\n NbSpinnerModule,\n NbPopoverModule,\n ComponentsModule,\n ReactiveFormsModule,\n NbCardModule,\n NbButtonModule,\n NbTooltipModule,\n CreateVcsAppV3Module,\n ],\n exports: [AccountSelectionDropdownComponent],\n})\nexport class AccountSelectionDropdownModule {}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport {\n NbCardModule,\n NbIconModule,\n NbButtonModule,\n NbTooltipModule,\n NbInputModule,\n NbAccordionModule,\n NbFormFieldModule,\n NbSelectModule,\n NbSpinnerModule,\n} from '@nebular/theme';\nimport { ComponentsModule } from '../components.module';\nimport { RouterModule } from '@angular/router';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { CreateVcsAppV3Component } from './create-vcs-app-integration-v3.component';\n\n@NgModule({\n declarations: [CreateVcsAppV3Component],\n imports: [\n CommonModule,\n RouterModule, // RouterModule.forRoot(routes, { useHash: true }), if this is your app.module\n NbCardModule,\n NbIconModule,\n NbButtonModule,\n NbTooltipModule,\n NbAccordionModule,\n NbFormFieldModule,\n NbInputModule,\n FormsModule,\n ReactiveFormsModule,\n ComponentsModule,\n NbSpinnerModule,\n NbSelectModule,\n ],\n exports: [CreateVcsAppV3Component],\n})\nexport class CreateVcsAppV3Module {}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { ProjectTypeSupportedIntentsComponent } from './project-type-supported-intents.component';\nimport {\n NbCardModule,\n NbDialogModule,\n NbDialogService,\n NbSpinnerModule,\n} from '@nebular/theme';\nimport { ComponentsModule } from '../components.module';\n\n@NgModule({\n declarations: [ProjectTypeSupportedIntentsComponent],\n imports: [\n CommonModule,\n ComponentsModule,\n NbCardModule,\n NbSpinnerModule,\n NbDialogModule,\n ],\n exports: [ProjectTypeSupportedIntentsComponent],\n})\nexport class ProjectTypeSupportedIntentsModule {}\n","\n \n \n \n \n
\n \n \n\n \n \n\n \n
\n \n
\n
\n \n
\n \n Account id is required!\n

\n
\n
\n
\n\n \n \n \n \n Blueprint creation using an existing repository requires a\n \"stack.json\" file in the repository.\n \n \n\n \n \n\n \n\n \n \n\n \n \n\n \n \n\n \n \n\n \n \n\n \n \n
\n\n \n
\n \n
\n
\n {{ env }}\n \n
\n
\n\n \n \n \n \n \n \n \n
\n \n \n \n Cancel\n \n \n
\n","import { Component, Input, OnDestroy, OnInit } from '@angular/core';\nimport {\n AbstractControl,\n UntypedFormControl,\n UntypedFormGroup,\n Validators,\n} from '@angular/forms';\nimport { Router } from '@angular/router';\nimport { Subscription } from 'rxjs';\nimport { UiStackControllerService } from 'src/app/cc-api/services';\nimport {\n urlDetectionPattern,\n whiteSpaceAllPattern,\n whiteSpaceInputPattern,\n} from 'src/app/constants/inputPatterns';\nimport { CustomToastService } from 'src/app/pages/custom-toast/custom-toast.service';\nimport { ContextUpdatesService } from 'src/app/services/context-updates.service';\nimport { StackCreateService } from 'src/app/services/stack-create.service';\nimport { TokenExpiryService } from 'src/app/services/token-expiry.service';\nimport { triggerAnalyticsEvent } from 'src/app/utils/analytics/trigger-analytics';\nimport { UiAccountsControllerService } from 'src/app/cc-api/services';\nimport { Account, CreateBlueprintRequest, Stack } from 'src/app/cc-api/models';\nimport { FeatureFlagsService } from 'src/app/services/feature-flags.service';\nimport { UiProjectTypeControllerService } from 'src/app/cc-api/services';\nimport { ProjectTypeSupportedIntentsComponent } from 'src/app/components/project-type-supported-intents/project-type-supported-intents.component';\nimport { NbDialogService } from '@nebular/theme';\nimport { cloudProviderOptions } from '../../../../constants/cloud-provider';\n\n@Component({\n selector: 'app-create-project-form',\n templateUrl: './create-project-form.component.html',\n})\nexport class CreateProjectFormComponent implements OnInit, OnDestroy {\n @Input() dialogRef;\n\n projectForm: UntypedFormGroup = new UntypedFormGroup({\n blueprintName: new UntypedFormControl('', [\n Validators?.required,\n Validators.pattern(whiteSpaceAllPattern),\n ]),\n vcsAccount: new UntypedFormControl('', [Validators.required]),\n creationType: new UntypedFormControl('New'),\n selectedOrgName: new UntypedFormControl(''),\n description: new UntypedFormControl(''),\n draftClusters: new UntypedFormGroup({\n dev: new UntypedFormControl('true'),\n qa: new UntypedFormControl(''),\n prod: new UntypedFormControl('true'),\n }),\n projectType: new UntypedFormControl(''),\n relativePath: new UntypedFormControl('', [Validators.required]),\n gitReference: new UntypedFormControl('', [Validators.required]),\n gitUrl: new UntypedFormControl('', [\n Validators.required,\n Validators.pattern(whiteSpaceInputPattern),\n Validators.pattern(urlDetectionPattern),\n ]),\n });\n cloudProviderOptions: any;\n workspaceMap = {\n GITHUB: 'Organization',\n BITBUCKET: 'Workspace',\n GITLAB: 'Group',\n };\n accounts: Account[];\n accountsOptions: { label: string; value: string; provider: string }[] = [];\n envsOption = ['dev', 'qa', 'prod'];\n projectCreationInProgress: boolean = false;\n contextUpdates$: Subscription;\n vcsAccountId: string;\n loadingOrgNames: boolean = false;\n orgNames: { label: string; value: string }[] = [];\n orgName: string;\n selectedAccountProvider: string;\n selectedAccount: any;\n bitbucketProjectKey: UntypedFormControl = new UntypedFormControl({\n value: '',\n disabled: true,\n });\n appOrgMessage: string =\n \"This is pre-selected based on your linked 'Git' account\";\n allProjectTypes: any;\n allProjectTypesOptions: any;\n loadingProject: boolean = false;\n allowedClouds: any;\n projectTypeName: string;\n\n get blueprintName() {\n return this.projectForm.get('blueprintName');\n }\n\n get vcsAccount() {\n return this.projectForm.get('vcsAccount');\n }\n\n get creationType() {\n return this.projectForm.get('creationType');\n }\n\n get relativePath() {\n return this.projectForm.get('relativePath');\n }\n\n get gitUrl() {\n return this.projectForm.get('gitUrl');\n }\n\n get gitReference() {\n return this.projectForm.get('gitReference');\n }\n\n get selectedOrgName() {\n return this.projectForm.get('selectedOrgName');\n }\n\n get description() {\n return this.projectForm.get('description');\n }\n\n get draftClusters() {\n return this.projectForm.get('draftClusters');\n }\n\n get dev() {\n return this.draftClusters.get('dev');\n }\n get qa() {\n return this.draftClusters.get('qa');\n }\n get prod() {\n return this.draftClusters.get('prod');\n }\n get projectType() {\n return this.projectForm.get('projectType');\n }\n\n constructor(\n private router: Router,\n private stackController: UiStackControllerService,\n private stackCreateService: StackCreateService,\n private contextUpdatesService: ContextUpdatesService,\n private toastService: CustomToastService,\n private tokenExpiryService: TokenExpiryService,\n private accountControllerService: UiAccountsControllerService,\n public featureFlagService: FeatureFlagsService,\n private uiProjectTypeController: UiProjectTypeControllerService,\n private dialogService: NbDialogService,\n ) {}\n\n async ngOnInit() {\n this.onSelectProjectCriteria('New');\n try {\n await this.getAllAccounts();\n } catch (err) {}\n this.getAllProjectTypes();\n this.vcsAccount.valueChanges.subscribe(async (value) => {\n this.vcsAccountId = value;\n this.selectedAccount = this.accounts?.find(\n (account) => account?.id === value,\n );\n console.log(this.selectedAccount);\n if (this.selectedAccount?.projectKey) {\n this.bitbucketProjectKey?.setValue(this.selectedAccount?.projectKey);\n }\n this.selectedAccount?.app\n ? this.selectedOrgName?.disable()\n : this.selectedOrgName?.enable();\n this.selectedAccountProvider = this.selectedAccount?.provider;\n if (this.selectedAccount?.provider === 'BITBUCKET') {\n this.selectedOrgName.setValidators([Validators.required]);\n } else {\n this.selectedOrgName.clearValidators();\n }\n if (!this.selectedAccount?.app) {\n this.getOrgsBasedOnAccountId();\n } else {\n const defaultOrgName = this.selectedAccount?.['orgName'] || 'PERSONAL';\n this.orgNames = [\n {\n label: 'Personal Account',\n value: 'PERSONAL',\n },\n ];\n setTimeout(() => {\n this.selectedOrgName.setValue(defaultOrgName);\n }, 0);\n }\n });\n this.selectedOrgName.valueChanges.subscribe((orgName) => {\n this.orgName = orgName;\n });\n }\n\n getAllAccounts() {\n return new Promise((resolve, reject) => {\n this.accountControllerService.getAllAccountsUsingGET().subscribe(\n (accountsList) => {\n this.accounts = accountsList;\n resolve(true);\n },\n (error) => {\n reject(false);\n },\n );\n });\n }\n\n createProject() {\n this.projectCreationInProgress = true;\n const requestBodyV1 = {\n blueprintName: this.blueprintName?.value,\n allowedClouds: this.allowedClouds,\n vcsAccountId: this.vcsAccountId,\n orgName: this.orgName === 'PERSONAL' ? null : this.orgName,\n description: this.description?.value,\n draftClusters: this.getDraftClusters(this.draftClusters),\n projectTypeId: this.projectType?.value\n ? this.projectType?.value\n : this.allProjectTypes[0]?.id,\n };\n const requestBodyV2 = {\n name: this.blueprintName?.value,\n allowedClouds: this.allowedClouds,\n description: this.description?.value,\n versionControlAccountId: this.vcsAccountId,\n relativePath: this.relativePath?.value,\n vcsUrl: this.gitUrl?.value,\n branch: this.gitReference?.value,\n vcs: this.selectedAccount?.provider,\n };\n const httpsResponse =\n this.creationType?.value === 'New'\n ? this.stackController.createProjectUsingPOST(requestBodyV1)\n : this.stackController.createStackUsingPOST1(requestBodyV2);\n\n httpsResponse.subscribe(\n (stack) => {\n //Context switcher update after new project creation\n this.onProjectCreateSuccess(stack);\n },\n (error) => {\n this.toastService.error(\n error?.error?.message ||\n `The project ${this.blueprintName.value} couldn't be created. Please try again with proper values`,\n );\n this.projectCreationInProgress = false;\n triggerAnalyticsEvent(`PROJECTS_PROJECT_CREATE_PROJECT_UNSUCCESSFUL`);\n },\n );\n }\n\n onProjectCreateSuccess(stack) {\n this.contextUpdatesService.setLastOpenedBranchInLocalStorage(\n stack?.name,\n stack?.branch,\n );\n this.contextUpdatesService.requestContextSwitcherRefresh();\n this.contextUpdates$ =\n this.contextUpdatesService.contextSwitcherUpdated.subscribe((signal) => {\n if (signal.updated) {\n this.projectCreationInProgress = false;\n // When a stack is created, reinitialize the token-expiry service to reflect new mapping of stack and account\n this.tokenExpiryService.extractExpiringAndExpiredVCSAccounts();\n this.toastService.success(\n `The project ${this.blueprintName.value} has been created successfully.`,\n );\n this.dialogRef.close({ status: true, stack: stack });\n this.contextUpdates$.unsubscribe();\n triggerAnalyticsEvent(`PROJECTS_PROJECT_CREATE_PROJECT_SUCCESSFUL`, {\n blueprint: this.blueprintName?.value,\n draftClusters: this.draftClusters?.value,\n });\n this.router.navigate([\n '/',\n 'stack',\n stack?.name,\n 'blueprint-designer',\n this.contextUpdatesService.getLastBranchForBlueprint(stack?.name),\n 'resource-list',\n ]);\n }\n });\n }\n\n sendProjectCreateEvent() {\n this.stackCreateService.sendStackEvent(true);\n }\n\n onClickHandleCancel() {\n triggerAnalyticsEvent(`PROJECTS_PROJECT_CREATE_PROJECT_CANCEL`);\n this.dialogRef.close();\n }\n\n getDraftClusters(draftClustersFormGroup: AbstractControl) {\n const draftClusters: any[] = [];\n\n Object.keys(draftClustersFormGroup.value).forEach((key) => {\n if (draftClustersFormGroup.value[key]) {\n draftClusters.push({\n clusterName: key,\n releaseStream: key?.toUpperCase(),\n stackName: this.blueprintName.value,\n });\n }\n });\n return draftClusters;\n }\n\n getOrgsBasedOnAccountId() {\n this.orgNames = [];\n this.loadingOrgNames = true;\n this.accountControllerService\n .getVcsOrganizationsByAccountIdUsingGET(this.vcsAccountId)\n .subscribe(\n (response) => {\n this.loadingOrgNames = false;\n const personalAccount = {\n label: 'Personal Account',\n value: 'PERSONAL',\n };\n const orgNames = response.map((name) => ({\n label: name,\n value: name,\n }));\n const account = this.accounts?.find(\n (account) => account?.id === this.vcsAccountId,\n );\n\n let defaultOrgName = account?.['orgName'];\n this.orgNames = [...orgNames];\n if (this.selectedAccountProvider !== 'BITBUCKET') {\n this.orgNames = [personalAccount, ...orgNames];\n defaultOrgName = account?.['orgName'] || 'PERSONAL';\n }\n this.selectedOrgName.setValue(defaultOrgName);\n },\n () => {\n this.loadingOrgNames = false;\n },\n );\n }\n\n afterAccountSave(accounts) {\n if (accounts?.length) {\n this.accounts = accounts;\n }\n }\n\n createCloudProviderOption(data: string): any {\n return {\n label: data,\n value: data,\n checked: true,\n icon: data?.toLowerCase(),\n iconPack: 'fci',\n };\n }\n\n getAllProjectTypes() {\n this.loadingProject = true;\n this.uiProjectTypeController.getAllProjectTypesUsingGET().subscribe(\n (data) => {\n this.allProjectTypes = data;\n if (data?.length === 1) {\n const selectedType = this.allProjectTypes[0];\n this.projectForm?.patchValue({\n projectType: selectedType?.id,\n });\n this.projectTypeName = selectedType?.name;\n this.cloudProviderOptions = [\n ...(selectedType?.allowedClouds || []),\n ].map((cloud) => this.createCloudProviderOption(cloud));\n }\n this.allProjectTypesOptions = data?.map((projectTypes) => ({\n label: projectTypes?.name,\n value: projectTypes?.id,\n allowedClouds: projectTypes?.allowedClouds,\n icon: 'info-outline',\n iconTooltip: 'Mapped modules',\n }));\n this.loadingProject = false;\n },\n (error) => {\n this.loadingProject = false;\n },\n );\n }\n\n onSelectProjectType(event) {\n let cloud = this.allProjectTypesOptions?.find(\n (option) => option?.value === event,\n )?.allowedClouds;\n this.allowedClouds = cloud?.map((data) => data);\n this.cloudProviderOptions = cloud?.map((data) =>\n this.createCloudProviderOption(data),\n );\n }\n\n onCloudSelect(event) {\n this.allowedClouds = event?.map(({ value }) => value);\n }\n\n showProjectTypeDetails(projectType) {\n let selectedProjectType = this.allProjectTypes.find(\n (pt) => pt?.id === projectType?.value,\n );\n this.dialogService.open(ProjectTypeSupportedIntentsComponent, {\n context: {\n projectType: selectedProjectType,\n },\n });\n }\n\n onSelectProjectCriteria(event) {\n if (event === 'New') {\n this.projectForm?.patchValue({\n gitUrl: 'https://github.com',\n gitReference: 'master',\n relativePath: '.',\n });\n this.projectType.reset();\n this.cloudProviderOptions = [];\n } else {\n this.projectForm?.patchValue({\n projectType: 'none',\n });\n this.gitUrl.reset();\n this.gitReference.reset();\n this.relativePath.reset();\n this.cloudProviderOptions = cloudProviderOptions;\n }\n }\n\n ngOnDestroy() {\n this.allowedClouds = null;\n this.cloudProviderOptions?.forEach((permission) => {\n permission.checked = false;\n });\n }\n}\n","\n \n \n \n
\n
\n

{{ project.label }}

\n
\n \n
\n
\n\n \n \n \n
\n \n
\n \n
\n \n\n
\n \n {{\n project?.description?.length > 0\n ? project?.description?.substring(0, 100)\n : 'Description Not Provided'\n }}\n \n 100\"\n >\n ...\n
\n \n

\n
\n \n
\n
\n","import { Component, Input, OnInit } from '@angular/core';\nimport { Router } from '@angular/router';\nimport { ContextUpdatesService } from 'src/app/services/context-updates.service';\nimport { triggerAnalyticsEvent } from 'src/app/utils/analytics/trigger-analytics';\n\n@Component({\n selector: 'app-project-card-item',\n templateUrl: './project-card-item.component.html',\n styleUrls: ['./project-card-item.component.scss'],\n})\nexport class ProjectCardItemComponent {\n @Input() project;\n\n constructor(\n private router: Router,\n private contextUpdatesService: ContextUpdatesService,\n ) {}\n\n getLastModifiedValue(project) {\n return JSON.stringify({\n user: null,\n label: project?.lastModifiedDate,\n emptyStateLabelText: 'Not available',\n });\n }\n\n onCardClick() {\n triggerAnalyticsEvent(`PROJECTS_PROJECT_SELECT_PROJECT`, {\n projectName: this.project?.name,\n });\n const branch = this.contextUpdatesService.getLastBranchForBlueprint(\n this.project?.name,\n );\n const url =\n '/stack/' +\n this.project?.name +\n '/blueprint-designer/' +\n branch +\n '/resource-list';\n this.router.navigate([url]).catch((err) => {\n console.error('project card navigation error', err);\n });\n }\n\n handleGitIconClick(event, project) {\n event.stopPropagation(); // Prevents the click event from propagating to the card\n if (project.gitOpsEnabled) {\n triggerAnalyticsEvent('PROJECT_PROJECT_GITHUB_REDIRECT');\n window.open(project?.vcsUrl);\n } else {\n triggerAnalyticsEvent('PROJECT_PROJECT_GITOPS_REDIRECT');\n this.router.navigate(['stack', this.project.name, 'project-settings'], {\n state: {\n activeId: 'gitops',\n },\n });\n }\n }\n}\n","\n\n
\n \n 0,\n 'justify-content-end': originalProjectsList?.length <= 0\n }\"\n >\n
0\" class=\"col-xl-3 col-md-6\">\n \n \n \n \n \n \n
\n
\n View Templates\n \n \n
\n
\n\n
0 && !loading\" class=\"row\">\n \n \n
\n \n \n\n \n \n \n \n
\n \n
\n No {{ showTemplates?.value ? 'Templates' : 'Projects' }} Found\n {{ searchKey?.value?.trim() ? 'for ' + searchKey?.value : '' }}\n
\n
\n

\n Projects are cornerstone of effective software architecture.\n

\n

\n Create your first one to get started.\n

\n

\n Templates are projects that have been saved as template while\n creating the blueprint.\n

\n
\n
\n
\n \n
\n\n\n\n \n\n","import { NgModule } from '@angular/core';\nimport { RouterModule, Routes } from '@angular/router';\nimport { ProjectsComponent } from './projects.component';\n\nconst routes: Routes = [\n {\n path: '',\n component: ProjectsComponent,\n pathMatch: 'full',\n },\n];\n\n@NgModule({\n imports: [RouterModule.forChild(routes)],\n exports: [RouterModule],\n})\nexport class ProjectsRoutingModule {}\n","import { Component, OnDestroy, TemplateRef, ViewChild } from '@angular/core';\nimport { UntypedFormControl } from '@angular/forms';\n\nimport { ActivatedRoute, Params, Router } from '@angular/router';\nimport { NbDialogService } from '@nebular/theme';\nimport { UiStackControllerService } from 'src/app/cc-api/services';\nimport { STACK_WRITE } from 'src/app/constants/permissions';\nimport { FacetsPage } from 'src/app/facets/facets-page/facets-page.component';\nimport { RbacButton } from 'src/app/models/rbac-button.interface';\nimport { FeatureFlagsService } from 'src/app/services/feature-flags.service';\nimport { triggerAnalyticsEvent } from 'src/app/utils/analytics/trigger-analytics';\nimport cloneDeep from 'lodash/cloneDeep';\n\n@Component({\n selector: 'app-projects',\n templateUrl: './projects.component.html',\n styleUrls: ['./projects.component.scss'],\n})\nexport class ProjectsComponent extends FacetsPage {\n PROJECTS_PROJECT = 'PROJECTS_PROJECT';\n projectsActionButtons: RbacButton[] = [\n {\n id: 'create-project',\n title: 'New Project',\n buttonType: 'primary',\n status: 'primary',\n icon: 'plus-outline',\n iconPack: 'fci',\n action: STACK_WRITE,\n onClick: () => {\n this.openCreateProjectForm();\n },\n },\n ];\n @ViewChild('projectCreateFormPopup', { static: true })\n private projectCreateFormPopup: TemplateRef;\n\n allProjects = [];\n loading: boolean = false;\n searchKey = new UntypedFormControl('');\n filteredProjects = [];\n originalProjectsList = [];\n checkSearch: boolean = false;\n showTemplates: UntypedFormControl = new UntypedFormControl(false);\n\n // queryParamsSubscription: any;\n constructor(\n _route: ActivatedRoute,\n private dialogService: NbDialogService,\n private stackController: UiStackControllerService,\n private featureFlagService: FeatureFlagsService,\n private router: Router,\n ) {\n super(_route);\n }\n\n OnPageLoad(p: Params): void {\n this.getAllProjects();\n\n // setTimeout(() => {\n // const currentUrlTree = this.router.parseUrl(this.router.url);\n // if (currentUrlTree?.queryParams?.['onboarding-flow']) {\n // currentUrlTree.queryParams = {};\n // const newUrl = currentUrlTree.toString();\n // this.router.navigateByUrl(newUrl, { replaceUrl: true });\n // }\n // }, 30000);\n }\n\n handleProjectActions(event) {\n this.projectsActionButtons.find((btn) => btn?.id === event)?.onClick();\n }\n\n openCreateProjectForm() {\n this.dialogService\n .open(this.projectCreateFormPopup, { closeOnBackdropClick: false })\n .onClose.subscribe((data) => {\n if (data?.status) {\n this.getAllProjects();\n }\n });\n }\n\n getAllProjects() {\n this.loading = true;\n this.allProjects = [];\n this.filteredProjects = [];\n this.stackController.getStacksUsingGET1().subscribe(\n (data) => {\n this.filteredProjects = cloneDeep(data).filter(\n (project) => !project?.template,\n );\n this.allProjects = cloneDeep(this.filteredProjects);\n this.originalProjectsList = cloneDeep(data);\n this.loading = false;\n },\n (error) => {\n this.loading = false;\n },\n );\n }\n\n onSearchProject(searchKey) {\n triggerAnalyticsEvent(`${this.PROJECTS_PROJECT}_SEARCH`);\n if (!searchKey?.trim()) {\n this.filteredProjects = this.allProjects;\n return;\n } else {\n this.filteredProjects = this.allProjects?.filter(\n (project) =>\n project?.name?.toLowerCase()?.includes(searchKey?.toLowerCase()) ||\n project?.description\n ?.toLowerCase()\n ?.includes(searchKey?.toLowerCase()),\n );\n }\n }\n\n onChangeShowStatus(event) {\n triggerAnalyticsEvent(\n `PROJECTS_PROJECT_SHOW_TEMPLATE_${event ? 'ENABLED' : 'DISABLED'}`,\n );\n this.searchKey.reset();\n this.filteredProjects = this.originalProjectsList.filter((project) =>\n event ? project?.template : !project?.template,\n );\n this.allProjects = cloneDeep(this.filteredProjects);\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { ProjectsRoutingModule } from './projects-routing.module';\nimport { ComponentsModule } from 'src/app/components/components.module';\nimport { ProjectsComponent } from './projects.component';\nimport {\n NbButtonGroupModule,\n NbButtonModule,\n NbCardModule,\n NbCheckboxModule,\n NbFormFieldModule,\n NbIconModule,\n NbInputModule,\n NbSpinnerModule,\n NbTooltipModule,\n NbToggleModule, NbBadgeModule,\n} from '@nebular/theme';\nimport { ReactiveFormsModule } from '@angular/forms';\nimport { CreateProjectFormComponent } from './components/create-project-form/create-project-form.component';\nimport { ProjectCardItemComponent } from './components/project-card-item/project-card-item.component';\nimport { AccountSelectionDropdownModule } from 'src/app/components/account-selection-dropdown/account-selection-dropdown.module';\nimport { ProjectTypeSupportedIntentsModule } from 'src/app/components/project-type-supported-intents/project-type-supported-intents.module';\n\n@NgModule({\n declarations: [\n ProjectsComponent,\n CreateProjectFormComponent,\n ProjectCardItemComponent,\n ],\n imports: [\n CommonModule,\n ProjectsRoutingModule,\n ComponentsModule,\n NbCardModule,\n NbIconModule,\n ReactiveFormsModule,\n NbButtonModule,\n NbTooltipModule,\n NbSpinnerModule,\n NbButtonGroupModule,\n NbCheckboxModule,\n NbFormFieldModule,\n NbInputModule,\n NbToggleModule,\n AccountSelectionDropdownModule,\n ProjectTypeSupportedIntentsModule,\n NbBadgeModule,\n ],\n exports: [CreateProjectFormComponent],\n})\nexport class ProjectsModule {}\n"],"names":["AccountSelectionDropdownModule","static","CommonModule","NbSelectModule","NbIconModule","NbListModule","NbSpinnerModule","NbPopoverModule","ComponentsModule","ReactiveFormsModule","NbCardModule","NbButtonModule","NbTooltipModule","CreateVcsAppV3Module","RouterModule","NbAccordionModule","NbFormFieldModule","NbInputModule","FormsModule","ProjectTypeSupportedIntentsModule","NbDialogModule","i0","CreateProjectFormComponent","blueprintName","this","projectForm","get","vcsAccount","creationType","relativePath","gitUrl","gitReference","selectedOrgName","description","draftClusters","dev","qa","prod","projectType","constructor","router","stackController","stackCreateService","contextUpdatesService","toastService","tokenExpiryService","accountControllerService","featureFlagService","uiProjectTypeController","dialogService","UntypedFormGroup","UntypedFormControl","Validators","required","whiteSpaceAllPattern","whiteSpaceInputPattern","urlDetectionPattern","GITHUB","BITBUCKET","GITLAB","value","disabled","ngOnInit","_this","onSelectProjectCriteria","getAllAccounts","getAllProjectTypes","valueChanges","subscribe","vcsAccountId","selectedAccount","accounts","find","account","id","console","log","projectKey","bitbucketProjectKey","setValue","app","disable","enable","selectedAccountProvider","provider","setValidators","clearValidators","defaultOrgName","orgName","orgNames","label","setTimeout","getOrgsBasedOnAccountId","Promise","resolve","reject","getAllAccountsUsingGET","accountsList","error","createProject","projectCreationInProgress","requestBodyV1","allowedClouds","getDraftClusters","projectTypeId","allProjectTypes","requestBodyV2","name","versionControlAccountId","vcsUrl","branch","vcs","createProjectUsingPOST","createStackUsingPOST1","stack","onProjectCreateSuccess","message","triggerAnalyticsEvent","setLastOpenedBranchInLocalStorage","requestContextSwitcherRefresh","contextUpdates$","contextSwitcherUpdated","signal","updated","extractExpiringAndExpiredVCSAccounts","success","dialogRef","close","status","unsubscribe","blueprint","navigate","getLastBranchForBlueprint","sendProjectCreateEvent","sendStackEvent","onClickHandleCancel","draftClustersFormGroup","Object","keys","forEach","key","push","clusterName","releaseStream","toUpperCase","stackName","loadingOrgNames","getVcsOrganizationsByAccountIdUsingGET","response","map","afterAccountSave","length","createCloudProviderOption","data","checked","icon","toLowerCase","iconPack","loadingProject","getAllProjectTypesUsingGET","selectedType","patchValue","projectTypeName","cloudProviderOptions","cloud","allProjectTypesOptions","projectTypes","iconTooltip","onSelectProjectType","event","option","onCloudSelect","showProjectTypeDetails","selectedProjectType","pt","open","ProjectTypeSupportedIntentsComponent","context","reset","ngOnDestroy","permission","core","selectors","ctx","ProjectCardItemComponent","getLastModifiedValue","project","JSON","stringify","user","lastModifiedDate","emptyStateLabelText","onCardClick","projectName","catch","err","handleGitIconClick","stopPropagation","gitOpsEnabled","window","state","activeId","routes","path","component","ProjectsComponent","FacetsPage","_route","super","title","buttonType","action","STACK_WRITE","onClick","openCreateProjectForm","OnPageLoad","p","getAllProjects","handleProjectActions","projectsActionButtons","btn","projectCreateFormPopup","closeOnBackdropClick","onClose","loading","allProjects","filteredProjects","getStacksUsingGET1","cloneDeep","filter","template","originalProjectsList","onSearchProject","searchKey","PROJECTS_PROJECT","trim","includes","onChangeShowStatus","pathMatch","ProjectsRoutingModule","ProjectsModule","NbButtonGroupModule","NbCheckboxModule","NbToggleModule","NbBadgeModule"],"mappings":"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","debug_id":"025bd8d1-a1ab-52f2-8191-01b4a839487a"}