aboutsummaryrefslogtreecommitdiff
path: root/ufund-ui/src/app/components/cupboard/cupboard.component.html
blob: 4eebc2dab038d71877810c2f074421f921cb03fb (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
<div id="box">
    <div id="header">
        <h1> Cupboard </h1>
        <ng-template #create>
            <app-need-edit [mode]="'Create'" (refreshNeedList)="refresh()"></app-need-edit>
        </ng-template>
        <button *ngIf="usersService.isManager()" class="button2" (click)="modalService.showModal(create)"><span class="icon">add</span>Create Need</button>
    </div>

    <div id="header2">
        <div id="searchArea">
            <form id="search-form" #searchForm="ngForm">
                <input type="text" name="search" class="wide-input" placeholder="Search in {{needs.length}} needs..." (input)="search(searchForm.value)" ngModel>
                <input type="reset" value="Clear" (click)="search(null)"> <br>
            </form>
        </div>
        <div id="sortArea">
            <label for="sort">Sort by: </label>
            <select id='sort' [(ngModel)] = "currentSortAlgo" class="wide-input" (change)="search(searchForm.value)" [value]="currentSortAlgo">
                <option *ngFor="let algorithm of Object.keys(SortingAlgorithms)" [value]="algorithm">
                    {{SortingAlgorithms[algorithm].display[sortMode === 'Ascending' ? 0 : 1]}}
                </option>
            </select>
            <button (click)="toggleSortMode(searchForm.value)" [title]="sortMode">
                <span class="icon">{{sortMode === 'Ascending' ? 'arrow_upward': 'arrow_downward'}}</span>
            </button>
            <label>Needs per page: </label>
            <input type ="number" [(ngModel)]="itemsPerPage" (change)="editItemsPerPage()" min="1" max="{{searchResults.length}}">
        </div>
    </div>
    <h2 *ngIf="searchResults.length < needs.length && searchResults.length != 0"> Search Results({{needs.length - searchResults.length}} needs filtered): </h2>
    <h2 *ngIf="searchResults.length == needs.length"> All Needs </h2>
    <h2 *ngIf="searchResults.length == 0"> No Results Found </h2>

    <ng-template let-need #NLActions>
        <button *ngIf="usersService.isHelper()" (click)="addToBasket(need)" [disabled]="usersService.inBasket(usersService.getBasket() | async, need)">
            <span class="icon">{{usersService.inBasket(usersService.getBasket() | async, need)? "check": "add" }}</span>Add To Basket
        </button>
        <ng-template #edit>
            <app-need-edit *ngIf="need" [mode]="'Edit'" [need]="need" (refreshNeedList)="refresh()"></app-need-edit>
        </ng-template>
        <button *ngIf="usersService.isManager()" (click)="modalService.showModal(edit)">
            <span class="icon">edit</span>Edit Need
        </button>
        <button *ngIf="usersService.isManager()" (click)="deleteNeed(need.id)" >
            <span class="icon">delete</span>Delete Need
        </button>
    </ng-template>
    <app-need-list [uid]="0" [actionArea]="NLActions" *ngIf="searchResults.length > 0" [needs]="searchResults" [itemsPerPage]="itemsPerPage" #needList/>
</div>