From eeb6ba570b81f0dacf219ee68143ef98a62875e2 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Lukas=20Mau=C3=9F?= <lukas.mauss@mni.thm.de>
Date: Wed, 7 Nov 2018 14:51:51 +0100
Subject: [PATCH] Refactor text-content-creation

---
 .../content-create-page.component.html        |  2 +-
 .../content-text-creator.component.html       | 20 +------------------
 .../content-text-creator.component.ts         | 18 ++++++++++-------
 src/app/components/creator/creator.module.ts  |  4 +++-
 4 files changed, 16 insertions(+), 28 deletions(-)

diff --git a/src/app/components/creator/content-create-page/content-create-page.component.html b/src/app/components/creator/content-create-page/content-create-page.component.html
index 5f864effe..73b7fcc7a 100644
--- a/src/app/components/creator/content-create-page/content-create-page.component.html
+++ b/src/app/components/creator/content-create-page/content-create-page.component.html
@@ -3,7 +3,7 @@
     <mat-tab-group>
       <mat-tab label="Text">
         <div class="tab-container">
-          <app-content-text-creator></app-content-text-creator>
+          <app-content-creator [format]="'text'"></app-content-creator>
         </div>
       </mat-tab>
       <mat-tab label="Single / Multiple Choice">
diff --git a/src/app/components/creator/content-text-creator/content-text-creator.component.html b/src/app/components/creator/content-text-creator/content-text-creator.component.html
index 27c51bdc6..e7d342d96 100644
--- a/src/app/components/creator/content-text-creator/content-text-creator.component.html
+++ b/src/app/components/creator/content-text-creator/content-text-creator.component.html
@@ -1,22 +1,4 @@
-<form (ngSubmit)="submitContent(subject.value, body.value, group.value)">
-  <mat-form-field class="input-block">
-    <input matInput #subject [(ngModel)]="content.subject" placeholder="{{'content.subject' | translate}}" name="subject">
-  </mat-form-field>
-  <app-markdown-toolbar textareaId="content-text-body"></app-markdown-toolbar>
-  <mat-form-field class="input-block">
-    <textarea matInput #body id="content-text-body" [(ngModel)]="content.body" placeholder="{{'content.body' | translate}}" name="body"
-              matTextareaAutosize matAutosizeMinRows="3" matAutosizeMaxRows="8"></textarea>
-  </mat-form-field>
-  <markdown [data]="content.body"></markdown>
-  <mat-form-field>
-    <input matInput #group matInput [formControl]="myControl" [matAutocomplete]="auto"
-           value={{lastCollection}} placeholder="{{'content.collection' | translate}}"/>
-    <mat-autocomplete #auto="matAutocomplete">
-      <mat-option *ngFor="let collection of filteredOptions | async" [value]="collection">
-        {{collection}}
-      </mat-option>
-    </mat-autocomplete>
-  </mat-form-field>
+<form (ngSubmit)="submitContent()">
   <div fxLayout="row" fxLayoutAlign="center" fxLayoutGap="5px" *ngIf="!editDialogMode">
     <button mat-raised-button type="submit" color="accent">{{'content.create' | translate}}</button>
   </div>
diff --git a/src/app/components/creator/content-text-creator/content-text-creator.component.ts b/src/app/components/creator/content-text-creator/content-text-creator.component.ts
index 69a8c86ee..11f6ebe63 100644
--- a/src/app/components/creator/content-text-creator/content-text-creator.component.ts
+++ b/src/app/components/creator/content-text-creator/content-text-creator.component.ts
@@ -1,4 +1,4 @@
-import { Component, Inject, OnInit } from '@angular/core';
+import { Component, Inject, Input, OnInit } from '@angular/core';
 import { ContentText } from '../../../models/content-text';
 import { ContentService } from '../../../services/http/content.service';
 import { NotificationService } from '../../../services/util/notification.service';
@@ -16,6 +16,9 @@ import { TranslateService } from '@ngx-translate/core';
   styleUrls: ['./content-text-creator.component.scss']
 })
 export class ContentTextCreatorComponent implements OnInit {
+  @Input() contentSub;
+  @Input() contentBod;
+  @Input() contentCol;
 
   roomId: string;
   content: ContentText = new ContentText(
@@ -65,23 +68,24 @@ export class ContentTextCreatorComponent implements OnInit {
     });
   }
 
-  submitContent(subject: string, body: string, group: string) {
+  submitContent() {
+    console.log(this.contentCol)
     this.contentService.addContent(new ContentText(
       '1',
       '1',
       this.roomId,
-      subject,
-      body,
+      this.contentSub,
+      this.contentBod,
       1,
-      [group],
+      [this.contentCol],
     )).subscribe();
-    if (this.content.body.valueOf() === '' || this.content.body.valueOf() === '') {
+    if (this.contentSub === '' || this.contentBod === '') {
       this.translationService.get('content.no-empty').subscribe(message => {
         this.notificationService.show(message);
       });
       return;
     }
-    sessionStorage.setItem('collection', group);
+    sessionStorage.setItem('collection', this.contentCol);
     this.resetAfterSubmit();
   }
 
diff --git a/src/app/components/creator/creator.module.ts b/src/app/components/creator/creator.module.ts
index ed9055e52..3c6b8b3a7 100644
--- a/src/app/components/creator/creator.module.ts
+++ b/src/app/components/creator/creator.module.ts
@@ -21,6 +21,7 @@ import { SharedModule } from '../shared/shared.module';
 import { TranslateLoader, TranslateModule } from '@ngx-translate/core';
 import { HttpClient } from '@angular/common/http';
 import { TranslateHttpLoader } from '@ngx-translate/http-loader';
+import { ContentCreatorComponent } from './content-creator/content-creator.component';
 
 @NgModule({
   imports: [
@@ -50,7 +51,8 @@ import { TranslateHttpLoader } from '@ngx-translate/http-loader';
     RoomCreateComponent,
     RoomDeleteComponent,
     RoomEditComponent,
-    CreatorContentCarouselPageComponent
+    CreatorContentCarouselPageComponent,
+    ContentCreatorComponent
   ],
   entryComponents: [
     RoomCreateComponent,
-- 
GitLab