diff --git a/front/app/src/app/views/base-view/base-view.module.ts b/front/app/src/app/views/base-view/base-view.module.ts
new file mode 100644
index 00000000..a663f8f9
--- /dev/null
+++ b/front/app/src/app/views/base-view/base-view.module.ts
@@ -0,0 +1,26 @@
+import { CommonModule } from '@angular/common';
+import { NgModule } from '@angular/core';
+
+import { CrudModule } from '@common/crud/crud.module'
+import { BaseCrudListComponent } from "./list/list.component";
+import { BaseCrudNewComponent } from "./new/new.component";
+import { BaseCrudCardComponent } from "./card/card.component";
+
+@NgModule({
+ imports: [
+ CommonModule,
+ CrudModule
+ ],
+ declarations: [
+ BaseCrudListComponent,
+ BaseCrudNewComponent,
+ BaseCrudCardComponent
+ ],
+ exports: [
+ BaseCrudListComponent,
+ BaseCrudNewComponent,
+ BaseCrudCardComponent
+ ]
+})
+export class BaseViewModule {
+}
diff --git a/front/app/src/app/views/base-view/card/card.component.html b/front/app/src/app/views/base-view/card/card.component.html
new file mode 100644
index 00000000..c739c004
--- /dev/null
+++ b/front/app/src/app/views/base-view/card/card.component.html
@@ -0,0 +1,5 @@
+
+
\ No newline at end of file
diff --git a/front/app/src/app/views/base-view/card/card.component.ts b/front/app/src/app/views/base-view/card/card.component.ts
new file mode 100644
index 00000000..4ea997e1
--- /dev/null
+++ b/front/app/src/app/views/base-view/card/card.component.ts
@@ -0,0 +1,22 @@
+import {Component, Input} from "@angular/core";
+import {ActivatedRoute, ParamMap} from "@angular/router";
+
+@Component({
+ templateUrl: 'card.component.html',
+ selector: 'base-card',
+})
+export class BaseCrudCardComponent {
+ @Input() resource: string | undefined;
+ @Input() resource_id: string | null = null;
+ @Input() schema: string | undefined;
+
+ constructor(private route: ActivatedRoute) {}
+
+ ngOnInit(): void {
+ if (this.resource_id === null) {
+ this.route.paramMap.subscribe((params: ParamMap) => {
+ this.resource_id = params.get('id')
+ })
+ }
+ }
+}
\ No newline at end of file
diff --git a/front/app/src/app/views/base-view/list/list.component.html b/front/app/src/app/views/base-view/list/list.component.html
new file mode 100644
index 00000000..1296982f
--- /dev/null
+++ b/front/app/src/app/views/base-view/list/list.component.html
@@ -0,0 +1,5 @@
+
+
\ No newline at end of file
diff --git a/front/app/src/app/views/base-view/list/list.component.ts b/front/app/src/app/views/base-view/list/list.component.ts
new file mode 100644
index 00000000..42df183e
--- /dev/null
+++ b/front/app/src/app/views/base-view/list/list.component.ts
@@ -0,0 +1,11 @@
+import {Component, Input} from "@angular/core";
+
+@Component({
+ selector: 'base-list',
+ templateUrl: 'list.component.html'
+})
+export class BaseCrudListComponent {
+ @Input() resource: string = "";
+ @Input() columns: string[] = [];
+ @Input() schema: string | undefined;
+}
\ No newline at end of file
diff --git a/front/app/src/app/views/base-view/new/new.component.html b/front/app/src/app/views/base-view/new/new.component.html
new file mode 100644
index 00000000..b32dd06e
--- /dev/null
+++ b/front/app/src/app/views/base-view/new/new.component.html
@@ -0,0 +1,4 @@
+
+
\ No newline at end of file
diff --git a/front/app/src/app/views/base-view/new/new.component.ts b/front/app/src/app/views/base-view/new/new.component.ts
new file mode 100644
index 00000000..cd2247d5
--- /dev/null
+++ b/front/app/src/app/views/base-view/new/new.component.ts
@@ -0,0 +1,11 @@
+import {Component, Input} from "@angular/core";
+
+@Component({
+ selector: 'base-new',
+ templateUrl: 'new.component.html'
+})
+export class BaseCrudNewComponent {
+ @Input() resource: string | undefined;
+ @Input() schema: string | undefined;
+ @Input() model = {};
+}
\ No newline at end of file
diff --git a/front/app/src/app/views/base-view/templates/card.template.html b/front/app/src/app/views/base-view/templates/card.template.html
new file mode 100644
index 00000000..c2963c1b
--- /dev/null
+++ b/front/app/src/app/views/base-view/templates/card.template.html
@@ -0,0 +1,4 @@
+
+'
\ No newline at end of file
diff --git a/front/app/src/app/views/base-view/templates/list.template.html b/front/app/src/app/views/base-view/templates/list.template.html
new file mode 100644
index 00000000..3b9cc863
--- /dev/null
+++ b/front/app/src/app/views/base-view/templates/list.template.html
@@ -0,0 +1,5 @@
+
+
\ No newline at end of file
diff --git a/front/app/src/app/views/base-view/templates/new.template.html b/front/app/src/app/views/base-view/templates/new.template.html
new file mode 100644
index 00000000..8fc91441
--- /dev/null
+++ b/front/app/src/app/views/base-view/templates/new.template.html
@@ -0,0 +1,4 @@
+
+
\ No newline at end of file
diff --git a/front/app/src/app/views/contracts/contracts.module.ts b/front/app/src/app/views/contracts/contracts.module.ts
index d060407c..833e1282 100644
--- a/front/app/src/app/views/contracts/contracts.module.ts
+++ b/front/app/src/app/views/contracts/contracts.module.ts
@@ -1,8 +1,8 @@
import { CommonModule } from '@angular/common';
import { NgModule } from '@angular/core';
+import { BaseViewModule } from "../base-view/base-view.module";
import { ContractsRoutingModule } from './contracts-routing.module';
-import { CrudModule } from '@common/crud/crud.module'
import { DraftCardComponent, DraftListComponent, DraftNewComponent } from "./drafts.component";
@@ -10,7 +10,7 @@ import { DraftCardComponent, DraftListComponent, DraftNewComponent } from "./dra
@NgModule({
imports: [
CommonModule,
- CrudModule,
+ BaseViewModule,
ContractsRoutingModule
],
declarations: [
diff --git a/front/app/src/app/views/contracts/drafts.component.ts b/front/app/src/app/views/contracts/drafts.component.ts
index 1ffb742a..89d53718 100644
--- a/front/app/src/app/views/contracts/drafts.component.ts
+++ b/front/app/src/app/views/contracts/drafts.component.ts
@@ -1,5 +1,4 @@
-import { Component, OnInit } from '@angular/core';
-import { ActivatedRoute, ParamMap } from '@angular/router';
+import { Component } from '@angular/core';
export class BaseEntitiesComponent {
@@ -8,32 +7,20 @@ export class BaseEntitiesComponent {
}
@Component({
- template: ''
+ templateUrl: '../base-view/templates/list.template.html'
})
export class DraftListComponent extends BaseEntitiesComponent {
- columns = ['label', 'address', 'entity_data.type']
+ columns = [];
}
@Component({
- template: ''
+ templateUrl: '../base-view/templates/new.template.html'
})
export class DraftNewComponent extends BaseEntitiesComponent {
}
@Component({
- template: ''
+ templateUrl: '../base-view/templates/card.template.html'
})
-export class DraftCardComponent extends BaseEntitiesComponent implements OnInit {
-
- resource_id: string | null = null;
-
- constructor(private route: ActivatedRoute,) {
- super();
- }
-
- ngOnInit(): void {
- this.route.paramMap.subscribe((params: ParamMap) => {
- this.resource_id = params.get('id')
- })
- }
+export class DraftCardComponent extends BaseEntitiesComponent{
}
\ No newline at end of file
diff --git a/front/app/src/app/views/entities/entities.component.ts b/front/app/src/app/views/entities/entities.component.ts
index 4ae92827..26fdfbb5 100644
--- a/front/app/src/app/views/entities/entities.component.ts
+++ b/front/app/src/app/views/entities/entities.component.ts
@@ -1,39 +1,26 @@
-import { Component, OnInit } from '@angular/core';
-import { ActivatedRoute, ParamMap } from '@angular/router';
+import { Component } from '@angular/core';
export class BaseEntitiesComponent {
- protected resource: string = "entity";
- protected schema: string = "Entity";
+ resource: string = "entity";
+ schema: string = "Entity";
}
@Component({
- template: ''
+ templateUrl: '../base-view/templates/list.template.html'
})
export class EntityListComponent extends BaseEntitiesComponent {
columns = ['label', 'address', 'entity_data.type']
}
@Component({
- template: ''
+ templateUrl: '../base-view/templates/new.template.html'
})
export class EntityNewComponent extends BaseEntitiesComponent {
}
@Component({
- template: ''
+ templateUrl: '../base-view/templates/card.template.html'
})
-export class EntityCardComponent extends BaseEntitiesComponent implements OnInit {
-
- resource_id: string | null = null;
-
- constructor(private route: ActivatedRoute,) {
- super();
- }
-
- ngOnInit(): void {
- this.route.paramMap.subscribe((params: ParamMap) => {
- this.resource_id = params.get('id')
- })
- }
+export class EntityCardComponent extends BaseEntitiesComponent {
}
\ No newline at end of file
diff --git a/front/app/src/app/views/entities/entities.module.ts b/front/app/src/app/views/entities/entities.module.ts
index f7bd2f71..4c503723 100644
--- a/front/app/src/app/views/entities/entities.module.ts
+++ b/front/app/src/app/views/entities/entities.module.ts
@@ -2,15 +2,15 @@ import { CommonModule } from '@angular/common';
import { NgModule } from '@angular/core';
import { EntitiesRoutingModule } from './entities-routing.module';
-import { CrudModule } from '@common/crud/crud.module'
import { EntityCardComponent, EntityListComponent, EntityNewComponent} from "./entities.component";
+import { BaseViewModule } from "../base-view/base-view.module";
@NgModule({
imports: [
CommonModule,
- CrudModule,
+ BaseViewModule,
EntitiesRoutingModule
],
declarations: [
diff --git a/front/app/src/app/views/templates/contract-templates.component.ts b/front/app/src/app/views/templates/contract-templates.component.ts
index f292d1cf..d77c0a48 100644
--- a/front/app/src/app/views/templates/contract-templates.component.ts
+++ b/front/app/src/app/views/templates/contract-templates.component.ts
@@ -1,5 +1,5 @@
-import { Component, OnInit, } from '@angular/core';
-import { ActivatedRoute, ParamMap } from '@angular/router';
+import { Component } from '@angular/core';
+
export class BaseContractTemplateComponent {
protected resource: string = "template/contract";
@@ -7,30 +7,20 @@ export class BaseContractTemplateComponent {
}
@Component({
- template: ''
+ templateUrl: '../base-view/templates/list.template.html'
})
export class ContractTemplateListComponent extends BaseContractTemplateComponent {
+ columns = [];
}
@Component({
- template: ''
+ templateUrl: '../base-view/templates/new.template.html'
})
export class ContractTemplateNewComponent extends BaseContractTemplateComponent {
}
@Component({
- template: ''
+ templateUrl: '../base-view/templates/card.template.html'
})
-export class ContractTemplateCardComponent extends BaseContractTemplateComponent implements OnInit {
- resource_id: string | null = null;
-
- constructor(private route: ActivatedRoute,) {
- super();
- }
-
- ngOnInit(): void {
- this.route.paramMap.subscribe((params: ParamMap) => {
- this.resource_id = params.get('id')
- })
- }
+export class ContractTemplateCardComponent extends BaseContractTemplateComponent {
}
diff --git a/front/app/src/app/views/templates/provision-templates.component.ts b/front/app/src/app/views/templates/provision-templates.component.ts
index aaf2d5a1..62216f13 100644
--- a/front/app/src/app/views/templates/provision-templates.component.ts
+++ b/front/app/src/app/views/templates/provision-templates.component.ts
@@ -1,5 +1,4 @@
-import { Component, OnInit, } from '@angular/core';
-import { ActivatedRoute, ParamMap } from '@angular/router';
+import { Component } from '@angular/core';
export class BaseProvisionTemplateComponent {
@@ -8,31 +7,20 @@ export class BaseProvisionTemplateComponent {
}
@Component({
- template: ''
+ templateUrl: '../base-view/templates/list.template.html'
})
export class ProvisionTemplateListComponent extends BaseProvisionTemplateComponent{
+ columns = [];
}
@Component({
- template: ''
+ templateUrl: '../base-view/templates/new.template.html'
})
export class ProvisionTemplateNewComponent extends BaseProvisionTemplateComponent {
}
@Component({
- template: ''
+ templateUrl: '../base-view/templates/card.template.html'
})
-export class ProvisionTemplateCardComponent extends BaseProvisionTemplateComponent implements OnInit {
-
- resource_id: string | null = null;
-
- constructor(private route: ActivatedRoute,) {
- super();
- }
-
- ngOnInit(): void {
- this.route.paramMap.subscribe((params: ParamMap) => {
- this.resource_id = params.get('id')
- })
- }
+export class ProvisionTemplateCardComponent extends BaseProvisionTemplateComponent {
}
diff --git a/front/app/src/app/views/templates/templates.module.ts b/front/app/src/app/views/templates/templates.module.ts
index e54f1408..edbbe770 100644
--- a/front/app/src/app/views/templates/templates.module.ts
+++ b/front/app/src/app/views/templates/templates.module.ts
@@ -1,8 +1,8 @@
import { CommonModule } from '@angular/common';
import { NgModule } from '@angular/core';
+import { BaseViewModule } from "../base-view/base-view.module";
import { TemplatesRoutingModule } from './templates-routing.module';
-import { CrudModule } from '@common/crud/crud.module'
import { ContractTemplateCardComponent, ContractTemplateListComponent, ContractTemplateNewComponent} from "./contract-templates.component";
import { ProvisionTemplateCardComponent, ProvisionTemplateListComponent, ProvisionTemplateNewComponent} from "./provision-templates.component";
@@ -11,7 +11,7 @@ import { ProvisionTemplateCardComponent, ProvisionTemplateListComponent, Provisi
@NgModule({
imports: [
CommonModule,
- CrudModule,
+ BaseViewModule,
TemplatesRoutingModule
],
declarations: [