From 642e40931ac7439a302d1cd2bb0c75bafe253a8b Mon Sep 17 00:00:00 2001
From: kaw67872 <kawtar.laariche@iais.fraunhofer.de>
Date: Fri, 3 May 2024 20:34:23 +0200
Subject: [PATCH] #19: add model details management component

---
 .../model-management.component.html           | 36 +++++++++++++++++++
 .../model-management.component.scss           | 22 ++++++++++++
 .../model-management.component.spec.ts        | 23 ++++++++++++
 .../model-management.component.ts             | 14 ++++++++
 4 files changed, 95 insertions(+)
 create mode 100644 src/app/shared/components/model-management/model-management.component.html
 create mode 100644 src/app/shared/components/model-management/model-management.component.scss
 create mode 100644 src/app/shared/components/model-management/model-management.component.spec.ts
 create mode 100644 src/app/shared/components/model-management/model-management.component.ts

diff --git a/src/app/shared/components/model-management/model-management.component.html b/src/app/shared/components/model-management/model-management.component.html
new file mode 100644
index 0000000..d6a77ab
--- /dev/null
+++ b/src/app/shared/components/model-management/model-management.component.html
@@ -0,0 +1,36 @@
+<mat-sidenav-container>
+  <mat-sidenav mode="side" opened>
+    <nav mat-tab-nav-bar class="margin: 20px 0 20px 0;" [tabPanel]="tabPanel">
+      <a mat-tab-link routerLink="modelDescription" routerLinkActive="is-active"
+        ><mat-icon fontIcon="description"></mat-icon
+        ><span class="tab-box">Description</span></a
+      >
+      <a mat-tab-link routerLink="licenseProfile" routerLinkActive="is-active">
+        <span class="tab_license"></span
+        ><span class="tab-box"> License profile</span></a
+      >
+      <a mat-tab-link routerLink="modelSignature" routerLinkActive="is-active"
+        ><mat-icon fontIcon="sync_alt"></mat-icon
+        ><span class="tab-box">Signature</span></a
+      >
+      <a mat-tab-link routerLink="modelDocuments" routerLinkActive="is-active"
+        ><mat-icon fontIcon="content_copy"></mat-icon
+        ><span class="tab-box">Documents</span></a
+      >
+      <a mat-tab-link routerLink="modelArtifacts" routerLinkActive="is-active"
+        ><mat-icon fontIcon="history"></mat-icon
+        ><span class="tab-box">Model artifacts</span></a
+      >
+      <a mat-tab-link routerLink="modelAuthor" routerLinkActive="is-active">
+        <span class="tab-icon"> </span>
+        <span class="tab-box" style="font-size: 14.5px">
+          <span>Author</span>
+          <span>/</span>
+          <span>Publisher details</span>
+        </span>
+      </a>
+    </nav>
+    <mat-tab-nav-panel #tabPanel></mat-tab-nav-panel>
+  </mat-sidenav>
+  <mat-sidenav-content> </mat-sidenav-content
+></mat-sidenav-container>
diff --git a/src/app/shared/components/model-management/model-management.component.scss b/src/app/shared/components/model-management/model-management.component.scss
new file mode 100644
index 0000000..3639112
--- /dev/null
+++ b/src/app/shared/components/model-management/model-management.component.scss
@@ -0,0 +1,22 @@
+.content {
+  padding: 24px;
+}
+
+mat-sidenav-container {
+  height: calc(100% - 64px);
+  overflow: hidden !important;
+}
+
+mat-sidenav {
+  background: #f1f1f1;
+  width: 250px !important;
+  overflow: hidden !important;
+}
+.mat-drawer-container {
+  position: absolute;
+}
+
+::ng-deep .mat-drawer-inner-container {
+  overflow: hidden !important;
+  padding: 20px 0 20px 0;
+}
diff --git a/src/app/shared/components/model-management/model-management.component.spec.ts b/src/app/shared/components/model-management/model-management.component.spec.ts
new file mode 100644
index 0000000..f0c3a92
--- /dev/null
+++ b/src/app/shared/components/model-management/model-management.component.spec.ts
@@ -0,0 +1,23 @@
+import { ComponentFixture, TestBed } from '@angular/core/testing';
+
+import { ModelManagementComponent } from './model-management.component';
+
+describe('ModelManagementComponent', () => {
+  let component: ModelManagementComponent;
+  let fixture: ComponentFixture<ModelManagementComponent>;
+
+  beforeEach(async () => {
+    await TestBed.configureTestingModule({
+      imports: [ModelManagementComponent]
+    })
+    .compileComponents();
+    
+    fixture = TestBed.createComponent(ModelManagementComponent);
+    component = fixture.componentInstance;
+    fixture.detectChanges();
+  });
+
+  it('should create', () => {
+    expect(component).toBeTruthy();
+  });
+});
diff --git a/src/app/shared/components/model-management/model-management.component.ts b/src/app/shared/components/model-management/model-management.component.ts
new file mode 100644
index 0000000..6ca39e4
--- /dev/null
+++ b/src/app/shared/components/model-management/model-management.component.ts
@@ -0,0 +1,14 @@
+import { Component } from '@angular/core';
+import { CommonModule } from '@angular/common';
+import { MatSidenavModule } from '@angular/material/sidenav';
+import { MatTabsModule } from '@angular/material/tabs';
+import { MatIconModule } from '@angular/material/icon';
+
+@Component({
+  selector: 'gp-model-management',
+  standalone: true,
+  imports: [CommonModule, MatSidenavModule, MatTabsModule, MatIconModule],
+  templateUrl: './model-management.component.html',
+  styleUrl: './model-management.component.scss',
+})
+export class ModelManagementComponent {}
-- 
GitLab