Show banner message on log in page (#19078)

1. Fixes #19076

Signed-off-by: AllForNothing <sshijun@vmware.com>
This commit is contained in:
Shijun Sun 2023-08-03 17:24:09 +08:00 committed by GitHub
parent 1d81b3d8ad
commit 26b53ef343
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
8 changed files with 20 additions and 22 deletions

View File

@ -1,4 +1,5 @@
<clr-main-container> <clr-main-container>
<app-app-level-alerts></app-app-level-alerts>
<navigator (showDialogModalAction)="openModal($event)"></navigator> <navigator (showDialogModalAction)="openModal($event)"></navigator>
<search-result></search-result> <search-result></search-result>
<div <div

View File

@ -22,7 +22,6 @@ import { PasswordSettingComponent } from './password-setting/password-setting.co
import { AccountSettingsModalComponent } from './account-settings/account-settings-modal.component'; import { AccountSettingsModalComponent } from './account-settings/account-settings-modal.component';
import { ForgotPasswordComponent } from './password-setting/forgot-password/forgot-password.component'; import { ForgotPasswordComponent } from './password-setting/forgot-password/forgot-password.component';
import { GlobalConfirmationDialogComponent } from './global-confirmation-dialog/global-confirmation-dialog.component'; import { GlobalConfirmationDialogComponent } from './global-confirmation-dialog/global-confirmation-dialog.component';
import { AppLevelAlertsComponent } from './harbor-shell/app-level-alerts/app-level-alerts.component';
const routes: Routes = [ const routes: Routes = [
{ {
@ -173,7 +172,6 @@ const routes: Routes = [
AccountSettingsModalComponent, AccountSettingsModalComponent,
ForgotPasswordComponent, ForgotPasswordComponent,
GlobalConfirmationDialogComponent, GlobalConfirmationDialogComponent,
AppLevelAlertsComponent,
], ],
}) })
export class BaseModule {} export class BaseModule {}

View File

@ -443,6 +443,7 @@
min="{{ currentDate | date : 'yyyy-MM-dd' }}" min="{{ currentDate | date : 'yyyy-MM-dd' }}"
max="{{ messageToDate | date : 'yyyy-MM-dd' }}" max="{{ messageToDate | date : 'yyyy-MM-dd' }}"
clrDate clrDate
readonly
[(ngModel)]="messageFromDate" [(ngModel)]="messageFromDate"
[ngModelOptions]="{ standalone: true }" [ngModelOptions]="{ standalone: true }"
[disabled]=" [disabled]="
@ -463,6 +464,7 @@
<input <input
class="date" class="date"
clrDate clrDate
readonly
type="date" type="date"
id="to" id="to"
min="{{ minDateForEndDay() | date : 'yyyy-MM-dd' }}" min="{{ minDateForEndDay() | date : 'yyyy-MM-dd' }}"

View File

@ -1,10 +1,10 @@
import { ComponentFixture, TestBed } from '@angular/core/testing'; import { ComponentFixture, TestBed } from '@angular/core/testing';
import { AppLevelAlertsComponent } from './app-level-alerts.component'; import { AppLevelAlertsComponent } from './app-level-alerts.component';
import { SharedTestingModule } from '../../../shared/shared.module'; import { SharedTestingModule } from '../../shared.module';
import { HttpHeaders, HttpResponse } from '@angular/common/http'; import { HttpHeaders, HttpResponse } from '@angular/common/http';
import { of } from 'rxjs'; import { of } from 'rxjs';
import { delay } from 'rxjs/operators'; import { delay } from 'rxjs/operators';
import { Scanner } from '../../left-side-nav/interrogation-services/scanner/scanner'; import { Scanner } from '../../../base/left-side-nav/interrogation-services/scanner/scanner';
import { ScannerService } from 'ng-swagger-gen/services/scanner.service'; import { ScannerService } from 'ng-swagger-gen/services/scanner.service';
import { SessionService } from 'src/app/shared/services/session.service'; import { SessionService } from 'src/app/shared/services/session.service';
import { AppConfigService } from '../../../services/app-config.service'; import { AppConfigService } from '../../../services/app-config.service';

View File

