Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat(advanced-search): advanced search library #1131

Merged
merged 135 commits into from
Oct 4, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
135 commits
Select commit Hold shift + click to select a range
c137d99
set up file directories
mdelez Jul 5, 2023
04dd214
Merge branch 'main' into feature/dev-2218-refactor-advanced-search
mdelez Jul 6, 2023
0661e6b
new file structure and adds dropdown for ontologies
mdelez Jul 6, 2023
15552ad
add form-actions component
mdelez Jul 10, 2023
0f876bf
clean up and add some comments
mdelez Jul 10, 2023
48349ef
add property form
mdelez Jul 10, 2023
f1efd47
add logic for selected property
mdelez Jul 10, 2023
5c2c08b
refactor search button logic
mdelez Jul 10, 2023
f1a28cd
add reset button
mdelez Jul 11, 2023
b34d3e3
fix search button disabled logic
mdelez Jul 11, 2023
cd4c9c7
add api service
mdelez Jul 11, 2023
9657dc2
add error handling
mdelez Jul 12, 2023
675e8de
refactor resourceClasses function
mdelez Jul 13, 2023
0a8d36b
first attempt at getting the properties
mdelez Jul 13, 2023
59d6ce2
add filtered list of properties
mdelez Jul 14, 2023
65640ea
little bug fix
mdelez Jul 14, 2023
a1c30a4
some more little fixes
mdelez Jul 17, 2023
c0c90a6
Merge branch 'main' into feature/dev-2218-refactor-advanced-search
mdelez Jul 17, 2023
6ab46f0
add operator dropdown
mdelez Jul 17, 2023
5cd46b3
i forgot to commit these files
mdelez Jul 17, 2023
004064f
fix method name
mdelez Jul 18, 2023
9fd11af
feat: added value component and stuff
EricSommerhalder Jul 18, 2023
f7a5d4b
small cleanup and changes
mdelez Jul 18, 2023
8957452
add type assertion
mdelez Jul 19, 2023
ae3bc04
Merge branch 'main' into feature/dev-2218-refactor-advanced-search
mdelez Jul 20, 2023
1ab78ad
update @ngrx/component-store
mdelez Jul 20, 2023
26b9d81
Merge branch 'main' into feature/dev-2218-refactor-advanced-search
mdelez Jul 21, 2023
f322145
Merge branch 'main' into feature/dev-2218-refactor-advanced-search
mdelez Jul 24, 2023
04c78a4
add new component for link values
mdelez Jul 25, 2023
cb68f84
rename method
mdelez Jul 25, 2023
b7c7e37
add the other value forms back
mdelez Jul 26, 2023
e8353f6
Merge branch 'main' into feature/dev-2218-refactor-advanced-search
mdelez Jul 26, 2023
1f081d8
better template structure
mdelez Jul 26, 2023
ee4a0e5
Merge branch 'feature/dev-2218-refactor-advanced-search' of https://g…
mdelez Jul 26, 2023
b93f5b8
add list-value component and form validation
mdelez Jul 27, 2023
bdb03a0
improve link value behavior
mdelez Jul 31, 2023
8d773ef
Merge branch 'main' into feature/dev-2218-refactor-advanced-search
mdelez Aug 2, 2023
9d6b01b
Merge branch 'main' into feature/dev-2218-refactor-advanced-search
mdelez Aug 3, 2023
61f8f69
add date picker to advanced search
mdelez Aug 3, 2023
7dd4090
add support for search by label count
mdelez Aug 3, 2023
81b26ad
get project iri from url
mdelez Aug 4, 2023
6cda246
generate gravsearch
mdelez Aug 7, 2023
451dae5
Merge branch 'main' into feature/dev-2218-refactor-advanced-search
mdelez Aug 7, 2023
f411ca8
flesh out operators map
mdelez Aug 8, 2023
def4afc
use string interpolation for value strings
mdelez Aug 8, 2023
03886fe
reset searchValue when selectedProperty changes
mdelez Aug 8, 2023
975a7ef
add resource label and link value to gravsearch query
mdelez Aug 9, 2023
5abc076
load more resources on scroll
mdelez Aug 10, 2023
cf6db56
comment out some html
mdelez Aug 10, 2023
bd5da55
add css to make it look respectable
mdelez Aug 10, 2023
5aab289
Merge branch 'main' into feature/dev-2218-refactor-advanced-search
mdelez Aug 10, 2023
7ca25f5
fix gravsearch query when searching for resource label
mdelez Aug 14, 2023
138b674
add loading to dropdown menus
mdelez Aug 14, 2023
1248a5d
add order by functionality
mdelez Aug 15, 2023
f4bf88b
improve order by functionality
mdelez Aug 16, 2023
bc681af
Merge branch 'main' into feature/dev-2218-refactor-advanced-search
mdelez Aug 16, 2023
c3bc416
split up updatePropertyFormItem method and add outputs to smart compo…
mdelez Aug 18, 2023
efe8916
add back button
mdelez Aug 18, 2023
8a0cdba
add comment to clarify a piece of code
mdelez Aug 18, 2023
0f49aa6
add confirmation dialog for reset
mdelez Aug 18, 2023
03d5ab8
add child properties feature
mdelez Aug 22, 2023
91649aa
mike wanted a commit
EricSommerhalder Aug 22, 2023
f8f0fa9
fix validation and add some styling
mdelez Aug 24, 2023
c15bafc
remove unused component
mdelez Aug 24, 2023
91bf416
Merge branch 'main' into feature/dev-2218-refactor-advanced-search
mdelez Aug 24, 2023
601029a
fix order by query
mdelez Aug 24, 2023
d5c8c34
add linked resource properties to gravsearch
mdelez Aug 24, 2023
f00f128
hook up the new library to the app
mdelez Aug 25, 2023
20db0d7
refactor and fix some little issues
mdelez Aug 28, 2023
cb757e8
fix resource label issue
mdelez Aug 28, 2023
a415a13
fix order by button and dropdown width
mdelez Aug 28, 2023
c357d79
fix form field alignment
mdelez Aug 28, 2023
01fb01d
access advanced search from within project
mdelez Aug 30, 2023
b67cebb
reactor add property button styling
mdelez Aug 30, 2023
a5b5f41
change back button method to use location.back()
mdelez Aug 30, 2023
f37d252
automatically select first item in ontologies dropdown
mdelez Aug 30, 2023
7c1aee8
fix gravsearch for linked resources
mdelez Aug 30, 2023
61ae720
use title case
mdelez Aug 30, 2023
877b7fe
fix dsp-app tests
mdelez Aug 30, 2023
c795b1e
passing tests for once, please be nice github CI
mdelez Aug 31, 2023
7255c0e
advanced search service tests
mdelez Aug 31, 2023
465318e
fix gravsearch issues pertaining to linked resources
mdelez Sep 1, 2023
88c265b
add some comments
mdelez Sep 1, 2023
4fb523b
reduce amount of whitespaces in gravsearch query
mdelez Sep 1, 2023
0460031
remove console.logs
mdelez Sep 1, 2023
403274d
remove more console.logs
mdelez Sep 1, 2023
29e807f
allow entering 0 for a number
mdelez Sep 1, 2023
45e6ad7
remove undefined option for boolean value
mdelez Sep 1, 2023
b3afd6e
trim value input
mdelez Sep 1, 2023
48622a2
make gravsearch better
mdelez Sep 4, 2023
f2c79a2
remove ability to sort by a linked resource property because it ain't…
mdelez Sep 4, 2023
6e2c8f6
Merge branch 'main' into feature/dev-2218-refactor-advanced-search
mdelez Sep 4, 2023
c715df8
use uuid instead of timestamps
mdelez Sep 4, 2023
2e96841
add bottom padding to action buttons
mdelez Sep 4, 2023
e2817a6
small clean up
mdelez Sep 5, 2023
8dbc774
move gravsearch generation methods to its own service
mdelez Sep 5, 2023
e4ce23c
fix order by when changing property to linked resource property
mdelez Sep 5, 2023
f7c8a1a
remove console.logs.....
mdelez Sep 5, 2023
a350614
clean up
mdelez Sep 5, 2023
16e8429
even more clean up
mdelez Sep 6, 2023
06d72a7
fix list property bug
mdelez Sep 6, 2023
a959341
add more tests
mdelez Sep 6, 2023
a64a38a
Merge branch 'main' into feature/dev-2218-refactor-advanced-search
mdelez Sep 6, 2023
2d9cf0d
add gravsearch generation tests
mdelez Sep 7, 2023
9c8cc9f
add linked resource properties back to order by list in a disabled st…
mdelez Sep 7, 2023
b39809a
fix: changed error-message of the list-view component to fix (DEV-2596)
EricSommerhalder Sep 11, 2023
e9e3189
add css for list menu button
mdelez Sep 11, 2023
5923cef
css changes to delete buttons
mdelez Sep 11, 2023
7783cf7
Merge branch 'feature/dev-2218-refactor-advanced-search' of https://g…
mdelez Sep 11, 2023
8c9f969
tiny bug fix
mdelez Sep 11, 2023
aec77cb
advanced search store tests
mdelez Sep 11, 2023
4a3e353
log properties list to datadog
mdelez Sep 12, 2023
e05fa1f
Merge branch 'main' into feature/dev-2218-refactor-advanced-search
mdelez Sep 13, 2023
b594e60
Merge branch 'main' into feature/dev-2218-refactor-advanced-search
mdelez Sep 25, 2023
4538d70
feat(link value results): Display the count of search results
domsteinbach Sep 25, 2023
38a5bde
cancel http request when refining search term
mdelez Sep 25, 2023
4a574da
remove deprecated test
mdelez Sep 25, 2023
a003d46
chore(button text): Rename button text
domsteinbach Sep 25, 2023
4543f67
fix resource search list
mdelez Sep 26, 2023
217104f
allow for searching for resource label of a child property
mdelez Sep 26, 2023
472ffe7
user can select resource class when match operator is selected
mdelez Sep 27, 2023
994acf4
Merge branch 'main' into feature/dev-2218-refactor-advanced-search
mdelez Sep 27, 2023
896be82
add route constant for advanced search
mdelez Sep 27, 2023
5477abc
keep user in data browser when searching
mdelez Sep 28, 2023
8a53059
fix tests
mdelez Sep 28, 2023
7f7c850
increase padding of back button in list-view component and remove bac…
mdelez Sep 29, 2023
fa77f89
disable ordering by URI properties
mdelez Oct 2, 2023
7665fd3
remove undesired css
mdelez Oct 2, 2023
4d9e45a
Merge branch 'main' into feature/dev-2218-refactor-advanced-search
mdelez Oct 2, 2023
ad850b7
add padding
mdelez Oct 2, 2023
5969b00
add back button to no results view
mdelez Oct 2, 2023
c3e006b
align delete buttons
mdelez Oct 2, 2023
1963ed7
small html change
mdelez Oct 2, 2023
19f33e4
filter out fileValue properties
mdelez Oct 4, 2023
459a0a4
Merge branch 'main' into feature/dev-2218-refactor-advanced-search
mdelez Oct 4, 2023
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
11 changes: 10 additions & 1 deletion apps/dsp-app/src/app/app-routing.module.ts
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,8 @@ import { UserComponent } from './user/user.component';
// search results and resource viewer
import { ResourceComponent } from './workspace/resource/resource.component';
import { ResultsComponent } from './workspace/results/results.component';
import {ProjectFormComponent} from "@dsp-app/src/app/project/project-form/project-form.component";
import { AdvancedSearchContainerComponent } from './workspace/search/advanced-search/advanced-search-container.component';
import { ProjectFormComponent } from "@dsp-app/src/app/project/project-form/project-form.component";
import { RouteConstants } from '@dasch-swiss/vre/shared/app-config';

