From 3bc77465c3594d6f3ee000c877ba1e092206495f Mon Sep 17 00:00:00 2001 From: Damien <damien.burel@maarch.org> Date: Wed, 21 Mar 2018 15:04:47 +0100 Subject: [PATCH] [FEAT] #235 update group description when linking a group --- .../basket-administration.component.ts | 89 +++++++++---------- 1 file changed, 44 insertions(+), 45 deletions(-) diff --git a/apps/maarch_entreprise/js/angular/app/administration/basket-administration.component.ts b/apps/maarch_entreprise/js/angular/app/administration/basket-administration.component.ts index 87d164945db..8098beff4ca 100644 --- a/apps/maarch_entreprise/js/angular/app/administration/basket-administration.component.ts +++ b/apps/maarch_entreprise/js/angular/app/administration/basket-administration.component.ts @@ -2,14 +2,12 @@ import { ChangeDetectorRef, Component, OnInit, Inject, ViewChild } from '@angula import { MediaMatcher } from '@angular/cdk/layout'; import { HttpClient } from '@angular/common/http'; import { Router, ActivatedRoute } from '@angular/router'; +import { MatPaginator, MatTableDataSource, MatSort, MatDialog, MatDialogRef, MAT_DIALOG_DATA } from '@angular/material'; import { LANG } from '../translate.component'; import { NotificationService } from '../notification.service'; -import { MatPaginator, MatTableDataSource, MatSort, MatDialog, MatDialogRef, MAT_DIALOG_DATA } from '@angular/material'; - import { AutoCompletePlugin } from '../../plugins/autocomplete.plugin'; declare function $j(selector: any): any; - declare var angularGlobals: any; @@ -18,32 +16,34 @@ declare var angularGlobals: any; providers: [NotificationService] }) export class BasketAdministrationComponent implements OnInit { - mobileQuery: MediaQueryList; - private _mobileQueryListener: () => void; - coreUrl: string; - lang: any = LANG; - dialogRef: MatDialogRef<any>; - config: any = {}; - - id: string; - creationMode: boolean; - - basket: any = {}; - basketGroups: any[] = []; - allGroups: any[] = []; - basketIdAvailable: boolean; - actionsList: any[] = []; - resultPages: any[] = []; - - loading: boolean = false; - - displayedColumns = ['label_action', 'actions']; - dataSource: any; + + private _mobileQueryListener : () => void; + mobileQuery : MediaQueryList; + dialogRef : MatDialogRef<any>; + + coreUrl : string; + lang : any = LANG; + loading : boolean = false; + + config : any = {}; + id : string; + basket : any = {}; + basketGroups : any[] = []; + allGroups : any[] = []; + basketIdAvailable : boolean; + actionsList : any[] = []; + resultPages : any[] = []; + creationMode : boolean; + + displayedColumns = ['label_action', 'actions']; + dataSource : any; + + @ViewChild(MatPaginator) paginator: MatPaginator; @ViewChild(MatSort) sort: MatSort; applyFilter(filterValue: string) { - filterValue = filterValue.trim(); // Remove whitespace - filterValue = filterValue.toLowerCase(); // MatTableDataSource defaults to lowercase matches + filterValue = filterValue.trim(); + filterValue = filterValue.toLowerCase(); this.dataSource.filter = filterValue; } @@ -123,8 +123,7 @@ export class BasketAdministrationComponent implements OnInit { this.dialogRef.afterClosed().subscribe((result: any) => { if (result) { this.http.put(this.coreUrl + "rest/baskets/" + this.id + "/groups/" + result.group.group_id, { 'result_page': result.group.result_page, 'groupActions': result.group.groupActions }) - .subscribe((data: any) => { - //this.basketGroups.push(data); + .subscribe(() => { this.dialogRef = null; this.notify.success(this.lang.basketUpdated); }, (err) => { @@ -179,11 +178,7 @@ export class BasketAdministrationComponent implements OnInit { setDefaultAction(group: any, action: any) { group.groupActions.forEach((tmpAction: any) => { - if (action.id == tmpAction.id) { - tmpAction.default_action_list = true; - } else { - tmpAction.default_action_list = false; - } + tmpAction.default_action_list = (action.id == tmpAction.id); }); this.addAction(group); } @@ -279,7 +274,7 @@ export class BasketAdministrationSettingsModalComponent extends AutoCompletePlug ngOnInit(): void { this.http.get(this.coreUrl + "rest/entities") .subscribe((entities: any) => { - var keywordEntities = [{ + let keywordEntities = [{ id: 'ALL_ENTITIES', keyword: 'ALL_ENTITIES', parent: '#', @@ -381,12 +376,12 @@ export class BasketAdministrationSettingsModalComponent extends AutoCompletePlug this.data.action.redirects.forEach((redirect: any) => { if (data.node.original.keyword) { if (redirect.keyword == data.node.original.keyword) { - var index = this.data.action.redirects.indexOf(redirect); + let index = this.data.action.redirects.indexOf(redirect); this.data.action.redirects.splice(index, 1); } } else { if (redirect.entity_id == data.node.id) { - var index = this.data.action.redirects.indexOf(redirect); + let index = this.data.action.redirects.indexOf(redirect); this.data.action.redirects.splice(index, 1); } } @@ -442,12 +437,12 @@ export class BasketAdministrationSettingsModalComponent extends AutoCompletePlug this.data.action.redirects.forEach((redirect: any) => { if (data.node.original.keyword) { if (redirect.keyword == data.node.original.keyword) { - var index = this.data.action.redirects.indexOf(redirect); + let index = this.data.action.redirects.indexOf(redirect); this.data.action.redirects.splice(index, 1); } } else { if (redirect.entity_id == data.node.id) { - var index = this.data.action.redirects.indexOf(redirect); + let index = this.data.action.redirects.indexOf(redirect); this.data.action.redirects.splice(index, 1); } } @@ -473,12 +468,15 @@ export class BasketAdministrationSettingsModalComponent extends AutoCompletePlug styles: [".mat-dialog-content{height: 65vh;}"] }) export class BasketAdministrationGroupListModalComponent { - lang: any = LANG; - coreUrl: string; - actionAll: any = []; - newBasketGroup: any = {}; - constructor(public http: HttpClient, @Inject(MAT_DIALOG_DATA) public data: any, public dialogRef: MatDialogRef<BasketAdministrationGroupListModalComponent>) { } + coreUrl : string; + lang : any = LANG; + actionAll : any = []; + newBasketGroup : any = {}; + + constructor(public http: HttpClient, @Inject(MAT_DIALOG_DATA) public data: any, public dialogRef: MatDialogRef<BasketAdministrationGroupListModalComponent>) { + } + ngOnInit(): void { this.coreUrl = angularGlobals.coreUrl; this.http.get(this.coreUrl + "rest/actions") @@ -494,14 +492,14 @@ export class BasketAdministrationGroupListModalComponent { this.actionAll.push(tmpAction); }); - }, (err) => { + }, () => { location.href = "index.php"; }); this.data.groups.forEach((tmpGroup: any) => { this.data.linkedGroups.forEach((tmpLinkedGroup: any) => { if (tmpGroup.group_id == tmpLinkedGroup.group_id) { - var index = this.data.groups.indexOf(tmpGroup); + let index = this.data.groups.indexOf(tmpGroup); this.data.groups.splice(index, 1); } }); @@ -519,6 +517,7 @@ export class BasketAdministrationGroupListModalComponent { this.newBasketGroup = JSON.parse(JSON.stringify(this.data.linkedGroups[this.data.linkedGroups.length-1])); } this.newBasketGroup.group_id = group.group_id; + this.newBasketGroup.group_desc = group.group_desc; this.dialogRef.close(this.newBasketGroup); } } \ No newline at end of file -- GitLab