123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220 |
- import { DashboardService } from './../../../shared/dashboard.service';
- import { HttpClient } from '@angular/common/http';
- import { UserService } from './../../../shared/user.service';
- import { ActivatedRoute, Router, Params } from '@angular/router';
- import { NgxSpinnerService } from 'ngx-spinner';
- import { AuthServiceService } from './../../../shared/auth-service.service';
- import { Component, OnInit } from '@angular/core';
- import { ToastrService } from 'ngx-toastr';
- import { Modal } from 'ngx-modialog/plugins/bootstrap';
- @Component({
- selector: 'app-section-review-trainee-list',
- templateUrl: './section-review-trainee-list.component.html',
- styleUrls: ['./section-review-trainee-list.component.css']
- })
- export class SectionReviewTraineeListComponent implements OnInit {
- constructor(private route: ActivatedRoute,
- private router: Router,
- private userSer: UserService,
- private http: HttpClient,
- private toastr: ToastrService,
- private modal: Modal,
- private dashBoardService: DashboardService,
- private spinner: NgxSpinnerService,
- private authSer: AuthServiceService) { }
- pageId: number;
- dataList = [];
- dataListIds = [];
- count: number;
- perPagePagenation: number;
- currentPage:number = 1;
- filtterStatus = '';
- selectedAll: any;
- userLoginId:number;
- serviceId:number;
- dataTableNumber: number = 5;
- serviceName: string = '';
- pages = [];
- defaultValueFiltter: string = 'all';
- ngOnInit() {
- this.spinner.show();
- //init the values of permision boolean
- this.authSer.showAddBtn = false;
- this.authSer.showDeleteBtn = false;
- this.authSer.showEditBtn = false;
- //show / hide notification search in header
- this.authSer.notificationLogin = true;
- this.authSer.showSearchHeader = false;
- this.authSer.showHeaderLogin = false;
- this.authSer.showHeaderDashBoard = true;
- this.authSer.showDashboardHeader = true;
- this.authSer.internalHeader = false;
-
- this.route.params.subscribe(
- (params:Params) => {
- this.pageId = params['listPageId'];
- localStorage.setItem('pageIdActive', params['listPageId']);
- },
- );
-
- //to show / hide permissions
- this.route.parent.params.subscribe(
- (params:Params) => {
- this.userLoginId = params['userID'];
- this.serviceId = params['serviceID'];
-
- this.route.parent.params.subscribe(
- (params:Params) => {
- this.userLoginId = params['userID'];
- this.serviceId = params['serviceID'];
-
- this.userSer.getPagesPermetiotns(this.userLoginId, this.serviceId).subscribe(
- (responce) => {
- console.log(responce);
- this.pages = responce['pages'];
- for(let i = 0; i< this.pages.length; i++) {
- if(this.pages[i].id == 36) {
- if(this.pages[i]['permissions'][0].name == 'review_of_trainee_data_for_department') {
- this.authSer.showAddBtn = true;
- this.authSer.showEditBtn = true;
- this.authSer.showDeleteBtn = true;
- } else {
- console.log('no permissions');
- }
- } else {
- console.log('no events');
- }
- }
- this.spinner.hide();
- },
- (error) => {console.log(error)}
- );
- }
- );
- //get list data
- this.dashBoardService.getListData(this.pageId, this.currentPage ,this.dataTableNumber).subscribe(
- (responce) => {
- console.log(responce);
- this.dataList = responce['requests'];
- if(this.dataList.length == 0) {
- this.toastr.warning('القائمه فارغه من الطلبات ');
- }
- this.count = responce['count'];
- this.perPagePagenation = responce['per_page'];
- console.log('evennnnts', this.dataList);
- this.spinner.hide();
- },
- (error) => {
- console.log(error);
- this.spinner.hide();
- }
- );
- }
- );
-
- }
-
- //filtter function
- filtterFunc(data) {
- this.dataList = [];
- console.log(data.target.value);
- const dataSearch = data.target.value;
- this.currentPage = 1;
- this.dashBoardService.getDataUSerSearchBar(dataSearch, this.pageId, this.currentPage, this.dataTableNumber).subscribe(
- (responce) => {
- console.log(responce);
- this.dataList = responce['requests'];
- this.count = responce['count'];
- this.perPagePagenation = responce['per_page'];
- console.log('filtter count', this.count);
- console.log('filtter perPagePAgenation', this.perPagePagenation);
- },
- (error) => {
- console.log(error)
- }
- );
- };
- //change page
- onPageChange(pagenationNumber) {
- this.spinner.show();
- this.currentPage = pagenationNumber;
- this.dataList = [];
- //console.log(pagenationNumber);
- //console.log(this.pageId);
- this.dashBoardService.getListData(this.pageId, pagenationNumber, this.dataTableNumber).subscribe(
- (responce) => {
- console.log(responce);
- this.dataList = responce['requests'];
- this.count = responce['count'];
- this.perPagePagenation = responce['per_page'];
- console.log(this.dataList);
- this.spinner.hide();
- },
- (error) => {
- console.log(error);
- this.spinner.hide();
- }
- );
- }
- //determine the list count from select element
- onGetValue(event) {
- this.spinner.show();
- this.dataList = [];
- this.dataTableNumber = event.target.value;
- this.dashBoardService.getListData(this.pageId, this.currentPage, this.dataTableNumber).subscribe(
- (responce) => {
- console.log(responce);
- this.dataList = responce['requests'];
- this.count = responce['count'];
- this.perPagePagenation = responce['per_page'];
- this.spinner.hide();
- },
- (error) => {
- console.log(error);
- this.spinner.hide();
- }
- );
- };
- onFiltterChosen(event) {
- this.spinner.show();
- this.dataList = [];
- console.log(event.target.value);
- console.log(this.authSer.pathApi + '/page_list/' +this.pageId + '/' + this.currentPage + '/' + this.dataTableNumber + '/' + event.target.value);
- this.http.get(this.authSer.pathApi + '/page_list/' +this.pageId + '/' + this.currentPage + '/' + this.dataTableNumber + '/' + event.target.value).subscribe(
- (responce) => {
- console.log(responce);
- console.log(responce);
- this.dataList = responce['requests'];
- this.count = responce['count'];
- this.perPagePagenation = responce['per_page'];
- this.spinner.hide();
- },
- (error) => {
- console.log(error);
- }
- )
- }
- //edit function
- onEdit(editPageID) {
- this.router.navigate(['service/' + this.userLoginId + '/' + this.serviceId + '/' + 'reviewSectionForTrainee/edit/' + editPageID]);
- }
- }
|