@ -1,24 +1,21 @@
import { Component, OnDestroy, OnInit } from '@angular/core'; import { Component, OnDestroy, OnInit } from '@angular/core';
import { SCANNERS_DOC } from '../../left-side-nav/interrogation-services/scanner/scanner'; import { SCANNERS_DOC } from '../../../base/left-side-nav/interrogation-services/scanner/scanner';
import { SessionService } from '../../../shared/services/session.service'; import { SessionService } from '../../services/session.service';
import { DEFAULT_PAGE_SIZE, delUrlParam } from '../../../shared/units/utils'; import { DEFAULT_PAGE_SIZE, delUrlParam } from '../../units/utils';
import { forkJoin, Observable, Subscription } from 'rxjs'; import { forkJoin, Observable, Subscription } from 'rxjs';
import { Project } from '../../../../../ng-swagger-gen/models/project'; import { Project } from '../../../../../ng-swagger-gen/models/project';
import { ScannerService } from '../../../../../ng-swagger-gen/services/scanner.service'; import { ScannerService } from '../../../../../ng-swagger-gen/services/scanner.service';
import { UN_LOGGED_PARAM } from '../../../account/sign-in/sign-in.service'; import { UN_LOGGED_PARAM } from '../../../account/sign-in/sign-in.service';
import { import { CommonRoutes, httpStatusCode } from '../../entities/shared.const';
CommonRoutes,
httpStatusCode,
} from '../../../shared/entities/shared.const';
import { ActivatedRoute, Router } from '@angular/router'; import { ActivatedRoute, Router } from '@angular/router';
import { MessageService } from '../../../shared/components/global-message/message.service'; import { MessageService } from '../global-message/message.service';
import { Message } from '../../../shared/components/global-message/message'; import { Message } from '../global-message/message';
import { JobServiceDashboardHealthCheckService } from '../../left-side-nav/job-service-dashboard/job-service-dashboard-health-check.service'; import { JobServiceDashboardHealthCheckService } from '../../../base/left-side-nav/job-service-dashboard/job-service-dashboard-health-check.service';
import { AppConfigService } from '../../../services/app-config.service'; import { AppConfigService } from '../../../services/app-config.service';
import { import {
BannerMessage, BannerMessage,
BannerMessageType, BannerMessageType,
} from '../../left-side-nav/config/config'; } from '../../../base/left-side-nav/config/config';
const HAS_SHOWED_SCANNER_INFO: string = 'hasShowScannerInfo'; const HAS_SHOWED_SCANNER_INFO: string = 'hasShowScannerInfo';
const YES: string = 'yes'; const YES: string = 'yes';
@Component({ @Component({
@ -191,13 +188,10 @@ export class AppLevelAlertsComponent implements OnInit, OnDestroy {
} }
hasValidBannerMessage(): boolean { hasValidBannerMessage(): boolean {
if ( const current: Date = this.appConfigService.getConfig()?.current_time
this.appConfigService.getConfig()?.banner_message && ? new Date(this.appConfigService.getConfig()?.current_time)
this.appConfigService.getConfig()?.current_time : new Date();
) { if (this.appConfigService.getConfig()?.banner_message) {
const current = new Date(
this.appConfigService.getConfig()?.current_time
);
const bm = JSON.parse( const bm = JSON.parse(
this.appConfigService.getConfig()?.banner_message this.appConfigService.getConfig()?.banner_message
) as BannerMessage; ) as BannerMessage;

View File

@ -78,6 +78,7 @@ import { LabelSelectorComponent } from './components/label-selector/label-select
import { ScrollSectionDirective } from './directives/scroll/scroll-section.directive'; import { ScrollSectionDirective } from './directives/scroll/scroll-section.directive';
import { ScrollManagerService } from './directives/scroll/scroll-manager.service'; import { ScrollManagerService } from './directives/scroll/scroll-manager.service';
import { ScrollAnchorDirective } from './directives/scroll/scroll-anchor.directive'; import { ScrollAnchorDirective } from './directives/scroll/scroll-anchor.directive';
import { AppLevelAlertsComponent } from './components/app-level-alerts/app-level-alerts.component';
// ClarityIcons is publicly accessible from the browser's window object. // ClarityIcons is publicly accessible from the browser's window object.
declare const ClarityIcons: ClarityIconsApi; declare const ClarityIcons: ClarityIconsApi;
@ -147,6 +148,7 @@ ClarityIcons.add({
HarborDatetimePipe, HarborDatetimePipe,
RemainingTimeComponent, RemainingTimeComponent,
LabelSelectorComponent, LabelSelectorComponent,
AppLevelAlertsComponent,
], ],
exports: [ exports: [
TranslateModule, TranslateModule,
@ -188,6 +190,7 @@ ClarityIcons.add({
HarborDatetimePipe, HarborDatetimePipe,
RemainingTimeComponent, RemainingTimeComponent,
LabelSelectorComponent, LabelSelectorComponent,
AppLevelAlertsComponent,
], ],
providers: [ providers: [
{ provide: EndpointService, useClass: EndpointDefaultService }, { provide: EndpointService, useClass: EndpointDefaultService },