service-item.component.ts 14 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298
  1. import { AuthServiceService } from './../../shared/auth-service.service';
  2. import { ActivatedRoute, Params, Router } from '@angular/router';
  3. import { UserService } from './../../shared/user.service';
  4. import { Component, OnInit, HostListener } from '@angular/core';
  5. import { NgxSpinnerService } from 'ngx-spinner';
  6. @Component({
  7. selector: 'app-service-item',
  8. templateUrl: './service-item.component.html',
  9. styleUrls: ['./service-item.component.css']
  10. })
  11. export class ServiceItemComponent implements OnInit {
  12. userId: number;
  13. servicesId: number;
  14. changeText: boolean;
  15. mouseover: boolean;
  16. services = [];
  17. pages = [];
  18. mobilePages = [];
  19. extraPages = [];
  20. defaultPageId: number;
  21. myInnerHeight = window.innerHeight;
  22. isHovering = false;
  23. mouseHovering() {
  24. this.isHovering = true;
  25. console.log(this.isHovering);
  26. }
  27. mouseLeaving() {
  28. this.isHovering = false;
  29. console.log(this.isHovering);
  30. }
  31. constructor( private authService:AuthServiceService,
  32. private userSer: UserService,
  33. private router: Router,
  34. private route: ActivatedRoute,
  35. private userservice: UserService,
  36. private authSer: AuthServiceService,
  37. private spinner: NgxSpinnerService) { }
  38. ngOnInit() {
  39. this.extraPages = [];
  40. //get profile data
  41. this.userSer.getUserDataProfile();
  42. this.changeText = false;
  43. //show spinner
  44. this.spinner.show();
  45. //hide search header
  46. this.authService.showSearchHeader = false;
  47. //this.userSer.getServicesData();
  48. this.route.params.subscribe(
  49. (params: Params) => {
  50. this.userId = params['userID'],
  51. this.servicesId = params['serviceID']
  52. }
  53. );
  54. this.userSer.getServicesData(this.userId).subscribe(
  55. (responce) => {
  56. console.log(responce);
  57. this.services = responce['services'];
  58. this.spinner.hide();
  59. },
  60. (error) => {console.log(error)}
  61. );
  62. this.userSer.getPagesPermetiotns(this.userId, this.servicesId).subscribe(
  63. (responce) => {
  64. this.mobilePages = responce['pages'];
  65. console.log(responce['pages'].length);
  66. if(responce['pages'].length > 6) {
  67. for(let i = 0; i < 6 ; i++) {
  68. this.pages[i] = responce['pages'][i];
  69. }
  70. for(let i = 6; i < responce['pages'].length; i++) {
  71. this.extraPages.push(responce['pages'][i]);
  72. }
  73. this.authSer.showMoreLinks = true;
  74. } else {
  75. this.authSer.showMoreLinks = false;
  76. this.pages = responce['pages'];
  77. // this.pages[0].active = 1;
  78. }
  79. this.spinner.hide();
  80. console.log('extraaaaa' , this.extraPages);
  81. console.log('paggges' , this.pages);
  82. },
  83. (error) => {console.log(error)}
  84. );
  85. }
  86. //click on service in side button
  87. onGetService(service) {
  88. this.mobilePages = [];
  89. if(service.id == 1) {
  90. //خدمه الصلاحيات
  91. this.userservice.getPagesPermetiotns(this.userId, service.id).subscribe(
  92. (responce) => {
  93. console.log(responce);
  94. this.mobilePages = responce['pages'];
  95. this.pages = responce['pages'];
  96. this.authSer.showMoreLinks = false;
  97. console.log(this.pages);
  98. //this.pages[0].active = 1;
  99. if(this.pages[0].id == 1) {
  100. console.log('/service/' + this.userId + '/' + service.id + '/users/' + this.pages[0].id);
  101. this.router.navigate(['/service/' + this.userId + '/' + service.id + '/users/' + this.pages[0].id]);
  102. }else if(this.pages[0].id == 2) {
  103. this.router.navigate(['/service/' + this.userId + '/' + service.id + '/roles/' + this.pages[0].id]);
  104. } else if(this.pages[0].id == 3) {
  105. this.router.navigate(['/service/' + this.userId + '/' + service.id + '/departments/' + this.pages[0].id]);
  106. } else if(this.pages[0].id == 4) {
  107. this.router.navigate(['/service/' + this.userId + '/' + service.id + '/sections/' + this.pages[0].id]);
  108. } else if(this.pages[0].id == 5) {
  109. this.router.navigate(['/service/' + this.userId + '/' + service.id + '/reports/' + this.pages[0].id]);
  110. }
  111. this.spinner.hide();
  112. },
  113. (error) => {console.log(error)}
  114. );
  115. } else if(service.id == 6 || service.id == 2) {
  116. //خدمه اداره المحتوي
  117. this.extraPages = [];
  118. this.userservice.getPagesPermetiotns(this.userId, service.id).subscribe(
  119. (responce) => {
  120. console.log(responce);
  121. this.mobilePages = responce['pages'];
  122. if(responce['pages'].length > 6) {
  123. for(let i = 0; i < 6 ; i++) {
  124. this.pages[i] = responce['pages'][i];
  125. }
  126. for(let i = 6; i < responce['pages'].length; i++) {
  127. this.extraPages.push(responce['pages'][i]);
  128. }
  129. this.authSer.showMoreLinks = true;
  130. } else {
  131. this.pages = responce['pages'];
  132. this.authSer.showMoreLinks = false;
  133. }
  134. console.log(this.pages);
  135. //this.pages[0].active = 1;
  136. if(this.pages[0].id == 6) {
  137. console.log('/service/' + this.userId + '/' + service.id + '/hospitalsList/' + this.pages[0].id);
  138. this.router.navigate(['/service/' + this.userId + '/' + service.id + '/hospitalsList/' + this.pages[0].id]);
  139. } else if(this.pages[0].id == 10) {
  140. console.log('/service/' + this.userId + '/' + service.id + '/mangementList/' + this.pages[0].id);
  141. this.router.navigate(['/service/' + this.userId + '/' + service.id + '/mangementList/' + this.pages[0].id]);
  142. } else if(this.pages[0].id == 8){
  143. console.log('/service/' + this.userId + '/' + service.id + '/eventsList/' + this.pages[0].id);
  144. this.router.navigate(['/service/' + this.userId + '/' + service.id + '/eventsList/' + this.pages[0].id]);
  145. } else if(this.pages[0].id == 9) {
  146. console.log('/service/' + this.userId + '/' + service.id + '/joinUs/' + this.pages[0].id);
  147. this.router.navigate(['/service/' + this.userId + '/' + service.id + '/joinUs/' + this.pages[0].id]);
  148. } else if(this.pages[0].id == 7 || this.pages[0].id == 19) {
  149. console.log('/service/' + this.userId + '/' + service.id + '/externalsList/' + this.pages[0].id);
  150. this.router.navigate(['/service/' + this.userId + '/' + service.id + '/externalsList/' + this.pages[0].id]);
  151. } else if(this.pages[0].id == 11) {
  152. console.log('/service/' + this.userId + '/' + service.id + '/achievementsList/' + this.pages[0].id);
  153. this.router.navigate(['/service/' + this.userId + '/' + service.id + '/achievementsList/' + this.pages[0].id]);
  154. } else if(this.pages[0].id == 12) {
  155. this.router.navigate(['/service/' + this.userId + '/' + service.id + '/tabs/' + this.pages[0].id]);
  156. } else if(this.pages[0].id == 13, this.pages[0].id == 20) {
  157. this.router.navigate(['/service/' + this.userId + '/' + service.id + '/newsList/' + this.pages[0].id]);
  158. } else if(this.pages[0].id == 16 || this.pages[0].id == 29) {
  159. this.router.navigate(['/service/' + this.userId + '/' + service.id + '/footerList/' + this.pages[0].id]);
  160. } else if(this.pages[0].id == 14) {
  161. this.router.navigate(['/service/' + this.userId + '/' + service.id + '/internalServicesList/' + this.pages[0].id]);
  162. } else if(this.pages[0].id == 15) {
  163. this.router.navigate(['/service/' + this.userId + '/' + service.id + '/lecturesList/' + this.pages[0].id]);
  164. } else if(this.pages[0].id == 17 || this.pages[0].id == 18) {
  165. this.router.navigate(['/service/' + this.userId + '/' + service.id + '/mainMenuList/' + this.pages[0].id]);
  166. } else if(this.pages[0].id == 24) {
  167. this.router.navigate(['/service/' + this.userId + '/' + service.id + '/advertisimentList/' + this.pages[0].id]);
  168. } else if(this.pages[0].id == 30) {
  169. console.log('/service/' + this.userId + '/' + service.id + '/hospitalsList/' + this.pages[0].id);
  170. this.router.navigate(['/service/' + this.userId + '/' + service.id + '/hospitalsList/' + this.pages[0].id]);
  171. } else if(this.pages[0].id == 21) {
  172. console.log('/service/' + this.userId + '/' + service.id + '/barEventsList/' + this.pages[0].id);
  173. this.router.navigate(['/service/' + this.userId + '/' + service.id + '/barEventsList/' + this.pages[0].id]);
  174. } else if(this.pages[0].id == 32) {
  175. console.log('/service/' + this.userId + '/' + service.id + '/contactUsList/' + this.pages[0].id);
  176. this.router.navigate(['/service/' + this.userId + '/' + service.id + '/contactUsList/' + this.pages[0].id]);
  177. } else if(this.pages[0].id == 23) {
  178. console.log('/service/' + this.userId + '/' + service.id + '/visitingTimesList/' + this.pages[0].id);
  179. this.router.navigate(['/service/' + this.userId + '/' + service.id + '/visitingTimesList/' + this.pages[0].id]);
  180. } else if(this.pages[0].id == 25) {
  181. console.log('/service/' + this.userId + '/' + service.id + '/eventCalendarsList/' + this.pages[0].id);
  182. this.router.navigate(['/service/' + this.userId + '/' + service.id + '/eventCalendarsList/' + this.pages[0].id]);
  183. } else if(this.pages[0].id == 27) {
  184. console.log('/service/' + this.userId + '/' + service.id + '/externalAchievementsList/' + this.pages[0].id);
  185. this.router.navigate(['/service/' + this.userId + '/' + service.id + '/externalAchievementsList/' + this.pages[0].id]);
  186. } else if(this.pages[0].id == 26) {
  187. console.log('/service/' + this.userId + '/' + service.id + '/statisticsList/' + this.pages[0].id);
  188. this.router.navigate(['/service/' + this.userId + '/' + service.id + '/statisticsList/' + this.pages[0].id]);
  189. } else if(this.pages[0].id == 22) {
  190. console.log('/service/' + this.userId + '/' + service.id + '/advertisingList/' + this.pages[0].id);
  191. this.router.navigate(['/service/' + this.userId + '/' + service.id + '/advertisingList/' + this.pages[0].id]);
  192. } else if(this.pages[0].id == 28) {
  193. this.router.navigate(['/service/' + this.userId + '/' + service.id + '/map/' + this.pages[0].id]);
  194. }
  195. this.spinner.hide();
  196. },
  197. (error) => {console.log(error)}
  198. );
  199. }
  200. }
  201. //go to component of page
  202. getListPage(dataPage){
  203. for(let i = 0; i< this.pages.length; i++) {
  204. if(this.pages[i].id == dataPage.id) {
  205. this.pages[i].active = 1;
  206. } else if(this.pages[0].id != dataPage.id) {
  207. this.pages[i].active = 0;
  208. } else {
  209. this.pages[i].active = 0;
  210. }
  211. }
  212. console.log(dataPage);
  213. if(dataPage.id == 1) {
  214. this.router.navigate(['users/' + dataPage.id], {relativeTo: this.route});
  215. } else if(dataPage.id == 2) {
  216. this.router.navigate(['roles/' + dataPage.id], {relativeTo: this.route});
  217. } else if(dataPage.id == 3) {
  218. this.router.navigate(['departments/' + dataPage.id], {relativeTo: this.route});
  219. } else if(dataPage.id == 4) {
  220. this.router.navigate(['sections/' + dataPage.id], {relativeTo: this.route});
  221. } else if(dataPage.id == 5) {
  222. this.router.navigate(['reports'], {relativeTo: this.route});
  223. } else if(dataPage.id == 6 || dataPage.id == 30) {
  224. this.router.navigate(['hospitalsList/' + dataPage.id], {relativeTo: this.route});
  225. } else if(dataPage.id == 10 || dataPage.id == 31){
  226. this.router.navigate(['mangementList/' + dataPage.id], {relativeTo: this.route});
  227. } else if(dataPage.id == 8) {
  228. this.router.navigate(['eventsList/' + dataPage.id], {relativeTo: this.route});
  229. } else if(dataPage.id == 9){
  230. this.router.navigate(['joinUs/' + dataPage.id], {relativeTo: this.route});
  231. } else if(dataPage.id == 7 || dataPage.id == 19) {
  232. this.router.navigate(['externalsList/' + dataPage.id], {relativeTo: this.route});
  233. } else if(dataPage.id == 11) {
  234. this.router.navigate(['achievementsList/' + dataPage.id], {relativeTo: this.route});
  235. }else if(dataPage.id == 12) {
  236. this.router.navigate(['tabs/' + dataPage.id], {relativeTo: this.route});
  237. } else if(dataPage.id == 13 || dataPage.id == 20) {
  238. this.router.navigate(['newsList/' + dataPage.id], {relativeTo: this.route});
  239. } else if(dataPage.id == 16 || dataPage.id == 29) {
  240. this.router.navigate(['footerList/' + dataPage.id], {relativeTo: this.route});
  241. } else if(dataPage.id == 14) {
  242. this.router.navigate(['internalServicesList/' + dataPage.id], {relativeTo: this.route});
  243. } else if(dataPage.id == 15) {
  244. this.router.navigate(['lecturesList/' + dataPage.id], {relativeTo: this.route});
  245. } else if(dataPage.id == 17 || dataPage.id == 18){
  246. this.router.navigate(['mainMenuList/' + dataPage.id], {relativeTo: this.route});
  247. } else if(dataPage.id == 24) {
  248. this.router.navigate(['advertisimentList/' + dataPage.id], {relativeTo: this.route});
  249. } else if(dataPage.id == 21) {
  250. this.router.navigate(['barEventsList/' + dataPage.id], {relativeTo: this.route});
  251. } else if(dataPage.id == 32) {
  252. this.router.navigate(['contactUsList/' + dataPage.id], {relativeTo: this.route});
  253. } else if(dataPage.id == 23) {
  254. this.router.navigate(['visitingTimesList/' + dataPage.id], {relativeTo: this.route});
  255. } else if(dataPage.id == 25) {
  256. this.router.navigate(['eventCalendarsList/' + dataPage.id], {relativeTo: this.route});
  257. } else if(dataPage.id == 27) {
  258. this.router.navigate(['externalAchievementsList/' + dataPage.id], {relativeTo: this.route});
  259. } else if(dataPage.id == 26) {
  260. this.router.navigate(['statisticsList/' + dataPage.id], {relativeTo: this.route});
  261. } else if(dataPage.id == 22) {
  262. this.router.navigate(['advertisingList/' + dataPage.id], {relativeTo: this.route});
  263. } else if(dataPage.id == 28) {
  264. this.router.navigate(['map/' + dataPage.id], {relativeTo: this.route});
  265. }
  266. }
  267. onAddUser() {
  268. this.router.navigate(['addUser'], {relativeTo: this.route});
  269. }
  270. goToHome() {
  271. this.router.navigate(['services/' + this.userId]);
  272. }
  273. }