Skip to content
This repository was archived by the owner on Jun 3, 2021. It is now read-only.

Commit fcb47fd

Browse files
authored
Merge branch 'master' into docker-widget
2 parents 48b0e49 + 87cb03a commit fcb47fd

File tree

101 files changed

+2333
-1346
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

101 files changed

+2333
-1346
lines changed

package-lock.json

+596-334
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

+14-14
Original file line numberDiff line numberDiff line change
@@ -14,36 +14,36 @@
1414
},
1515
"private": true,
1616
"dependencies": {
17-
"@angular/animations": "~8.0.3",
17+
"@angular/animations": "~8.2.14",
1818
"@angular/cdk": "^8.2.3",
19-
"@angular/common": "~8.0.3",
20-
"@angular/compiler": "~8.0.3",
21-
"@angular/core": "~8.0.3",
19+
"@angular/common": "~8.2.14",
20+
"@angular/compiler": "~8.2.14",
21+
"@angular/core": "~8.2.14",
2222
"@angular/flex-layout": "^7.0.0-beta.24",
23-
"@angular/forms": "~8.0.3",
23+
"@angular/forms": "~8.2.14",
2424
"@angular/material": "^8.0.1",
25-
"@angular/platform-browser": "~8.0.3",
26-
"@angular/platform-browser-dynamic": "~8.0.3",
27-
"@angular/router": "~8.0.3",
25+
"@angular/platform-browser": "~8.2.14",
26+
"@angular/platform-browser-dynamic": "~8.2.14",
27+
"@angular/router": "~8.2.14",
2828
"@auth0/angular-jwt": "^2.1.0",
2929
"@nebular/eva-icons": "4.6.0",
3030
"@nebular/theme": "^4.6.0",
3131
"@ng-bootstrap/ng-bootstrap": "^4.2.1",
3232
"@swimlane/ngx-charts": "^11.2.0",
3333
"@swimlane/ngx-ui": "^26.0.1",
3434
"@types/jest": "^25.2.1",
35-
"@types/lodash": "^4.14.135",
35+
"@types/lodash": "^4.14.157",
3636
"bootstrap": "^4.2.1",
37-
"codemirror": "^5.48.0",
37+
"codemirror": "^5.55.0",
3838
"core-js": "^2.6.9",
3939
"d3-scale": "^3.0.0",
4040
"d3-shape": "^1.3.5",
4141
"eva-icons": "^1.1.2",
4242
"font-awesome": "^4.7.0",
4343
"get-google-fonts": "^1.2.2",
44-
"lodash": "^4.17.13",
45-
"moment": "^2.24.0",
46-
"moment-timezone": "^0.5.25",
44+
"lodash": "^4.17.19",
45+
"moment": "^2.27.0",
46+
"moment-timezone": "^0.5.31",
4747
"ngx-moment": "^3.4.0",
4848
"node-gyp": "^7.0.0",
4949
"rxjs": "~6.5.2",
@@ -63,7 +63,7 @@
6363
"codelyzer": "^5.0.1",
6464
"jasmine-core": "^2.99.1",
6565
"jasmine-spec-reporter": "~4.2.1",
66-
"karma": "^3.1.4",
66+
"karma": "^5.1.0",
6767
"karma-chrome-launcher": "^2.2.0",
6868
"karma-coverage-istanbul-reporter": "~2.0.1",
6969
"karma-jasmine": "^1.1.2",

src/app/admin_modules/admin_dashboard/admin-dashboard-modules.ts

+7-1
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,9 @@ import { AdminDashboardService } from './services/dashboard.service';
2525
import { EditDashboardComponent } from './dashboard/admin-dashboard/edit-dashboard/edit-dashboard.component';
2626
import { AuthService } from 'src/app/core/services/auth.service';
2727
import { AuthInterceptor } from 'src/app/core/interceptors/auth.interceptor';
28+
import {PropertiesBuilderComponent} from './dashboard/admin-dashboard/properties-builder/properties-builder.component';
29+
// tslint:disable-next-line:max-line-length
30+
import {CreateOrUpdateApiPropertiesComponent} from './dashboard/admin-dashboard/modal/create-or-update-api-properties/create-or-update-api-properties.component';
2831

2932
@NgModule({
3033
declarations: [
@@ -37,7 +40,9 @@ import { AuthInterceptor } from 'src/app/core/interceptors/auth.interceptor';
3740
GenerateApiTokenModalComponent,
3841
FeatureFlagsComponent,
3942
ServiceAccountsComponent,
40-
EditDashboardComponent
43+
EditDashboardComponent,
44+
PropertiesBuilderComponent,
45+
CreateOrUpdateApiPropertiesComponent
4146
],
4247

4348
providers: [UserDataService, DashboardDataService, PaginationWrapperService, AdminDashboardService,
@@ -62,6 +67,7 @@ import { AuthInterceptor } from 'src/app/core/interceptors/auth.interceptor';
6267
CreateOrUpdateServiceAccountComponent,
6368
EditTokenModalComponent,
6469
GenerateApiTokenModalComponent,
70+
CreateOrUpdateApiPropertiesComponent
6571
],
6672
})
6773

Original file line numberDiff line numberDiff line change
@@ -1,46 +1,44 @@
11
<div id="admin">
2-
<div class="col-md-2 dash">
3-
<ul class="nav nav-pills flex-column dash-nav">
4-
<li class="nav-item"><a class="nav-link" [ngClass]="{active:tab === 'editDashboards'}"
5-
(click)="navigateToTab('editDashboards')">Edit
6-
Dashboards</a></li>
7-
<li class="nav-item"><a class="nav-link" [ngClass]="{active:tab === 'users'}"
8-
(click)="navigateToTab('users')">Manage
9-
Admins</a></li>
10-
<li class="nav-item"><a class="nav-link" [ngClass]="{active:tab === 'apitokens'}"
11-
(click)="navigateToTab('apitokens')">Generate
12-
ApiTokens</a></li>
13-
<li class="nav-item"><a class="nav-link" [ngClass]="{active:tab === 'auditconfig'}"
14-
(click)="navigateToTab('auditconfig')">Audit
15-
Configurations</a></li>
16-
<li class="nav-item"><a class="nav-link" [ngClass]="{active:tab === 'featureflags'}"
17-
(click)="navigateToTab('featureflags')">Feature Flags</a></li>
18-
</ul>
19-
20-
</div>
21-
22-
<div class="container-fluid">
23-
<div class="col-md-9 dashcon">
24-
<div *ngIf="tab === 'editDashboards'">
25-
<app-edit-dashboard></app-edit-dashboard>
26-
</div>
27-
<div *ngIf="tab === 'templates'">
28-
</div>
29-
<div *ngIf="tab === 'users'">
30-
<app-manage-admins></app-manage-admins>
31-
</div>
32-
<div *ngIf="tab === 'apitokens'">
33-
<app-generate-tokens></app-generate-tokens>
34-
</div>
35-
<div *ngIf="tab === 'configurations'">
36-
</div>
37-
<div *ngIf="tab === 'auditconfig'">
38-
<app-service-accounts></app-service-accounts>
39-
</div>
40-
<div *ngIf="tab === 'featureflags'">
41-
<app-feature-flags></app-feature-flags>
42-
</div>
43-
</div>
44-
</div>
45-
2+
<div class="col-md-2 dash">
3+
<ul class="nav nav-pills flex-column dash-nav">
4+
<li class="nav-item"><a class="nav-link" [ngClass]="{active:tab === 'editDashboards'}"
5+
(click)="navigateToTab('editDashboards')">Edit Dashboards</a></li>
6+
<li class="nav-item"><a class="nav-link" [ngClass]="{active:tab === 'users'}"
7+
(click)="navigateToTab('users')">Manage Admins</a></li>
8+
<li class="nav-item"><a class="nav-link" [ngClass]="{active:tab === 'apitokens'}"
9+
(click)="navigateToTab('apitokens')">Generate ApiTokens</a></li>
10+
<li class="nav-item"><a class="nav-link" [ngClass]="{active:tab === 'auditconfig'}"
11+
(click)="navigateToTab('auditconfig')">Audit Configurations</a></li>
12+
<li class="nav-item"><a class="nav-link" [ngClass]="{active:tab === 'featureflags'}"
13+
(click)="navigateToTab('featureflags')">Feature Flags</a></li>
14+
<li class="nav-item"><a class="nav-link" [ngClass]="{active:tab === 'propertiesconfig'}"
15+
(click)="navigateToTab('propertiesconfig')">Properties Configuration</a></li>
16+
</ul>
17+
</div>
18+
<div class="container-fluid">
19+
<div class="col-md-9 dashcon">
20+
<div *ngIf="tab === 'editDashboards'">
21+
<app-edit-dashboard></app-edit-dashboard>
22+
</div>
23+
<div *ngIf="tab === 'templates'">
24+
</div>
25+
<div *ngIf="tab === 'users'">
26+
<app-manage-admins></app-manage-admins>
27+
</div>
28+
<div *ngIf="tab === 'apitokens'">
29+
<app-generate-tokens></app-generate-tokens>
30+
</div>
31+
<div *ngIf="tab === 'configurations'">
32+
</div>
33+
<div *ngIf="tab === 'auditconfig'">
34+
<app-service-accounts></app-service-accounts>
35+
</div>
36+
<div *ngIf="tab === 'featureflags'">
37+
<app-feature-flags></app-feature-flags>
38+
</div>
39+
<div *ngIf="tab === 'propertiesconfig'">
40+
<app-properties-builder></app-properties-builder>
41+
</div>
42+
</div>
43+
</div>
4644
</div>

src/app/admin_modules/admin_dashboard/dashboard/admin-dashboard/edit-dashboard/edit-dashboard.component.spec.ts

+2-2
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ import { UserDataService } from '../../../services/user-data.service';
1717
import { MockDashboardDataService } from '../../../services/mock-dashboard-data.service';
1818
import { MockPaginationWrapperService } from '../../../services/mock-pagination-wrapper.service';
1919
import { EditDashboardModalComponent } from '../../../../../shared/modals/edit-dashboard-modal/edit-dashboard-modal.component';
20-
import {GeneralDashboardDeleteComponent} from '../../../../../shared/modals/general-dashboard-delete/general-dashboard-delete.component';
20+
import {GeneralDeleteComponent} from '../../../../../shared/modals/general-delete-modal/general-delete-modal.component';
2121

2222
@NgModule({
2323
declarations: [EditDashboardComponent ],
@@ -26,7 +26,7 @@ import {GeneralDashboardDeleteComponent} from '../../../../../shared/modals/gene
2626
imports: [FormsModule, CommonModule, NgbModule, ReactiveFormsModule, HttpClientTestingModule, SharedModule, HttpClientModule],
2727
entryComponents: [
2828
EditDashboardModalComponent,
29-
GeneralDashboardDeleteComponent]
29+
GeneralDeleteComponent]
3030
})
3131
class TestModule { }
3232

