@igo2/core
Version:
1 lines • 5.78 kB
Source Map (JSON)
{"version":3,"file":"igo2-core-media.mjs","sources":["../../../packages/core/media/src/media.enum.ts","../../../packages/core/media/src/media.service.ts","../../../packages/core/media/src/igo2-core-media.ts"],"sourcesContent":["export enum Media {\n Mobile = 'mobile',\n Tablet = 'tablet',\n Desktop = 'desktop'\n}\n\nexport enum MediaOrientation {\n Portrait = 'portrait',\n Landscape = 'landscape'\n}\n","import { BreakpointObserver, Breakpoints } from '@angular/cdk/layout';\nimport { Injectable } from '@angular/core';\n\nimport { BehaviorSubject } from 'rxjs';\n\nimport { Media, MediaOrientation } from './media.enum';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class MediaService {\n public media$ = new BehaviorSubject<Media>(undefined);\n public orientation$ = new BehaviorSubject<MediaOrientation>(undefined);\n\n constructor(breakpointObserver: BreakpointObserver) {\n breakpointObserver\n .observe([Breakpoints.HandsetLandscape])\n .subscribe((res) => {\n if (res.matches) {\n this.media$.next(Media.Mobile);\n this.orientation$.next(MediaOrientation.Landscape);\n }\n });\n\n breakpointObserver\n .observe([Breakpoints.HandsetPortrait])\n .subscribe((res) => {\n if (res.matches) {\n this.media$.next(Media.Mobile);\n this.orientation$.next(MediaOrientation.Portrait);\n }\n });\n\n breakpointObserver\n .observe([Breakpoints.TabletLandscape])\n .subscribe((res) => {\n if (res.matches) {\n this.media$.next(Media.Tablet);\n this.orientation$.next(MediaOrientation.Landscape);\n }\n });\n\n breakpointObserver\n .observe([Breakpoints.TabletPortrait])\n .subscribe((res) => {\n if (res.matches) {\n this.media$.next(Media.Tablet);\n this.orientation$.next(MediaOrientation.Portrait);\n }\n });\n\n breakpointObserver.observe([Breakpoints.WebLandscape]).subscribe((res) => {\n if (res.matches) {\n this.media$.next(Media.Desktop);\n this.orientation$.next(MediaOrientation.Landscape);\n }\n });\n\n breakpointObserver.observe([Breakpoints.WebPortrait]).subscribe((res) => {\n if (res.matches) {\n this.media$.next(Media.Desktop);\n this.orientation$.next(MediaOrientation.Portrait);\n }\n });\n }\n\n getMedia(): Media {\n return this.media$.value;\n }\n\n getOrientation(): MediaOrientation {\n return this.orientation$.value;\n }\n\n isTouchScreen(): boolean {\n return 'ontouchstart' in document.documentElement ? true : false;\n }\n\n isMobile(): boolean {\n const media = this.getMedia();\n return media === 'mobile';\n }\n\n isDesktop(): boolean {\n const media = this.getMedia();\n return media === 'desktop';\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}