const routes: Routes = [
Expand Down Expand Up @@ -132,6 +133,14 @@ const routes: Routes = [
},
],
},
{
path: RouteConstants.advancedSearch,
component: AdvancedSearchContainerComponent,
},
{
path: RouteConstants.advancedSearchResultsRelative,
component: ResultsComponent,
},
{
path: RouteConstants.notFoundWildcard,
component: StatusComponent,
Expand Down
36 changes: 4 additions & 32 deletions apps/dsp-app/src/app/app.module.ts
Original file line number Diff line number Diff line change
Expand Up @@ -142,22 +142,7 @@ import { UriValueComponent } from './workspace/resource/values/uri-value/uri-val
import { ListViewComponent } from './workspace/results/list-view/list-view.component';
import { ResourceListComponent } from './workspace/results/list-view/resource-list/resource-list.component';
import { ResultsComponent } from './workspace/results/results.component';
import { AdvancedSearchComponent } from './workspace/search/advanced-search/advanced-search.component';
import { ResourceAndPropertySelectionComponent } from './workspace/search/advanced-search/resource-and-property-selection/resource-and-property-selection.component';
import { SearchSelectPropertyComponent } from './workspace/search/advanced-search/resource-and-property-selection/search-select-property/search-select-property.component';
import { SearchBooleanValueComponent } from './workspace/search/advanced-search/resource-and-property-selection/search-select-property/specify-property-value/search-boolean-value/search-boolean-value.component';
import { SearchDateValueComponent } from './workspace/search/advanced-search/resource-and-property-selection/search-select-property/specify-property-value/search-date-value/search-date-value.component';
import { SearchDecimalValueComponent } from './workspace/search/advanced-search/resource-and-property-selection/search-select-property/specify-property-value/search-decimal-value/search-decimal-value.component';
import { SearchIntValueComponent } from './workspace/search/advanced-search/resource-and-property-selection/search-select-property/specify-property-value/search-int-value/search-int-value.component';
import { SearchLinkValueComponent } from './workspace/search/advanced-search/resource-and-property-selection/search-select-property/specify-property-value/search-link-value/search-link-value.component';
import { SearchDisplayListComponent } from './workspace/search/advanced-search/resource-and-property-selection/search-select-property/specify-property-value/search-list-value/search-display-list/search-display-list.component';
import { SearchListValueComponent } from './workspace/search/advanced-search/resource-and-property-selection/search-select-property/specify-property-value/search-list-value/search-list-value.component';
import { SearchResourceComponent } from './workspace/search/advanced-search/resource-and-property-selection/search-select-property/specify-property-value/search-resource/search-resource.component';
import { SearchTextValueComponent } from './workspace/search/advanced-search/resource-and-property-selection/search-select-property/specify-property-value/search-text-value/search-text-value.component';
import { SearchUriValueComponent } from './workspace/search/advanced-search/resource-and-property-selection/search-select-property/specify-property-value/search-uri-value/search-uri-value.component';
import { SpecifyPropertyValueComponent } from './workspace/search/advanced-search/resource-and-property-selection/search-select-property/specify-property-value/specify-property-value.component';
import { SearchSelectResourceClassComponent } from './workspace/search/advanced-search/resource-and-property-selection/search-select-resource-class/search-select-resource-class.component';
import { SearchSelectOntologyComponent } from './workspace/search/advanced-search/search-select-ontology/search-select-ontology.component';
import { AdvancedSearchContainerComponent } from './workspace/search/advanced-search/advanced-search-container.component';
import { ExpertSearchComponent } from './workspace/search/expert-search/expert-search.component';
import { FulltextSearchComponent } from './workspace/search/fulltext-search/fulltext-search.component';
import { SearchPanelComponent } from './workspace/search/search-panel/search-panel.component';
Expand All @@ -179,6 +164,7 @@ import {
} from '@dasch-swiss/vre/shared/app-config';
import { NgxSkeletonLoaderModule } from 'ngx-skeleton-loader';
import { AppDatePickerModule } from '@dasch-swiss/vre/shared/app-date-picker';
import { AdvancedSearchComponent } from '@dasch-swiss/vre/advanced-search';
import { AppProgressIndicatorComponent } from "@dasch-swiss/vre/shared/app-progress-indicator";

// translate: AoT requires an exported function for factories
Expand All @@ -194,7 +180,7 @@ export function httpLoaderFactory(httpClient: HttpClient) {
AddUserComponent,
AddValueComponent,
AdminImageDirective,
AdvancedSearchComponent,
AdvancedSearchContainerComponent,
AppComponent,
ArchiveComponent,
AudioComponent,
Expand Down Expand Up @@ -264,7 +250,6 @@ export function httpLoaderFactory(httpClient: HttpClient) {
PropertyFormComponent,
PropertyInfoComponent,
ReplaceFileFormComponent,
ResourceAndPropertySelectionComponent,
ResourceClassFormComponent,
ResourceClassInfoComponent,
ResourceClassPropertyInfoComponent,
Expand All @@ -273,20 +258,7 @@ export function httpLoaderFactory(httpClient: HttpClient) {
ResourceLinkFormComponent,
ResourceListComponent,
ResultsComponent,
SearchBooleanValueComponent,
SearchDateValueComponent,
SearchDecimalValueComponent,
SearchDisplayListComponent,
SearchIntValueComponent,
SearchLinkValueComponent,
SearchListValueComponent,
SearchPanelComponent,
SearchResourceComponent,
SearchSelectOntologyComponent,
SearchSelectPropertyComponent,
SearchSelectResourceClassComponent,
SearchTextValueComponent,
SearchUriValueComponent,
SelectedResourcesComponent,
SelectGroupComponent,
SelectLanguageComponent,
Expand All @@ -295,7 +267,6 @@ export function httpLoaderFactory(httpClient: HttpClient) {
SelectPropertiesComponent,
SelectResourceClassComponent,
SortButtonComponent,
SpecifyPropertyValueComponent,
SplitPipe,
StatusComponent,
StillImageComponent,
Expand Down Expand Up @@ -351,6 +322,7 @@ export function httpLoaderFactory(httpClient: HttpClient) {
NgxSkeletonLoaderModule,
PdfViewerModule,
ReactiveFormsModule,
AdvancedSearchComponent,
TranslateModule.forRoot({
loader: {
provide: TranslateLoader,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ import { DialogComponent } from '@dsp-app/src/app/main/dialog/dialog.component';
import { existingNamesValidator } from '@dsp-app/src/app/main/directive/existing-name/existing-name.directive';
import { AppErrorHandler } from '@dasch-swiss/vre/shared/app-error-handler';
import { ProjectService } from '@dsp-app/src/app/workspace/resource/services/project.service';
import { AutocompleteItem } from '@dsp-app/src/app/workspace/search/advanced-search/resource-and-property-selection/search-select-property/specify-property-value/operator';
import { AutocompleteItem } from '@dsp-app/src/app/workspace/search/operator';

@Component({
selector: 'app-add-user',
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ import {
import { ApplicationStateService } from '@dasch-swiss/vre/shared/app-state-service';
import { DspApiConnectionToken } from '@dasch-swiss/vre/shared/app-config';
import { AppErrorHandler } from '@dasch-swiss/vre/shared/app-error-handler';
import { AutocompleteItem } from '@dsp-app/src/app/workspace/search/advanced-search/resource-and-property-selection/search-select-property/specify-property-value/operator';
import { AutocompleteItem } from '@dsp-app/src/app/workspace/search/operator';

@Component({
selector: 'app-select-group',
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,6 @@ import { existingNamesValidator } from '@dsp-app/src/app/main/directive/existing
import { AppErrorHandler } from '@dasch-swiss/vre/shared/app-error-handler';
import { SortingService } from '@dsp-app/src/app/main/services/sorting.service';
import { CustomRegex } from '@dsp-app/src/app/workspace/resource/values/custom-regex';
import { AutocompleteItem } from '@dsp-app/src/app/workspace/search/advanced-search/resource-and-property-selection/search-select-property/specify-property-value/operator';
import {
DefaultProperties,
DefaultProperty,
Expand All @@ -51,6 +50,7 @@ import { OntologyService } from '../ontology.service';
import { GuiCardinality } from '@dsp-app/src/app/project/ontology/resource-class-info/resource-class-property-info/resource-class-property-info.component';
import { PropToDisplay } from '../resource-class-info/resource-class-info.component';
import { NotificationService } from '@dasch-swiss/vre/shared/app-notification';
import { AutocompleteItem } from '@dsp-app/src/app/workspace/search/operator';

export type EditMode =
| 'createProperty'
Expand Down
13 changes: 12 additions & 1 deletion apps/dsp-app/src/app/project/project.component.html
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,18 @@

<!-- Description Section -->
<mat-divider></mat-divider>
<mat-list-item [ngClass]="{ 'active': this.listItemSelected === '/project/' + projectUuid}" class="section-title" (click)="open('/project/' + projectUuid)">
<mat-list-item [ngClass]="{ 'active': listItemSelected === 'advanced-search'}" class="section-title" (click)="open('advanced-search')">
<span matListItemTitle class="section-label">
<mat-icon class="sidenav-prefix-icon">search</mat-icon>
<p>Advanced Search</p>
<mat-icon class="sidenav-suffix-icon">chevron_right</mat-icon>
</span>

</mat-list-item>

<!-- Description Section -->
<mat-divider></mat-divider>
<mat-list-item [ngClass]="{ 'active': listItemSelected === '/project/' + projectUuid}" class="section-title" (click)="open('/project/' + projectUuid)">
<span matListItemTitle class="section-label">
<mat-icon class="sidenav-prefix-icon">description</mat-icon>
<p>Project Description</p>
Expand Down
4 changes: 4 additions & 0 deletions apps/dsp-app/src/app/project/project.component.ts
Original file line number Diff line number Diff line change
Expand Up @@ -111,6 +111,10 @@ export class ProjectComponent implements OnInit {

ngOnInit() {
switch (this._router.url) {
case `/project/${this.projectUuid}/advanced-search`: {
this.listItemSelected = 'advanced-search';
break;
}
case `/project/${this.projectUuid}`: {
this.listItemSelected = this._router.url;
break;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ import { DspApiConnectionToken } from '@dasch-swiss/vre/shared/app-config';
import { AppErrorHandler } from '@dasch-swiss/vre/shared/app-error-handler';
import { Session } from '@dasch-swiss/vre/shared/app-session';
import { ProjectService } from '@dsp-app/src/app/workspace/resource/services/project.service';
import { AutocompleteItem } from '@dsp-app/src/app/workspace/search/advanced-search/resource-and-property-selection/search-select-property/specify-property-value/operator';
import { AutocompleteItem } from '../../workspace/search/operator';

// --> TODO replace it by IPermissions from dsp-js
export interface IPermissions {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,16 +1,24 @@
<!-- header / toolbar to select view and pagination -->
<div *ngIf="numberOfAllResults !== 0 && loading === false" class="list-view-header">
<button mat-button class="pagination-button previous" [disabled]="0 >= currentIndex" (click)="goToPage('previous')">
<mat-icon>west</mat-icon>
<span>Previous</span>
</button>
<span class="fill-remaining-space"></span>
<div class="range">{{currentRangeStart}} - {{currentRangeEnd}} of {{numberOfAllResults}}</div>
<span class="fill-remaining-space"></span>
<button mat-button class="pagination-button next" [disabled]="(pageSize > numberOfAllResults) || nextDisabled" (click)="goToPage('next')">
<span>Next</span>
<mat-icon>east</mat-icon>
</button>
<div *ngIf="!loading && (numberOfAllResults > 0 && resources.resources.length)" class="list-view-header">
<div *ngIf="search.mode === 'gravsearch' && search.projectUuid && (numberOfAllResults > 0 && resources.resources.length)" class="back">
<button mat-button class="back-button" (click)="handleBackButtonClicked()">
<span>Go Back to Search Form</span>
<mat-icon iconPositionEnd>chevron_right</mat-icon>
</button>
</div>
<div class="navigation">
<button mat-button class="pagination-button previous" [disabled]="0 >= currentIndex" (click)="goToPage('previous')">
<mat-icon>west</mat-icon>
<span>Previous</span>
</button>
<span class="fill-remaining-space"></span>
<div class="range">{{currentRangeStart}} - {{currentRangeEnd}} of {{numberOfAllResults}}</div>
<span class="fill-remaining-space"></span>
<button mat-button class="pagination-button next" [disabled]="(pageSize > numberOfAllResults) || nextDisabled" (click)="goToPage('next')">
<span>Next</span>
<mat-icon>east</mat-icon>
</button>
</div>
</div>

<!-- container with search results -->
Expand Down Expand Up @@ -43,10 +51,16 @@
</div>
<!-- Case B: user clicked on the class item -->
<div *ngIf="search.mode !== 'fulltext'">
<div *ngIf="search.mode === 'gravsearch' && search.projectUuid" class="back">
<button mat-button class="back-button" (click)="handleBackButtonClicked()">
<span>Go Back to Search Form</span>
<mat-icon iconPositionEnd>chevron_right</mat-icon>
</button>
</div>
<!-- Case B1: there is no resources created-->
<div *ngIf="hasPermission" class="no-results-container">
<mat-icon>warning</mat-icon>
<div>No resources have been created for this class yet.</div>
<div>No results were found for your query.</div>
</div>
<!-- Case B2: no permission-->
<div *ngIf="!hasPermission" class="no-results-container">
Expand Down
Original file line number Diff line number Diff line change
@@ -1,57 +1,64 @@
@use "../../../../styles/config" as *;

.list-view-header {
display: flex;
box-sizing: border-box;
flex-direction: row;
align-items: center;
white-space: nowrap;
padding: 0 16px;
height: 60px;
width: 100%;
z-index: 1;
border-bottom: 1px solid rgba(0, 0, 0, 0.12);
position: sticky !important;
top: 0;
background: $bright;
z-index: 1;

.back {
text-align: right;
padding: 3% 0%;

.pagination-button:disabled {
span,
mat-icon{
color: $cool_gray_300;
.back-button {
border: 1px solid $primary;
margin-right: 2%;
color: $primary;
}
}

.pagination-button {
&.previous {
span{
padding-left: 14px;
}
}
.navigation {
display: flex;
box-sizing: border-box;
flex-direction: row;
align-items: center;
white-space: nowrap;
padding: 0 16px;
height: 60px;
width: 100%;

&.next {
span{
padding-right: 14px;
.pagination-button:disabled {
span,
mat-icon{
color: $cool_gray_300;
}
}

span,
mat-icon{
color: $primary;
font-weight: 400;
}
}
.pagination-button {
&.previous {
span{
padding-left: 14px;
}
}

.range{
color: $cool_gray_500;
font-weight: 300;
}
}
&.next {
span{
padding-right: 14px;
}
}

.list-view-header {
border-bottom: 1px solid rgba(0, 0, 0, 0.12);
position: sticky !important;
top: 0;
span,
mat-icon{
color: $primary;
font-weight: 400;
}
}

.switch-view-label {
margin-right: 16px;
.range{
color: $cool_gray_500;
font-weight: 300;
}
}
}

Expand All @@ -69,6 +76,18 @@
}
}

.no-results {
.back {
padding: 0% 0% 3% 0%;

.back-button {
border: 1px solid $primary;
margin-right: 2%;
color: $primary;
}
}
}

button.active {
background-color: $black-12-opacity;
}
Expand Down