Project

General

Profile

« Previous | Next » 

Revision 53351

Added by Sofia Baltzi over 5 years ago

Add modal to delete subscriber safely at manage subscribers page

View differences:

modules/uoa-admin-portal/branches/project-cli/src/app/pages/subscribers/manage-subscribers.component.html
61 61
                      <a (click)="removeSubscriber(item.email)" class="uk-icon-button remove red_background_color red_color" uk-icon="icon: close; ratio: 1" title="Remove"></a>
62 62
                  </td>
63 63
                </tr>
64
                <!-- <tr>
65
                  <td>2</td>
66
                  <td>Someone</td>
67
                </tr>
68
                <tr>
69
                  <td>3</td>
70
                  <td>Iamout</td>
71
                </tr>
72
                <tr>
73
                  <td>4</td>
74
                  <td>Yoda</td>
75
                </tr>
76
                <tr>
77
                  <td>5</td>
78
                  <td>Patrick</td>
79
                </tr>
80
                <tr>
81
                  <td>6</td>
82
                  <td>Barack</td>
83
                </tr>
84
                <tr>
85
                  <td>7</td>
86
                  <td>François</td>
87
                </tr>
88
                <tr>
89
                  <td>8</td>
90
                  <td>Michel</td>
91
                </tr>
92
                <tr>
93
                  <td>9</td>
94
                  <td>Chuck</td>
95
                </tr>
96
                <tr>
97
                  <td>10</td>
98
                  <td>Simon</td>
99
                </tr>
100
                <tr>
101
                  <td>11</td>
102
                  <td>Louis</td>
103
                </tr>
104
                <tr>
105
                  <td>12</td>
106
                  <td>Zelda</td>
107
                </tr> -->
108 64
              </tbody>
109 65
            </table>
110 66
        </div>
111 67
    </div>
112 68

  
113
    <!-- <div *ngIf="subscribersSearchUtils.totalResults > 0" class="uk-align-center uk-margin-remove-bottom">
69
    <div *ngIf="subscribersSearchUtils.totalResults > 0" class="uk-align-center uk-margin-remove-bottom">
114 70
      <div class="searchPaging uk-panel uk-margin-top uk-grid uk-margin-bottom">
115 71
        <span class="uk-h6 uk-width-1-1@s uk-width-1-2@m">
116 72
          {{subscribersSearchUtils.totalResults | number}} subscribers, page {{subscribersSearchUtils.page | number}} of {{(totalPages()) | number}}
......
119 75
          <paging-no-load [currentPage]="subscribersSearchUtils.page" [totalResults]="subscribersSearchUtils.totalResults" [size]="10" (pageChange)="goTo($event.value, false)"></paging-no-load>
120 76
        </span>
121 77
      </div>
122
    </div> -->
78
    </div>
123 79

  
124 80
</div>
81

  
82
<modal-alert #AlertModalDeleteSubscriber (alertOutput)="confirmedDeleteSubscriber($event)"></modal-alert>
modules/uoa-admin-portal/branches/project-cli/src/app/pages/subscribers/manage-subscribers.component.ts
1
import {Component, OnInit, Input}                        from '@angular/core';
1
import {Component, ViewChild, OnInit, Input}             from '@angular/core';
2 2
import {SimpleChanges, OnChanges}                        from '@angular/core';
3 3
import {FormGroup, FormArray, FormBuilder, Validators}   from '@angular/forms';
4 4
import {ActivatedRoute, Router}                          from '@angular/router';
......
37 37
    showTable = false; filteringAdded = false;
38 38
    // @ViewChild(DataTableDirective) datatableElement: DataTableDirective;
39 39

  
40
    private selectedSubscriberEmail: any;
41

  
40 42
    constructor (private route: ActivatedRoute,
41 43
                 private _router: Router,
42 44
                 public _fb: FormBuilder,
......
46 48
        this.subscribersSearchUtils.status = this.errorCodes.LOADING;
47 49
    }
48 50

  
51
    @ViewChild('AlertModalDeleteSubscriber') alertModalDeleteSubscriber;
52

  
49 53
    ngOnInit() {
50 54

  
51 55
        this.route.data.subscribe((data: { envSpecific: EnvProperties }) => {
......
103 107
    }
104 108

  
105 109
    public removeSubscriber(email:string) {
106
        console.log(email);
107
        this._subscribeService.unSubscribeToCommunity(this.communityId, email, this.properties.adminToolsAPIURL).subscribe(
110
        this.selectedSubscriberEmail = email;
111
        this.alertModalDeleteSubscriber.cancelButton = true;
112
        this.alertModalDeleteSubscriber.okButton = true;
113
        this.alertModalDeleteSubscriber.alertTitle = "Remove subscriber?";
114
        
115
        this.alertModalDeleteSubscriber.message = "Subscriber with email ";
116
            if (email) {
117
              this.alertModalDeleteSubscriber.message += " '"+email+"' ";
118
            }
119

  
120
        this.alertModalDeleteSubscriber.message += "will be removed from your community. Are you sure?";
121
        this.alertModalDeleteSubscriber.okButtonText = "Yes";
122
        this.alertModalDeleteSubscriber.open();
123

  
124
    }
125

  
126
    public confirmedDeleteSubscriber() {
127
        console.info("REMOVE: "+ this.selectedSubscriberEmail);
128

  
129
        this._subscribeService.unSubscribeToCommunity(this.communityId, this.selectedSubscriberEmail, this.properties.adminToolsAPIURL).subscribe(
108 130
            result => {
109 131
                this._subscribeService.getCommunitySubscribers(this.communityId, this.properties.adminToolsAPIURL).subscribe(
110 132
                    res  => {
133
                        console.log(res);
111 134
                        this.res = res;
112 135
                        this.subscribersSearchUtils.totalResults = this.res.subscribers.length;
113 136
                    }
114 137
                );
115
            }
138
            },
139
            err => {
140
                console.info("error REMOVE");
141
                console.log(err);
142
            },
143

  
116 144
        )
117 145
    }
146

  
118 147
}
modules/uoa-admin-portal/branches/project-cli/src/app/pages/subscribers/manage-subscribers.module.ts
3 3
import {FormsModule}                from '@angular/forms';
4 4
import {RouterModule}               from '@angular/router';
5 5
import {DataTablesModule}           from 'angular-datatables';
6

  
7
import {AlertModalModule}           from '../../openaireLibrary/utils/modal/alertModal.module';
6 8
import {PagingModule}               from '../../openaireLibrary/utils/paging.module';
7 9
import {ManageSubscribersComponent} from './manage-subscribers.component';
8 10
import {SubscribeService}           from '../../openaireLibrary/utils/subscribe/subscribe.service';
......
10 12
@NgModule({
11 13
  imports:[
12 14
    CommonModule, FormsModule, RouterModule,
13
    PagingModule, DataTablesModule
15
    PagingModule, DataTablesModule, AlertModalModule
14 16
  ],
15 17
  declarations:[
16 18
    ManageSubscribersComponent

Also available in: Unified diff