Skip to content

Commit fc53f98

Browse files
authored
Merge pull request #3834 from NoelDeMartin/MOBILE-3371
MOBILE-3371 search: Improve course search
2 parents 1edc59f + af00e8e commit fc53f98

File tree

6 files changed

+17
-10
lines changed

6 files changed

+17
-10
lines changed

src/addons/block/globalsearch/services/block-handler.ts

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -41,14 +41,14 @@ export class AddonBlockGlobalSearchHandlerService extends CoreBlockBaseHandler {
4141
* @inheritdoc
4242
*/
4343
getDisplayData(block: CoreCourseBlock, contextLevel: string, instanceId: number): CoreBlockHandlerData | undefined {
44+
const isCourseSearch = contextLevel === 'course';
45+
4446
return {
45-
title: 'addon.block_globalsearch.pluginname',
47+
title: isCourseSearch ? 'core.search' : 'addon.block_globalsearch.pluginname',
4648
class: 'addon-block-globalsearch',
4749
component: CoreBlockOnlyTitleComponent,
4850
link: CORE_SEARCH_PAGE_NAME,
49-
linkParams: contextLevel === 'course'
50-
? { courseId: instanceId }
51-
: {},
51+
linkParams: isCourseSearch ? { courseId: instanceId } : {},
5252
};
5353
}
5454

src/core/features/search/components/global-search-filters/global-search-filters.component.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,7 @@ export class CoreSearchGlobalSearchFiltersComponent implements OnInit {
3939
allCourses: boolean | null = true;
4040
courses: Filter<CoreEnrolledCourseData>[] = [];
4141

42+
@Input() hideCourses?: boolean;
4243
@Input() filters?: CoreSearchGlobalSearchFilters;
4344

4445
private newFilters: CoreSearchGlobalSearchFilters = {};

src/core/features/search/components/global-search-filters/global-search-filters.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ <h1>{{ 'core.search.filterheader' | translate }}</h1>
3535
(ionChange)="onSearchAreaCategoryInputChanged(searchAreaCategory)"></ion-checkbox>
3636
</ion-item>
3737
</ng-container>
38-
<ng-container *ngIf="courses.length > 0">
38+
<ng-container *ngIf="!hideCourses && courses.length > 0">
3939
<core-spacer></core-spacer>
4040
<ion-item class="ion-text-wrap help">
4141
<ion-label>

src/core/features/search/pages/global-search/global-search.html

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,8 @@
44
<ion-back-button [text]="'core.back' | translate"></ion-back-button>
55
</ion-buttons>
66
<ion-title>
7-
<h1>{{ 'core.search.globalsearch' | translate }}</h1>
7+
<h1 *ngIf="courseId">{{ 'core.search' | translate }}</h1>
8+
<h1 *ngIf="!courseId">{{ 'core.search.globalsearch' | translate }}</h1>
89
</ion-title>
910
<ion-buttons slot="end">
1011
<core-user-menu-button></core-user-menu-button>

src/core/features/search/pages/global-search/global-search.ts

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,7 @@ import { CoreSearchBoxComponent } from '@features/search/components/search-box/s
3636
})
3737
export class CoreSearchGlobalSearchPage implements OnInit, OnDestroy, AfterViewInit {
3838

39+
courseId: number | null = null;
3940
loadMoreError: string | null = null;
4041
searchBanner: string | null = null;
4142
resultsSource = new CoreSearchGlobalSearchResultsSource('', {});
@@ -56,6 +57,7 @@ export class CoreSearchGlobalSearchPage implements OnInit, OnDestroy, AfterViewI
5657
}
5758

5859
if (courseId) {
60+
this.courseId = courseId;
5961
this.resultsSource.setFilters({ courseIds: [courseId] });
6062
}
6163

@@ -139,7 +141,10 @@ export class CoreSearchGlobalSearchPage implements OnInit, OnDestroy, AfterViewI
139141

140142
await CoreDomUtils.openSideModal<CoreSearchGlobalSearchFilters>({
141143
component: CoreSearchGlobalSearchFiltersComponent,
142-
componentProps: { filters: this.resultsSource.getFilters() },
144+
componentProps: {
145+
hideCourses: !!this.courseId,
146+
filters: this.resultsSource.getFilters(),
147+
},
143148
});
144149

145150
if (!this.resultsSource.hasEmptyQuery() && this.resultsSource.isDirty()) {

src/core/features/search/tests/behat/global-search.feature

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -139,9 +139,9 @@ Feature: Test Global Search
139139
| globalsearch | Course | C1 |
140140
And I entered the course "Course 1" as "student1" in the app
141141
When I press "Open block drawer" in the app
142-
And I press "Global search" in the app
142+
And I press "Search" in the app
143143
Then I should find "What are you searching for?" in the app
144144

145145
When I press "Filter" in the app
146-
Then "C1" should be selected in the app
147-
But "C2" should not be selected in the app
146+
Then I should find "Filter results by" in the app
147+
But I should not find "Search in" in the app

0 commit comments

Comments
 (0)