This is the codeAbility Sharing Platform! Learn more about the codeAbility Sharing Platform.

Skip to content
Snippets Groups Projects
Commit 1c28be89 authored by Eduard Frankford's avatar Eduard Frankford
Browse files

added additional metadata fields -> difficulty, education level, status, type,...

added additional metadata fields -> difficulty, education level, status, type, version, format, keywords, requirements
parent 2d2e06bf
Branches
Tags
2 merge requests!17Initial Merge to Prepare Release 1.0.0,!1Resolve "Metadaten konsolideren"
...@@ -6,7 +6,7 @@ ...@@ -6,7 +6,7 @@
<!-- Modal Header --> <!-- Modal Header -->
<div class="modal-header"> <div class="modal-header">
<img class="card-img-top col-md-3" src="{{exercise.imageURL}}" alt="exercise image" <img class="card-img-top col-md-3" src="{{exercise.imageURL}}" alt="exercise image"
style="height: auto; float: left;"> style="height: auto; float: left;">
<h4 class="modal-title">{{exercise.title}}</h4> <h4 class="modal-title">{{exercise.title}}</h4>
<button type="button" class="close" data-dismiss="modal">&times;</button> <button type="button" class="close" data-dismiss="modal">&times;</button>
</div> </div>
...@@ -19,21 +19,20 @@ ...@@ -19,21 +19,20 @@
</div> </div>
<div class="row"> <div class="row">
<div class="col-6 col-md-4" style="margin-bottom: 15px;"> <div class="col-6 col-md-4" style="margin-bottom: 15px;">
<p style="text-align: left;"><strong <p style="text-align: left;"><strong jhiTranslate="exercise.details.details"></strong>
jhiTranslate="exercise.details.details"></strong></p> </p>
<hr> <hr>
<!-- modal rating--> <!-- modal rating-->
<div *ngIf="exercise.rating" style="float: left; width: 100%; margin-bottom: 5px; padding-top: 15px;"> <div *ngIf="exercise.rating"
style="float: left; width: 100%; margin-bottom: 5px; padding-top: 15px;">
<div style="float: left;"> <div style="float: left;">
<p class="card-text" jhiTranslate="exercise.details.rating"></p> <p class="card-text" jhiTranslate="exercise.details.rating"></p>
</div> </div>
<div class="star-container"> <div class="star-container">
<span class="star" <span class="star" *ngFor="let starNumber of [1,2,3,4,5]" [ngClass]="{'star-marked': exercise.rating >= starNumber,
*ngFor="let starNumber of [1,2,3,4,5]"
[ngClass]="{'star-marked': exercise.rating >= starNumber,
'star-unmarked': exercise.rating < starNumber}"> 'star-unmarked': exercise.rating < starNumber}">
</span> </span>
</div> </div>
<!--<div class="rate"> <!--<div class="rate">
<input type="radio" id="modal-star5" name="rate" value="5" /> <input type="radio" id="modal-star5" name="rate" value="5" />
...@@ -56,30 +55,30 @@ ...@@ -56,30 +55,30 @@
</div> </div>
<div class="form-check" style="float: right; padding-right: 10px;"> <div class="form-check" style="float: right; padding-right: 10px;">
<input class="form-check-input" type="checkbox" value="" <input class="form-check-input" type="checkbox" value=""
id="modal-defaultCheck1"> id="modal-defaultCheck1">
<label class="form-check-label" for="modal-defaultCheck1"></label> <label class="form-check-label" for="modal-defaultCheck1"></label>
</div> </div>
</div> <!-- modal bookmark end--> </div> <!-- modal bookmark end-->
<button type="button" class="btn btn-outline-secondary" <button type="button" class="btn btn-outline-secondary"
style="display: block; margin-bottom: 5px;" style="display: block; margin-bottom: 5px;"
jhiTranslate="exercise.details.hitDetails"> jhiTranslate="exercise.details.hitDetails">
</button> </button>
<button type="button" class="btn btn-outline-secondary" <button type="button" class="btn btn-outline-secondary"
style="display: block; margin-bottom: 5px;" style="display: block; margin-bottom: 5px;"
jhiTranslate="exercise.details.allExercises"> jhiTranslate="exercise.details.allExercises">
</button> </button>
<button type="button" class="btn btn-outline-secondary" <button type="button" class="btn btn-outline-secondary" style="display: block;">
style="display: block;">
Git Git
</button> </button>
</div> </div>
<div class="col-12 col-md-8"> <div class="col-12 col-md-8">
<p style="text-align: left;"> <p style="text-align: left;">
<strong jhiTranslate="exercise.metadata.metadata"></strong></p> <strong jhiTranslate="exercise.metadata.metadata"></strong>
</p>
<hr> <hr>
<table class="metadata-table"> <table class="metadata-table">
...@@ -126,10 +125,109 @@ ...@@ -126,10 +125,109 @@
</tr> </tr>
</ng-container> </ng-container>
<tr *ngIf="exercise.license.length > 0"> <tr *ngIf="exercise.timeRequired">
<td jhiTranslate="exercise.metadata.license" <td jhiTranslate="exercise.metadata.timeRequired"
class="metadata-table-description">
</td>
<td class="metadata-table-value">
{{exercise.timeRequired}}
</td>
</tr>
<tr *ngIf="exercise.difficulty">
<td jhiTranslate="exercise.metadata.difficulty"
class="metadata-table-description">
</td>
<td class="metadata-table-value">
{{exercise.difficulty}}
</td>
</tr>
<tr *ngIf="exercise.educationLevel">
<td jhiTranslate="exercise.metadata.educationLevel"
class="metadata-table-description">
</td>
<td class="metadata-table-value">
{{exercise.educationLevel}}
</td>
</tr>
<tr *ngIf="exercise.status">
<td jhiTranslate="exercise.metadata.status"
class="metadata-table-description">
</td>
<td class="metadata-table-value">
{{exercise.status}}
</td>
</tr>
<tr *ngIf="exercise.type">
<td jhiTranslate="exercise.metadata.type"
class="metadata-table-description">
</td>
<td class="metadata-table-value">
{{exercise.type}}
</td>
</tr>
<tr *ngIf="exercise.version">
<td jhiTranslate="exercise.metadata.version"
class="metadata-table-description"> class="metadata-table-description">
</td> </td>
<td class="metadata-table-value">
{{exercise.version}}
</td>
</tr>
<ng-container *ngIf="exercise.format">
<tr *ngIf="exercise.format.length > 0">
<td
jhiTranslate="exercise.metadata.format"
class="metadata-table-description">
</td>
<td class="metadata-table-value"
[innerHTML]="arrayToString(exercise.format)">
</td>
</tr>
</ng-container>
<ng-container *ngIf="exercise.keyword">
<tr *ngIf="exercise.keyword.length > 0">
<td
jhiTranslate="exercise.metadata.keywords"
class="metadata-table-description">
</td>
<td class="metadata-table-value"
[innerHTML]="arrayToString(exercise.keyword)">
</td>
</tr>
</ng-container>
<tr *ngIf="exercise.deprecated">
<td jhiTranslate="exercise.metadata.deprecated"
class="metadata-table-description">
</td>
<td class="metadata-table-value">
{{exercise.deprecated}}
</td>
</tr>
<ng-container *ngIf="exercise.requires">
<tr *ngIf="exercise.requires.length > 0">
<td
jhiTranslate="exercise.metadata.requires"
class="metadata-table-description">
</td>
<td class="metadata-table-value"
[innerHTML]="arrayToString(exercise.requires)">
</td>
</tr>
</ng-container>
<tr *ngIf="exercise.license.length > 0">
<td jhiTranslate="exercise.metadata.license" class="metadata-table-description">
</td>
<td class="metadata-table-value"> <td class="metadata-table-value">
{{exercise.license}} {{exercise.license}}
</td> </td>
...@@ -144,14 +242,14 @@ ...@@ -144,14 +242,14 @@
</p> </p>
<hr> <hr>
<a href="#" class="btn btn-outline-secondary" role="button" aria-pressed="true" <a href="#" class="btn btn-outline-secondary" role="button" aria-pressed="true"
style="float: left; margin-right: 5px; margin-top: 5px;" style="float: left; margin-right: 5px; margin-top: 5px;"
jhiTranslate="exercise.export.artemis"></a> jhiTranslate="exercise.export.artemis"></a>
<a href="#" class="btn btn-outline-secondary" role="button" aria-pressed="true" <a href="#" class="btn btn-outline-secondary" role="button" aria-pressed="true"
style="float: left; margin-right: 5px; margin-top: 5px;" style="float: left; margin-right: 5px; margin-top: 5px;"
jhiTranslate="exercise.export.latex"></a> jhiTranslate="exercise.export.latex"></a>
<a href="#" class="btn btn-outline-secondary" role="button" aria-pressed="true" <a href="#" class="btn btn-outline-secondary" role="button" aria-pressed="true"
style="float: left; margin-right: 5px; margin-top: 5px;" style="float: left; margin-right: 5px; margin-top: 5px;"
jhiTranslate="exercise.export.download"></a> jhiTranslate="exercise.export.download"></a>
</div> </div>
</div> </div>
</div> </div>
...@@ -160,10 +258,10 @@ ...@@ -160,10 +258,10 @@
<!-- Modal footer --> <!-- Modal footer -->
<div class="modal-footer"> <div class="modal-footer">
<button type="button" class="btn btn-secondary" data-dismiss="modal" <button type="button" class="btn btn-secondary" data-dismiss="modal"
jhiTranslate="exercise.close"></button> jhiTranslate="exercise.close"></button>
</div> </div>
</div> </div>
</div> </div>
</div> </div>
</div> </div>
\ No newline at end of file
...@@ -62,6 +62,16 @@ export class MockSearchComponent implements OnInit { ...@@ -62,6 +62,16 @@ export class MockSearchComponent implements OnInit {
imageURL: searchResult.image, imageURL: searchResult.image,
rating: 5, rating: 5,
lastUpdate: '2021-01-01', lastUpdate: '2021-01-01',
timeRequired: searchResult.timeRequired,
requires: searchResult.requires,
deprecated: searchResult.deprecated,
difficulty: searchResult.difficulty,
educationLevel: searchResult.educationLevel,
format: searchResult.format,
keyword: searchResult.keyword,
status: searchResult.status,
type: searchResult.type,
version: searchResult.version,
}; };
} }
......
import { Person } from 'app/shared/model/person.model'; import { Person } from 'app/shared/model/person.model';
import { IExerciseType } from './search/exercise-type.model';
export interface Exercise { export interface Exercise {
// from metadata (required) // from metadata (required)
...@@ -10,7 +11,20 @@ export interface Exercise { ...@@ -10,7 +11,20 @@ export interface Exercise {
programmingLanguages: string[]; programmingLanguages: string[];
languages: string[]; languages: string[];
creators: Person[]; creators: Person[];
requires: string[];
imageURL: string; imageURL: string;
timeRequired: string;
deprecated: boolean;
difficulty: string;
educationLevel: string;
format: Array<string>;
keyword: Array<string>;
//repositoryURL: string;
//source: Array<string>;
status: string;
//structure: string;
type: IExerciseType;
version: string;
// not in metadata // not in metadata
rating: number; rating: number;
......
...@@ -16,7 +16,19 @@ ...@@ -16,7 +16,19 @@
"creatorSingular": "Ersteller", "creatorSingular": "Ersteller",
"creatorsPlural": "Ersteller", "creatorsPlural": "Ersteller",
"lastUpdate": "Letzte Aktualisierung", "lastUpdate": "Letzte Aktualisierung",
"license": "Lizenz" "license": "Lizenz",
"timeRequired": "Benötigte Zeit",
"requires": "Voraussetzungen",
"audience": "Zielgruppe",
"collectionContent": "Samlungsinhalt",
"deprecated": "Veraltet",
"difficulty": "Schwierigkeit",
"educationLevel": "Bildungsnivequ",
"keywords": "Schlüsselwörter",
"format": "Format",
"status": "Status",
"type": "Typ",
"version": "Version"
}, },
"export": { "export": {
"export": "Exportieren", "export": "Exportieren",
......
...@@ -16,7 +16,19 @@ ...@@ -16,7 +16,19 @@
"creatorSingular": "Creator", "creatorSingular": "Creator",
"creatorsPlural": "Creators", "creatorsPlural": "Creators",
"lastUpdate": "Last update", "lastUpdate": "Last update",
"license": "License" "license": "License",
"timeRequired": "Time required",
"requires": "Requirements",
"audience": "Audience",
"collectionContent": "Content",
"deprecated": "Deprecated",
"difficulty": "Difficulty",
"educationLevel": "Education level",
"keywords": "Keywords",
"format": "Format",
"status": "Status",
"type": "Typ",
"version": "Version"
}, },
"export": { "export": {
"export": "Export", "export": "Export",
......
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment