Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/workflows/acceptance.yml
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ jobs:
env:
MOODLE_DOCKER_DB: pgsql
MOODLE_DOCKER_BROWSER: chrome
MOODLE_DOCKER_PHP_VERSION: 7.4
MOODLE_DOCKER_PHP_VERSION: '8.0'
MOODLE_BRANCH: ${{ github.event.inputs.moodle_branch || 'master' }}
MOODLE_REPOSITORY: ${{ github.event.inputs.moodle_repository || 'https://github.com/moodle/moodle' }}
BEHAT_TAGS: ${{ github.event.inputs.behat_tags || '~@performance' }}
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/performance.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ jobs:
env:
MOODLE_DOCKER_DB: pgsql
MOODLE_DOCKER_BROWSER: chrome
MOODLE_DOCKER_PHP_VERSION: 7.4
MOODLE_DOCKER_PHP_VERSION: '8.0'
steps:
- uses: actions/checkout@v2
- uses: actions/setup-node@v3
Expand Down
8 changes: 4 additions & 4 deletions src/addons/mod/forum/pages/new-discussion/new-discussion.html
Original file line number Diff line number Diff line change
Expand Up @@ -46,10 +46,10 @@ <h2>{{ 'addon.mod_forum.advanced' | translate }}</h2>
<ion-toggle [(ngModel)]="newDiscussion.postToAllGroups" name="postallgroups"></ion-toggle>
</ion-item>
<ion-item *ngIf="showGroups" class="core-edit-set-group">
<ion-label id="addon-mod-forum-groupslabel">{{ 'addon.mod_forum.group' | translate }}</ion-label>
<ion-select [(ngModel)]="newDiscussion.groupId" [disabled]="newDiscussion.postToAllGroups"
aria-labelledby="addon-mod-forum-groupslabel" interface="action-sheet" name="groupid"
[interfaceOptions]="{header: 'addon.mod_forum.group' | translate}" (ionChange)="calculateGroupName()">
<ion-label>{{ 'addon.mod_forum.group' | translate }}</ion-label>
<ion-select [(ngModel)]="newDiscussion.groupId" [disabled]="newDiscussion.postToAllGroups" interface="action-sheet"
name="groupid" [interfaceOptions]="{header: 'addon.mod_forum.group' | translate}"
(ionChange)="calculateGroupName()">
<ion-select-option *ngFor="let group of groups" [value]="group.id">{{ group.name }}</ion-select-option>
</ion-select>
</ion-item>
Expand Down
11 changes: 5 additions & 6 deletions src/addons/mod/glossary/pages/edit/edit.html
Original file line number Diff line number Diff line change
Expand Up @@ -28,23 +28,22 @@ <h1 *ngIf="glossary">
</core-rich-text-editor>
</ion-item>
<ion-item *ngIf="categories.length > 0">
<ion-label position="stacked" id="addon-mod-glossary-categories-label">
<ion-label position="stacked">
{{ 'addon.mod_glossary.categories' | translate }}
</ion-label>
<ion-select [(ngModel)]="options.categories" multiple="true" aria-labelledby="addon-mod-glossary-categories-label"
interface="action-sheet" [placeholder]="'addon.mod_glossary.categories' | translate" name="categories"
<ion-select [(ngModel)]="options.categories" multiple="true" interface="action-sheet"
[placeholder]="'addon.mod_glossary.categories' | translate" name="categories"
[interfaceOptions]="{header: 'addon.mod_glossary.categories' | translate}">
<ion-select-option *ngFor="let category of categories" [value]="category.id">
{{ category.name }}
</ion-select-option>
</ion-select>
</ion-item>
<ion-item>
<ion-label position="stacked" id="addon-mod-glossary-aliases-label">
<ion-label position="stacked">
{{ 'addon.mod_glossary.aliases' | translate }}
</ion-label>
<ion-textarea [(ngModel)]="options.aliases" rows="1" [core-auto-rows]="options.aliases"
aria-labelledby="addon-mod-glossary-aliases-label" name="aliases">
<ion-textarea [(ngModel)]="options.aliases" rows="1" [core-auto-rows]="options.aliases" name="aliases">
</ion-textarea>
</ion-item>
<ion-item-divider>
Expand Down
8 changes: 3 additions & 5 deletions src/addons/mod/lesson/pages/player/player.html
Original file line number Diff line number Diff line change
Expand Up @@ -138,14 +138,12 @@ <h3 class="item-heading">{{ 'addon.mod_lesson.youranswer' | translate }}</h3>
<ion-item class="ion-text-wrap" *ngFor="let row of question.rows">
<ion-label>
<p>
<core-format-text id="addon-mod_lesson-matching-{{row.id}}" [component]="component"
[componentId]="lesson?.coursemodule" [text]="row.text" contextLevel="module"
[contextInstanceId]="lesson?.coursemodule" [courseId]="courseId">
<core-format-text [component]="component" [componentId]="lesson?.coursemodule" [text]="row.text"
contextLevel="module" [contextInstanceId]="lesson?.coursemodule" [courseId]="courseId">
</core-format-text>
</p>
</ion-label>
<ion-select [id]="row.id" [formControlName]="row.name" interface="action-sheet"
[attr.aria-labelledby]="'addon-mod_lesson-matching-' + row.id">
<ion-select [id]="row.id" [formControlName]="row.name" interface="action-sheet">
<ion-select-option *ngFor="let option of row.options" [value]="option.value">
{{option.label}}
</ion-select-option>
Expand Down
5 changes: 2 additions & 3 deletions src/addons/mod/lesson/pages/user-retake/user-retake.html
Original file line number Diff line number Diff line change
Expand Up @@ -27,9 +27,8 @@ <h2>{{student.fullname}}</h2>

