diff --git a/src/addons/mod/assign/components/index/addon-mod-assign-index.html b/src/addons/mod/assign/components/index/addon-mod-assign-index.html index 028cec0b9..fc5571d40 100644 --- a/src/addons/mod/assign/components/index/addon-mod-assign-index.html +++ b/src/addons/mod/assign/components/index/addon-mod-assign-index.html @@ -20,18 +20,8 @@ - - - {{'core.groupsseparate' | translate }} - {{'core.groupsvisible' | translate }} - - - - {{groupOpt.name}} - - - + + diff --git a/src/addons/mod/assign/pages/submission-list/submission-list.html b/src/addons/mod/assign/pages/submission-list/submission-list.html index a88073d1c..f169824fc 100644 --- a/src/addons/mod/assign/pages/submission-list/submission-list.html +++ b/src/addons/mod/assign/pages/submission-list/submission-list.html @@ -21,18 +21,9 @@ - - - {{'core.groupsseparate' | translate }} - {{'core.groupsvisible' | translate }} - - - - {{groupOpt.name}} - - - + + + - - - - - {{ 'addon.mod_bigbluebuttonbn.view_groups_selection_warning' | translate }} - - - - - - {{ 'core.groupsseparate' | translate }} - {{ 'core.groupsvisible' | translate }} - - - - {{groupOpt.name}} - - - - + diff --git a/src/addons/mod/chat/pages/sessions/sessions.html b/src/addons/mod/chat/pages/sessions/sessions.html index 9676d15bb..2bfe9775d 100644 --- a/src/addons/mod/chat/pages/sessions/sessions.html +++ b/src/addons/mod/chat/pages/sessions/sessions.html @@ -14,18 +14,7 @@ - - - {{'core.groupsseparate' | translate }} - {{'core.groupsvisible' | translate }} - - - - {{groupOpt.name}} - - - + {{ 'addon.mod_chat.showincompletesessions' | translate }} diff --git a/src/addons/mod/data/components/index/addon-mod-data-index.html b/src/addons/mod/data/components/index/addon-mod-data-index.html index 6a6b4724f..e18e931ad 100644 --- a/src/addons/mod/data/components/index/addon-mod-data-index.html +++ b/src/addons/mod/data/components/index/addon-mod-data-index.html @@ -25,18 +25,8 @@ [courseId]="courseId" [hasDataToSync]="hasOffline || hasOfflineRatings" (completionChanged)="onCompletionChange()"> - - - {{'core.groupsseparate' | translate }} - {{'core.groupsvisible' | translate }} - - - - {{groupOpt.name}} - - - + + diff --git a/src/addons/mod/data/pages/edit/edit.html b/src/addons/mod/data/pages/edit/edit.html index 875d160f0..6cc1d7be4 100644 --- a/src/addons/mod/data/pages/edit/edit.html +++ b/src/addons/mod/data/pages/edit/edit.html @@ -18,18 +18,8 @@ - - - {{ 'core.groupsseparate' | translate }} - {{ 'core.groupsvisible' | translate }} - - - - {{groupOpt.name}} - - - + +
diff --git a/src/addons/mod/data/pages/entry/entry.html b/src/addons/mod/data/pages/entry/entry.html index a7be272a4..de6da59a1 100644 --- a/src/addons/mod/data/pages/entry/entry.html +++ b/src/addons/mod/data/pages/entry/entry.html @@ -25,18 +25,8 @@ - - - {{ 'core.groupsvisible' | translate }} - {{ 'core.groupsseparate' | translate }} - - - - {{groupOpt.name}} - - - + +
diff --git a/src/addons/mod/feedback/components/index/addon-mod-feedback-index.html b/src/addons/mod/feedback/components/index/addon-mod-feedback-index.html index eb378ee03..ca10c22e4 100644 --- a/src/addons/mod/feedback/components/index/addon-mod-feedback-index.html +++ b/src/addons/mod/feedback/components/index/addon-mod-feedback-index.html @@ -59,18 +59,8 @@ - - - {{ 'core.groupsseparate' | translate }} - {{ 'core.groupsvisible' | translate }} - - - - {{groupOpt.name}} - - - + + diff --git a/src/addons/mod/feedback/pages/attempts/attempts.html b/src/addons/mod/feedback/pages/attempts/attempts.html index a435f5861..85b173371 100644 --- a/src/addons/mod/feedback/pages/attempts/attempts.html +++ b/src/addons/mod/feedback/pages/attempts/attempts.html @@ -15,19 +15,8 @@ - - - {{'core.groupsseparate' | translate }} - {{'core.groupsvisible' | translate }} - - - - {{groupOpt.name}} - - - + + diff --git a/src/addons/mod/feedback/pages/nonrespondents/nonrespondents.html b/src/addons/mod/feedback/pages/nonrespondents/nonrespondents.html index e5634aab3..57c33c2d9 100644 --- a/src/addons/mod/feedback/pages/nonrespondents/nonrespondents.html +++ b/src/addons/mod/feedback/pages/nonrespondents/nonrespondents.html @@ -14,19 +14,8 @@ - - - {{'core.groupsseparate' | translate }} - {{'core.groupsvisible' | translate }} - - - - {{groupOpt.name}} - - - + + diff --git a/src/addons/mod/forum/components/index/index.html b/src/addons/mod/forum/components/index/index.html index cf24dd7d5..4c6b1c123 100644 --- a/src/addons/mod/forum/components/index/index.html +++ b/src/addons/mod/forum/components/index/index.html @@ -23,19 +23,8 @@ - - - {{'core.groupsseparate' | translate }} - {{'core.groupsvisible' | translate }} - - - - {{groupOpt.name}} - - - + + diff --git a/src/addons/mod/lesson/components/index/addon-mod-lesson-index.html b/src/addons/mod/lesson/components/index/addon-mod-lesson-index.html index a02bbbc11..2ed4ab3a1 100644 --- a/src/addons/mod/lesson/components/index/addon-mod-lesson-index.html +++ b/src/addons/mod/lesson/components/index/addon-mod-lesson-index.html @@ -56,20 +56,8 @@ - - - - {{ 'core.groupsseparate' | translate }} - {{ 'core.groupsvisible' | translate }} - - - - {{groupOpt.name}} - - - + + {{ 'addon.mod_workshop.gradesreport' | translate }} - - - {{ 'core.groupsseparate' | translate }} - - - {{ 'core.groupsvisible' | translate }} - - - - {{groupOpt.name}} - - - + + + + + {{ multipleGroupsMessage }} + + + + + + {{'core.groupsseparate' | translate }} + {{'core.groupsvisible' | translate }} + + + + {{groupOpt.name}} + + + + diff --git a/src/core/components/group-selector/group-selector.ts b/src/core/components/group-selector/group-selector.ts new file mode 100644 index 000000000..b98b5ec5e --- /dev/null +++ b/src/core/components/group-selector/group-selector.ts @@ -0,0 +1,43 @@ +// (C) Copyright 2015 Moodle Pty Ltd. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// 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 { CoreGroupInfo } from '@services/groups'; +import { CoreUtils } from '@services/utils/utils'; + +/** + * Component to display a group selector. + */ +@Component({ + selector: 'core-group-selector', + templateUrl: 'group-selector.html', + changeDetection: ChangeDetectionStrategy.OnPush, +}) +export class CoreGroupSelectorComponent implements OnInit { + + @Input() groupInfo?: CoreGroupInfo; + @Input() multipleGroupsMessage?: string; + @Input() selected!: number; + @Output() selectedChange = new EventEmitter(); + + id!: number; + + /** + * @inheritdoc + */ + ngOnInit(): void { + this.id = CoreUtils.getUniqueId('CoreGroupSelectorComponent'); + } + +}