summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--ecomp-sdk/epsdk-app-common/src/main/java/org/onap/portalapp/controller/core/RoleController.java1
-rw-r--r--ecomp-sdk/epsdk-app-os/ngappsrc/portalsdk-tag-lib-0.0.1.tgzbin346392 -> 356592 bytes
-rw-r--r--ecomp-sdk/epsdk-app-os/pom.xml1
-rw-r--r--ecomp-sdk/epsdk-app-overlay/src/main/webapp/ngapp/src/app/layout/components/sidebar/sidebar.component.spec.ts60
-rw-r--r--ecomp-sdk/epsdk-app-overlay/src/main/webapp/ngapp/src/app/layout/layout.component.spec.ts19
-rw-r--r--ecomp-sdk/epsdk-app-overlay/src/main/webapp/ngapp/src/app/pages/admin/menus/menus.component.ts57
-rw-r--r--ecomp-sdk/epsdk-app-overlay/src/main/webapp/ngapp/src/app/pages/admin/menus/new-menu/new-menu.component.spec.ts141
-rw-r--r--ecomp-sdk/epsdk-app-overlay/src/main/webapp/ngapp/src/app/pages/admin/roles/roles.component.html11
-rw-r--r--ecomp-sdk/epsdk-app-overlay/src/main/webapp/ngapp/src/app/pages/admin/roles/roles.component.scss5
-rw-r--r--ecomp-sdk/epsdk-app-overlay/src/main/webapp/ngapp/src/app/pages/admin/roles/roles.component.ts4
-rw-r--r--ecomp-sdk/epsdk-app-overlay/src/main/webapp/ngapp/src/app/pages/analytics/Report_List/Report/run/run-report/run-report.component.spec.ts33
-rw-r--r--ecomp-sdk/epsdk-app-overlay/src/main/webapp/ngapp/src/app/pages/analytics/Report_List/Report/security/security.component.spec.ts45
-rw-r--r--ecomp-sdk/epsdk-app-overlay/src/main/webapp/ngapp/src/app/pages/analytics/Report_List/Report/sql/sql.component.spec.ts33
-rw-r--r--ecomp-sdk/epsdk-app-overlay/src/main/webapp/ngapp/src/app/pages/analytics/Report_List/report-list.component.spec.ts23
-rw-r--r--ecomp-sdk/pom.xml1
-rw-r--r--ecomp-sdk/portalsdk-tag-lib-test-app/portalsdk-tag-lib-0.0.1.tgzbin346392 -> 356592 bytes
-rw-r--r--ecomp-sdk/portalsdk-tag-lib-test-app/src/app/app.component.ts16
-rw-r--r--ecomp-sdk/portalsdk-tag-lib-test-app/src/app/shared/services/app.service.ts4
-rw-r--r--ecomp-sdk/portalsdk-tag-library/projects/portalsdk-tag-lib/src/lib/rdp/model/column.ts8
-rw-r--r--ecomp-sdk/portalsdk-tag-library/projects/portalsdk-tag-lib/src/lib/rdp/rdp-cell-editor/rdp-input-editor/rdp-input-editor.component.html5
-rw-r--r--ecomp-sdk/portalsdk-tag-library/projects/portalsdk-tag-lib/src/lib/rdp/rdp-cell-editor/rdp-input-editor/rdp-input-editor.component.ts12
-rw-r--r--ecomp-sdk/portalsdk-tag-library/projects/portalsdk-tag-lib/src/lib/rdp/rdp-cell-editor/rdp-select-editor/rdp-select-editor.component.ts6
-rw-r--r--ecomp-sdk/portalsdk-tag-library/projects/portalsdk-tag-lib/src/lib/rdp/rdp-data-table/rdp-data-table-edit/rdp-data-table-edit.component.html7
-rw-r--r--ecomp-sdk/portalsdk-tag-library/projects/portalsdk-tag-lib/src/lib/rdp/rdp-data-table/rdp-data-table-edit/rdp-data-table-edit.component.ts53
-rw-r--r--ecomp-sdk/portalsdk-tag-library/projects/portalsdk-tag-lib/src/lib/rdp/rdp-information-model/rdp-information-model.component.css0
-rw-r--r--ecomp-sdk/portalsdk-tag-library/projects/portalsdk-tag-lib/src/lib/rdp/rdp-information-model/rdp-information-model.component.html12
-rw-r--r--ecomp-sdk/portalsdk-tag-library/projects/portalsdk-tag-lib/src/lib/rdp/rdp-information-model/rdp-information-model.component.spec.ts25
-rw-r--r--ecomp-sdk/portalsdk-tag-library/projects/portalsdk-tag-lib/src/lib/rdp/rdp-information-model/rdp-information-model.component.ts19
-rw-r--r--ecomp-sdk/portalsdk-tag-library/projects/portalsdk-tag-lib/src/lib/rdp/rdp.module.ts6
29 files changed, 428 insertions, 179 deletions
diff --git a/ecomp-sdk/epsdk-app-common/src/main/java/org/onap/portalapp/controller/core/RoleController.java b/ecomp-sdk/epsdk-app-common/src/main/java/org/onap/portalapp/controller/core/RoleController.java
index d555ba46..6ee84dd5 100644
--- a/ecomp-sdk/epsdk-app-common/src/main/java/org/onap/portalapp/controller/core/RoleController.java
+++ b/ecomp-sdk/epsdk-app-common/src/main/java/org/onap/portalapp/controller/core/RoleController.java
@@ -171,6 +171,7 @@ public class RoleController extends RestrictedBaseController {
domainRole = roleService.getRole(user.getOrgUserId(), role.getId());
domainRole.setName(role.getName());
domainRole.setPriority(role.getPriority());
+ domainRole.setActive(role.getActive());
} else {
doAuditLog("saveRole: creating new role", role.getName());
diff --git a/ecomp-sdk/epsdk-app-os/ngappsrc/portalsdk-tag-lib-0.0.1.tgz b/ecomp-sdk/epsdk-app-os/ngappsrc/portalsdk-tag-lib-0.0.1.tgz
index 3b1c200f..d0576c6e 100644
--- a/ecomp-sdk/epsdk-app-os/ngappsrc/portalsdk-tag-lib-0.0.1.tgz
+++ b/ecomp-sdk/epsdk-app-os/ngappsrc/portalsdk-tag-lib-0.0.1.tgz
Binary files differ
diff --git a/ecomp-sdk/epsdk-app-os/pom.xml b/ecomp-sdk/epsdk-app-os/pom.xml
index 26c85cd8..5daa8b93 100644
--- a/ecomp-sdk/epsdk-app-os/pom.xml
+++ b/ecomp-sdk/epsdk-app-os/pom.xml
@@ -38,7 +38,6 @@
<sonar.exclusions>**/node_modules/**,**/*.spec.ts</sonar.exclusions>
<sonar.test.inclusions>**/*.spec.ts</sonar.test.inclusions>
<sonar.tests>ngapp/src</sonar.tests>
- <sonar.scm.exclusions.disabled>true</sonar.scm.exclusions.disabled>
<sonar.sourceEncoding>UTF-8</sonar.sourceEncoding>
<sonar.nodejs.executable>node</sonar.nodejs.executable>
</properties>
diff --git a/ecomp-sdk/epsdk-app-overlay/src/main/webapp/ngapp/src/app/layout/components/sidebar/sidebar.component.spec.ts b/ecomp-sdk/epsdk-app-overlay/src/main/webapp/ngapp/src/app/layout/components/sidebar/sidebar.component.spec.ts
index cc710b5c..7f5a43fe 100644
--- a/ecomp-sdk/epsdk-app-overlay/src/main/webapp/ngapp/src/app/layout/components/sidebar/sidebar.component.spec.ts
+++ b/ecomp-sdk/epsdk-app-overlay/src/main/webapp/ngapp/src/app/layout/components/sidebar/sidebar.component.spec.ts
@@ -4,7 +4,7 @@
* ===================================================================
* Copyright © 2019 AT&T Intellectual Property. All rights reserved.
*
- * Modification Copyright © 2019 IBM.
+ * Modification Copyright © 2020 IBM.
* ===================================================================
*
* Unless otherwise specified, all software contained herein is licensed
@@ -40,46 +40,37 @@
import { async, ComponentFixture, TestBed } from '@angular/core/testing';
import { RouterTestingModule } from '@angular/router/testing';
import { TranslateModule } from '@ngx-translate/core';
+import { HttpClientModule } from '@angular/common/http';
import { SidebarComponent } from './sidebar.component';
import { LayoutModule } from '../../layout.module';
-import { Session } from 'protractor';
import { CookieService } from 'ngx-cookie-service';
import { SidebarService } from 'src/app/shared/services';
-import { ReplaySubject } from 'rxjs';
import 'rxjs/add/observable/of';
-import { Observable } from 'rxjs/Observable';
-import { BaseRequestOptions, Http, XHRBackend } from '@angular/http';
-import { MockBackend } from '@angular/http/testing';
-import { environment } from 'src/environments/environment';
-import { inject } from '@angular/core';
-import { Response } from '@angular/http';
import { HttpClientTestingModule } from '@angular/common/http/testing';
+import { Observable } from 'rxjs';
describe('SidebarComponent', () => {
let component: SidebarComponent;
let fixture: ComponentFixture<SidebarComponent>;
let sidebarService: SidebarService;
- let spy:any;
-
- let mockSidebarService = {
- navigate: jasmine.createSpy('navigate')
- };
+
+ var stubData1={
+ "data":'{"data":"cachedRegions"}',
+ "data2":'{"data2":"cachedRegions2"}'
+ };
+
beforeEach(async(() => {
+ let sidebarService: SidebarService;
TestBed.configureTestingModule({
imports: [
LayoutModule,
RouterTestingModule,
TranslateModule.forRoot(),
+ HttpClientModule,
HttpClientTestingModule
],
- providers:[CookieService, SidebarService,MockBackend, BaseRequestOptions, {
- provide: Http,
- useFactory: (backend: XHRBackend, defaultOptions: BaseRequestOptions) => {
- return new Http(backend, defaultOptions);
- },
- deps: [MockBackend, BaseRequestOptions],
- }],
+ providers:[CookieService, SidebarService],
})
.compileComponents();
}));
@@ -89,22 +80,25 @@ describe('SidebarComponent', () => {
component = fixture.componentInstance;
fixture.detectChanges();
sidebarService = TestBed.get(SidebarService);
+
});
it('should create', () => {
expect(component).toBeTruthy();
});
+ it('testing if condition in ngOnInit method',()=>{
+ component.cookieService.set('show_app_header','false');
+ component.ngOnInit();
+ expect(component.showHeader).toBe(false)
+ })
+
+
describe('should test ngOnInit',()=>{
- it('should validate on ngOnInit',(done)=>{
- var result=sidebarService.getLeftMenu()
- spy=spyOn(sidebarService, 'getLeftMenu').and.returnValue(result);
- fixture.detectChanges();
- sidebarService.getLeftMenu();
- expect(spy).toHaveBeenCalled();
- component.ngOnInit();
- done()
- //expect(component.result).toEqual(result)
+ it('should validate on ngOnInit',()=>{
+ let spy=spyOn(sidebarService,'getLeftMenu').and.returnValue(Observable.of(stubData1));
+ component.ngOnInit();
+ expect(spy).toHaveBeenCalled();
})
})
@@ -134,15 +128,15 @@ describe('SidebarComponent', () => {
it('should test isToggled method',()=>{
expect(component.isToggled()).toBe(false);
- });
+ })
it('should test toggleSidebar method',()=>{
component.pushRightClass="kumar";
expect(component.toggleSidebar()).toBeUndefined;
- });
+ })
it('should test on onLoggedout method',()=>{
expect(localStorage.getItem('isLoggedin')).toBeFalsy
- });
+ })
});
diff --git a/ecomp-sdk/epsdk-app-overlay/src/main/webapp/ngapp/src/app/layout/layout.component.spec.ts b/ecomp-sdk/epsdk-app-overlay/src/main/webapp/ngapp/src/app/layout/layout.component.spec.ts
index 6a2bb7ff..975f72c3 100644
--- a/ecomp-sdk/epsdk-app-overlay/src/main/webapp/ngapp/src/app/layout/layout.component.spec.ts
+++ b/ecomp-sdk/epsdk-app-overlay/src/main/webapp/ngapp/src/app/layout/layout.component.spec.ts
@@ -41,17 +41,17 @@ import { TranslateModule } from '@ngx-translate/core';
import { HttpClientTestingModule } from '@angular/common/http/testing';
import { LayoutComponent } from './layout.component';
import { LayoutModule } from './layout.module';
-import { MatDialog, MatDialogModule } from '@angular/material';
-import { Overlay } from '@angular/cdk/overlay';
+import { MatDialogModule } from '@angular/material';
import { CookieService } from 'ngx-cookie-service';
+import { MockBackend } from '@angular/http/testing';
describe('LayoutComponent', () => {
let component: LayoutComponent;
let fixture: ComponentFixture<LayoutComponent>;
+ let cookieService: CookieService;
beforeEach( async(() => {
TestBed.configureTestingModule({
- providers:[CookieService],
imports: [
MatDialogModule,
HttpClientTestingModule,
@@ -59,6 +59,10 @@ describe('LayoutComponent', () => {
RouterTestingModule,
TranslateModule.forRoot(),
],
+ providers:[
+ CookieService,
+ MockBackend
+ ]
}).compileComponents();
})
);
@@ -67,15 +71,22 @@ describe('LayoutComponent', () => {
fixture = TestBed.createComponent(LayoutComponent);
component = fixture.componentInstance;
fixture.detectChanges();
+ cookieService = TestBed.get(CookieService);
});
it('should create', () => {
expect(component).toBeTruthy();
});
+ it('testing if condition in ngOnInit method',()=>{
+ component.cookieService.set('show_app_header','false');
+ component.ngOnInit();
+ expect(component.showHeader).toBe(false)
+ })
+
it('should test receiveCollapsed method',()=>{
component.receiveCollapsed(true);
expect(component.collapedSideBar).toBe(true);
})
-});
+}); \ No newline at end of file
diff --git a/ecomp-sdk/epsdk-app-overlay/src/main/webapp/ngapp/src/app/pages/admin/menus/menus.component.ts b/ecomp-sdk/epsdk-app-overlay/src/main/webapp/ngapp/src/app/pages/admin/menus/menus.component.ts
index c327c79a..5d996964 100644
--- a/ecomp-sdk/epsdk-app-overlay/src/main/webapp/ngapp/src/app/pages/admin/menus/menus.component.ts
+++ b/ecomp-sdk/epsdk-app-overlay/src/main/webapp/ngapp/src/app/pages/admin/menus/menus.component.ts
@@ -111,27 +111,54 @@ export class MenusComponent implements OnInit {
});
//rdp table data
- this.columns.push(new Column("id", "Menu ID", ColumnTypes.TEXT, false, null));
- this.columns.push(new Column("label", "Label", ColumnTypes.TEXT, true, null));
- this.columns.push(new Column("parentId", "ParentId", ColumnTypes.DROPDOWN, false, this.parentList));
- this.columns.push(new Column("sortOrder", "Sort Order", ColumnTypes.TEXT, false, null));
- this.columns.push(new Column("action", "Action", ColumnTypes.TEXT, false, null));
- this.columns.push(new Column("functionCd", "Function", ColumnTypes.DROPDOWN, false, this.functionCDselectData));
- this.columns.push(new Column("active", "Active", ColumnTypes.DROPDOWN, false, this.activeStatusOptions));
- this.columns.push(new Column("servlet", "Servlet", ColumnTypes.TEXT, false, null));
- this.columns.push(new Column("queryString", " Query String", ColumnTypes.TEXT, false, null));
- this.columns.push(new Column("externalUrl", "External URL", ColumnTypes.TEXT, false, null));
- this.columns.push(new Column("target", "Target", ColumnTypes.TEXT, false, null));
- this.columns.push(new Column("menuSetCode", "Menu Set Code", ColumnTypes.TEXT, false, null));
- this.columns.push(new Column("separator", "Separator", ColumnTypes.DROPDOWN, false, this.separatorStatusOptions));
- this.columns.push(new Column("imageSrc", "Image Source", ColumnTypes.TEXT, false, null));
+ let menuIdColumn = new Column("id", "Menu ID", ColumnTypes.TEXT, true, null);
+ menuIdColumn.isColumnDisabled = true;
+ this.columns.push(menuIdColumn);
+
+ let label = new Column("label", "Label", ColumnTypes.TEXT, true, null);
+ label.setIsColumnMandatory = true;
+ this.columns.push(label);
+
+ let parent = new Column("parentId", "ParentId", ColumnTypes.DROPDOWN, true, this.parentList);
+ parent.setIsColumnMandatory = true;
+ this.columns.push(parent);
+
+ let sortOrder = new Column("sortOrder", "Sort Order", ColumnTypes.TEXT, true, null);
+ sortOrder.setIsColumnMandatory = true;
+ this.columns.push(sortOrder);
+
+ let action = new Column("action", "Action", ColumnTypes.TEXT, true, null);
+ action.setIsColumnMandatory = true;
+ this.columns.push(action);
+
+ let functionCd = new Column("functionCd", "Function", ColumnTypes.DROPDOWN, true, this.functionCDselectData);
+ functionCd.setIsColumnMandatory = true;
+ this.columns.push(functionCd);
+
+ let active = new Column("active", "Active", ColumnTypes.DROPDOWN, true, this.activeStatusOptions);
+ active.setIsColumnMandatory = true;
+ this.columns.push(active);
+
+ this.columns.push(new Column("servlet", "Servlet", ColumnTypes.TEXT, true, null));
+ this.columns.push(new Column("queryString", " Query String", ColumnTypes.TEXT, true, null));
+ this.columns.push(new Column("externalUrl", "External URL", ColumnTypes.TEXT, true, null));
+ this.columns.push(new Column("target", "Target", ColumnTypes.TEXT, true, null));
+
+ let menuSetCode = new Column("menuSetCode", "Menu Set Code", ColumnTypes.TEXT, false, null);
+ menuSetCode.setIsColumnMandatory = true;
+ this.columns.push(menuSetCode);
+
+ let separator = new Column("separator", "Separator", ColumnTypes.DROPDOWN, false, this.separatorStatusOptions);
+ separator.setIsColumnMandatory = true;
+ this.columns.push(separator);
+ this.columns.push(new Column("imageSrc", "Image Source", ColumnTypes.TEXT, true, null));
this.settings = new DataTableSettings()
this.settings.columns = this.columns;
this.settings.isPaginationEnabled = true;
this.settings.paginationsSize = "5";
this.settings.isReadOnly = false;
- this.settings.isTableSearchEnabled = false;
+ this.settings.isTableSearchEnabled = true;
this.settings.applicationService = this.menuService;
this.showSpinner = false;
diff --git a/ecomp-sdk/epsdk-app-overlay/src/main/webapp/ngapp/src/app/pages/admin/menus/new-menu/new-menu.component.spec.ts b/ecomp-sdk/epsdk-app-overlay/src/main/webapp/ngapp/src/app/pages/admin/menus/new-menu/new-menu.component.spec.ts
index 7ddaf632..5c22346e 100644
--- a/ecomp-sdk/epsdk-app-overlay/src/main/webapp/ngapp/src/app/pages/admin/menus/new-menu/new-menu.component.spec.ts
+++ b/ecomp-sdk/epsdk-app-overlay/src/main/webapp/ngapp/src/app/pages/admin/menus/new-menu/new-menu.component.spec.ts
@@ -46,35 +46,42 @@ import { HttpClientTestingModule } from '@angular/common/http/testing';
import { NgbActiveModal, NgbModalModule } from '@ng-bootstrap/ng-bootstrap';
import { RouterTestingModule } from '@angular/router/testing';
import { CookieService } from 'ngx-cookie-service';
-import { MockBackend } from '@angular/http/testing';
-import { BaseRequestOptions, Http } from '@angular/http';
import { AdminService } from '../../admin.service';
import 'rxjs/add/operator/toPromise';
import { ConfirmationModalComponent } from 'src/app/modals/confirmation-modal/confirmation-modal.component';
import { BrowserAnimationsModule } from '@angular/platform-browser/animations';
-import { MaterialModule } from 'portalsdk-tag-lib/material-module';
import 'rxjs/add/observable/of';
import { Observable } from 'rxjs/Observable';
+import 'rxjs/add/operator/catch';
+import 'rxjs/add/observable/throw';
+import { BrowserDynamicTestingModule } from '@angular/platform-browser-dynamic/testing';
describe('NewMenuComponent', () => {
let component: NewMenuComponent;
let fixture: ComponentFixture<NewMenuComponent>;
let adminService:AdminService;
- // let entryComponents:any;
beforeEach(async(() => {
TestBed.configureTestingModule({
- declarations: [ NewMenuComponent ],
- imports:[FormsModule, HttpClientTestingModule,RouterTestingModule,NgbModalModule,BrowserAnimationsModule],
- providers:[AdminService,NgbActiveModal,CookieService,MockBackend,BaseRequestOptions,{
- provide:Http,
- useFactory:(backend:MockBackend,defaultOptions:BaseRequestOptions)=>{
- return new Http(backend,defaultOptions);
- },
- deps:[MockBackend,BaseRequestOptions],
- entryComponents:[ConfirmationModalComponent]
- }],
+ declarations: [ NewMenuComponent,ConfirmationModalComponent ],
+ imports:[
+ FormsModule,
+ HttpClientTestingModule,
+ RouterTestingModule,
+ NgbModalModule,
+ BrowserAnimationsModule
+ ],
+ providers:[
+ AdminService,
+ NgbActiveModal,
+ CookieService
+ ],
+ })
+ TestBed.overrideModule(BrowserDynamicTestingModule,{
+ set:{
+ entryComponents:[ConfirmationModalComponent ]
+ }
})
.compileComponents();
@@ -87,57 +94,55 @@ describe('NewMenuComponent', () => {
adminService=TestBed.get(AdminService);
});
-// // it('should create', () => {
-// // expect(component).toBeTruthy();
-// // });
-
-// it('testing ngOnInit method for if condition',()=>{
-// component.selectedMenu=1;
-// component.ngOnInit();
-// expect(component.menu).toEqual(component.selectedMenu);
-// })
-
-// it('testing ngOnInit method for else condition',()=>{
-// component.selectedMenu=0;
-// component.ngOnInit();
-// expect(component.menu.menuSetCode).toEqual('APP');
-// })
-
-// it('testing sortItems method',()=>{
-// let prop: any;
-// component.sortItems(prop);
-
-// })
-
-// it('testing getParentLabel method',()=>{
-// component.getParentLabel(1,"data");
-// })
-
-// describe('should test getParentData',()=>{
-// it('testing getParentData',()=>{
-// let spy=spyOn(adminService,'getParentData').and.returnValue(Observable.of('you object'));
-// component.getParentData();
-// expect(spy).toHaveBeenCalled();
-
-// })
-// })
-
-// describe('should test getLeftMenuItems',()=>{
-// it('testing getLeftMenuItems',()=>{
-// component.getLeftMenuItems();
-// })
-// })
-
-// describe('should test getFunctionCDselectData',()=>{
-// it('testing getFunctionCDselectData',()=>{
-// let spy=spyOn(adminService,'getFunctionCdList').and.returnValue(Observable.of(1,1));
-// component.getFunctionCDselectData();
-// expect(spy).toHaveBeenCalled();
-// })
-// })
-
-// it('should test updateFnMenu method',()=>{
-// //component.updateFnMenu();
-// })
-
- });
+ it('should create', () => {
+ expect(component).toBeTruthy();
+ });
+
+ it('testing ngOnInit method for if condition',()=>{
+ component.selectedMenu=1;
+ component.ngOnInit();
+ expect(component.menu).toEqual(component.selectedMenu);
+ })
+
+ it('testing ngOnInit method for else condition',()=>{
+ component.selectedMenu=0;
+ component.ngOnInit();
+ expect(component.menu.menuSetCode).toEqual('APP');
+ })
+
+ it('testing sortItems method',()=>{
+ let prop: any;
+ component.sortItems(prop);
+
+ })
+
+ it('testing getParentLabel method',()=>{
+ component.getParentLabel(1,"data");
+ })
+
+
+ it('should test getParentData method1 ',()=>{
+ const children="children";
+ let spy=spyOn(adminService,'getParentData').and.returnValue(Observable.of('you object'));
+ component.getParentData();
+ expect(spy).toHaveBeenCalled();
+ })
+
+ describe('should test getLeftMenuItems',()=>{
+ it('testing getLeftMenuItems',()=>{
+ component.getLeftMenuItems();
+ })
+ })
+
+ it('testing getFunctionCDselectData method1',()=>{
+ let spy=spyOn(adminService,'getFunctionCdList').and.returnValue(Observable.of('your object'));
+ component.getFunctionCDselectData();
+ expect(spy).toHaveBeenCalled();
+ })
+
+ it('should test updateFnMenu method',()=>{
+ component.menu.label!=null;
+ component.updateFnMenu();
+ })
+
+});
diff --git a/ecomp-sdk/epsdk-app-overlay/src/main/webapp/ngapp/src/app/pages/admin/roles/roles.component.html b/ecomp-sdk/epsdk-app-overlay/src/main/webapp/ngapp/src/app/pages/admin/roles/roles.component.html
index 4d8fcec8..17ceff86 100644
--- a/ecomp-sdk/epsdk-app-overlay/src/main/webapp/ngapp/src/app/pages/admin/roles/roles.component.html
+++ b/ecomp-sdk/epsdk-app-overlay/src/main/webapp/ngapp/src/app/pages/admin/roles/roles.component.html
@@ -41,11 +41,18 @@
<h1 class="heading-page">Roles</h1>
<span class= "heading-small" *ngIf="isAppCentralized=='true'"><b>Please go to portal to Manage Roles.</b></span>
</div>
- <button type="button" *ngIf="isAppCentralized=='false'" style="float: right;" class="btn btn-primary" (click)="openAddNewRoleModal('')">
+
+ <button type="button" *ngIf="isAppCentralized=='false'" class="btn btn-primary new-role-button" (click)="openAddNewRoleModal('')">
<i class="icon ion-md-person-add"></i>Add New Role
</button>
- <span class="heading-small" *ngIf="isAppCentralized=='false'">Click on a Role to view its details.</span>
+
<span class="ecomp-spinner" *ngIf="showSpinner"></span>
+
+ <div class="role-search">
+ <mat-form-field>
+ <input matInput type="text" (keyup)="applyFilter($event.target.value)" placeholder="Search in entire table">
+ </mat-form-field>
+ </div>
<table mat-table [dataSource]="dataSource" matSort>
<ng-container matColumnDef="name">
diff --git a/ecomp-sdk/epsdk-app-overlay/src/main/webapp/ngapp/src/app/pages/admin/roles/roles.component.scss b/ecomp-sdk/epsdk-app-overlay/src/main/webapp/ngapp/src/app/pages/admin/roles/roles.component.scss
index ddbbf15d..fa026996 100644
--- a/ecomp-sdk/epsdk-app-overlay/src/main/webapp/ngapp/src/app/pages/admin/roles/roles.component.scss
+++ b/ecomp-sdk/epsdk-app-overlay/src/main/webapp/ngapp/src/app/pages/admin/roles/roles.component.scss
@@ -99,4 +99,9 @@ body {
.icon-trash{
cursor: pointer;
+}
+
+.new-role-button{
+ margin-left: 15px;
+ float: right;
} \ No newline at end of file
diff --git a/ecomp-sdk/epsdk-app-overlay/src/main/webapp/ngapp/src/app/pages/admin/roles/roles.component.ts b/ecomp-sdk/epsdk-app-overlay/src/main/webapp/ngapp/src/app/pages/admin/roles/roles.component.ts
index ada77e3d..b2d8fed4 100644
--- a/ecomp-sdk/epsdk-app-overlay/src/main/webapp/ngapp/src/app/pages/admin/roles/roles.component.ts
+++ b/ecomp-sdk/epsdk-app-overlay/src/main/webapp/ngapp/src/app/pages/admin/roles/roles.component.ts
@@ -204,4 +204,8 @@ export class RolesComponent implements OnInit {
})
}
+
+ applyFilter(filterValue: string) {
+ this.dataSource.filter = filterValue.trim().toLowerCase();
+ }
} \ No newline at end of file
diff --git a/ecomp-sdk/epsdk-app-overlay/src/main/webapp/ngapp/src/app/pages/analytics/Report_List/Report/run/run-report/run-report.component.spec.ts b/ecomp-sdk/epsdk-app-overlay/src/main/webapp/ngapp/src/app/pages/analytics/Report_List/Report/run/run-report/run-report.component.spec.ts
index 509aa82e..a41b11cd 100644
--- a/ecomp-sdk/epsdk-app-overlay/src/main/webapp/ngapp/src/app/pages/analytics/Report_List/Report/run/run-report/run-report.component.spec.ts
+++ b/ecomp-sdk/epsdk-app-overlay/src/main/webapp/ngapp/src/app/pages/analytics/Report_List/Report/run/run-report/run-report.component.spec.ts
@@ -12,6 +12,7 @@ import { RouterTestingModule } from '@angular/router/testing';
import { RunService } from '../run.service';
import 'rxjs/add/observable/empty';
import 'rxjs/add/observable/of';
+import { Observable } from 'rxjs';
describe('RunReportComponent', () => {
let component: RunReportComponent;
@@ -25,6 +26,12 @@ describe('RunReportComponent', () => {
let dashboard;
let dashboard2;
let responseformfield = 1;
+ let environment = [
+ {
+ baseUrl: 'just a link'
+ }
+ ]
+
beforeEach(async(() => {
TestBed.configureTestingModule({
@@ -42,6 +49,9 @@ describe('RunReportComponent', () => {
providers: [RunService]
}).compileComponents();
runService = TestBed.get(RunService);
+ //spyOn(runService, 'getReportDataWithFormFields').and.returnValue(Observable.of(environment));
+ //spyOn(runService, 'getReportData').and.returnValue(Observable.of(environment));
+ spyOn(runService, 'downloadReportExcel').and.returnValue(Observable.of(environment));
}));
beforeEach(() => {
@@ -125,7 +135,9 @@ describe('RunReportComponent', () => {
});
it('should test downloadReportExcel method', () => {
+ spyOn(component, 'downloadReportExcel').and.callThrough();
component.downloadReportExcel();
+ expect(component.downloadReportExcel).toHaveBeenCalled();
});
it('should test applyFilter method', () => {
@@ -150,5 +162,26 @@ describe('RunReportComponent', () => {
expect(component.NEWdisplayedColumns).toEqual(new Array());
expect(component.isReady).toEqual(false);
});
+
+ it('should test initialProcess method', () => {
+ component.DashboardReportObj.length = 1;
+ component.initialProcesses();
+ });
+
+ // it('should test postFetchingReportDataFn method', () => {
+ // let response: any;
+ // component.postFetchingReportDataFn(response);
+ // })
+
+ // it('should test ngOnChanges subscribe method', () => {
+ // spyOn(component, 'ngOnChanges').and.callThrough();
+ // component.ngOnChanges(change);
+ // expect(component.ngOnChanges).toHaveBeenCalled();
+ // })
+
+ // it('should test postFetchingReportDataFn method', () => {
+ // let obj: any;
+ // component.postFetchingReportDataFn(obj);
+ // })
});
diff --git a/ecomp-sdk/epsdk-app-overlay/src/main/webapp/ngapp/src/app/pages/analytics/Report_List/Report/security/security.component.spec.ts b/ecomp-sdk/epsdk-app-overlay/src/main/webapp/ngapp/src/app/pages/analytics/Report_List/Report/security/security.component.spec.ts
index 3c3efb92..417b3a18 100644
--- a/ecomp-sdk/epsdk-app-overlay/src/main/webapp/ngapp/src/app/pages/analytics/Report_List/Report/security/security.component.spec.ts
+++ b/ecomp-sdk/epsdk-app-overlay/src/main/webapp/ngapp/src/app/pages/analytics/Report_List/Report/security/security.component.spec.ts
@@ -5,18 +5,42 @@ import { FormsModule } from '@angular/forms';
import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core';
import { HttpClientTestingModule } from '@angular/common/http/testing';
import { componentRefresh } from '@angular/core/src/render3/instructions';
+import { SecurityService } from './security.service';
+import { Observable } from 'rxjs/Observable';
+import 'rxjs/add/observable/of';
describe('SecurityComponent', () => {
let component: SecurityComponent;
let fixture: ComponentFixture<SecurityComponent>;
+ let service : SecurityService;
+ let environment =[
+ {
+ baseUrl: 'just for testing'
+ }
+ ]
beforeEach(async(() => {
TestBed.configureTestingModule({
schemas: [CUSTOM_ELEMENTS_SCHEMA],
declarations: [ SecurityComponent ],
- imports: [FormsModule, HttpClientTestingModule]
+ imports: [FormsModule, HttpClientTestingModule],
+ providers: [SecurityService]
})
.compileComponents();
+ service = TestBed.get(SecurityService);
+ spyOn(service, 'getReportOwnerList').and.returnValue(Observable.of(environment));
+ spyOn(service, 'getReportSecurityInfo').and.returnValue(Observable.of(environment));
+ spyOn(service, 'getReportUserList').and.returnValue(Observable.of(environment));
+ spyOn(service, 'getReportSecurityRoles').and.returnValue(Observable.of(environment));
+ spyOn(service, 'getReportRoleList').and.returnValue(Observable.of(environment));
+ spyOn(service, 'addReportUser').and.returnValue(Observable.of(environment));
+ spyOn(service, 'removeReportUser').and.returnValue(Observable.of(environment));
+ spyOn(service, 'addUserEditAccess').and.returnValue(Observable.of(environment));
+ spyOn(service, 'addReportRole').and.returnValue(Observable.of(environment));
+ spyOn(service, 'removeReportRole').and.returnValue(Observable.of(environment));
+ spyOn(service, 'addRoleEditAccess').and.returnValue(Observable.of(environment));
+ spyOn(service, 'saveSecurityTabInfo').and.returnValue(Observable.of(environment));
+
}));
beforeEach(() => {
@@ -31,15 +55,19 @@ describe('SecurityComponent', () => {
it('should test ngOnInit method', () => {
component.reportType = "Dashboard";
- component.ngOnInit();
- expect(component.showSpinner).toEqual(true);
+ component.ngOnInit();
+ // expect(component.showSpinner).toEqual(true);
expect(component.stepNo).toEqual('2');
-
component.reportType = "test";
+
component.ngOnInit();
expect(component.stepNo).toEqual('6');
- });
+ spyOn(component, 'ngOnInit').and.callThrough();
+ component.ngOnInit();
+ expect(component.ngOnInit).toHaveBeenCalled();
+ });
+
it('should test addUserEditAccess method', () =>{
let reportUserId = 'test';
let index = 1;
@@ -63,7 +91,9 @@ describe('SecurityComponent', () => {
});
it("should test addReportUser method", () => {
+ spyOn(component, 'addReportUser').and.callThrough();
component.addReportUser();
+ expect(component.addReportUser).toHaveBeenCalled();
});
it("should test removeReportUser method", () => {
@@ -79,7 +109,10 @@ describe('SecurityComponent', () => {
});
it("should test saveSecurityTabData method", () => {
- component.saveSecurityTabData();
+ spyOn(component, 'saveSecurityTabData').and.callThrough();
+ component.saveSecurityTabData();
+ expect(component.saveSecurityTabData).toHaveBeenCalled();
});
});
+
diff --git a/ecomp-sdk/epsdk-app-overlay/src/main/webapp/ngapp/src/app/pages/analytics/Report_List/Report/sql/sql.component.spec.ts b/ecomp-sdk/epsdk-app-overlay/src/main/webapp/ngapp/src/app/pages/analytics/Report_List/Report/sql/sql.component.spec.ts
index c894bff6..52082c9f 100644
--- a/ecomp-sdk/epsdk-app-overlay/src/main/webapp/ngapp/src/app/pages/analytics/Report_List/Report/sql/sql.component.spec.ts
+++ b/ecomp-sdk/epsdk-app-overlay/src/main/webapp/ngapp/src/app/pages/analytics/Report_List/Report/sql/sql.component.spec.ts
@@ -8,15 +8,20 @@ import { RouterTestingModule } from '@angular/router/testing';
import { SqlService } from './sql.service';
import 'rxjs/add/observable/of';
import { Observable } from 'rxjs/Observable';
-import { element } from '@angular/core/src/render3';
-import { environment } from 'src/environments/environment';
+
describe('SQLComponentComponent', () => {
let sqlService: SqlService;
let component: SQLComponent;
let fixture: ComponentFixture<SQLComponent>;
const reportId = "test";
- const finalGetObj = {"query":"dummyQuery"}
+ const finalGetObj = {"query":"dummyQuery"};
+ let elements = [];
+ let environment = [
+ {
+ "baseUrl": 'just for test'
+ }
+ ]
beforeEach(async(() => {
TestBed.configureTestingModule({
@@ -27,15 +32,17 @@ describe('SQLComponentComponent', () => {
})
.compileComponents();
sqlService = TestBed.get(SqlService);
+ let response : any;
+ spyOn(sqlService, 'getSQLTabData').and.returnValue(Observable.of(environment));
+ spyOn(sqlService, 'postSQLValidateAndSave').and.returnValue(Observable.of(environment));
}));
beforeEach(() => {
- fixture = TestBed.createComponent(SQLComponent);
+ fixture = TestBed.createComponent(SQLComponent);
component = fixture.componentInstance;
component.reportId1 = reportId;
component.finalGetObj = finalGetObj;
- sqlService = TestBed.get(SqlService);
fixture.detectChanges();
});
@@ -44,6 +51,12 @@ describe('SQLComponentComponent', () => {
expect(component).toBeTruthy();
});
+ it('should test ngOninit subscribe method', () => {
+ spyOn(component, 'ngOnInit').and.callThrough();
+ component.ngOnInit();
+ expect(component.ngOnInit).toHaveBeenCalled();
+ });
+
it('should test ngOnInit method', () => {
component.ngOnInit();
expect(component.showSaveSQLDialog).toEqual(false);
@@ -69,10 +82,6 @@ describe('SQLComponentComponent', () => {
expect(component.SQLclosable).toEqual(true);
});
- it('should test validate method', () => {
- component.validate();
- });
-
it('should test closeSaveModal method', () => {
component.closeSaveModal();
expect(component.showSaveSQLDialog).toEqual(component.showSaveSQLDialog);
@@ -104,4 +113,10 @@ describe('SQLComponentComponent', () => {
expect(component.GetValidateResponseString()).toEqual("test");
});
+// it('should test validate method', () => {
+// spyOn(component, 'validate').and.callThrough();
+// component.validate();
+// expect(component.validate).toHaveBeenCalled();
+// });
+
});
diff --git a/ecomp-sdk/epsdk-app-overlay/src/main/webapp/ngapp/src/app/pages/analytics/Report_List/report-list.component.spec.ts b/ecomp-sdk/epsdk-app-overlay/src/main/webapp/ngapp/src/app/pages/analytics/Report_List/report-list.component.spec.ts
index 2c01ff14..78113e42 100644
--- a/ecomp-sdk/epsdk-app-overlay/src/main/webapp/ngapp/src/app/pages/analytics/Report_List/report-list.component.spec.ts
+++ b/ecomp-sdk/epsdk-app-overlay/src/main/webapp/ngapp/src/app/pages/analytics/Report_List/report-list.component.spec.ts
@@ -3,17 +3,27 @@ import { NoopAnimationsModule } from '@angular/platform-browser/animations';
import { MatPaginatorModule } from '@angular/material/paginator';
import { MatSortModule } from '@angular/material/sort';
import { MatTableModule, MatTableDataSource } from '@angular/material/table';
-
import { ReportListComponent } from './report-list.component';
import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core';
import { HttpClientTestingModule } from '@angular/common/http/testing';
import { RouterTestingModule } from '@angular/router/testing';
import { Router } from '@angular/router';
import { AllReportsDataSource } from './report-list-datasource';
+import { HttpClient } from '@angular/common/http';
+import { Observable } from 'rxjs';
+import 'rxjs/add/observable/empty';
+import 'rxjs/add/observable/of';
+import { environment } from 'src/environments/environment';
+import { ReportListService } from './report-list.service';
describe('ReportListComponent', () => {
let component: ReportListComponent;
let fixture: ComponentFixture<ReportListComponent>;
+ let http: HttpClient;
+ let reportService : ReportListService;
+ let environment = [
+ { baseUrl : 'just for test' }
+ ]
beforeEach(async(() => {
TestBed.configureTestingModule({
@@ -25,9 +35,14 @@ describe('ReportListComponent', () => {
MatSortModule,
MatTableModule,
HttpClientTestingModule,
- RouterTestingModule
- ]
+ RouterTestingModule,
+ ],
+ providers: [HttpClient, ReportListService]
}).compileComponents();
+
+ reportService = TestBed.get(ReportListService);
+ http = TestBed.get(HttpClient);
+ spyOn(reportService, 'deleteReport').and.returnValue(Observable.of(environment));
}));
beforeEach(() => {
@@ -96,7 +111,9 @@ describe('ReportListComponent', () => {
});
it('should test deleteReport method', () => {
+ spyOn(component, 'deleteReport').and.callThrough();
component.deleteReport();
+ expect(component.deleteReport).toHaveBeenCalled();
});
it('should test openReportSchedule method', () => {
diff --git a/ecomp-sdk/pom.xml b/ecomp-sdk/pom.xml
index b5f59ada..c02d6f4b 100644
--- a/ecomp-sdk/pom.xml
+++ b/ecomp-sdk/pom.xml
@@ -54,6 +54,7 @@
<sonar.projectVersion>${project.version}</sonar.projectVersion>
<sonar.skipDesign>true</sonar.skipDesign>
<sonar.projectBaseDir>${project.basedir}</sonar.projectBaseDir>
+ <sonar.scm.exclusions.disabled>true</sonar.scm.exclusions.disabled>
</properties>
<!-- Specify the repositories here to avoid coordination of ~/.m2/settings.xml
diff --git a/ecomp-sdk/portalsdk-tag-lib-test-app/portalsdk-tag-lib-0.0.1.tgz b/ecomp-sdk/portalsdk-tag-lib-test-app/portalsdk-tag-lib-0.0.1.tgz
index 3b1c200f..d0576c6e 100644
--- a/ecomp-sdk/portalsdk-tag-lib-test-app/portalsdk-tag-lib-0.0.1.tgz
+++ b/ecomp-sdk/portalsdk-tag-lib-test-app/portalsdk-tag-lib-0.0.1.tgz
Binary files differ
diff --git a/ecomp-sdk/portalsdk-tag-lib-test-app/src/app/app.component.ts b/ecomp-sdk/portalsdk-tag-lib-test-app/src/app/app.component.ts
index 536b1714..486ebf6b 100644
--- a/ecomp-sdk/portalsdk-tag-lib-test-app/src/app/app.component.ts
+++ b/ecomp-sdk/portalsdk-tag-lib-test-app/src/app/app.component.ts
@@ -39,12 +39,20 @@ export class AppComponent implements OnInit{
//Demonstrating disable feature
let column = new Column("id","ID",ColumnTypes.TEXT, false,list);
column.setIsColumnDisabled = true;
-
this.columns.push(column);
- this.columns.push(new Column("name","Name",ColumnTypes.TEXT, true,list));
- this.columns.push(new Column("company","Company", ColumnTypes.TEXT, false,list));
- this.columns.push(new Column("location","Location", ColumnTypes.DROPDOWN, true,list));
+ let name = new Column("name","Name",ColumnTypes.TEXT, true,list);
+ name.setIsColumnMandatory = true;
+ this.columns.push(name);
+
+ let company = new Column("company","Company", ColumnTypes.TEXT, false,list);
+ company.setIsColumnMandatory = false;
+ this.columns.push(company);
+
+ let location = new Column("location","Location", ColumnTypes.DROPDOWN, true,list);
+ location.setIsColumnMandatory = true;
+ this.columns.push(location);
+ console.log("Columns : ", this.columns);
this.settings = new DataTableSettings()
this.settings.columns = this.columns;
this.settings.isPaginationEnabled=true;
diff --git a/ecomp-sdk/portalsdk-tag-lib-test-app/src/app/shared/services/app.service.ts b/ecomp-sdk/portalsdk-tag-lib-test-app/src/app/shared/services/app.service.ts
index 0860e113..aade5595 100644
--- a/ecomp-sdk/portalsdk-tag-lib-test-app/src/app/shared/services/app.service.ts
+++ b/ecomp-sdk/portalsdk-tag-lib-test-app/src/app/shared/services/app.service.ts
@@ -2,7 +2,7 @@ import { Injectable } from '@angular/core';
import { RdpCrudInterface } from 'portalsdk-tag-lib';
import { HttpClient, HttpParams } from '@angular/common/http';
import { map } from "rxjs/operators";
-import { Observable } from 'rxjs';
+import { Observable, BehaviorSubject } from 'rxjs';
@Injectable({
providedIn: 'root'
@@ -10,12 +10,14 @@ import { Observable } from 'rxjs';
export class AppService implements RdpCrudInterface{
constructor(private http:HttpClient) { }
+ public statusResponse = new BehaviorSubject("");
add(data:any){
console.log("Add method is getting called from AppServie data:: ",data);
}
update(data:any){
console.log("Update method is getting called from AppServie data:: ",data);
+ this.statusResponse.next("202");
}
delete(data:any){
diff --git a/ecomp-sdk/portalsdk-tag-library/projects/portalsdk-tag-lib/src/lib/rdp/model/column.ts b/ecomp-sdk/portalsdk-tag-library/projects/portalsdk-tag-lib/src/lib/rdp/model/column.ts
index f5bda1fe..7bce33b2 100644
--- a/ecomp-sdk/portalsdk-tag-library/projects/portalsdk-tag-lib/src/lib/rdp/model/column.ts
+++ b/ecomp-sdk/portalsdk-tag-library/projects/portalsdk-tag-lib/src/lib/rdp/model/column.ts
@@ -41,8 +41,9 @@ export class Column {
dispalyTitle:string;
type:ColumnTypes;
sort:boolean;
- isColumnDisabled:boolean
+ isColumnDisabled:boolean;
listData = [];
+ isMandatory :boolean;
constructor(title:string, dispalyTitle:string, type:ColumnTypes, sort:boolean, listData) {
this.title = title;
@@ -51,11 +52,16 @@ export class Column {
this.sort = sort;
this.isColumnDisabled = false;
this.listData = listData;
+ this.isMandatory = false;
}
set setIsColumnDisabled(value: boolean) {
this.isColumnDisabled = value;
}
+
+ set setIsColumnMandatory(value: boolean) {
+ this.isMandatory = value;
+ }
}
export enum ColumnTypes {
diff --git a/ecomp-sdk/portalsdk-tag-library/projects/portalsdk-tag-lib/src/lib/rdp/rdp-cell-editor/rdp-input-editor/rdp-input-editor.component.html b/ecomp-sdk/portalsdk-tag-library/projects/portalsdk-tag-lib/src/lib/rdp/rdp-cell-editor/rdp-input-editor/rdp-input-editor.component.html
index af464510..111c376b 100644
--- a/ecomp-sdk/portalsdk-tag-library/projects/portalsdk-tag-lib/src/lib/rdp/rdp-cell-editor/rdp-input-editor/rdp-input-editor.component.html
+++ b/ecomp-sdk/portalsdk-tag-library/projects/portalsdk-tag-lib/src/lib/rdp/rdp-cell-editor/rdp-input-editor/rdp-input-editor.component.html
@@ -1,3 +1,2 @@
-<p>
- rdp-input-editor works!
-</p>
+<input class="input-editor" [disabled]="isColumnDisabled" [(ngModel)]="columnValue" type="text" name="{{columntitle}}"
+ id="{{columntitle}}" (change)="detectChange(columnValue)"> \ No newline at end of file
diff --git a/ecomp-sdk/portalsdk-tag-library/projects/portalsdk-tag-lib/src/lib/rdp/rdp-cell-editor/rdp-input-editor/rdp-input-editor.component.ts b/ecomp-sdk/portalsdk-tag-library/projects/portalsdk-tag-lib/src/lib/rdp/rdp-cell-editor/rdp-input-editor/rdp-input-editor.component.ts
index ea6d1746..8d604936 100644
--- a/ecomp-sdk/portalsdk-tag-library/projects/portalsdk-tag-lib/src/lib/rdp/rdp-cell-editor/rdp-input-editor/rdp-input-editor.component.ts
+++ b/ecomp-sdk/portalsdk-tag-library/projects/portalsdk-tag-lib/src/lib/rdp/rdp-cell-editor/rdp-input-editor/rdp-input-editor.component.ts
@@ -36,20 +36,14 @@
*
*/
-import { Component, OnInit, Input, Output, EventEmitter } from '@angular/core';
+import { Component, OnInit, Input, Output, EventEmitter, OnChanges, OnDestroy } from '@angular/core';
@Component({
selector: 'rdp-input-editor',
styleUrls: ['./rdp-input-editor.component.scss'],
- template: `
- <input class="input-editor" [disabled]="isColumnDisabled"
- [(ngModel)]="columnValue"
- type="text" name="{{columntitle}}"
- id="{{columntitle}}"
- (change)="detectChange(columnValue)">
- `
+ templateUrl : './rdp-input-editor.component.html'
})
-export class RdpInputEditorComponent implements OnInit {
+export class RdpInputEditorComponent implements OnInit{
@Input() rowdata: any;
@Input() columntitle: any
diff --git a/ecomp-sdk/portalsdk-tag-library/projects/portalsdk-tag-lib/src/lib/rdp/rdp-cell-editor/rdp-select-editor/rdp-select-editor.component.ts b/ecomp-sdk/portalsdk-tag-library/projects/portalsdk-tag-lib/src/lib/rdp/rdp-cell-editor/rdp-select-editor/rdp-select-editor.component.ts
index 5dbc037b..24cb2e6f 100644
--- a/ecomp-sdk/portalsdk-tag-library/projects/portalsdk-tag-lib/src/lib/rdp/rdp-cell-editor/rdp-select-editor/rdp-select-editor.component.ts
+++ b/ecomp-sdk/portalsdk-tag-library/projects/portalsdk-tag-lib/src/lib/rdp/rdp-cell-editor/rdp-select-editor/rdp-select-editor.component.ts
@@ -44,7 +44,7 @@ import { Component, OnInit, Input, Output, EventEmitter } from '@angular/core';
template: `
<mat-form-field>
<mat-label>{{columntitle | titlecase}}:</mat-label>
- <mat-select [(value)]="selected"
+ <mat-select [(value)]="columnValue"
(selectionChange)="detectChange(columnValue)">
<mat-option *ngFor="let item of data" [value]="item.name">
{{item.name}}
@@ -59,7 +59,6 @@ export class RdpSelectEditorComponent implements OnInit {
@Input() columntitle: any;
@Input() data: any[];
@Output() changedColumnValue = new EventEmitter<any>();
- selected: any;
columnValue: any;
constructor() { }
@@ -69,12 +68,9 @@ export class RdpSelectEditorComponent implements OnInit {
let rowObj = JSON.parse(this.rowdata);
let column = this.columntitle;
this.columnValue = rowObj[column];
-
} else {
this.columnValue = null;
}
- this.selected = this.columnValue;
- console.log(" this.selected :::", this.selected);
}
detectChange(changedValue) {
diff --git a/ecomp-sdk/portalsdk-tag-library/projects/portalsdk-tag-lib/src/lib/rdp/rdp-data-table/rdp-data-table-edit/rdp-data-table-edit.component.html b/ecomp-sdk/portalsdk-tag-library/projects/portalsdk-tag-lib/src/lib/rdp/rdp-data-table/rdp-data-table-edit/rdp-data-table-edit.component.html
index a0e2b01b..f2ff001b 100644
--- a/ecomp-sdk/portalsdk-tag-library/projects/portalsdk-tag-lib/src/lib/rdp/rdp-data-table/rdp-data-table-edit/rdp-data-table-edit.component.html
+++ b/ecomp-sdk/portalsdk-tag-library/projects/portalsdk-tag-lib/src/lib/rdp/rdp-data-table/rdp-data-table-edit/rdp-data-table-edit.component.html
@@ -49,6 +49,7 @@
<div [ngSwitch]="column.type">
<div *ngSwitchCase="'text'" class="groupItem">
<label class="item-label">{{column.dispalyTitle | titlecase}}:</label><br>
+ <span *ngIf="column.isMandatory" style="color: red;">*</span>
<rdp-input-editor (changedColumnValue)="columnDataChanged($event, column.title)"
rowdata="{{selectedRowData}}"
columntitle="{{column.title}}"
@@ -57,6 +58,7 @@
</rdp-input-editor>
</div>
<div *ngSwitchCase="'dropdown'" class="groupItem">
+ <span *ngIf="column.isMandatory" style="color: red;">*</span>
<rdp-select-editor (changedColumnValue)="columnDataChanged($event, column.title)"
rowdata="{{selectedRowData}}"
[data]="column.listData"
@@ -64,14 +66,17 @@
</div>
<div *ngSwitchCase="'textarea'" class="groupItem">
<label class="item-label">{{column.dispalyTitle | titlecase}}:</label><br>
+ <span *ngIf="column.isMandatory" style="color: red;">*</span>
<rdp-textarea-editor rowdata="{{selectedRowData}}" columntitle="{{column.title}}"></rdp-textarea-editor>
</div>
<div *ngSwitchCase="'checkbox'" class="groupItem">
<label class="item-label">{{column.dispalyTitle | titlecase}}:</label><br>
+ <span *ngIf="column.isMandatory" style="color: red;">*</span>
<rdp-checkbox-editor rowdata="{{selectedRowData}}" columntitle="{{column.title}}"></rdp-checkbox-editor>
</div>
<div *ngSwitchCase="'radio'" class="groupItem">
<label class="item-label">{{column.dispalyTitle | titlecase}}:</label><br>
+ <span *ngIf="column.isMandatory" style="color: red;">*</span>
<rdp-radio-editor (changedColumnValue)="columnDataChanged($event, column.title)"
[data]="column.listData"
rowdata="{{selectedRowData}}"
@@ -79,10 +84,12 @@
</div>
<div *ngSwitchCase="'datepicker'" class="groupItem">
<label class="item-label">{{column.dispalyTitle | titlecase}}:</label><br>
+ <span *ngIf="column.isMandatory" style="color: red;">*</span>
<rdp-datepicker-editor rowdata="{{selectedRowData}}" columntitle="{{column.title}}"></rdp-datepicker-editor>
</div>
<div *ngSwitchDefault class="groupItem">
<label class="item-label">{{column.dispalyTitle | titlecase}}:</label><br>
+ <span *ngIf="column.isMandatory" style="color: red;">*</span>
<rdp-input-editor (changedColumnValue)="columnDataChanged($event, column.title)"
rowdata="{{selectedRowData}}" columntitle="{{column.title}}"></rdp-input-editor>
</div>
diff --git a/ecomp-sdk/portalsdk-tag-library/projects/portalsdk-tag-lib/src/lib/rdp/rdp-data-table/rdp-data-table-edit/rdp-data-table-edit.component.ts b/ecomp-sdk/portalsdk-tag-library/projects/portalsdk-tag-lib/src/lib/rdp/rdp-data-table/rdp-data-table-edit/rdp-data-table-edit.component.ts
index d92ce320..5437c174 100644
--- a/ecomp-sdk/portalsdk-tag-library/projects/portalsdk-tag-lib/src/lib/rdp/rdp-data-table/rdp-data-table-edit/rdp-data-table-edit.component.ts
+++ b/ecomp-sdk/portalsdk-tag-library/projects/portalsdk-tag-lib/src/lib/rdp/rdp-data-table/rdp-data-table-edit/rdp-data-table-edit.component.ts
@@ -1,6 +1,8 @@
import { Component, OnInit, Input, EventEmitter, Output } from '@angular/core';
import { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap';
import { RdpDataTableService } from '../../shared/rdp-data-table.service';
+import { RdpModalService } from '../../services/rdp-modal.service';
+import { RdpInformationModelComponent } from '../../rdp-information-model/rdp-information-model.component';
@Component({
selector: 'rdp-rdp-data-table-edit',
@@ -18,7 +20,10 @@ export class RdpDataTableEditComponent implements OnInit {
selectedRowData: any;
public columnsInfoList = [];
- constructor(public activeModal: NgbActiveModal, public rdpDataTableService: RdpDataTableService) { }
+ constructor(
+ public activeModal: NgbActiveModal,
+ public rdpDataTableService: RdpDataTableService,
+ private rdpModal: RdpModalService) { }
ngOnInit() {
this.modalPopupTitle = "Edit";
@@ -36,19 +41,41 @@ export class RdpDataTableEditComponent implements OnInit {
}
saveChanges() {
- this.applicationService.update(this.rowdata);
- this.applicationService.statusResponse.subscribe(responseData => {
- if (responseData == "200") {
- console.log("Success")
- this.applicationService.get();
- this.applicationService.updatedData.subscribe(val => {
- if (val) {
- this.passEntry.emit(val);
- }
- })
+ let validationResult = this.validateRowData(this.rowdata);
+ if (validationResult) {
+ console.log("Validation is complete")
+ this.applicationService.update(this.rowdata);
+ this.applicationService.statusResponse.subscribe(responseData => {
+ if (responseData == "200") {
+ console.log("Success")
+ this.applicationService.get();
+ this.applicationService.updatedData.subscribe(val => {
+ if (val) {
+ this.passEntry.emit(val);
+ }
+ })
+ }
+ })
+ this.activeModal.close();
+ }
+ }
+
+ validateRowData(rowData): any {
+ let columnData = this.settings.columns;
+ let validate: boolean = true;
+ for (let column of columnData) {
+ if (column.isMandatory) {
+ if (rowData[column.title] == undefined || rowData[column.title] == null
+ || rowData[column.title] == "") {
+ const modelRef = this.rdpModal.open(RdpInformationModelComponent, { size: 'lg' });
+ modelRef.componentInstance.title = 'Missing Mandatory Field';
+ modelRef.componentInstance.message = "Please fill mandatory field " + column.dispalyTitle;
+ validate = false;
+ break;
+ }
}
- })
- this.activeModal.close();
+ }
+ return validate;
}
columnDataChanged($event, columnTitle) {
diff --git a/ecomp-sdk/portalsdk-tag-library/projects/portalsdk-tag-lib/src/lib/rdp/rdp-information-model/rdp-information-model.component.css b/ecomp-sdk/portalsdk-tag-library/projects/portalsdk-tag-lib/src/lib/rdp/rdp-information-model/rdp-information-model.component.css
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/ecomp-sdk/portalsdk-tag-library/projects/portalsdk-tag-lib/src/lib/rdp/rdp-information-model/rdp-information-model.component.css
diff --git a/ecomp-sdk/portalsdk-tag-library/projects/portalsdk-tag-lib/src/lib/rdp/rdp-information-model/rdp-information-model.component.html b/ecomp-sdk/portalsdk-tag-library/projects/portalsdk-tag-lib/src/lib/rdp/rdp-information-model/rdp-information-model.component.html
new file mode 100644
index 00000000..b581f277
--- /dev/null
+++ b/ecomp-sdk/portalsdk-tag-library/projects/portalsdk-tag-lib/src/lib/rdp/rdp-information-model/rdp-information-model.component.html
@@ -0,0 +1,12 @@
+<div class="modal-header">
+ <h4 class="modal-title">{{title}}</h4>
+ <button type="button" class="close" aria-label="Close" (click)="activeModal.dismiss('Cross')">
+ <span aria-hidden="true">&times;</span>
+ </button>
+</div>
+<div class="modal-body">
+ <p>{{message}}</p>
+</div>
+<div class="modal-footer">
+ <button type="button" class="btn btn-primary" (click)="activeModal.close('Close')">Close</button>
+</div> \ No newline at end of file
diff --git a/ecomp-sdk/portalsdk-tag-library/projects/portalsdk-tag-lib/src/lib/rdp/rdp-information-model/rdp-information-model.component.spec.ts b/ecomp-sdk/portalsdk-tag-library/projects/portalsdk-tag-lib/src/lib/rdp/rdp-information-model/rdp-information-model.component.spec.ts
new file mode 100644
index 00000000..1df58942
--- /dev/null
+++ b/ecomp-sdk/portalsdk-tag-library/projects/portalsdk-tag-lib/src/lib/rdp/rdp-information-model/rdp-information-model.component.spec.ts
@@ -0,0 +1,25 @@
+import { async, ComponentFixture, TestBed } from '@angular/core/testing';
+
+import { RdpInformationModelComponent } from './rdp-information-model.component';
+
+describe('RdpInformationModelComponent', () => {
+ let component: RdpInformationModelComponent;
+ let fixture: ComponentFixture<RdpInformationModelComponent>;
+
+ beforeEach(async(() => {
+ TestBed.configureTestingModule({
+ declarations: [ RdpInformationModelComponent ]
+ })
+ .compileComponents();
+ }));
+
+ beforeEach(() => {
+ fixture = TestBed.createComponent(RdpInformationModelComponent);
+ component = fixture.componentInstance;
+ fixture.detectChanges();
+ });
+
+ it('should create', () => {
+ expect(component).toBeTruthy();
+ });
+});
diff --git a/ecomp-sdk/portalsdk-tag-library/projects/portalsdk-tag-lib/src/lib/rdp/rdp-information-model/rdp-information-model.component.ts b/ecomp-sdk/portalsdk-tag-library/projects/portalsdk-tag-lib/src/lib/rdp/rdp-information-model/rdp-information-model.component.ts
new file mode 100644
index 00000000..e1bc580a
--- /dev/null
+++ b/ecomp-sdk/portalsdk-tag-library/projects/portalsdk-tag-lib/src/lib/rdp/rdp-information-model/rdp-information-model.component.ts
@@ -0,0 +1,19 @@
+import { Component, OnInit, Input } from '@angular/core';
+import { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap';
+
+@Component({
+ selector: 'rdp-rdp-information-model',
+ templateUrl: './rdp-information-model.component.html',
+ styleUrls: ['./rdp-information-model.component.css']
+})
+export class RdpInformationModelComponent implements OnInit {
+
+ @Input() title: string;
+ @Input() message: string;
+
+ constructor(public activeModal: NgbActiveModal) { }
+
+ ngOnInit() {
+ }
+
+}
diff --git a/ecomp-sdk/portalsdk-tag-library/projects/portalsdk-tag-lib/src/lib/rdp/rdp.module.ts b/ecomp-sdk/portalsdk-tag-library/projects/portalsdk-tag-lib/src/lib/rdp/rdp.module.ts
index e33ad4e6..0cd305e3 100644
--- a/ecomp-sdk/portalsdk-tag-library/projects/portalsdk-tag-lib/src/lib/rdp/rdp.module.ts
+++ b/ecomp-sdk/portalsdk-tag-library/projects/portalsdk-tag-lib/src/lib/rdp/rdp.module.ts
@@ -21,6 +21,7 @@ import { RdpScrollContainerComponent } from './rdp-scroll-container/rdp-scroll-c
import { RdpButtonComponent } from './rdp-cell-editor/rdp-button/rdp-button.component';
import { RdpIconButtonComponent } from './rdp-cell-editor/rdp-icon-button/rdp-icon-button.component';
import { RdpModalService } from './services/rdp-modal.service';
+import { RdpInformationModelComponent } from './rdp-information-model/rdp-information-model.component';
@NgModule({
@@ -37,7 +38,8 @@ import { RdpModalService } from './services/rdp-modal.service';
RdpAutocompleteEditorComponent,
RdpScrollContainerComponent,
RdpButtonComponent,
- RdpIconButtonComponent
+ RdpIconButtonComponent,
+ RdpInformationModelComponent
],
imports: [
CommonModule,
@@ -61,7 +63,7 @@ import { RdpModalService } from './services/rdp-modal.service';
RdpButtonComponent,
RdpIconButtonComponent
],
- entryComponents: [RdpDataTableEditComponent],
+ entryComponents: [RdpDataTableEditComponent, RdpInformationModelComponent],
providers: [RdpDataTableService, RdpModalService]
})
export class RdpModule { }