@tapsellorg/angular-material-library
Version:
Angular library for Tapsell
1 lines • 9.63 kB
Source Map (JSON)
{"version":3,"file":"tapsellorg-angular-material-library-src-lib-creative-preview.mjs","sources":["../../projects/pegah-library/src/lib/creative-preview/creative-preview.component.ts","../../projects/pegah-library/src/lib/creative-preview/creative-preview.component.html","../../projects/pegah-library/src/lib/creative-preview/creative-preview.module.ts","../../projects/pegah-library/src/lib/creative-preview/tapsellorg-angular-material-library-src-lib-creative-preview.ts"],"sourcesContent":["import {\n ChangeDetectionStrategy,\n Component,\n input,\n OnChanges,\n signal,\n TemplateRef,\n ViewEncapsulation,\n} from '@angular/core';\nimport { PghLoader } from '@tapsellorg/angular-material-library/src/lib/loader';\nimport { PghCreativeType } from './models';\n\n@Component({\n selector: 'pgh-creative-preview',\n templateUrl: './creative-preview.component.html',\n styleUrls: ['./creative-preview.component.scss'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: false,\n})\nexport class PghCreativePreviewComponent implements OnChanges {\n muted = signal<boolean>(true);\n landscape = signal<boolean>(false);\n loader = new PghLoader();\n loadingType = true;\n hasSoundType = signal<boolean>(true);\n hasError = signal<boolean>(false);\n\n creative = input<string | undefined>(undefined, {\n alias: 'pghCreative',\n });\n template = input<TemplateRef<any> | undefined>(undefined, {\n alias: 'pghTemplate',\n });\n type = input<PghCreativeType>('video', {\n alias: 'pghCreativeType',\n });\n\n constructor() {}\n\n ngOnChanges(): void {\n this.checkType();\n this.setMediaType();\n this.setLoader();\n }\n\n checkType() {\n if (['video', 'image', 'iframe'].includes(this.type()) && !this.creative()) {\n throw new Error('PghCreativePreviewComponent: You must specify a creative.');\n } else if (this.type() === 'template' && !this.template()) {\n throw new Error('PghCreativePreviewComponent: You must specify a template.');\n }\n }\n\n setMediaType() {\n this.loadingType = ['video', 'image', 'iframe'].includes(this.type());\n this.hasSoundType.set(['video'].includes(this.type()));\n }\n\n setLoader() {\n if (this.loadingType) {\n this.loader.activate();\n }\n }\n\n errorLoadingContent() {\n this.loader.deactivate();\n this.hasError.set(true);\n }\n\n contentLoaded() {\n this.loader.deactivate();\n }\n\n toggleMute() {\n this.muted.set(!this.muted());\n }\n\n toggleLandscape() {\n this.landscape.set(!this.landscape());\n }\n}\n","<div class=\"pgh-container\">\n <div class=\"m-2\">\n <button mat-icon-button (click)=\"toggleLandscape()\">\n <mat-icon svgIcon=\"screen_rotation\"></mat-icon>\n </button>\n </div>\n <div class=\"pgh-preview d-flex align-items-center justify-content-center\">\n <div class=\"pgh-device\" [class.landscape]=\"landscape()\">\n <div class=\"pgh-sleep\"></div>\n <div class=\"pgh-sensor\"></div>\n <div class=\"pgh-speaker\"></div>\n <div class=\"pgh-screen w-100 h-100\">\n <div class=\"pgh-ads-header d-flex justify-content-space-between p-2\">\n @if (hasSoundType()) { @if (!muted()) {\n <button mat-mini-fab color=\"gray\" (click)=\"toggleMute()\">\n <mat-icon svgIcon=\"volume_up\"></mat-icon>\n </button>\n } @if (muted()) {\n <button mat-mini-fab color=\"gray\" (click)=\"toggleMute()\">\n <mat-icon svgIcon=\"volume_off\"></mat-icon>\n </button>\n } }\n </div>\n <div class=\"pgh-ads-player d-flex align-items-center w-100 h-100\" [pghLoader]=\"loader\">\n @if (hasError()) {\n <div class=\"pgh-creative-error w-100 p-3\">\n مشکلی در لود محتوا پیش آمده، لطفا دوباره تلاش کنید.\n <br />\n در صورتی که مشکل مجددا پیش آمد، لطفا اطلاع دهید.\n </div>\n } @if (!hasError()) { @if (type() === 'video') {\n <video\n [src]=\"creative()! | pghSafe : 'resourceUrl'\"\n [muted]=\"muted()\"\n autoplay\n (loadeddata)=\"contentLoaded()\"\n (error)=\"errorLoadingContent()\"\n ></video>\n } @if (type() === 'image') {\n <img\n [src]=\"creative()! | pghSafe : 'resourceUrl'\"\n (load)=\"contentLoaded()\"\n (error)=\"errorLoadingContent()\"\n />\n } @if (type() === 'iframe') {\n <iframe\n [src]=\"creative()! | pghSafe : 'resourceUrl'\"\n frameborder=\"0\"\n (load)=\"contentLoaded()\"\n (error)=\"errorLoadingContent()\"\n ></iframe>\n } @if (type() === 'template') {\n <ng-container *ngTemplateOutlet=\"template()!\"></ng-container>\n } }\n </div>\n </div>\n <div class=\"pgh-home\"></div>\n </div>\n </div>\n</div>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatButtonModule } from '@angular/material/button';\nimport { PghLoaderModule } from '@tapsellorg/angular-material-library/src/lib/loader';\nimport { PghSafeModule } from '@tapsellorg/angular-material-library/src/lib/common';\nimport { PghCreativePreviewComponent } from './creative-preview.component';\n\n@NgModule({\n declarations: [PghCreativePreviewComponent],\n imports: [CommonModule, MatIconModule, MatButtonModule, PghLoaderModule, PghSafeModule],\n exports: [PghCreativePreviewComponent],\n})\nexport class PghCreativePreviewModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}