From 7163fc28f700785424ec10601ce6aa58d6d05223 Mon Sep 17 00:00:00 2001
From: rsanchez <rsanchez@curisit.net>
Date: Fri, 23 Jun 2017 15:27:51 +0000
Subject: [PATCH] #3646 - Bugfixing in license form
---
/dev/null | 28 --------------
securis/src/main/webapp/src/app/common/utils.ts | 5 ++
securis/src/main/webapp/src/app/forms/licensetype.form.component.ts | 6 +-
securis/src/main/webapp/src/app/forms/base.ts | 32 ++++++++++------
securis/src/main/webapp/src/app/forms/pack.form.component.ts | 8 ++--
securis/src/main/webapp/src/app/forms/license.form.component.ts | 3 +
6 files changed, 35 insertions(+), 47 deletions(-)
diff --git a/securis/src/main/webapp/src/app/app.module2.ts b/securis/src/main/webapp/src/app/app.module2.ts
deleted file mode 100644
index 83d8195..0000000
--- a/securis/src/main/webapp/src/app/app.module2.ts
+++ /dev/null
@@ -1,28 +0,0 @@
-import { NgModule, Injectable, Component } from '@angular/core';
-import { HttpModule, Http } from '@angular/http';
-import { BrowserModule } from '@angular/platform-browser';
-
-@Component({
- selector: 'app-home',
- template: `<h2>Hola</h2>`
-
-})
-export class HomeComponent {
- constructor(private http : Http) {
- console.log('Http is injected ok: ' + http)
- }
-}
-
-@NgModule({
- imports: [
- BrowserModule, HttpModule
- ],
- declarations: [
- HomeComponent
- ],
- bootstrap: [ HomeComponent ],
- entryComponents: [ ],
- providers: [
- ]
-})
-export class AppModule2 { }
diff --git a/securis/src/main/webapp/src/app/common/utils.ts b/securis/src/main/webapp/src/app/common/utils.ts
index 6e63b6a..ecc46de 100644
--- a/securis/src/main/webapp/src/app/common/utils.ts
+++ b/securis/src/main/webapp/src/app/common/utils.ts
@@ -1,5 +1,6 @@
import { Component, Injectable, Input } from '@angular/core';
+import { Response } from '@angular/http';
import { LocaleService } from './i18n';
import { Observable } from 'rxjs/Observable';
@@ -42,6 +43,10 @@
constructor(protected $L: LocaleService) { }
+ public setViewData(callback: any) {
+ setTimeout(callback, 0);
+ }
+
public processErrorResponse(errorResponse: Response) {
// In a real world app, we might use a remote logging infrastructure
var error: IError = <IError>{};
diff --git a/securis/src/main/webapp/src/app/forms/base.ts b/securis/src/main/webapp/src/app/forms/base.ts
index 1fc2ca1..45d773b 100644
--- a/securis/src/main/webapp/src/app/forms/base.ts
+++ b/securis/src/main/webapp/src/app/forms/base.ts
@@ -91,22 +91,30 @@
}
protected prepareInitialData(idparam: string, default_values: any = {}, callback?: (data: any) => void) : void {
- this.form_title = this.$L.get('{} data', this.resourceName.capitalize());
- this.isNew = true;
+ super.setViewData(() => {
+ this.form_title = this.$L.get('{} data', this.resourceName.capitalize());
+ this.isNew = true;
+ });
!!this.route && this.route.params.subscribe(params => {
var eleId = params[idparam];
if (!eleId) {
- this.data = {};
- Object.keys(default_values).forEach((k : string) => this.data[k] = default_values[k]);
- this.form_subtitle = this.$L.get('Create a new {}', this.resourceName) ;
- } else {
- this.isNew = false;
- this.resourceServices.get(eleId).subscribe(eleData => {
- this.data = eleData;
- Object.keys(default_values).forEach((k : string) => (this.data[k] === undefined) && (this.data[k] = default_values[k]));
- callback && callback(this.data);
+ super.setViewData(() => {
+ this.data = {};
+ Object.keys(default_values).forEach((k : string) => this.data[k] = default_values[k]);
+ this.form_subtitle = this.$L.get('Create a new {}', this.resourceName) ;
});
- this.form_subtitle = this.$L.get('Modify the {} data', this.resourceName) ;
+ } else {
+ super.setViewData(() => {
+ this.isNew = false;
+ this.resourceServices.get(eleId).subscribe(eleData => {
+ super.setViewData(() => {
+ this.data = eleData;
+ Object.keys(default_values).forEach((k : string) => (this.data[k] === undefined) && (this.data[k] = default_values[k]));
+ callback && callback(this.data);
+ });
+ });
+ this.form_subtitle = this.$L.get('Modify the {} data', this.resourceName) ;
+ });
}
});
}
diff --git a/securis/src/main/webapp/src/app/forms/license.form.component.ts b/securis/src/main/webapp/src/app/forms/license.form.component.ts
index f6bf27c..8f16bb7 100644
--- a/securis/src/main/webapp/src/app/forms/license.form.component.ts
+++ b/securis/src/main/webapp/src/app/forms/license.form.component.ts
@@ -130,6 +130,9 @@
this.packs.get(packId).subscribe(
packData => {
this.pack = packData;
+ if (this.isNew) {
+ this.data.metadata = packData.metadata;
+ }
},
err => console.error(err)
);
diff --git a/securis/src/main/webapp/src/app/forms/licensetype.form.component.ts b/securis/src/main/webapp/src/app/forms/licensetype.form.component.ts
index 2a459cd..a60e426 100644
--- a/securis/src/main/webapp/src/app/forms/licensetype.form.component.ts
+++ b/securis/src/main/webapp/src/app/forms/licensetype.form.component.ts
@@ -54,7 +54,7 @@
this.applications.get(this.data.application_id)
.map(app_data => this._prepareMetadata(app_data.metadata))
.subscribe(
- metadata => this.data.metadata = metadata,
+ metadata => super.setViewData(() => this.data.metadata = metadata),
err => console.error('Error loading application metadata')
);
}
@@ -65,7 +65,7 @@
this.applications.get()
.map(list => list.map((app : any) => <IComboOption>{id: app.id, label: `(${app.code}) ${app.name}`}))
.subscribe(
- data => this.allApplications = (<IComboOption[]>data).sort((e1, e2) => e1.label.localeCompare(e2.label)),
+ data => super.setViewData(() => this.allApplications = (<IComboOption[]>data).sort((e1, e2) => e1.label.localeCompare(e2.label))),
err => console.error('Error loading applications')
);
}
@@ -80,7 +80,7 @@
super.reset();
super.prepareInitialData('licensetypeId', {
metadata: []
- }, (data) => this._prepareMetadata(data.metadata));
+ }, (data) => super.setViewData(() => this._prepareMetadata(data.metadata)));
}
ngAfterViewInit(): void {
diff --git a/securis/src/main/webapp/src/app/forms/pack.form.component.ts b/securis/src/main/webapp/src/app/forms/pack.form.component.ts
index 866e81f..d8614ec 100644
--- a/securis/src/main/webapp/src/app/forms/pack.form.component.ts
+++ b/securis/src/main/webapp/src/app/forms/pack.form.component.ts
@@ -27,7 +27,7 @@
private packs: PacksService,
router: Router,
toaster: ToastsManager,
- route: ActivatedRoute,
+ route: ActivatedRoute,
$L: LocaleService,
dialogs: TdDialogService) {
super($L, router, route, toaster, packs, $L.get('pack'), dialogs);
@@ -37,13 +37,13 @@
this.http.get('organization')
.map(response => response.json().map((org : any) => <IComboOption>{id: org.id, label: `(${org.code}) ${org.name}`}))
.subscribe(
- data => this.organizations = (<IComboOption[]>data).sort((e1, e2) => e1.label.localeCompare(e2.label)),
+ data => super.setViewData(() => this.organizations = (<IComboOption[]>data).sort((e1, e2) => e1.label.localeCompare(e2.label))),
err => console.error('Error loading orgs')
);
this.licenseTypes.get()
.map(list => list.map((lt : any) => <IComboOption>{id: lt.id, label: `(${lt.code}) ${lt.name}`}))
.subscribe(
- data => this.licensetypes = (<IComboOption[]>data).sort((e1, e2) => e1.label.localeCompare(e2.label)),
+ data => super.setViewData(() => this.licensetypes = (<IComboOption[]>data).sort((e1, e2) => e1.label.localeCompare(e2.label))),
err => console.error('Error loading license types')
);
}
@@ -57,7 +57,7 @@
this.licenseTypes.get(this.data.license_type_id)
.map(lt_data => lt_data.metadata)
.subscribe(
- metadata => this.data.metadata = metadata,
+ metadata => super.setViewData(() => this.data.metadata = metadata),
err => {
console.error('Error loading license type metadata');
console.error(err);
--
Gitblit v1.3.2