UNPKG

@w11k/ngx-present

Version:

Angular based Presentation Tool

83 lines 9.14 kB
/** * @fileoverview added by tsickle * Generated from: lib/presenter/presenter-view.component.ts * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ import { Component, Input, ViewChild, ViewContainerRef } from '@angular/core'; import { SlideBySlideService } from '../slide-by-slide/slide-by-slide.service'; import { SpeakerNotesTarget } from '../speaker-notes/speaker-notes.directive'; export class PresenterViewComponent { /** * @param {?} service */ constructor(service) { this.service = service; this.speakerNoteProviders = [ { provide: SpeakerNotesTarget, useValue: this } ]; } /** * @param {?} template * @return {?} */ attach(template) { if (this.container === undefined) { throw new Error(`Couldn't find child speaker notes. Check template to expose it`); } /** @type {?} */ const embeddedViewRef = this.container.createEmbeddedView(template); return (/** * @return {?} */ () => { embeddedViewRef.destroy(); }); } /** * @param {?} slide * @return {?} */ goTo(slide) { if (slide !== undefined) { this.service.navigateAbsolute(slide); } } } PresenterViewComponent.decorators = [ { type: Component, args: [{ selector: 'ngx-present-presenter-view', template: "<div class=\"content\">\n <div class=\"slides\">\n <div class=\"currentSlide\">\n <mat-card>\n <mat-card-content>\n <div class=\"scale\">\n <ngx-present-slide [slide]=\"currentSlide\" [providers]=\"speakerNoteProviders\"></ngx-present-slide>\n </div>\n </mat-card-content>\n </mat-card>\n </div>\n\n <div class=\"preview\">\n <div class=\"preview-1\">\n <mat-card>\n <mat-card-content>\n <div class=\"scale\">\n <ngx-present-slide [slide]=\"preview1\"></ngx-present-slide>\n </div>\n <a class=\"overlay\" (click)=\"goTo(preview1)\"></a>\n </mat-card-content>\n </mat-card>\n </div>\n\n <div class=\"preview-2\">\n <mat-card>\n <mat-card-content>\n <div class=\"scale\">\n <ngx-present-slide [slide]=\"preview2\"></ngx-present-slide>\n </div>\n <a class=\"overlay\" (click)=\"goTo(preview2)\"></a>\n </mat-card-content>\n </mat-card>\n </div>\n </div>\n\n </div>\n\n <div class=\"side-bar\">\n <div class=\"speaker-notes\">\n <div #speakerNotes></div>\n </div>\n </div>\n\n</div>\n", styles: [".content{display:flex;flex-direction:row;padding:1vh}.content .slides{box-sizing:border-box;margin-right:1vh;display:flex;flex-direction:column}.content .slides .currentSlide mat-card{width:65vw;height:65vh;box-sizing:border-box;padding:0}.content .slides .currentSlide mat-card mat-card-content{width:65vw;height:65vh;position:relative;overflow:hidden}.content .slides .currentSlide mat-card mat-card-content>.scale{transform:scale(.651);transform-origin:0 0}.content .slides .currentSlide mat-card mat-card-content>.overlay{position:absolute;top:0;left:0;width:100%;height:100%;z-index:1000}.content .slides .currentSlide mat-card mat-card-content>.overlay:hover{cursor:pointer}.content .slides .preview{margin-top:1vh;display:flex;flex-direction:row}.content .slides .preview-1 mat-card{width:32vw;height:32vh;box-sizing:border-box;padding:0}.content .slides .preview-1 mat-card mat-card-content{width:32vw;height:32vh;position:relative;overflow:hidden}.content .slides .preview-1 mat-card mat-card-content>.scale{transform:scale(.321);transform-origin:0 0}.content .slides .preview-1 mat-card mat-card-content>.overlay{position:absolute;top:0;left:0;width:100%;height:100%;z-index:1000}.content .slides .preview-1 mat-card mat-card-content>.overlay:hover{cursor:pointer}.content .slides .preview-2{margin-left:1vw}.content .slides .preview-2 mat-card{width:32vw;height:32vh;box-sizing:border-box;padding:0}.content .slides .preview-2 mat-card mat-card-content{width:32vw;height:32vh;position:relative;overflow:hidden}.content .slides .preview-2 mat-card mat-card-content>.scale{transform:scale(.321);transform-origin:0 0}.content .slides .preview-2 mat-card mat-card-content>.overlay{position:absolute;top:0;left:0;width:100%;height:100%;z-index:1000}.content .slides .preview-2 mat-card mat-card-content>.overlay:hover{cursor:pointer}.content .side-bar{display:flex;flex-direction:column}.content .side-bar .speaker-notes{flex:1 0 auto}"] }] } ]; /** @nocollapse */ PresenterViewComponent.ctorParameters = () => [ { type: SlideBySlideService } ]; PresenterViewComponent.propDecorators = { currentSlide: [{ type: Input }], preview1: [{ type: Input }], preview2: [{ type: Input }], container: [{ type: ViewChild, args: ['speakerNotes', { read: ViewContainerRef },] }] }; if (false) { /** @type {?} */ PresenterViewComponent.prototype.currentSlide; /** @type {?} */ PresenterViewComponent.prototype.preview1; /** @type {?} */ PresenterViewComponent.prototype.preview2; /** @type {?} */ PresenterViewComponent.prototype.speakerNoteProviders; /** * @type {?} * @private */ PresenterViewComponent.prototype.container; /** * @type {?} * @private */ PresenterViewComponent.prototype.service; } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJlc2VudGVyLXZpZXcuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHcxMWsvbmd4LXByZXNlbnQvIiwic291cmNlcyI6WyJsaWIvcHJlc2VudGVyL3ByZXNlbnRlci12aWV3LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUErQixTQUFTLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0csT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sMENBQTBDLENBQUM7QUFFL0UsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sMENBQTBDLENBQUM7QUFPOUUsTUFBTSxPQUFPLHNCQUFzQjs7OztJQWlCakMsWUFBNkIsT0FBNEI7UUFBNUIsWUFBTyxHQUFQLE9BQU8sQ0FBcUI7UUFQbEQseUJBQW9CLEdBQXFCO1lBQzlDLEVBQUUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUU7U0FDaEQsQ0FBQztJQUswRCxDQUFDOzs7OztJQUU3RCxNQUFNLENBQUMsUUFBMEI7UUFDL0IsSUFBSSxJQUFJLENBQUMsU0FBUyxLQUFLLFNBQVMsRUFBRTtZQUNoQyxNQUFNLElBQUksS0FBSyxDQUFDLGdFQUFnRSxDQUFDLENBQUM7U0FDbkY7O2NBRUssZUFBZSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsa0JBQWtCLENBQUMsUUFBUSxDQUFDO1FBRW5FOzs7UUFBTyxHQUFHLEVBQUU7WUFDVixlQUFlLENBQUMsT0FBTyxFQUFFLENBQUM7UUFDNUIsQ0FBQyxFQUFDO0lBQ0osQ0FBQzs7Ozs7SUFFRCxJQUFJLENBQUMsS0FBd0I7UUFDM0IsSUFBSSxLQUFLLEtBQUssU0FBUyxFQUFFO1lBQ3ZCLElBQUksQ0FBQyxPQUFPLENBQUMsZ0JBQWdCLENBQUMsS0FBSyxDQUFDLENBQUM7U0FDdEM7SUFDSCxDQUFDOzs7WUF4Q0YsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSw0QkFBNEI7Z0JBQ3RDLGd1Q0FBOEM7O2FBRS9DOzs7O1lBUlEsbUJBQW1COzs7MkJBVXpCLEtBQUs7dUJBR0wsS0FBSzt1QkFHTCxLQUFLO3dCQU9MLFNBQVMsU0FBQyxjQUFjLEVBQUUsRUFBRSxJQUFJLEVBQUUsZ0JBQWdCLEVBQUU7Ozs7SUFickQsOENBQ3VDOztJQUV2QywwQ0FDbUM7O0lBRW5DLDBDQUNtQzs7SUFFbkMsc0RBRUU7Ozs7O0lBRUYsMkNBQ2dEOzs7OztJQUVwQyx5Q0FBNkMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBTdGF0aWNQcm92aWRlciwgVGVtcGxhdGVSZWYsIFZpZXdDaGlsZCwgVmlld0NvbnRhaW5lclJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU2xpZGVCeVNsaWRlU2VydmljZSB9IGZyb20gJy4uL3NsaWRlLWJ5LXNsaWRlL3NsaWRlLWJ5LXNsaWRlLnNlcnZpY2UnO1xuaW1wb3J0IHsgU2xpZGUgfSBmcm9tICcuLi9jb3JlL3ByZXNlbnRhdGlvbi50eXBlcyc7XG5pbXBvcnQgeyBTcGVha2VyTm90ZXNUYXJnZXQgfSBmcm9tICcuLi9zcGVha2VyLW5vdGVzL3NwZWFrZXItbm90ZXMuZGlyZWN0aXZlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbmd4LXByZXNlbnQtcHJlc2VudGVyLXZpZXcnLFxuICB0ZW1wbGF0ZVVybDogJy4vcHJlc2VudGVyLXZpZXcuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9wcmVzZW50ZXItdmlldy5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIFByZXNlbnRlclZpZXdDb21wb25lbnQgaW1wbGVtZW50cyBTcGVha2VyTm90ZXNUYXJnZXQge1xuICBASW5wdXQoKVxuICBwdWJsaWMgY3VycmVudFNsaWRlOiBTbGlkZSB8IHVuZGVmaW5lZDtcblxuICBASW5wdXQoKVxuICBwdWJsaWMgcHJldmlldzE6IFNsaWRlIHwgdW5kZWZpbmVkO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBwcmV2aWV3MjogU2xpZGUgfCB1bmRlZmluZWQ7XG5cbiAgcHVibGljIHNwZWFrZXJOb3RlUHJvdmlkZXJzOiBTdGF0aWNQcm92aWRlcltdID0gW1xuICAgIHsgcHJvdmlkZTogU3BlYWtlck5vdGVzVGFyZ2V0LCB1c2VWYWx1ZTogdGhpcyB9XG4gIF07XG5cbiAgQFZpZXdDaGlsZCgnc3BlYWtlck5vdGVzJywgeyByZWFkOiBWaWV3Q29udGFpbmVyUmVmIH0pXG4gIHByaXZhdGUgY29udGFpbmVyOiBWaWV3Q29udGFpbmVyUmVmIHwgdW5kZWZpbmVkO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVhZG9ubHkgc2VydmljZTogU2xpZGVCeVNsaWRlU2VydmljZSkge31cblxuICBhdHRhY2godGVtcGxhdGU6IFRlbXBsYXRlUmVmPGFueT4pIHtcbiAgICBpZiAodGhpcy5jb250YWluZXIgPT09IHVuZGVmaW5lZCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGBDb3VsZG4ndCBmaW5kIGNoaWxkIHNwZWFrZXIgbm90ZXMuIENoZWNrIHRlbXBsYXRlIHRvIGV4cG9zZSBpdGApO1xuICAgIH1cblxuICAgIGNvbnN0IGVtYmVkZGVkVmlld1JlZiA9IHRoaXMuY29udGFpbmVyLmNyZWF0ZUVtYmVkZGVkVmlldyh0ZW1wbGF0ZSk7XG5cbiAgICByZXR1cm4gKCkgPT4ge1xuICAgICAgZW1iZWRkZWRWaWV3UmVmLmRlc3Ryb3koKTtcbiAgICB9O1xuICB9XG5cbiAgZ29UbyhzbGlkZTogU2xpZGUgfCB1bmRlZmluZWQpIHtcbiAgICBpZiAoc2xpZGUgIT09IHVuZGVmaW5lZCkge1xuICAgICAgdGhpcy5zZXJ2aWNlLm5hdmlnYXRlQWJzb2x1dGUoc2xpZGUpO1xuICAgIH1cbiAgfVxufVxuIl19