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

Skip to content
Snippets Groups Projects
exercise-details.component.html 21 KiB
Newer Older
<div *ngIf="exercise">
    <div class="modal fade" id="myModal">
        <div class="modal-dialog modal-lg modal-dialog-centered">
            <div class="modal-content">

                <!-- Modal Header -->
                <div class="modal-header">
                    <img class="card-img-top col-md-3" src="{{exercise.imageURL}}" alt="exercise image"
                         (error)="correctImageURL($event)"
                    <h4 class="modal-title">{{exercise.title}}</h4>
                    <button type="button" class="close" data-dismiss="modal">&times;</button>
                </div>

                <!-- Modal body -->
                <div class="modal-body">
                    <div class="container-fluid">
                        <div *ngIf="exercise.description" class="row">
                            <p style="padding-bottom: 15px; text-align: justify;">{{exercise.description}}</p>
                        </div>
                        <div class="row">
                            <div class="col-6 col-md-4" style="margin-bottom: 15px;">
                                <p style="text-align: left;"><strong jhiTranslate="exercise.details.details"></strong>
                                </p>
                                <hr>

                                <!-- modal rating-->
                                <div *ngIf="exercise.rating"
                                    style="float: left; width: 100%; margin-bottom: 5px; padding-top: 15px;">
                                    <div style="float: left;">
                                        <p class="card-text" jhiTranslate="exercise.details.rating"></p>
                                    </div>
                                    <div class="star-container">
                                        <span class="star" *ngFor="let starNumber of [1,2,3,4,5]" [ngClass]="{'star-marked': exercise.rating >= starNumber,
                                                              'star-unmarked': exercise.rating < starNumber}">
                                    </div>
                                </div> <!-- modal rating end-->

                                <div *ngIf="exercise.rating"
                                    style="float: left; width: 100%; margin-bottom: 5px; padding-top: 15px;">
                                    <div style="float: left;">
                                        <div><fa-icon icon="eye"></fa-icon></div>
                                        <!-- <div class="onhoverIconDisplay"><p class="card-text" jhiTranslate="exercise.details.views"></p></div> -->

                                    </div>
                                    <div class="star-container">
                                        <span>
                                            666
                                        </span>
                                    </div>
                                </div> <!-- modal views end-->

                                <div *ngIf="exercise.rating"
                                    style="float: left; width: 100%; margin-bottom: 5px; padding-top: 15px;">
                                    <div style="float: left;">
                                        <fa-icon icon="download"></fa-icon>
                                    </div>
                                    <div class="star-container">
                                        <span>
                                            333
                                        </span>
                                    </div>
                                </div> <!-- modal views end-->


                                <!-- modal bookmark-->
                                <div style="float: left; width: 100%; padding-top: 15px; margin-bottom: 25px;">
                                    <div style="float: left;">
                                        <p class="card-text" jhiTranslate="exercise.details.bookmark"></p>
                                    </div>
                                    <div class="form-check" style="float: right; padding-right: 10px;">
                                        <input class="form-check-input" type="checkbox" value=""
                                        <label class="form-check-label" for="modal-defaultCheck1"></label>
                                    </div>
                                </div> <!-- modal bookmark end-->

                                <!-- <button type="button" class="btn btn-outline-secondary"
                                    style="display: block; margin-bottom: 5px;"
                                    jhiTranslate="exercise.details.hitDetails">
                                <button *ngIf="exercise.type == exerciseType.COLLECTION" type="button" class="btn btn-outline-secondary"
                                    style="display: block; margin-bottom: 5px;"
                                    jhiTranslate="exercise.details.allExercises"
                                    disabled>
                                <button type="button" class="btn btn-outline-secondary" style="display: block;"
                                    (click)="openLink(exercise.gitlabURL)">
                                    Git
                                </button>
                            </div>

                            <div class="col-12 col-md-8">
                                <p style="text-align: left;">
                                    <strong jhiTranslate="exercise.metadata.metadata"></strong>
                                </p>
                                <hr>

                                <table class="metadata-table">

                                    <ng-container *ngIf="exercise.creators">
                                        <tr *ngIf="exercise.creators.length > 0">
                                            <td *ngIf="exercise.creators.length === 1"
                                                jhiTranslate="exercise.metadata.creatorSingular"
                                                class="metadata-table-description">
                                            </td>
                                            <td *ngIf="exercise.creators.length > 1"
                                                jhiTranslate="exercise.metadata.creatorsPlural"
                                                class="metadata-table-description">
                                            </td>
                                            <td *ngIf="isAuthenticated()" class="metadata-table-value"
                                                [innerHTML]="arrayToString(exercise.creators.map(getPersonDetailsWithEmail))">
                                            <td *ngIf="!isAuthenticated()" class="metadata-table-value"
                                            [innerHTML]="arrayToString(exercise.creators.map(getPersonDetails))">
                                        </td>
                                        </tr>
                                    </ng-container>

                                    <ng-container *ngIf="exercise.contributor">
                                        <tr *ngIf="exercise.contributor.length > 0">
                                            <td *ngIf="exercise.contributor.length === 1"
                                                jhiTranslate="exercise.metadata.contributorSingular"
                                                class="metadata-table-description">
                                            </td>
                                            <td *ngIf="exercise.contributor.length > 1"
                                                jhiTranslate="exercise.metadata.contributorsPlural"
                                                class="metadata-table-description">
                                            </td>
                                            <td *ngIf="isAuthenticated()" class="metadata-table-value"
                                                [innerHTML]="arrayToString(exercise.contributor.map(getPersonDetailsWithEmail))">
                                            <td *ngIf="!isAuthenticated()" class="metadata-table-value"
                                            [innerHTML]="arrayToString(exercise.contributor.map(getPersonDetails))">
                                        </td>
                                        </tr>
                                    </ng-container>

                                    <ng-container *ngIf="exercise.publisher">
                                        <tr *ngIf="exercise.publisher.length > 0">
                                            <td *ngIf="exercise.publisher.length === 1"
                                                jhiTranslate="exercise.metadata.publisherSingular"
                                                class="metadata-table-description">
                                            </td>
                                            <td *ngIf="exercise.publisher.length > 1"
                                                jhiTranslate="exercise.metadata.publisherPlural"
                                                class="metadata-table-description">
                                            </td>
                                            <td *ngIf="isAuthenticated()" class="metadata-table-value"
                                                [innerHTML]="arrayToString(exercise.publisher.map(getPersonDetailsWithEmail))">
                                            <td *ngIf="!isAuthenticated()" class="metadata-table-value"
                                            [innerHTML]="arrayToString(exercise.publisher.map(getPersonDetails))">
                                        </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>

                                    <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.programmingLanguages">
                                        <tr *ngIf="exercise.programmingLanguages.length > 0">
                                            <td *ngIf="exercise.programmingLanguages.length === 1"
                                                jhiTranslate="exercise.metadata.programmingLanguageSingular"
                                                class="metadata-table-description">
                                            </td>
                                            <td *ngIf="exercise.programmingLanguages.length > 1"
                                                jhiTranslate="exercise.metadata.programmingLanguagesPlural"
                                                class="metadata-table-description">
                                            </td>
                                            <td class="metadata-table-value"
                                                [innerHTML]="arrayToString(exercise.programmingLanguages)">
                                            </td>
                                        </tr>
                                    </ng-container>

                                    <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">
                                            {{exercise.license}}
                                        </td>
                                    </tr>

                                    <tr *ngIf="exercise.difficulty">
                                        <td jhiTranslate="exercise.metadata.difficulty"
                                            class="metadata-table-description">
                                        </td>
                                        <td class="metadata-table-value">
                                            {{'exercise.metadata.' + exercise.difficulty | translate }}
                                    <tr *ngIf="exercise.timeRequired">
                                        <td jhiTranslate="exercise.metadata.timeRequired"
                                            class="metadata-table-description">
                                        </td>
                                        <td class="metadata-table-value">
                                            {{exercise.timeRequired}}
                                    <tr *ngIf="exercise.educationLevel">
                                        <td jhiTranslate="exercise.metadata.educationLevel"
                                            class="metadata-table-description">
                                        </td>
                                        <td class="metadata-table-value">
                                            {{exercise.educationLevel}}
                                        <td jhiTranslate="exercise.metadata.type" class="metadata-table-description">
                                            {{'exercise.metadata.' + exercise.type | translate }}
                                    <tr *ngIf="exercise.structure">
                                        <td jhiTranslate="exercise.metadata.structure" class="metadata-table-description">
                                        </td>
                                        <td class="metadata-table-value">
                                            {{'exercise.metadata.' + exercise.structure | translate }}
                                        </td>
                                    </tr>

                                    <tr *ngIf="exercise.status">
                                        <td jhiTranslate="exercise.metadata.status" class="metadata-table-description">
                                            {{'exercise.metadata.' + exercise.status | translate }}
                                        </td>
                                    </tr>

                                    <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.lastUpdate">
                                        <tr *ngIf="exercise.lastUpdate.length > 0">
                                            <td jhiTranslate="exercise.metadata.lastUpdate"
                                            <td class="metadata-table-value">
                                                {{exercise.lastUpdate}}
                                            </td>
                                        </tr>
                                    </ng-container>
                                    <ng-container *ngIf="exercise.version">
                                        <tr>
                                            <td jhiTranslate="exercise.metadata.version"
                                                class="metadata-table-description">
                                            </td>
                                            <td class="metadata-table-value">
                                                {{exercise.version}}
                                    <ng-container *ngIf="exercise.version">
                                        <tr>
                                            <td jhiTranslate="exercise.metadata.metadataVersion"
                                                class="metadata-table-description">
                                            </td>
                                            <td class="metadata-table-value">
                                                {{exercise.metadataVersion}}
                                            </td>
                                        </tr>
                                    </ng-container>

                                </table>

                            </div>

                            <div class="col-6 col-md-4"></div>
                            <div class="col-12 col-md-8">
                                <p style="text-align: left; margin-top: 5px;"><strong jhiTranslate="exercise.export.export"></strong>
Michael Breu's avatar
Michael Breu committed
                                <hr>
                                <a *ngFor="let action of exercise.originalResult.supportedActions" class="btn btn-outline-secondary" role="button" aria-pressed="true"
                                    style="float: left; margin-right: 5px; margin-top: 5px;" (click)="startAction(action, exercise)"
                                    >{{action.commandName}}</a>
                                <button *ngIf="exercise.type == exerciseType.COLLECTION" type="button" class="btn btn-outline-secondary"
                                    style="float: left; margin-right: 5px; margin-top: 5px;"
                                    jhiTranslate="exercise.export.latex"
                                    disabled>
                                <a href="#" class="btn btn-outline-secondary" role="button" aria-pressed="true"
                                    style="float: left; margin-right: 5px; margin-top: 5px;"
                                    jhiTranslate="exercise.export.download"></a>
                            </div>
                        </div>
                    </div>
                </div>

                <!-- Modal footer -->
                <div class="modal-footer">
                    <button type="button" class="btn btn-secondary" data-dismiss="modal"