Skip to content

Commit

Permalink
143051-Remove Multi selection from Class(Grade) & Medium field
Browse files Browse the repository at this point in the history
  • Loading branch information
yashveertrigyn authored and samarthtrigyn committed Mar 29, 2024
1 parent 3fa920c commit b799cd1
Show file tree
Hide file tree
Showing 10 changed files with 63 additions and 44 deletions.
2 changes: 1 addition & 1 deletion src/app/client/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -54,7 +54,7 @@
"@angular/router": "^11.2.14",
"@dicdikshaorg/chatbot-client": "3.0.3",
"@dicdikshaorg/common-consumption": "4.12.11",
"@dicdikshaorg/common-form-elements": "5.1.17",
"@dicdikshaorg/common-form-elements": "5.1.19",
"@dicdikshaorg/sb-content-section": "5.0.1",
"@dicdikshaorg/sunbird-collection-editor": "4.5.0",
"@dictrigyn/pdf-player": "^0.0.6",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -112,7 +112,7 @@ export class GlobalSearchFilterComponent implements OnInit, OnChanges, OnDestroy
type: 'dropdown',
labelText: f.name === 'se_boards' ? _.get(this.resourceService, 'frmelmnts.lbl.boardsFilter') : f.label || f.name,
placeholderText: `${this.resourceService.frmelmnts.lbl.Select} ${f.label || f.name}`,
multiple: true
multiple: (f.name == 'se_boards' || f.name == 'se_mediums' || f.name == 'se_gradeLevels') ? false :true
};
});
this.resourceService.languageSelected$.pipe(takeUntil(this.unsubscribe$)).subscribe((languageData) => {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,11 +6,13 @@
<div class="d-flex flex-ai-center pr-8">
<div *ngIf="selectedFilters[facet.name] && selectedFilters[facet.name].length > 0">
<label>{{facet.label}} :&nbsp;</label>
<ng-container *ngFor="let item of selectedFilters[facet.name]">
<a class="ui label mt-8 mr-8 py-0 sbt-label-green text-capitalize" *ngIf="item && item.length > 0">
{{formetText(item)}}
<i class="delete icon" tabindex="0" (click)="removeFilterSelection({type: facet.name, value: item})"></i>
</a>
<ng-container *ngIf="!checkDataType(selectedFilters[facet.name])">
<ng-container *ngFor="let item of selectedFilters[facet.name]">
<a class="ui label mt-8 mr-8 py-0 sbt-label-green text-capitalize" *ngIf="item && item.length > 0">
{{formetText(item)}}
<i class="delete icon" tabindex="0" (click)="removeFilterSelection({type: facet.name, value: item})"></i>
</a>
</ng-container>
</ng-container>
</div>
</div>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@ import { Router, ActivatedRoute } from '@angular/router';
import { ResourceService, UtilService } from '@sunbird/shared';
import { takeUntil } from 'rxjs/operators';
import { Subject } from 'rxjs/internal/Subject';
import { upperCase } from 'lodash';

@Component({
selector: 'app-global-search-selected-filter',
Expand All @@ -17,9 +18,20 @@ export class GlobalSearchSelectedFilterComponent implements OnInit {
@Output() filterChange: EventEmitter<{ status: string, filters?: any }> = new EventEmitter();
private unsubscribe$ = new Subject<void>();

upperCaseObj = ["igot-health","cbse/ncert","cbse","ncert","cisce","nios","cpd","ut (dnh and dd)"]
constructor(private router: Router, private activatedRoute: ActivatedRoute, public resourceService: ResourceService, private utilService: UtilService) { }

ngOnInit() {
if(this.selectedFilters.se_boards && !_.isArray(this.selectedFilters.se_boards && this.selectedFilters.se_boards)){
this.selectedFilters.se_boards = [this.selectedFilters.se_boards];
}
if(this.selectedFilters.se_mediums && !_.isArray(this.selectedFilters.se_mediums && this.selectedFilters.se_mediums)){
this.selectedFilters.se_mediums = [this.selectedFilters.se_mediums];
}
if(this.selectedFilters.se_gradeLevels && !_.isArray(this.selectedFilters.se_gradeLevels && this.selectedFilters.se_gradeLevels)){
this.selectedFilters.se_gradeLevels = [this.selectedFilters.se_gradeLevels];
}

this.resourceService.languageSelected$.pipe(takeUntil(this.unsubscribe$)).subscribe((languageData) => {
if (this.facets) {
this.facets.forEach((facet) => {
Expand All @@ -34,33 +46,16 @@ export class GlobalSearchSelectedFilterComponent implements OnInit {
return char.toUpperCase();
});
}
formetText(selectedFilters:string):string{
if(selectedFilters.toLowerCase() ==='cbse training'){
return 'CBSE Training'
}
else if (selectedFilters.toLowerCase() == 'igot-health' ) {
return 'IGOT-Health';
} else if (selectedFilters.toLowerCase() == 'cbse/ncert' ) {
return 'CBSE/NCERT ';
}
else if(selectedFilters.toLowerCase() == 'cbse'){
return 'CBSE'
}
else if(selectedFilters.toLowerCase() == 'ncert'){
return 'NCERT'
formetText(selectedFilters:any):string{
if (typeof selectedFilters != "string") {
selectedFilters = selectedFilters[0];
}
else if (selectedFilters.toLowerCase() == 'cisce' ) {
return 'CISCE ';
} else if (selectedFilters.toLowerCase() == 'nios' ) {
return 'NIOS ';
}
else if(selectedFilters.toLowerCase() === 'cpd'){
return 'CPD'
}
else if(selectedFilters.toLowerCase() == 'ut (dnh and dd)'){
return 'UT (DNH And DD) '
}
else if( selectedFilters.startsWith("ut") || selectedFilters.startsWith("UT")){

if(this.upperCaseObj.includes(selectedFilters)){
return selectedFilters.toUpperCase();
} else if(selectedFilters.toLowerCase() ==='cbse training'){
return 'CBSE Training'
} else if( selectedFilters.startsWith("ut") || selectedFilters.startsWith("UT")){
let text1 = selectedFilters.split(' ')
let firstPart = text1.shift()
let secondPart = text1.join(' ')
Expand Down Expand Up @@ -115,4 +110,8 @@ export class GlobalSearchSelectedFilterComponent implements OnInit {
return true;
}
}
}

checkDataType(selectedVar:any){
return typeof(selectedVar) === 'string';
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -60,14 +60,14 @@ export class SearchFilterComponent implements OnInit, OnDestroy {
type: 'dropdown',
labelText: _.get(this.resourceService, 'frmelmnts.lbl.medium'),
placeholderText: _.get(this.resourceService, 'frmelmnts.lbl.selectMedium'),
multiple: true
multiple: false
},
{
category: 'gradeLevel',
type: 'dropdown',
labelText: _.get(this.resourceService, 'frmelmnts.lbl.class'),
placeholderText: _.get(this.resourceService, 'frmelmnts.lbl.selectClass'),
multiple: true
multiple: false
},
{
category: 'subject',
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -75,20 +75,20 @@ <h4 class="sb-categories-title text-left mt-16" *ngIf="apiContentList.length">
<span class="mr-24">
<span *ngIf="userPreference?.framework?.medium?.length">{{resourceService?.frmelmnts?.lbl?.medium | transposeTerms: 'frmelmnts.lbl.medium': resourceService?.selectedLang}}:
</span>
<span *ngIf="userPreference?.framework?.medium?.length" class="font-weight-bold">{{userPreference?.framework?.medium[0]}}</span>
<span class="font-weight-bold" *ngIf="userPreference?.framework?.medium?.length > 1">
<span *ngIf="userPreference?.framework?.medium?.length" class="font-weight-bold">{{convertToString(userPreference?.framework?.medium)}}</span>
<!--span class="font-weight-bold" *ngIf="userPreference?.framework?.medium?.length > 1">
... + {{userPreference?.framework?.medium?.length-1}}
</span>
</span-->
</span>

<span class="mr-24">
<span
*ngIf="userPreference?.framework?.gradeLevel?.length">{{resourceService?.frmelmnts?.lbl?.classes | transposeTerms: 'frmelmnts.lbl.classes': resourceService?.selectedLang}}:
</span>
<span *ngIf="userPreference?.framework?.gradeLevel?.length" class="font-weight-bold">{{userPreference?.framework?.gradeLevel[0]}}</span>
<span class="font-weight-bold" *ngIf="userPreference?.framework?.gradeLevel?.length > 1">
<span *ngIf="userPreference?.framework?.gradeLevel?.length" class="font-weight-bold">{{convertToString(userPreference?.framework?.gradeLevel)}}</span>
<!--span class="font-weight-bold" *ngIf="userPreference?.framework?.gradeLevel?.length > 1">
... + {{userPreference?.framework?.gradeLevel?.length-1}}
</span>
</span-->
</span>
</p>
</div>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -1139,6 +1139,9 @@ async ngOnInit() {
}

convertToString(value) {
if (typeof value == "string") {
return value;
}
return _.isArray(value) ? _.join(value, ', ') : undefined;
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -145,6 +145,9 @@ export class GuestProfileComponent implements OnInit {
}

convertToString(value) {
if (typeof value == "string") {
return value;
}
return _.isArray(value) ? _.join(value, ', ') : undefined;
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,7 @@
<mat-label>{{( field?.translation || field?.label) | frameworkCatLabelTranslate | transposeTerms: ( field?.translation || field?.label) : resourceService?.selectedLang}}
<span class="mr-8 sb-color-red" *ngIf="field.required"> * </span>
</mat-label>
<mat-select multiple name={{field.code}} role="listbox" aria-label="field?.label"
<mat-select name={{field.code}} role="listbox" aria-label="field?.label"
class="selection" [(ngModel)]="selectedOption[field.code]" (selectionChange)="handleFieldChange($event, field)">
<!-- <mat-select-trigger>
{{selectedOption[field.code] ? selectedOption[field.code][0] : ''}}
Expand All @@ -60,7 +60,7 @@
<mat-label>{{( field?.translation || field?.label) | frameworkCatLabelTranslate | transposeTerms: (field?.translation || field?.label) : resourceService?.selectedLang}}
<span class="mr-8 sb-color-red" *ngIf="field.required"> * </span>
</mat-label>
<mat-select multiple name={{field.code}} role="listbox" aria-label="field?.label"
<mat-select name={{field.code}} role="listbox" aria-label="field?.label"
class="selection" [(ngModel)]="selectedOption[field.code]" (selectionChange)="handleFieldChange($event, field)">
<!-- <mat-select-trigger>
{{selectedOption[field.code] ? selectedOption[field.code][0] : ''}}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -93,6 +93,9 @@ export class ProfileFrameworkPopupComponent implements OnInit, OnDestroy {
this.boardOptions = board;
if (_.get(this.selectedOption, 'board[0]')) { // update mode, get 1st board framework and update all fields
this.selectedOption.board = _.get(this.selectedOption, 'board[0]');
this.selectedOption.medium = _.get(this.selectedOption, 'medium[0]');
this.selectedOption.gradeLevel = _.get(this.selectedOption, 'gradeLevel[0]');
this.selectedOption.subject = _.get(this.selectedOption, 'subject[0]');
this.frameWorkId = _.get(_.find(this.custOrgFrameworks, { 'name': this.selectedOption.board }), 'identifier');
return this.getFormatedFilterDetails().pipe(map((formFieldProperties) => {
this._formFieldProperties = formFieldProperties;
Expand Down Expand Up @@ -131,6 +134,9 @@ export class ProfileFrameworkPopupComponent implements OnInit, OnDestroy {
this.boardOptions = board;
if (_.get(this.selectedOption, 'board[0]')) { // update mode, get 1st board framework and update all fields
this.selectedOption.board = _.get(this.selectedOption, 'board[0]');
this.selectedOption.medium = _.get(this.selectedOption, 'medium[0]');
this.selectedOption.gradeLevel = _.get(this.selectedOption, 'gradeLevel[0]');
this.selectedOption.subject = _.get(this.selectedOption, 'subject[0]');
this.frameWorkId = _.get(_.find(this.custOrgFrameworks, { 'name': this.selectedOption.board }), 'identifier');
return this.getFormatedFilterDetails().pipe(map((formFieldProperties) => {
this._formFieldProperties = formFieldProperties;
Expand All @@ -153,6 +159,9 @@ export class ProfileFrameworkPopupComponent implements OnInit, OnDestroy {

if (_.get(this.selectedOption, 'board[0]')) {
this.selectedOption.board = _.get(this.selectedOption, 'board[0]');
this.selectedOption.medium = _.get(this.selectedOption, 'medium[0]');
this.selectedOption.gradeLevel = _.get(this.selectedOption, 'gradeLevel[0]');
this.selectedOption.subject = _.get(this.selectedOption, 'subject[0]');
}
return this.getUpdatedFilters({ index: 0 }, this.editMode); // get filters for first field i.e index 0 incase of init
}));
Expand Down Expand Up @@ -293,6 +302,9 @@ export class ProfileFrameworkPopupComponent implements OnInit, OnDestroy {
onSubmitForm() {
const selectedOption = _.cloneDeep(this.selectedOption);
selectedOption.board = _.get(this.selectedOption, 'board') ? [this.selectedOption.board] : [];
selectedOption.medium = _.get(this.selectedOption, 'medium') ? [this.selectedOption.medium] : [];
selectedOption.gradeLevel = _.get(this.selectedOption, 'gradeLevel') ? [this.selectedOption.gradeLevel] : [];
selectedOption.subject = _.get(this.selectedOption, 'subject') ? [this.selectedOption.subject] : [];
selectedOption.id = this.frameWorkId;
if (selectedOption.board) {
_.forEach(selectedOption.board, (data, index) => {
Expand Down

0 comments on commit b799cd1

Please sign in to comment.