diff --git a/Mohem/package.json b/Mohem/package.json index e6035f45..8c9be676 100755 --- a/Mohem/package.json +++ b/Mohem/package.json @@ -200,4 +200,4 @@ "android" ] } -} +} \ No newline at end of file diff --git a/Mohem/src/app/home/home.page.ts b/Mohem/src/app/home/home.page.ts index 6640f864..aa52e5a3 100644 --- a/Mohem/src/app/home/home.page.ts +++ b/Mohem/src/app/home/home.page.ts @@ -521,6 +521,7 @@ export class HomePage implements OnInit { if (this.common.validResponse(result)) { const key = 'P_OPEN_NTF_NUMBER'; this.statsButtons[0].statsValue = result[key]; + this.common.sharedService.setSharedData(result, 'worklistNotifications'); } }); } diff --git a/Mohem/src/app/notification/home/home.component.html b/Mohem/src/app/notification/home/home.component.html index 90fe6d91..09f904d0 100644 --- a/Mohem/src/app/notification/home/home.component.html +++ b/Mohem/src/app/notification/home/home.component.html @@ -1,21 +1,12 @@ - - WORK LIST -
+ @@ -27,7 +18,7 @@ Open Request Analysis
-

287

+

{{totalRequestCount}}

TOTAL
OPEN REQUEST
@@ -38,7 +29,7 @@ - - - Advanced Search + + + Clear Search + + + + + Advanced Search + + -
-
- December 02, 2019 -
-

Missing swipes request for James Bond, Approved by David

-
-
-

Missing swipes request for James Bond, Approved by David

-
-
-

Missing swipes request for James Bond, Approved by David

-
-
-

Missing swipes request for James Bond, Approved by David

-
-
- -
- December 02, 2019 -
-

Missing swipes request for James Bond, Approved by David

-
-
-

Missing swipes request for James Bond, Approved by David

-
-
-

Missing swipes request for James Bond, Approved by David

-
-
-

Missing swipes request for James Bond, Approved by David

+
+
+ {{data.key}} +
+

{{workList.SUBJECT}}

