diff options
| author | Gunther6070 <haydenhartman10@yahoo.com> | 2025-04-01 07:47:16 -0400 | 
|---|---|---|
| committer | Gunther6070 <haydenhartman10@yahoo.com> | 2025-04-01 07:47:16 -0400 | 
| commit | d8330f1ac85b26d08ca4df5ce3875078d7b4f47f (patch) | |
| tree | 2046e58c146097aac21c9e352771420c31df6589 /ufund-ui/src/app/components/need-list/need-list.component.html | |
| parent | bc9d3417795d841b4cb3e9fb022f8d61448af946 (diff) | |
| parent | 233fe120d2a9b30e0150401ebdfeb946dc9c2c07 (diff) | |
| download | JellySolutions-d8330f1ac85b26d08ca4df5ce3875078d7b4f47f.tar.gz JellySolutions-d8330f1ac85b26d08ca4df5ce3875078d7b4f47f.tar.bz2 JellySolutions-d8330f1ac85b26d08ca4df5ce3875078d7b4f47f.zip  | |
Merge branch 'main' of https://github.com/RIT-SWEN-261-02/team-project-2245-swen-261-02-2b
Diffstat (limited to '')
| -rw-r--r-- | ufund-ui/src/app/components/need-list/need-list.component.html | 91 | 
1 files changed, 67 insertions, 24 deletions
diff --git a/ufund-ui/src/app/components/need-list/need-list.component.html b/ufund-ui/src/app/components/need-list/need-list.component.html index 36c12d0..c0501ba 100644 --- a/ufund-ui/src/app/components/need-list/need-list.component.html +++ b/ufund-ui/src/app/components/need-list/need-list.component.html @@ -1,28 +1,71 @@ -<h1>Needs List</h1> -<input id="search-button" type="button" value="Search" (click)="open()"> -<div id="search-form"> -    <form #searchForm="ngForm"> -        <label>Search:</label><br> -        <input type="text" name="search" (input)="search(searchForm.value)" ngModel> -        <input type="button" value="Clear" (click)="searchForm.reset()"> <br> -    </form> -    <button (click)="close()">Close</button> -    <div> -        <h2 id="search-status">Search Results:</h2> -        <div *ngFor="let need of searchResults"> -            <a routerLink="/need/{{need.id}}"> -                {{need.name}} -            </a> -            <button (click)="delete(need.id)" *ngIf="isManager()">Delete</button> -            <!-- <button (click)="add(need)" *ngIf="isHelper()">Add To Basket</button> --> +<div id="header"> +    <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)] = "sortSelection" class="wide-input" (change)="search(searchForm.value)" [value]="sortSelection"> +            <option *ngFor="let algorithm of SortingAlgoArrays" value="{{algorithm.name}}"> +                {{algorithm.display[sortMode === 'Ascending' ? 0 : 1]}} +            </option> +        </select> +        <button (click)="changeSortMode(searchForm.value)"> +            <span class="icon">{{sortMode === 'Ascending' ? 'arrow_upward': 'arrow_downward'}}</span> +        </button> +        <label>Needs per page: </label> +        <input type ="number" [(ngModel)]="itemsPerPage" (change)="resetVisibleNeeds()" min="1" max="{{searchResults.length}}"> +    </div> +    <!--<button (click)="close()">Close</button>--> +</div> + +<!-- display for when results are present and filtered--> +<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> +<div id="needList"> +    <div *ngFor="let need of visibleNeeds" class="needEntry"> +        <div [routerLink]="'/need/' + need.id" class="clickable"> +            <div class="split"> +                <div class="left"> +                    <span class="needName">{{need.name}}</span> +                    <span class="needType">{{need.type}}</span> +                </div> + +                <div class="right"> +                    <span *ngIf="need.urgent" class="urgent">URGENT</span> +                    <span *ngIf="need.location"><span class="icon">location_on</span>{{need.location}}</span> +                </div> +            </div> + +            <br> + +            <div class="prog"> +                <span id="hover-status-label-{{need.id}}"> </span> +                <span>{{need.current}}/{{need.maxGoal}} ({{((need.current / need.maxGoal) * 100).toFixed(0)}}%)</span> +                <progress [value]="need.current" [max]="need.maxGoal"></progress> +            </div> + +        </div> + +        <div class="actionArea"> +            <button *ngIf="isHelper()" (click)="add(need)"> +                <span class="icon">add</span>Add To Basket +            </button> +            <button *ngIf="isManager()" (click)="select(need)"> +                <span class="icon">edit</span>Edit Need +            </button> +            <button *ngIf="isManager()" (click)="delete(need.id)" > +                <span class="icon">delete</span>Delete Need +            </button>          </div>      </div>  </div> -<li *ngFor="let need of needs"> -    <a routerLink="/need/{{need.id}}"> -        {{need.name}} -    </a> -    <button (click)="delete(need.id)" *ngIf="isManager()">Delete</button> -    <button (click)="add(need)" *ngIf="isHelper()">Add To Basket</button> -</li> +<div id="page-selector"> +    <button *ngIf="currentPage > 0" (click)="decrementPage()"><span class="icon">arrow_back_ios</span></button> +    <span>Page {{currentPage + 1}} of {{totalPages}}</span> +    <button *ngIf="currentPage < totalPages - 1" (click)="incrementPage()"><span class="icon">arrow_forward_ios</span></button> +</div>  | 
