Guest User

Untitled

a guest
Jun 20th, 2018
85
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.22 KB | None | 0 0
  1. import { Component } from '@angular/core';
  2. import { IonicPage, NavController, NavParams, ModalController, Platform, Loading } from 'ionic-angular';
  3. import { AppSetting } from '../../app/app.settings';
  4. import { PlayListProvider } from '../../providers/play-list/playlist-provider';
  5. import { PlayList } from '../../models/PlayList';
  6. import { LoadingProvider } from '../../providers/loading/loading';
  7. import { forEach } from 'lodash';
  8. import { MediaItem } from '../../models/media-item';
  9.  
  10. @IonicPage()
  11. @Component({
  12. selector: 'page-playlists',
  13. templateUrl: 'playlists.html',
  14. })
  15. export class PlaylistsPage {
  16. data: PlayList[] = []; type: string = "my"; mediaItem: MediaItem; newPlayListId: number;
  17. constructor(public navCtrl: NavController, public navParams: NavParams, public appSettings: AppSetting, public platform: Platform,
  18. private modalCtrl: ModalController, private playListProvider: PlayListProvider, private loadingProvider: LoadingProvider) {
  19. this.init();
  20. this.playListProvider.playlistUpdates.subscribe((set) => {
  21. if(set){
  22. console.log("hitUpdates");
  23. const loading = this.loadingProvider.presentLoader();
  24. this.getDistributorPlaylists(loading);
  25. }
  26. })
  27. }
  28.  
  29. init() {
  30. this.platform.ready().then(() => {
  31. this.appSettings.initTranslateService();
  32. });
  33. }
  34.  
  35. ionViewDidEnter() {
  36. const loading = this.loadingProvider.presentLoader();
  37.  
  38. if(typeof this.navParams.get('type') !== "undefined"){
  39. this.type = this.navParams.get('type');
  40. }
  41.  
  42. if (this.type == "my") {
  43. this.getDistributorPlaylists(loading);
  44. } else {
  45. this.getCorporatePlaylists(loading);
  46. }
  47. }
  48.  
  49. //get Corporate Play lists
  50. getCorporatePlaylists(loading: Loading) {
  51. this.playListProvider.getCorporatePlaylists().subscribe(
  52. result => {
  53. this.setData(result);
  54. this.loadingProvider.dismissLoader(loading);
  55. },
  56. error => { this.loadingProvider.dismissLoader(loading); },
  57. () => { }
  58. );
  59. }
  60.  
  61. //get Distributor Play lists
  62. getDistributorPlaylists(loading: Loading) {
  63. this.playListProvider.getDistributorPlaylists().subscribe(
  64. result => {
  65. this.setData(result);
  66. this.loadingProvider.dismissLoader(loading);
  67. },
  68. error => { this.loadingProvider.dismissLoader(loading); },
  69. () => { }
  70. );
  71. }
  72.  
  73. //add Playlist
  74. addPlaylist() {
  75. const modal = this.modalCtrl.create('NewPlaylistPage');
  76. modal.onDidDismiss(data => {
  77. });
  78. modal.present();
  79. }
  80.  
  81. //play List Changed
  82. playListChanged() {
  83. const loading = this.loadingProvider.presentLoader();
  84. if (this.type == "corporate") {
  85. this.getCorporatePlaylists(loading);
  86. } else {
  87. this.getDistributorPlaylists(loading);
  88. }
  89. }
  90.  
  91. //set Data
  92. setData(result: any): PlayList[] {
  93. this.data = [];
  94. forEach(result, (v) => {
  95.  
  96. let image:string;
  97. if(v.Thumbnail){
  98. image = v.Thumbnail;
  99. }
  100. else{
  101. image = './assets/images/placeholder2';
  102. }
  103.  
  104. const playList: PlayList = {
  105. id: v.PlayListId,
  106. text: v.ResourceValue,
  107. imageUrl: image,
  108. mediaItems: []
  109. };
  110.  
  111. this.data.push(playList);
  112. });
  113. return this.data;
  114. }
  115.  
  116. //select PlayList
  117. selectPlayList(event: any) {
  118. let data = event;
  119. }
  120. }
Add Comment
Please, Sign In to add comment