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

Skip to content
Snippets Groups Projects
home.component.html 11.8 KiB
Newer Older
Lukas Kaltenbrunner's avatar
Lukas Kaltenbrunner committed
<div class="row">
    <div class="col-md-12">
        <h1 class="display-4" jhiTranslate="home.title">Welcome!</h1>

        <div [ngSwitch]="isAuthenticated()">
            <div class="row">
                <div class="col-sm-12">
                    <form name="searchForm" class="form-inline">
                        <div class="input-group w-100 mt-3">
                            <ng-container [queryParamGroup]="paramGroup">

                                <input type="text" class="form-control" queryParamName="searchText"
                                       placeholder="{{ 'gitSearchApp.searchResult.search' | translate }}"/>
                            </ng-container>

                            <!--                            <input type="text" class="form-control" [(ngModel)]="currentSearch" id="currentSearch"-->
                            <!--                                   name="currentSearch"-->
                            <!--                                   placeholder="{{ 'gitSearchApp.searchResult.search' | translate }}"-->
                            <!--                                   (keydown.enter)="search(currentSearch)">-->


                            <!--                            <button class="input-group-append btn btn-info" (click)="search(currentSearch)">-->
                            <!--                                <fa-icon icon="search"></fa-icon>-->
                            <!--                            </button>-->

                            <!--                            <button class="input-group-append btn btn-danger" (click)="search('')"-->
                            <!--                                    *ngIf="currentSearch">-->
                            <!--                                <fa-icon icon="trash-alt"></fa-icon>-->
                            <!--                            </button>-->
                        </div>
                    </form>
                </div>
            </div>

            <div class="row">
                <div class="col-2">
                    <ng-container *ngIf="searchResultTotal">
                        <br>
                        <h3 jhiTranslate="home.metadata.filter">Search Filter</h3>

                        <div class="filter">
                            <ng-select
                                [hidden]="searchResultTotal?.metaDataDto?.repositories == null"
                                [items]="repos"
                                bindLabel="key"
                                [multiple]="true"
                                (change)="filter()"
                                [(ngModel)]="selectedRepository"
                                placeholder="{{ 'home.metadata.repository' | translate }}">
                            </ng-select>
                        </div>

                        <div class="filter">
                            <ng-select
                                [hidden]="searchResultTotal?.metaDataDto?.university == null"
                                [items]="university"
                                bindLabel="key"
                                [multiple]="true"
                                (change)="filter()"
                                [(ngModel)]="selectedUniversity"
                                placeholder="{{ 'home.metadata.university' | translate }}">
                            </ng-select>
                        </div>

                        <div class="filter">
                            <ng-select
                                [hidden]="searchResultTotal?.metaDataDto?.fileFormat == null"
                                [items]="fileFormat"
                                bindLabel="key"
                                [multiple]="true"
                                (change)="filter()"
                                [(ngModel)]="selectedFileFormat"
                                placeholder="{{ 'home.metadata.fileformat' | translate }}">
                            </ng-select>
                        </div>

                        <hr>

                        <h3 jhiTranslate="home.metadata.information">Search information</h3>

                        <jhi-home-metadata [frequencies]="searchResultTotal?.metaDataDto?.repositories"
                                           [parameter]="'repository'"></jhi-home-metadata>
                        <jhi-home-metadata [frequencies]="searchResultTotal?.metaDataDto?.university"
                                           [parameter]="'university'"></jhi-home-metadata>
                        <jhi-home-metadata [frequencies]="searchResultTotal?.metaDataDto?.fileFormat"
                                           [parameter]="'fileformat'"></jhi-home-metadata>
                    </ng-container>
                </div>

                <div class="col-10">
                    <ng-container *ngIf="searchResultTotal">
                        <hr>
                        <h2 id="home-logged-message" jhiTranslate="home.search"
                            [translateValues]="{ results: searchResultPage?.hitCount || 0 }">search
                            results</h2>
                    </ng-container>
                    <hr [hidden]="searchResultTotal == null">

                    <div *ngIf="searchResultPage?.documentInfos !== null">
                        <div
                            *ngFor="let searchResult of documentInfos">
                            <a (click)="onClickMe(searchResult)">{{searchResult.filePath}}</a>
                            <div class="solid">
                                <div class="row">
                                    <div [innerHTML]="searchResult.content" style="margin: 10px"></div>
                                </div>
                            </div>

                            <div class="row">
                                <div class="col-sm">
                                <span class="info"><fa-icon icon="language"></fa-icon>
                                    {{searchResult.fileFormat}}</span>
                                </div>
                                <div class="col-sm">
                                <span class="info"><fa-icon icon="book"></fa-icon>
                                    {{searchResult.repository}}</span>
                                </div>
                            </div>

                            <hr>
                        </div>
                    </div>
                    <div class="d-flex justify-content-center">
                        <ngb-pagination
                            (pageChange)="onPageChange($event)"
                            [hidden]="hitCount == 0"
                            [(page)]="page"
                            [pageSize]="pageSize"
                            [boundaryLinks]="true"
                            [maxSize]="5"
                            [rotate]="true"
                            [collectionSize]="hitCount"></ngb-pagination>
                    </div>

                </div>
            </div>

            <!--<div class="table-responsive" id="entities" *ngIf="searchResults && searchResults.length > 0">
                <table class="table table-striped" aria-describedby="page-heading">
                    <thead>
                    <tr>
                        <th scope="col"><span jhiTranslate="gitSearchApp.searchResult.content">Content</span></th>
                        &lt;!&ndash;                        <th scope="col" ><span jhiTranslate="gitSearchApp.searchResult.real">Real</span></th>&ndash;&gt;
                        &lt;!&ndash;                        <th scope="col" ><span jhiTranslate="gitSearchApp.searchResult.root">Root</span></th>&ndash;&gt;
                        <th scope="col"><span jhiTranslate="gitSearchApp.searchResult.virtual">Virtual</span></th>
                        &lt;!&ndash;                        <th scope="col" ><span jhiTranslate="gitSearchApp.searchResult.filename">Filename</span></th>&ndash;&gt;
                        &lt;!&ndash;                        <th scope="col" ><span jhiTranslate="gitSearchApp.searchResult.lastModified">Last Modified</span></th>&ndash;&gt;
                        &lt;!&ndash;                        <th scope="col" ><span jhiTranslate="gitSearchApp.searchResult.lastAccessed">Last Accessed</span></th>&ndash;&gt;
                        &lt;!&ndash;                        <th scope="col" ><span jhiTranslate="gitSearchApp.searchResult.indexingDate">Indexing Date</span></th>&ndash;&gt;
                        <th scope="col"></th>
                    </tr>
                    </thead>
                    <tbody>
                    <tr *ngFor="let searchResult of searchResults ;trackBy: trackId">
                        &lt;!&ndash;                        <td><a [routerLink]="['/search-result', searchResult.id, 'view']">{{ searchResult.id }}</a></td>&ndash;&gt;

                        <td>{{ searchResult.content }}</td>
                        &lt;!&ndash;                        <td>{{ searchResult.path?.real }}</td>&ndash;&gt;
                        &lt;!&ndash;                        <td>{{ searchResult.path?.root }}</td>&ndash;&gt;
                        <td>{{ searchResult.path?.virtual }}</td>
                        &lt;!&ndash;                        <td>{{ searchResult.extension }}</td>&ndash;&gt;
                        &lt;!&ndash;                        <td>{{ searchResult.contentType }}</td>&ndash;&gt;
                        &lt;!&ndash;                        <td>{{ searchResult.filename }}</td>&ndash;&gt;
                        &lt;!&ndash;                        <td>{{ searchResult.lastModified | date:'medium' }}</td>&ndash;&gt;
                        &lt;!&ndash;                        <td>{{ searchResult.lastAccessed | date:'medium' }}</td>&ndash;&gt;
                        &lt;!&ndash;                        <td>{{ searchResult.indexingDate | date:'medium' }}</td>&ndash;&gt;
                        <td class="text-right">
                            <div class="btn-group">

                                &lt;!&ndash;                                Click me!</button>&ndash;&gt;
                                &lt;!&ndash;                                <button type="button"&ndash;&gt;
                                &lt;!&ndash;                                        [routerLink]="['/search-result', searchResult.id, 'view']"&ndash;&gt;
                                &lt;!&ndash;                                        class="btn btn-info btn-sm">&ndash;&gt;

                                <button type="button" (click)="onClickMe(searchResult)" class="btn btn-info btn-sm">
                                    <fa-icon icon="eye"></fa-icon>
                                    <span class="d-none d-md-inline" jhiTranslate="entity.action.view">View</span>
                                </button>
                            </div>
                        </td>
                    </tr>
                    </tbody>
                </table>
            </div>-->

            <div class="alert alert-warning" *ngSwitchCase="false">
                <span jhiTranslate="global.messages.info.authenticated.prefix">If you want to </span>
                <a class="alert-link" (click)="login()" jhiTranslate="global.messages.info.authenticated.link">sign
                    in</a><span jhiTranslate="global.messages.info.authenticated.suffix">, you can try the default accounts:<br/>- Administrator (login="admin" and password="admin") <br/>- User (login="user" and password="user").</span>
            </div>

            <div class="alert alert-warning" *ngSwitchCase="false">
                <span jhiTranslate="global.messages.info.register.noaccount">You don't have an account yet?</span>&nbsp;
                <a class="alert-link" routerLink="account/register" jhiTranslate="global.messages.info.register.link">Register
                    a new account</a>
            </div>
        </div>
    </div>
</div>