<!-- Retake selector if there is more than one retake. -->
<ion-item class="ion-text-wrap" *ngIf="student.attempts && student.attempts.length > 1">
<ion-label id="addon-mod_lesson-retakeslabel">{{ 'addon.mod_lesson.attemptheader' | translate }}</ion-label>
<ion-select [(ngModel)]="selectedRetake" (ionChange)="changeRetake(selectedRetake!)"
aria-labelledby="addon-mod_lesson-retakeslabel" interface="action-sheet"
<ion-label>{{ 'addon.mod_lesson.attemptheader' | translate }}</ion-label>
<ion-select [(ngModel)]="selectedRetake" (ionChange)="changeRetake(selectedRetake!)" interface="action-sheet"
[interfaceOptions]="{header: 'addon.mod_lesson.attemptheader' | translate}">
<ion-select-option *ngFor="let retake of student.attempts" [value]="retake.try">
{{retake.label}}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -102,13 +102,12 @@ <h3 class="ion-padding-horizontal" [class.ion-padding-top]="questionIndex == 1">
</ion-row>

<ion-item *ngIf="question.type === 0" class="ion-text-wrap" [class.even]="isEven">
<ion-label position="floating" id="addon-mod_survey-{{question.name}}">
<ion-label position="floating">
<span [core-mark-required]="question.required">
<strong>{{question.num}}.</strong> {{ question.text }}
</span>
</ion-label>
<ion-textarea [(ngModel)]="answers[question.name]" [name]="question.name"
[attr.aria-labelledby]="'addon-mod_survey-'+question.name" [required]="question.required">
<ion-textarea [(ngModel)]="answers[question.name]" [name]="question.name" [required]="question.required">
</ion-textarea>
</ion-item>
</ng-container>
Expand Down
5 changes: 2 additions & 3 deletions src/core/components/group-selector/group-selector.html
Original file line number Diff line number Diff line change
Expand Up @@ -7,12 +7,11 @@
</ion-card>

<ion-item class="ion-text-wrap core-group-selector">
<ion-label id="core-groups-selector-groupslabel-{{id}}">
<ion-label>
<ng-container *ngIf="groupInfo.separateGroups">{{'core.groupsseparate' | translate }}</ng-container>
<ng-container *ngIf="groupInfo.visibleGroups">{{'core.groupsvisible' | translate }}</ng-container>
</ion-label>
<ion-select [(ngModel)]="selected" (ionChange)="selectedChange.emit(selected)"
[attr.aria-labelledby]="'core-groups-selector-groupslabel-' + id" interface="action-sheet"
<ion-select [(ngModel)]="selected" (ionChange)="selectedChange.emit(selected)" interface="action-sheet"
[interfaceOptions]="{header: 'core.group' | translate}">
<ion-select-option *ngFor="let groupOpt of groupInfo.groups" [value]="groupOpt.id">
{{groupOpt.name}}
Expand Down
14 changes: 2 additions & 12 deletions src/core/components/group-selector/group-selector.ts
Original file line number Diff line number Diff line change
Expand Up @@ -12,9 +12,8 @@
// See the License for the specific language governing permissions and
// limitations under the License.

import { Component, Input, Output, EventEmitter, OnInit, ChangeDetectionStrategy } from '@angular/core';
import { Component, Input, Output, EventEmitter, ChangeDetectionStrategy } from '@angular/core';
import { CoreGroupInfo } from '@services/groups';
import { CoreUtils } from '@services/utils/utils';

/**
* Component to display a group selector.
Expand All @@ -24,20 +23,11 @@ import { CoreUtils } from '@services/utils/utils';
templateUrl: 'group-selector.html',
changeDetection: ChangeDetectionStrategy.OnPush,
})
export class CoreGroupSelectorComponent implements OnInit {
export class CoreGroupSelectorComponent {

@Input() groupInfo?: CoreGroupInfo;
@Input() multipleGroupsMessage?: string;
@Input() selected!: number;
@Output() selectedChange = new EventEmitter<number>();

id!: number;

/**
* @inheritdoc
*/
ngOnInit(): void {
this.id = CoreUtils.getUniqueId('CoreGroupSelectorComponent');
}

}
5 changes: 2 additions & 3 deletions src/core/features/login/pages/email-signup/email-signup.html
Original file line number Diff line number Diff line change
Expand Up @@ -159,9 +159,8 @@ <h3>{{ 'core.login.supplyinfo' | translate }}</h3>
</ion-input>
</ion-item>
<ion-item class="ion-text-wrap">
<ion-label position="stacked" id="core-login-signup-country">{{ 'core.user.country' | translate }}</ion-label>
<ion-select name="country" formControlName="country" aria-labelledby="core-login-signup-country"
[placeholder]="'core.login.selectacountry' | translate">
<ion-label position="stacked">{{ 'core.user.country' | translate }}</ion-label>
<ion-select name="country" formControlName="country" [placeholder]="'core.login.selectacountry' | translate">

<ion-select-option value="">{{ 'core.login.selectacountry' | translate }}</ion-select-option>
<ion-select-option *ngFor="let country of countries" [value]="country.code">{{country.name}}</ion-select-option>
Expand Down