+
+ No Data Available +
+ + + + + + diff --git a/Mohem/src/app/notification/home/home.component.scss b/Mohem/src/app/notification/home/home.component.scss index bf3c4f8d..0686c9fa 100644 --- a/Mohem/src/app/notification/home/home.component.scss +++ b/Mohem/src/app/notification/home/home.component.scss @@ -321,6 +321,7 @@ ion-content { clear: both; min-height: 200px; margin-bottom: 80px; + padding-top: 15px; } .work-list-container:before{ content: ""; @@ -328,23 +329,28 @@ ion-content { height: 100%; width: 4px; left: 30px; - top: 0; + top: 15px; background-color: #dddddd; } .search-container{ - float: right; margin-top: 15px; - background-color: white; - margin-right: 20px; - border-radius: 10px; - padding: 8px; - font-family: WorkSans-Regular; - margin-bottom: 15px; - ion-icon { - margin-right: 3px; - } - span{ - font-size: 12px; + display: block; + padding: 0 20px; + ion-col{ + background: white; + border-radius: 12px; + padding-right: 10px; + flex: none; + ion-icon{ + margin-right: 3px; + font-size: 14px; + margin-left: 3px; + vertical-align: middle; + } + span{ + font-size: 12px; + vertical-align: middle; + } } } .date-span { @@ -373,4 +379,13 @@ ion-content { p{ font-size: 14px; } +} +.no-data-available { + background: white; + font-family: WorkSans-Regular; + padding: 30px; + position: absolute; + left: 50%; + margin-left: -100px; + margin-top: 100px; } \ No newline at end of file diff --git a/Mohem/src/app/notification/home/home.component.ts b/Mohem/src/app/notification/home/home.component.ts index 046c5062..a8fa91a7 100644 --- a/Mohem/src/app/notification/home/home.component.ts +++ b/Mohem/src/app/notification/home/home.component.ts @@ -10,6 +10,7 @@ import { IonInfiniteScroll } from '@ionic/angular'; import { WorklistMainService } from '../service/work-list.main.service'; import { WorklistAdvancedSearchComponent } from '../worklist-advanced-search/worklist-advanced-search.component'; import { AuthenticatedUser } from 'src/app/hmg-common/services/authentication/models/authenticated-user'; +import { DatePipe } from '@angular/common'; @Component({ selector: 'app-home', @@ -17,130 +18,178 @@ import { AuthenticatedUser } from 'src/app/hmg-common/services/authentication/mo styleUrls: ['./home.component.scss'] }) export class HomeComponent implements OnInit { - // @ViewChild(Navbar) navBar: Navbar; public static NOTIFICATION_DATA = 'notification_data'; public static NOTIFICATION_ARR = 'notification_arr'; @ViewChild(IonInfiniteScroll) infiniteScroll: IonInfiniteScroll; private WorkListObj: WorkListRequest; - WorkListResObj: any; //WorKListResponse; - notificationType: string = '1'; - pageNum: number = 1; + WorkListResObj: any; + notificationType = '1'; + pageNum = 1; rowsNo: number; noOfrows: number; - selectedValue: string = ''; - FromUserName: string = ''; - ItemKeyDisplayName: string = ''; - SentDate: string = ''; - Subject: string = ''; - inputSearch: string = ''; - HideDateInput: boolean = false; - HideTextInput: boolean = false; - InputDate: string; + selectedValue = ''; + FromUserName = ''; + ItemKeyDisplayName = ''; + SentDate = ''; + Subject = ''; + inputSearch = ''; + // HideDateInput = false; + // HideTextInput = false; + inputDate: string; filteredNotificationList: any; - IsReachEnd: boolean = false; - public noData: boolean = false; - public isAll: boolean = true; - public isPR: boolean = false; - public isPO: boolean = false; - public isMR: boolean = false; - public isHR: boolean = false; - public isITG: boolean = false; - public isSearch: boolean = false; + IsReachEnd = false; + public noData = false; + public isAll = true; + public isPR = false; + public isPO = false; + public isMR = false; + public isHR = false; + public isITG = false; + public isSearch = false; public direction = 'ltr'; - + ///// New ///////////// + public currentActiveIndex = 0; + public previousActiveIndex = 0; + public worklistNotifications: any; + public totalRequestCount = 0; + public newWorkListResponse = []; + public allFormattedData = {}; + public showFormattedData = {}; + public selectedFilter = 'ALL'; + public showSearchButton = false; public options = { cutoutPercentage: 80, tooltips: { enabled: false }, legend: { display: false } }; - public data = { datasets: [ { - data: [120, 30, 30, 30, 50], + data: [0, 0, 0, 0, 0], backgroundColor: [ - '#1fa269', - '#cb3232', - '#124375', - '#3dcab3', - '#3cb9d5' + '#18a169', + '#38c9b3', + '#114475', + '#3cb9d5', + '#cc3232' ], borderWidth: 5 }] - }; - - public filters = [ - { - value: 287, - text: 'All', - active: true, - color: '#124375' - }, - { - value: 200, - text: 'HR', - active: false, - color: '#18a169' - }, - { - value: 10, - text: 'PO', - active: false, - color: '#38c9b3' - }, - { - value: 15, - text: 'PR', - active: false, - color: '#114475' - }, - { - value: 50, - text: 'MR', - active: false, - color: '#3cb9d5' - }, - { - value: 12, - text: 'ITG', - active: false, - color: '#cc3232' - } - ]; - + }; + public filters = [ + { + value: 0, + name: 'All', + active: true, + color: '#124375', + key: 'ALL' + }, + { + value: 0, + name: 'HR', + active: false, + color: '#18a169', + key: 'HRSSA' + }, + { + value: 0, + name: 'PO', + active: false, + color: '#38c9b3', + key: 'POAPPRV' + }, + { + value: 0, + name: 'PR', + active: false, + color: '#114475', + key: 'REQAPPRV' + }, + { + value: 0, + name: 'MR', + active: false, + color: '#3cb9d5', + key: 'INVMOA' + }, + { + value: 0, + name: 'ITG', + active: false, + color: '#cc3232', + key: 'ITG' + } + ]; public slideOptsOne = { slidesPerView: 4.3, spaceBetween: 10 }; - - - -constructor( - public common: CommonService, - public ts: TranslatorService, - public WorklistService: WorklistService, - public workListService: WorklistMainService, - public modalController: ModalController - ) { - this.WorkListObj = new WorkListRequest(); - this.WorkListObj.P_NOTIFICATION_TYPE = '1'; - this.WorkListObj.P_SEARCH_FROM_USER = ''; - this.WorkListObj.P_SEARCH_SUBJECT = ''; - this.WorkListObj.P_SEARCH_SENT_DATE = ''; - this.WorkListObj.P_SEARCH_ITEM_TYPE_DSP_NAME = ''; - this.WorkListObj.P_PAGE_NUM = 0; - this.WorkListObj.P_PAGE_LIMIT = 50; //number + constructor( + public common: CommonService, + public ts: TranslatorService, + public WorklistService: WorklistService, + public workListService: WorklistMainService, + public modalController: ModalController + ) { + this.WorkListObj = new WorkListRequest(); + this.WorkListObj.P_NOTIFICATION_TYPE = '1'; + this.WorkListObj.P_SEARCH_FROM_USER = ''; + this.WorkListObj.P_SEARCH_SUBJECT = ''; + this.WorkListObj.P_SEARCH_SENT_DATE = ''; + this.WorkListObj.P_SEARCH_ITEM_TYPE_DSP_NAME = ''; + this.WorkListObj.P_PAGE_NUM = 0; + this.WorkListObj.P_PAGE_LIMIT = 50; } - public userData: any; - public userImage: any = '../assets/imgs/profile.png'; + ngOnInit() { + // this.direction = TranslatorService.getCurrentDirection(); + this.worklistNotifications = this.common.sharedService.getSharedData('worklistNotifications', false); + this.totalRequestCount = this.worklistNotifications.P_OPEN_NTF_NUMBER; + this.assignDataToFilters(); + this.getAllPushNotificationFun(); + } + assignDataToFilters() { + this.filters[0].value = this.worklistNotifications.P_OPEN_NTF_NUMBER; + const openNotificationsArray = this.worklistNotifications.GetOpenNotificationsList; + for (const notification of openNotificationsArray) { + if (notification.ITEM_TYPE === 'HRSSA') { + this.filters[1].value = notification.OPEN_NTF_NUMBER; + this.data.datasets[0].data[0] = notification.OPEN_NTF_NUMBER; + } else if (notification.ITEM_TYPE === 'POAPPRV') { + this.filters[2].value = notification.OPEN_NTF_NUMBER; + this.data.datasets[0].data[1] = notification.OPEN_NTF_NUMBER; + } else if (notification.ITEM_TYPE === 'REQAPPRV') { + this.filters[3].value = notification.OPEN_NTF_NUMBER; + this.data.datasets[0].data[2] = notification.OPEN_NTF_NUMBER; + } else if (notification.ITEM_TYPE === 'INVMOA') { + this.filters[4].value = notification.OPEN_NTF_NUMBER; + this.data.datasets[0].data[3] = notification.OPEN_NTF_NUMBER; + } + } + } + + getFilteredData(filter: string) { + if(filter === 'ALL') { + this.showFormattedData = this.allFormattedData; + } else { + let arrayToFilter; + arrayToFilter = this.newWorkListResponse.filter((workList) => { + return workList.ITEM_TYPE === filter; + }); + this.showFormattedData = this.categorizeData(arrayToFilter); + } + } activeFilter(index: number) { - for (const filter of this.filters) { - filter.active = false; - } - this.filters[index].active = true; + this.showFormattedData = {}; + this.previousActiveIndex = this.currentActiveIndex; + this.currentActiveIndex = index; + this.filters[this.previousActiveIndex].active = false; + this.filters[this.currentActiveIndex].active = true; + + this.selectedFilter = this.filters[this.currentActiveIndex].key; + this.getFilteredData(this.selectedFilter); } openProfilePage() { @@ -148,211 +197,247 @@ constructor( } async openSearchModal() { - console.log('umar786'); const modal = await this.modalController.create({ component: WorklistAdvancedSearchComponent, cssClass: 'advanced-search-modal', - componentProps: { - // dateFrom : this.dateFrom, - // dateTo : this.dateTo - } + backdropDismiss: false, + componentProps: {} }); modal.onDidDismiss().then(result => { - // console.log(result.data); - // this.loadMore = false; - // this.rightIconActive = false; - // this.leftIconActive = false; - // this.dayHoursData = []; - // this.timeCardSummaryData = []; - // this.dayAndHoursPageNumber = 1; - // this.loadMoreDateHoursData = false; - // this.dateFrom = result.data.dateFrom; - // this.dateTo = result.data.dateTo; - // this.selectedFilters = result.data.keySelectedFilters; - // this.selectedShiftFilter = result.data.selectedShiftType; - // if (this.dateFrom && this.dateTo) { - // this.getDayHoursTypeDetails(); - // this.getTimeCardSummaryDetails(); - // } + console.log(result.data); + if(result.data){ + if(result.data.notificationType !== '' || result.data.selectedValue){ + this.showSearchButton = true; + this.notificationType = result.data.notificationType; + this.selectedValue = result.data.selectedValue; + this.inputDate = result.data.inputDate; + this.inputSearch = result.data.inputSearch; + this.WorkListObj.P_PAGE_NUM = 1; + this.newWorkListResponse = []; + this.allFormattedData = {}; + this.showFormattedData = {}; + this.selectedFilter = 'ALL'; + this.filters[this.currentActiveIndex].active = false; + this.currentActiveIndex = 0; + this.previousActiveIndex = 0; + this.filters[this.currentActiveIndex].active = true; + this.getAllPushNotificationFun(); + } + } + }); return await modal.present(); } - -ngOnInit() { - // this.direction = TranslatorService.getCurrentDirection(); - this.userData = this.common.sharedService.getSharedData(AuthenticatedUser.SHARED_DATA, false); - this.userImage = this.userData.EMPLOYEE_IMAGE ? 'data:image/png;base64,' + this.userData.EMPLOYEE_IMAGE : this.userImage; - } -ionViewDidLoad() { - // this.navBar.backButtonClick = () => { - // // you can set a full custom history here if you want - // let pages = [ - // { - // page: "HomePage" - // } - // ]; - // this.navCtrl.setPages(pages); - // }; + ionViewDidLoad() { + // this.navBar.backButtonClick = () => { + // // you can set a full custom history here if you want + // let pages = [ + // { + // page: "HomePage" + // } + // ]; + // this.navCtrl.setPages(pages); + // }; } -ionViewWillEnter() { - // this.getAllPushNotificationFun(); - } -getValueSelected(Value) { - this.selectedValue = Value.detail.value; - if (this.selectedValue == '1') { - this.HideDateInput = false; - this.HideTextInput = true; - } else if (this.selectedValue == '2') { - this.HideDateInput = false; - this.HideTextInput = true; - } else if (this.selectedValue == '3') { - this.HideDateInput = true; - this.HideTextInput = false; - } else if (this.selectedValue == '4') { - this.HideDateInput = false; - this.HideTextInput = true; - } else if (this.selectedValue == '5') { - this.HideDateInput = false; - this.HideTextInput = false; - } + ionViewWillEnter() { + // this.getAllPushNotificationFun(); //filter with item type } -getAllPushNotificationFun() { - this.WorkListObj.P_PAGE_NUM = 1; - this.IsReachEnd = false; + getAllPushNotificationFun() { + this.WorkListObj.P_PAGE_NUM = 1; + this.IsReachEnd = false; + + if (this.selectedValue === '1') { + this.WorkListObj.P_SEARCH_FROM_USER = this.inputSearch; + this.WorkListObj.P_SEARCH_ITEM_TYPE_DSP_NAME = ''; + this.WorkListObj.P_SEARCH_SENT_DATE = ''; + this.WorkListObj.P_SEARCH_SUBJECT = ''; + } else if (this.selectedValue === '2') { + this.WorkListObj.P_SEARCH_FROM_USER = ''; + this.WorkListObj.P_SEARCH_ITEM_TYPE_DSP_NAME = ''; + this.WorkListObj.P_SEARCH_SENT_DATE = ''; + this.WorkListObj.P_SEARCH_SUBJECT = this.inputSearch; + } else if (this.selectedValue === '3') { + this.WorkListObj.P_SEARCH_FROM_USER = ''; + this.WorkListObj.P_SEARCH_ITEM_TYPE_DSP_NAME = ''; + if (this.inputDate) { + this.WorkListObj.P_SEARCH_SENT_DATE = moment(this.inputDate).format( + 'DD-MMM-YYYY' + ); + } else { this.WorkListObj.P_SEARCH_SENT_DATE = ''; } + this.WorkListObj.P_SEARCH_SUBJECT = ''; + } else if (this.selectedValue === '4') { + this.WorkListObj.P_SEARCH_FROM_USER = ''; + this.WorkListObj.P_SEARCH_ITEM_TYPE_DSP_NAME = this.inputSearch; + this.WorkListObj.P_SEARCH_SENT_DATE = ''; + this.WorkListObj.P_SEARCH_SUBJECT = ''; + } else if (this.selectedValue === '5') { + this.WorkListObj.P_SEARCH_FROM_USER = ''; + this.WorkListObj.P_SEARCH_ITEM_TYPE_DSP_NAME = ''; + this.WorkListObj.P_SEARCH_SENT_DATE = ''; + this.WorkListObj.P_SEARCH_SUBJECT = ''; + } - if (this.selectedValue == '1') { - this.WorkListObj.P_SEARCH_FROM_USER = this.inputSearch; - this.WorkListObj.P_SEARCH_ITEM_TYPE_DSP_NAME = ''; - this.WorkListObj.P_SEARCH_SENT_DATE = ''; - this.WorkListObj.P_SEARCH_SUBJECT = ''; - } else if (this.selectedValue == '2') { - this.WorkListObj.P_SEARCH_FROM_USER = ''; - this.WorkListObj.P_SEARCH_ITEM_TYPE_DSP_NAME = ''; - this.WorkListObj.P_SEARCH_SENT_DATE = ''; - this.WorkListObj.P_SEARCH_SUBJECT = this.inputSearch; - } else if (this.selectedValue == '3') { - this.WorkListObj.P_SEARCH_FROM_USER = ''; - this.WorkListObj.P_SEARCH_ITEM_TYPE_DSP_NAME = ''; - if (this.InputDate) - this.WorkListObj.P_SEARCH_SENT_DATE = moment(this.InputDate).format( - 'DD-MMM-YYYY' - ); - else this.WorkListObj.P_SEARCH_SENT_DATE = ''; - this.WorkListObj.P_SEARCH_SUBJECT = ''; - } else if (this.selectedValue == '4') { - this.WorkListObj.P_SEARCH_FROM_USER = ''; - this.WorkListObj.P_SEARCH_ITEM_TYPE_DSP_NAME = this.inputSearch; - this.WorkListObj.P_SEARCH_SENT_DATE = ''; - this.WorkListObj.P_SEARCH_SUBJECT = ''; - } else if (this.selectedValue == '5') { - this.WorkListObj.P_SEARCH_FROM_USER = ''; - this.WorkListObj.P_SEARCH_ITEM_TYPE_DSP_NAME = ''; - this.WorkListObj.P_SEARCH_SENT_DATE = ''; - this.WorkListObj.P_SEARCH_SUBJECT = ''; - } + this.WorklistService.getWorkList(this.WorkListObj).subscribe((result) => { + if (this.common.validResponse(result)) { + this.handleWorkListResult(result.GetWorkList); + } + } + ); + } - this.WorklistService.getWorkList(this.WorkListObj).subscribe( - (result: WorKListResponse) => { - this.handleWorkListResult(result); + categorizeData(arrayToCategorize: any) { + const datePipe = new DatePipe('en-US'); + let formattedData = {}; + for (const workList of arrayToCategorize) { + workList.FORMATTED_DATE = datePipe.transform(new Date(workList.BEGIN_DATE), 'MMMM dd, y'); + if (!(workList.FORMATTED_DATE in formattedData)) { + formattedData[workList.FORMATTED_DATE] = new Array(); + formattedData[workList.FORMATTED_DATE].push(workList); + } else { + formattedData[workList.FORMATTED_DATE].push(workList); + } } + return formattedData; + } + + sortArray(arrayToSort: any) { + return arrayToSort.sort((a: any, b: any) => + new Date(b.BEGIN_DATE).getTime() - new Date(a.BEGIN_DATE).getTime() ); - } //End getNotifications - - private handleWorkListResult(result) { - if (this.common.validResponse(result)) { - // this.sharedData.setSharedData(result, WorKListResponse.SHARED_DATA); - if (this.common.hasData(result.GetWorkList)) { - this.WorkListObj.P_PAGE_NUM++; - this.WorkListResObj = result.GetWorkList; - this.filteredNotificationList = this.WorkListResObj; - this.common.sharedService.setSharedData(this.WorkListResObj, HomeComponent.NOTIFICATION_ARR); - let lastItemIndex = this.WorkListResObj.length - 1; - if (result.GetWorkList[lastItemIndex]) { - let lastitem = result.GetWorkList[lastItemIndex]; - if (lastitem.NO_OF_ROWS == lastitem.ROW_NUM) { - this.IsReachEnd = true; - } else { - this.IsReachEnd = false; - } - // this.navCtrl.push('SmsAuthenticatePage'); - } + } + + private handleWorkListResult(result: any) { + const lastItemIndex = result.length - 1; + const lastitem = result[lastItemIndex]; + if (lastitem) { + if (lastitem.NO_OF_ROWS === lastitem.ROW_NUM) { + this.IsReachEnd = true; + this.infiniteScroll.complete(); } else { - this.WorkListResObj = []; + this.IsReachEnd = false; + this.infiniteScroll.complete(); } } + if (this.common.hasData(result)) { + this.WorkListObj.P_PAGE_NUM++; + if(this.newWorkListResponse.length === 0) { + this.newWorkListResponse = result; + } else { + this.newWorkListResponse = this.newWorkListResponse.concat(result); + } + this.newWorkListResponse = this.sortArray(this.newWorkListResponse); + console.log(this.newWorkListResponse); + this.allFormattedData = this.categorizeData(this.newWorkListResponse); + this.showFormattedData = this.allFormattedData; + this.common.sharedService.setSharedData(this.newWorkListResponse, HomeComponent.NOTIFICATION_ARR); + } else { + this.newWorkListResponse = []; + } } -openNotificationDetail(obj) { - console.log(obj); - this.common.sharedService.setSharedData(obj, HomeComponent.NOTIFICATION_DATA); - //this.common.openWorklistMainPage(); - if(obj.REQUEST_TYPE == 'PR'){ - this.common.openWorklistMainPRPage(); - } - else if(obj.REQUEST_TYPE == 'PO'){ - this.common.openWorklistMainPOPage(); + openNotificationDetail(obj) { + console.log(obj); + this.common.sharedService.setSharedData(obj, HomeComponent.NOTIFICATION_DATA); + // this.common.openWorklistMainPage(); + if(obj.REQUEST_TYPE == 'PR'){ + this.common.openWorklistMainPRPage(); } - else if(obj.REQUEST_TYPE == 'MO'){ - this.common.openWorklistMainMRPage(); + else if(obj.REQUEST_TYPE == 'PO'){ + this.common.openWorklistMainPOPage(); + } + else if(obj.REQUEST_TYPE == 'MO'){ + this.common.openWorklistMainMRPage(); + } + + else{ + this.common.openWorklistMainPage(); + } - - else{ - this.common.openWorklistMainPage(); - } + // this.navCtrl.push("WorkListMainPage", { passNotificationList: obj }); + } - //this.navCtrl.push("WorkListMainPage", { passNotificationList: obj }); + isEmptyObject() { + return (this.showFormattedData && (Object.keys(this.showFormattedData).length > 0)); } -onChangeView(selectedValue: any) { - this.WorkListObj.P_NOTIFICATION_TYPE = selectedValue.detail.value; + + clearSearch() { + this.showSearchButton = false; + this.notificationType = ''; + this.selectedValue = ''; + this.inputDate = ''; + this.inputSearch = ''; + this.WorkListObj.P_PAGE_NUM = 1; + this.newWorkListResponse = []; + this.allFormattedData = {}; + this.showFormattedData = {}; + this.selectedFilter = 'ALL'; + this.filters[this.currentActiveIndex].active = false; + this.currentActiveIndex = 0; + this.previousActiveIndex = 0; + this.filters[this.currentActiveIndex].active = true; + this.WorkListObj.P_SEARCH_FROM_USER = ''; + this.WorkListObj.P_SEARCH_ITEM_TYPE_DSP_NAME = ''; + this.WorkListObj.P_SEARCH_SENT_DATE = ''; + this.WorkListObj.P_SEARCH_SUBJECT = ''; + this.getAllPushNotificationFun(); } -doInfinite(infiniteScroll) { - //this.pageNum= this.pageNum + 1; + onChangeView(selectedValue: any) { + this.WorkListObj.P_NOTIFICATION_TYPE = selectedValue.detail.value; + } - if (!this.IsReachEnd) { - this.WorklistService.getWorkList(this.WorkListObj).subscribe( - (result: any) => { + doInfinite(infiniteScroll) { + if (!this.IsReachEnd && this.selectedFilter === 'ALL') { + this.WorklistService.getWorkList(this.WorkListObj).subscribe((result) => { if (this.common.validResponse(result)) { - this.WorkListObj.P_PAGE_NUM++; - if (this.common.hasData(result.GetWorkList)) { - result.GetWorkList.forEach(element => { - if (element.ROW_NUM == element.NO_OF_ROWS) { - this.IsReachEnd = true; - } else { - this.IsReachEnd = false; - } - this.WorkListResObj.push(element); - }); - } // if list length >0 - else { - this.IsReachEnd = true; - } - } // if response == 1 - //this.pageNum++; + this.handleWorkListResult(result.GetWorkList); + } + }); + } else { + if (this.infiniteScroll && this.selectedFilter === 'ALL') { this.infiniteScroll.complete(); } - ); - } else { - if (this.infiniteScroll) this.infiniteScroll.complete(); - } - } //end infiniteScroll - -Count() { - this.workListService.getITGCount() - .subscribe((result: any) => { - console.log('ENAD ITG COUNT:') - console.log(result); - }); + } + } + + Count() { + this.workListService.getITGCount() + .subscribe((result: any) => { + console.log('ENAD ITG COUNT:') + console.log(result); + }); } -filterNotificationByRequestType(reqType) { - let filterdType = []; - if (reqType == 'All') { - this.filteredNotificationList = this.WorkListResObj; + filterNotificationByRequestType(reqType) { + let filterdType = []; + if (reqType == 'All') { + this.filteredNotificationList = this.WorkListResObj; + if (this.filteredNotificationList == [] || this.filteredNotificationList == null || this.filteredNotificationList == '') { + this.noData = true; + return false; + } else { + this.noData = false; + return false; + } + } + for (let i = 0; i < this.WorkListResObj.length; i++) { + if(reqType=='HR'){ + if ('EIT' == this.WorkListResObj[i].REQUEST_TYPE || 'ABSENCE' == this.WorkListResObj[i].REQUEST_TYPE) { + filterdType.push(this.WorkListResObj[i]); + } + }else{ + if (reqType == this.WorkListResObj[i].REQUEST_TYPE) { + filterdType.push(this.WorkListResObj[i]); + } + } + + } + + this.filteredNotificationList = filterdType; if (this.filteredNotificationList == [] || this.filteredNotificationList == null || this.filteredNotificationList == '') { this.noData = true; return false; @@ -360,99 +445,78 @@ filterNotificationByRequestType(reqType) { this.noData = false; return false; } - } - for (let i = 0; i < this.WorkListResObj.length; i++) { - if(reqType=='HR'){ - if ('EIT' == this.WorkListResObj[i].REQUEST_TYPE || 'ABSENCE' == this.WorkListResObj[i].REQUEST_TYPE) { - filterdType.push(this.WorkListResObj[i]); - } - }else{ - if (reqType == this.WorkListResObj[i].REQUEST_TYPE) { - filterdType.push(this.WorkListResObj[i]); - } - } - - } - - this.filteredNotificationList = filterdType; - if (this.filteredNotificationList == [] || this.filteredNotificationList == null || this.filteredNotificationList == '') { - this.noData = true; - return false; - } else { - this.noData = false; - return false; - } } -Details() { - this.workListService.getITGDetails() - .subscribe((result: any) => { - console.log('ENAD ITG Details:') - console.log(result); - }); + Details() { + this.workListService.getITGDetails() + .subscribe((result: any) => { + console.log('ENAD ITG Details:') + console.log(result); + }); } - -AllNotification() { - this.filterNotificationByRequestType('All'); - this.isAll = true; - this.isPR = false; - this.isPO = false; - this.isMR = false; - this.isHR = false; - this.isITG = false; - } -PRNotification() { - this.filterNotificationByRequestType('PR'); - this.isAll = false; - this.isPR = true; - this.isPO = false; - this.isMR = false; - this.isHR = false; - this.isITG = false; + AllNotification() { + this.filterNotificationByRequestType('All'); + this.isAll = true; + this.isPR = false; + this.isPO = false; + this.isMR = false; + this.isHR = false; + this.isITG = false; } -PONotification() { - this.filterNotificationByRequestType('PO'); - this.isAll = false; - this.isPR = false; - this.isPO = true; - this.isMR = false; - this.isHR = false; - this.isITG = false; + PRNotification() { + this.filterNotificationByRequestType('PR'); + this.isAll = false; + this.isPR = true; + this.isPO = false; + this.isMR = false; + this.isHR = false; + this.isITG = false; } -MRNotification() { - this.filterNotificationByRequestType('MO'); - this.isAll = false; - this.isPR = false; - this.isPO = false; - this.isMR = true; - this.isHR = false; - this.isITG = false; - } -HRNotification() { - this.filterNotificationByRequestType('HR'); - this.isAll = false; - this.isPR = false; - this.isPO = false; - this.isMR = false; - this.isHR = true; - this.isITG = false; + + PONotification() { + this.filterNotificationByRequestType('PO'); + this.isAll = false; + this.isPR = false; + this.isPO = true; + this.isMR = false; + this.isHR = false; + this.isITG = false; + } -ITGNotification() { - // this.Details(); - this.isAll = false; - this.isPR = false; - this.isPO = false; - this.isMR = false; - this.isHR = false; - this.isITG = true; + + MRNotification() { + this.filterNotificationByRequestType('MO'); + this.isAll = false; + this.isPR = false; + this.isPO = false; + this.isMR = true; + this.isHR = false; + this.isITG = false; } -searchBtn() { - this.isSearch = !this.isSearch; + HRNotification() { + this.filterNotificationByRequestType('HR'); + this.isAll = false; + this.isPR = false; + this.isPO = false; + this.isMR = false; + this.isHR = true; + this.isITG = false; } - + ITGNotification() { + // this.Details(); + this.isAll = false; + this.isPR = false; + this.isPO = false; + this.isMR = false; + this.isHR = false; + this.isITG = true; + } + searchBtn() { + this.isSearch = !this.isSearch; + } } diff --git a/Mohem/src/app/notification/worklist-advanced-search/worklist-advanced-search.component.html b/Mohem/src/app/notification/worklist-advanced-search/worklist-advanced-search.component.html index 326b1e2f..b02442bf 100644 --- a/Mohem/src/app/notification/worklist-advanced-search/worklist-advanced-search.component.html +++ b/Mohem/src/app/notification/worklist-advanced-search/worklist-advanced-search.component.html @@ -1,4 +1,5 @@ -
+ +

Advanced Search

@@ -8,8 +9,8 @@ {{ts.trPK('worklist','view')}} - {{ts.trPK('worklist','openNot')}} + (ionChange)=onChangeView($event)> + {{ts.trPK('worklist','openNot')}} {{ts.trPK('worklist','fyi')}} {{ts.trPK('worklist','toDo')}} {{ts.trPK('worklist','all')}} @@ -17,10 +18,10 @@ - + {{ts.trPK('worklist','searchby')}} + (ionChange)="getValueSelected($event)"> {{ts.trPK('worklist','from')}} {{ts.trPK('worklist','subject')}} {{ts.trPK('worklist','sent')}} @@ -28,21 +29,39 @@ {{ts.trPK('worklist','none')}} +
+
+ + {{ts.trPK('worklist','sent')}} + + +
+
+ + + + +
+
- - Request Type - - {{ts.trPK('worklist','from')}} - {{ts.trPK('worklist','subject')}} - {{ts.trPK('worklist','sent')}} - {{ts.trPK('worklist','itemType')}} - {{ts.trPK('worklist','none')}} - - + + Request Type + + {{ts.trPK('worklist','from')}} + {{ts.trPK('worklist','subject')}} + {{ts.trPK('worklist','sent')}} + {{ts.trPK('worklist','itemType')}} + {{ts.trPK('worklist','none')}} + + -
+
SEARCH
+
+ + \ No newline at end of file diff --git a/Mohem/src/app/notification/worklist-advanced-search/worklist-advanced-search.component.ts b/Mohem/src/app/notification/worklist-advanced-search/worklist-advanced-search.component.ts index 7e60f280..1f8c1d95 100644 --- a/Mohem/src/app/notification/worklist-advanced-search/worklist-advanced-search.component.ts +++ b/Mohem/src/app/notification/worklist-advanced-search/worklist-advanced-search.component.ts @@ -9,6 +9,13 @@ import { TranslatorService } from 'src/app/hmg-common/services/translator/transl }) export class WorklistAdvancedSearchComponent implements OnInit { + public hideDateInput: boolean = false; + public hideTextInput: boolean = false; + public inputDate: string = ''; + public inputSearch: string = ''; + public selectedValue: string = ''; + public notificationType: string = ''; + constructor( public modalController: ModalController, public ts: TranslatorService @@ -17,14 +24,41 @@ export class WorklistAdvancedSearchComponent implements OnInit { ngOnInit() {} public dismissModal() { - console.log('umar 545'); + this.modalController.dismiss(); + } + + public search() { this.modalController.dismiss({ - // dismissed: true, - // keySelectedFilters: selectedFilters, - // selectedShiftType: this.selectedShiftType, - // dateFrom: this.dateFrom, - // dateTo: this.dateTo + notificationType: this.notificationType, + selectedValue: this.selectedValue, + inputDate: this.inputDate, + inputSearch: this.inputSearch, }); } + onChangeView(selectedValue: any) { + this.notificationType = selectedValue.detail.value; + } + + getValueSelected(value) { + this.selectedValue = value.detail.value; + if (this.selectedValue == '1') { + this.hideDateInput = false; + this.hideTextInput = true; + } else if (this.selectedValue == '2') { + this.hideDateInput = false; + this.hideTextInput = true; + } else if (this.selectedValue == '3') { + this.hideDateInput = true; + this.hideTextInput = false; + } else if (this.selectedValue == '4') { + this.hideDateInput = false; + this.hideTextInput = true; + } else if (this.selectedValue == '5') { + this.hideDateInput = false; + this.hideTextInput = false; + } + } + + }