src/app/admin_modules/admin_dashboard/dashboard/admin-dashboard/edit-dashboard/edit-dashboard.component.ts

+2-2
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ import { NgbModal } from '@ng-bootstrap/ng-bootstrap';
66
import { DashboardItem } from '../model/dashboard-item';
77
import { EditDashboardModalComponent } from '../../../../../shared/modals/edit-dashboard-modal/edit-dashboard-modal.component';
88
import { forkJoin } from 'rxjs';
9-
import {GeneralDashboardDeleteComponent} from '../../../../../shared/modals/general-dashboard-delete/general-dashboard-delete.component';
9+
import {GeneralDeleteComponent} from '../../../../../shared/modals/general-delete-modal/general-delete-modal.component';
1010

1111
@Component({
1212
selector: 'app-edit-dashboard',
@@ -83,7 +83,7 @@ export class EditDashboardComponent implements OnInit {
8383
}
8484

8585
deleteDashboard(item) {
86-
const modalRef = this.modalService.open(GeneralDashboardDeleteComponent);
86+
const modalRef = this.modalService.open(GeneralDeleteComponent);
8787
modalRef.componentInstance.message = `Are you sure you want to delete ${item.name}?`;
8888
modalRef.result.then((newConfig) => {
8989
this.dashboardData.deleteDashboard(item.id).subscribe(response => {

src/app/admin_modules/admin_dashboard/dashboard/admin-dashboard/feature-flags/feature-flags.component.html

+3-1
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,9 @@
55
</div>
66
<div class = "table-content">
77
<span class="col-xs-6"><button type="button" class="btn btn-primary btn-wide pull-right" (click)="addNewFeatureFlag()">New</button></span>
8-
<div class="table-heading" *ngFor="let item of this.featureFlags">
8+
<input type="text" class="form-control" id="featureFlagsSearch" placeholder="Filter Feature Flags"
9+
[(ngModel)]="featureFlagsSearch">
10+
<div class="dash-modal-row delete-dashboard-row clearfix" style="font-size: 20px;" *ngFor="let item of this.featureFlags | generalFilter:{name:featureFlagsSearch} | generalOrderBy:'name'">
911
<div class="each-result">
1012
<div ng-hide="!ctrl.featureFlags">
1113
<a (click)="deleteFeatureFlag(item?.id)">

src/app/admin_modules/admin_dashboard/dashboard/admin-dashboard/feature-flags/feature-flags.component.spec.ts

+4-2
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,9 @@ import {UserDataService} from '../../../services/user-data.service';
88
import {DashTrashComponent} from '../../../../../shared/dash-trash/dash-trash.component';
99
import {DashEditComponent} from '../../../../../shared/dash-edit/dash-edit.component';
1010
import {CreateOrUpdateFeatureFlagsComponent} from '../modal/create-or-update-feature-flags/create-or-update-feature-flags.component';
11-
import {GeneralDashboardDeleteComponent} from '../../../../../shared/modals/general-dashboard-delete/general-dashboard-delete.component';
11+
import {GeneralDeleteComponent} from '../../../../../shared/modals/general-delete-modal/general-delete-modal.component';
12+
import {GeneralFilterPipe} from '../../../../../shared/pipes/filter.pipe';
13+
import {GeneralOrderByPipe} from '../../../../../shared/pipes/order-by.pipe';
1214

1315
/*@NgModule({
1416
declarations: [FeatureFlagsComponent, DashEditComponent, DashTrashComponent, AdminDeleteComponent],
@@ -43,7 +45,7 @@ describe('FeatureFlagsComponent', () => {
4345
beforeEach(async(() => {
4446
TestBed.configureTestingModule({
4547
declarations: [ FeatureFlagsComponent, DashTrashComponent, DashEditComponent, CreateOrUpdateFeatureFlagsComponent,
46-
GeneralDashboardDeleteComponent],
48+
GeneralFilterPipe, GeneralOrderByPipe, GeneralDeleteComponent],
4749
providers: [UserDataService, FormBuilder, NgbActiveModal],
4850
imports: [ReactiveFormsModule, NgbModule, FormsModule, CommonModule, HttpClientTestingModule]
4951
})

src/app/admin_modules/admin_dashboard/dashboard/admin-dashboard/feature-flags/feature-flags.component.ts

+3-2
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ import { Component, OnInit } from '@angular/core';
22
import { UserDataService } from '../../../services/user-data.service';
33
import { NgbModal } from '@ng-bootstrap/ng-bootstrap';
44
import { CreateOrUpdateFeatureFlagsComponent } from '../modal/create-or-update-feature-flags/create-or-update-feature-flags.component';
5-
import {GeneralDashboardDeleteComponent} from '../../../../../shared/modals/general-dashboard-delete/general-dashboard-delete.component';
5+
import {GeneralDeleteComponent} from '../../../../../shared/modals/general-delete-modal/general-delete-modal.component';
66

77
@Component({
88
selector: 'app-feature-flags',
@@ -13,6 +13,7 @@ export class FeatureFlagsComponent implements OnInit {
1313

1414
error: any = {};
1515
featureFlags: FeatureFlagsComponent[] = [];
16+
featureFlagsSearch = '';
1617
id: string;
1718
name: string;
1819
description: string;
@@ -61,7 +62,7 @@ export class FeatureFlagsComponent implements OnInit {
6162
}
6263

6364
deleteFeatureFlag(id) {
64-
const modalRef = this.modalService.open(GeneralDashboardDeleteComponent);
65+
const modalRef = this.modalService.open(GeneralDeleteComponent);
6566
modalRef.componentInstance.title = 'Are you sure you want to delete?';
6667
modalRef.result.then((newConfig) => {
6768
this.userData.deleteFeatureFlags(id).subscribe(response => {

src/app/admin_modules/admin_dashboard/dashboard/admin-dashboard/generate-api-tokens/generate-api-tokens.component.spec.ts

+3-3
Original file line numberDiff line numberDiff line change
@@ -14,19 +14,19 @@ import { API_TOKEN_LIST } from '../../../services/user-data.service.mockdata';
1414
import { NgModule } from '@angular/core';
1515
import {GeneralOrderByPipe} from '../../../../../shared/pipes/order-by.pipe';
1616
import {GeneralFilterPipe} from '../../../../../shared/pipes/filter.pipe';
17-
import {GeneralDashboardDeleteComponent} from '../../../../../shared/modals/general-dashboard-delete/general-dashboard-delete.component';
17+
import {GeneralDeleteComponent} from '../../../../../shared/modals/general-delete-modal/general-delete-modal.component';
1818

1919
@NgModule({
2020
declarations: [GenerateApiTokensComponent, DashEditComponent, DashTrashComponent, GeneralFilterPipe,
2121
GeneralOrderByPipe, EditTokenModalComponent,
2222
GenerateApiTokenModalComponent,
23-
GeneralDashboardDeleteComponent],
23+
GeneralDeleteComponent],
2424
providers: [UserDataService, NgbModal],
2525
imports: [FormsModule, CommonModule, ReactiveFormsModule, NgbModule, HttpClientTestingModule],
2626
entryComponents: [
2727
EditTokenModalComponent,
2828
GenerateApiTokenModalComponent,
29-
GeneralDashboardDeleteComponent
29+
GeneralDeleteComponent
3030
]
3131
})
3232
class TestModule { }

src/app/admin_modules/admin_dashboard/dashboard/admin-dashboard/generate-api-tokens/generate-api-tokens.component.ts

+2-2
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ import { UserDataService } from '../../../services/user-data.service';
33
import { NgbModal, NgbDateStruct } from '@ng-bootstrap/ng-bootstrap';
44
import { EditTokenModalComponent } from '../modal/edit-token-modal/edit-token-modal.component';
55
import { GenerateApiTokenModalComponent } from '../modal/generate-api-token-modal/generate-api-token-modal.component';
6-
import {GeneralDashboardDeleteComponent} from '../../../../../shared/modals/general-dashboard-delete/general-dashboard-delete.component';
6+
import {GeneralDeleteComponent} from '../../../../../shared/modals/general-delete-modal/general-delete-modal.component';
77

88
@Component({
99
selector: 'app-generate-tokens',
@@ -40,7 +40,7 @@ export class GenerateApiTokensComponent implements OnInit {
4040
}
4141

4242
deleteToken(apiToken) {
43-
const modalRef = this.modalService.open(GeneralDashboardDeleteComponent);
43+
const modalRef = this.modalService.open(GeneralDeleteComponent);
4444
modalRef.componentInstance.title = `Are you sure you want to delete ${apiToken.apiUser}?`;
4545
modalRef.result.then((newConfig) => {
4646
this.userData.deleteToken(apiToken.id).subscribe(response => {

src/app/admin_modules/admin_dashboard/dashboard/admin-dashboard/manage-admins/manage-admins.component.scss

+2-2
Original file line numberDiff line numberDiff line change
@@ -148,7 +148,7 @@
148148
}
149149

150150
.text-success {
151-
color: #28a745 !important !important;
151+
color: #28a745 !important;
152152
}
153153

154154
.fa{
@@ -293,4 +293,4 @@ tr.dash-row > td {
293293
color: rgba(255,255,255,.9) !important;
294294
background-color: #152131;
295295
border-color: #152131;
296-
}
296+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
<div>
2+
<div class="modal-content">
3+
<div class="modal-header">
4+
<h4 class="modal-title">Api Properties Configuration</h4>
5+
<button type="button" class="close" aria-label="Close" (click)="activeModal.dismiss('Cross click')">
6+
<span aria-hidden="true">&times;</span>
7+
</button>
8+
</div>
9+
<div>
10+
<form name="cdf" [formGroup]="apiPropertiesForm" class="form" novalidate>
11+
<div class="form-group">
12+
<label class="modal-label">Api Properties Name (Required):</label>
13+
<div class="col-xs-offset-3 col-xs-6">
14+
<input type="text" *ngIf="this.disableName" class= "form-control" placeholder="Api Properties Name" formControlName="name" disabled required/>
15+
<input type="text" *ngIf="!this.disableName" class= "form-control" placeholder="Api Properties Name" formControlName="name" required/>
16+
</div>
17+
</div>
18+
<div class="form-group">
19+
<label class="modal-label">Properties JSON (Required):</label>
20+
<div class="col-xs-offset-3 col-xs-6">
21+
<input id= "description" value= "{{this.propertiesJSON}}" type="text" class= "form-control" placeholder="Properties JSON" formControlName="properties" required/>
22+
</div>
23+
</div>
24+
</form>
25+
</div>
26+
<div class="modal-footer">
27+
<div class="container">
28+
<div class="row">
29+
<div class="col text-center">
30+
<button type="button" [disabled]="!apiPropertiesForm.valid" (click)="submit()">
31+
Save
32+
</button>
33+
</div>
34+
</div>
35+
</div>
36+
</div>
37+
</div>
38+
</div>
39+
<!-- (click)="activeModal.close('Close click')" -->

0 commit comments

Comments
 (0)