ngx-extended-pdf-viewer
Version:
Embedding PDF files in your Angular application. Highly configurable viewer including the toolbar, sidebar, and all the features you're used to.
131 lines • 9.95 kB
JavaScript
/**
* @fileoverview added by tsickle
* Generated from: lib/toolbar/pdf-zoom-toolbar/pdf-zoom-dropdown/pdf-zoom-dropdown.component.ts
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
import { Component, ViewChild, Input } from '@angular/core';
/**
* @record
*/
function ZoomLevel() { }
if (false) {
/** @type {?} */
ZoomLevel.prototype.id;
/** @type {?} */
ZoomLevel.prototype.dataL10nId;
/** @type {?} */
ZoomLevel.prototype.dataL10nArgs;
/** @type {?} */
ZoomLevel.prototype.value;
/** @type {?} */
ZoomLevel.prototype.displayValue;
}
var PdfZoomDropdownComponent = /** @class */ (function () {
function PdfZoomDropdownComponent() {
this._zoomLevels = [];
}
Object.defineProperty(PdfZoomDropdownComponent.prototype, "zoomLevels", {
// ['auto', 'page-actual', 'page-fit', 'page-width', 0.5, 0.75, 1, 1.25, 1.5, 2, 3, 4];
set:
// ['auto', 'page-actual', 'page-fit', 'page-width', 0.5, 0.75, 1, 1.25, 1.5, 2, 3, 4];
/**
* @param {?} levels
* @return {?}
*/
function (levels) {
var _this = this;
this._zoomLevels = levels.map((/**
* @param {?} l
* @return {?}
*/
function (l) { return _this.valueToZoomLevel(l); }));
},
enumerable: true,
configurable: true
});
/**
* @return {?}
*/
PdfZoomDropdownComponent.prototype.ngOnInit = /**
* @return {?}
*/
function () { };
/**
* @private
* @param {?} value
* @return {?}
*/
PdfZoomDropdownComponent.prototype.valueToZoomLevel = /**
* @private
* @param {?} value
* @return {?}
*/
function (value) {
if (value.toString().endsWith('%')) {
value = value.toString().replace('%', '');
value = Number(value) / 100;
}
/** @type {?} */
var numericalValue = Number(value);
if (!numericalValue) {
/** @type {?} */
var v = String(value);
return {
id: this.snakeToCamel(value + 'Option'),
value: v,
dataL10nId: 'page_scale_' + v.replace('page-', ''),
dataL10nArgs: undefined,
displayValue: v,
};
}
/** @type {?} */
var percentage = Math.round(numericalValue * 100);
return {
id: "scale_" + percentage,
value: String(numericalValue),
dataL10nId: 'page_scale_percent',
dataL10nArgs: "{ \"scale\": " + percentage + " }",
displayValue: String(percentage) + '%',
};
};
/**
* @private
* @param {?} str
* @return {?}
*/
PdfZoomDropdownComponent.prototype.snakeToCamel = /**
* @private
* @param {?} str
* @return {?}
*/
function (str) {
// idea found here: https://hisk.io/javascript-snake-to-camel/
return str.replace(/([-_][a-z])/g, (/**
* @param {?} group
* @return {?}
*/
function (group) { return group.toUpperCase().replace('-', '').replace('_', ''); }));
};
PdfZoomDropdownComponent.decorators = [
{ type: Component, args: [{
selector: 'pdf-zoom-dropdown',
template: "<span id=\"scaleSelectContainer\" class=\"dropdownToolbarButton\">\n <select\n id=\"scaleSelect\"\n title=\"Zoom\"\n data-l10n-id=\"zoom\"\n #sizeSelector\n >\n <option *ngFor=\"let level of _zoomLevels\"\n [id]=\"level.id\"\n [attr.value]=\"level.value\"\n [attr.data-l10n-id]=\"level.dataL10nId\"\n [attr.data-l10n-args]=\"level.dataL10nArgs\">\n {{level.displayValue}}\n </option>\n <option\n id=\"customScaleOption\"\n title=\"\"\n value=\"custom\"\n disabled=\"disabled\"\n hidden=\"true\"\n ></option>\n\n </select>\n</span>\n",
styles: [".dropdownToolbarButton{display:table-cell;-webkit-appearance:none;width:150px;max-width:150px}.dropdownToolbarButton>select{width:170px}@media screen and (-webkit-min-device-pixel-ratio:1.1),screen and (min-resolution:1.1dppx){.dropdownToolbarButton::after{top:-1px}}"]
}] }
];
/** @nocollapse */
PdfZoomDropdownComponent.ctorParameters = function () { return []; };
PdfZoomDropdownComponent.propDecorators = {
zoomLevels: [{ type: Input }],
sizeSelector: [{ type: ViewChild, args: ['sizeSelector',] }]
};
return PdfZoomDropdownComponent;
}());
export { PdfZoomDropdownComponent };
if (false) {
/** @type {?} */
PdfZoomDropdownComponent.prototype._zoomLevels;
/** @type {?} */
PdfZoomDropdownComponent.prototype.sizeSelector;
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGRmLXpvb20tZHJvcGRvd24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vbmd4LWV4dGVuZGVkLXBkZi12aWV3ZXIvIiwic291cmNlcyI6WyJsaWIvdG9vbGJhci9wZGYtem9vbS10b29sYmFyL3BkZi16b29tLWRyb3Bkb3duL3BkZi16b29tLWRyb3Bkb3duLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsU0FBUyxFQUF3QixLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7Ozs7QUFFMUYsd0JBTUM7OztJQUxDLHVCQUFXOztJQUNYLCtCQUFtQjs7SUFDbkIsaUNBQWlDOztJQUNqQywwQkFBYzs7SUFDZCxpQ0FBcUI7O0FBRXZCO0lBZ0JFO1FBVk8sZ0JBQVcsR0FBcUIsRUFBRSxDQUFDO0lBVTNCLENBQUM7SUFQaEIsc0JBQ1csZ0RBQVU7UUFIckIsdUZBQXVGOzs7Ozs7O1FBRXZGLFVBQ3NCLE1BQThCO1lBRHBELGlCQUdDO1lBREMsSUFBSSxDQUFDLFdBQVcsR0FBRyxNQUFNLENBQUMsR0FBRzs7OztZQUFDLFVBQUMsQ0FBQyxJQUFLLE9BQUEsS0FBSSxDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxFQUF4QixDQUF3QixFQUFDLENBQUM7UUFDakUsQ0FBQzs7O09BQUE7Ozs7SUFNRCwyQ0FBUTs7O0lBQVIsY0FBWSxDQUFDOzs7Ozs7SUFFTCxtREFBZ0I7Ozs7O0lBQXhCLFVBQXlCLEtBQXNCO1FBQzdDLElBQUksS0FBSyxDQUFDLFFBQVEsRUFBRSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsRUFBRTtZQUNsQyxLQUFLLEdBQUcsS0FBSyxDQUFDLFFBQVEsRUFBRSxDQUFDLE9BQU8sQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLENBQUM7WUFDMUMsS0FBSyxHQUFHLE1BQU0sQ0FBQyxLQUFLLENBQUMsR0FBRyxHQUFHLENBQUM7U0FDN0I7O1lBQ0ssY0FBYyxHQUFHLE1BQU0sQ0FBQyxLQUFLLENBQUM7UUFDcEMsSUFBSSxDQUFDLGNBQWMsRUFBRTs7Z0JBQ2IsQ0FBQyxHQUFHLE1BQU0sQ0FBQyxLQUFLLENBQUM7WUFDdkIsT0FBTztnQkFDTCxFQUFFLEVBQUUsSUFBSSxDQUFDLFlBQVksQ0FBQyxLQUFLLEdBQUcsUUFBUSxDQUFDO2dCQUN2QyxLQUFLLEVBQUUsQ0FBQztnQkFDUixVQUFVLEVBQUUsYUFBYSxHQUFHLENBQUMsQ0FBQyxPQUFPLENBQUMsT0FBTyxFQUFFLEVBQUUsQ0FBQztnQkFDbEQsWUFBWSxFQUFFLFNBQVM7Z0JBQ3ZCLFlBQVksRUFBRSxDQUFDO2FBQ2hCLENBQUM7U0FDSDs7WUFDSyxVQUFVLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxjQUFjLEdBQUcsR0FBRyxDQUFDO1FBQ25ELE9BQU87WUFDTCxFQUFFLEVBQUUsV0FBUyxVQUFZO1lBQ3pCLEtBQUssRUFBRSxNQUFNLENBQUMsY0FBYyxDQUFDO1lBQzdCLFVBQVUsRUFBRSxvQkFBb0I7WUFDaEMsWUFBWSxFQUFFLGtCQUFjLFVBQVUsT0FBSTtZQUMxQyxZQUFZLEVBQUUsTUFBTSxDQUFDLFVBQVUsQ0FBQyxHQUFHLEdBQUc7U0FDdkMsQ0FBQztJQUNKLENBQUM7Ozs7OztJQUVPLCtDQUFZOzs7OztJQUFwQixVQUFxQixHQUFXO1FBQzlCLDhEQUE4RDtRQUM5RCxPQUFPLEdBQUcsQ0FBQyxPQUFPLENBQUMsY0FBYzs7OztRQUFFLFVBQUMsS0FBSyxJQUFLLE9BQUEsS0FBSyxDQUFDLFdBQVcsRUFBRSxDQUFDLE9BQU8sQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLENBQUMsT0FBTyxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsRUFBckQsQ0FBcUQsRUFBQyxDQUFDO0lBQ3ZHLENBQUM7O2dCQWpERixTQUFTLFNBQUM7b0JBQ1QsUUFBUSxFQUFFLG1CQUFtQjtvQkFDN0IsaW1CQUFpRDs7aUJBRWxEOzs7Ozs2QkFLRSxLQUFLOytCQUtMLFNBQVMsU0FBQyxjQUFjOztJQW9DM0IsK0JBQUM7Q0FBQSxBQWxERCxJQWtEQztTQTdDWSx3QkFBd0I7OztJQUNuQywrQ0FBMEM7O0lBUTFDLGdEQUE2QyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0LCBWaWV3Q2hpbGQsIE91dHB1dCwgRXZlbnRFbWl0dGVyLCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbnRlcmZhY2UgWm9vbUxldmVsIHtcbiAgaWQ6IHN0cmluZztcbiAgZGF0YUwxMG5JZDogc3RyaW5nO1xuICBkYXRhTDEwbkFyZ3M6IHN0cmluZyB8IHVuZGVmaW5lZDtcbiAgdmFsdWU6IHN0cmluZztcbiAgZGlzcGxheVZhbHVlOiBzdHJpbmc7XG59XG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdwZGYtem9vbS1kcm9wZG93bicsXG4gIHRlbXBsYXRlVXJsOiAnLi9wZGYtem9vbS1kcm9wZG93bi5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3BkZi16b29tLWRyb3Bkb3duLmNvbXBvbmVudC5jc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgUGRmWm9vbURyb3Bkb3duQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgcHVibGljIF96b29tTGV2ZWxzOiBBcnJheTxab29tTGV2ZWw+ID0gW107XG4gIC8vIFsnYXV0bycsICdwYWdlLWFjdHVhbCcsICdwYWdlLWZpdCcsICdwYWdlLXdpZHRoJywgMC41LCAwLjc1LCAxLCAxLjI1LCAxLjUsIDIsIDMsIDRdO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzZXQgem9vbUxldmVscyhsZXZlbHM6IEFycmF5PHN0cmluZyB8IG51bWJlcj4pIHtcbiAgICB0aGlzLl96b29tTGV2ZWxzID0gbGV2ZWxzLm1hcCgobCkgPT4gdGhpcy52YWx1ZVRvWm9vbUxldmVsKGwpKTtcbiAgfVxuXG4gIEBWaWV3Q2hpbGQoJ3NpemVTZWxlY3RvcicpIHNpemVTZWxlY3RvcjogYW55O1xuXG4gIGNvbnN0cnVjdG9yKCkge31cblxuICBuZ09uSW5pdCgpIHt9XG5cbiAgcHJpdmF0ZSB2YWx1ZVRvWm9vbUxldmVsKHZhbHVlOiBzdHJpbmcgfCBudW1iZXIpOiBab29tTGV2ZWwge1xuICAgIGlmICh2YWx1ZS50b1N0cmluZygpLmVuZHNXaXRoKCclJykpIHtcbiAgICAgIHZhbHVlID0gdmFsdWUudG9TdHJpbmcoKS5yZXBsYWNlKCclJywgJycpO1xuICAgICAgdmFsdWUgPSBOdW1iZXIodmFsdWUpIC8gMTAwO1xuICAgIH1cbiAgICBjb25zdCBudW1lcmljYWxWYWx1ZSA9IE51bWJlcih2YWx1ZSk7XG4gICAgaWYgKCFudW1lcmljYWxWYWx1ZSkge1xuICAgICAgY29uc3QgdiA9IFN0cmluZyh2YWx1ZSk7XG4gICAgICByZXR1cm4ge1xuICAgICAgICBpZDogdGhpcy5zbmFrZVRvQ2FtZWwodmFsdWUgKyAnT3B0aW9uJyksXG4gICAgICAgIHZhbHVlOiB2LFxuICAgICAgICBkYXRhTDEwbklkOiAncGFnZV9zY2FsZV8nICsgdi5yZXBsYWNlKCdwYWdlLScsICcnKSxcbiAgICAgICAgZGF0YUwxMG5BcmdzOiB1bmRlZmluZWQsXG4gICAgICAgIGRpc3BsYXlWYWx1ZTogdixcbiAgICAgIH07XG4gICAgfVxuICAgIGNvbnN0IHBlcmNlbnRhZ2UgPSBNYXRoLnJvdW5kKG51bWVyaWNhbFZhbHVlICogMTAwKTtcbiAgICByZXR1cm4ge1xuICAgICAgaWQ6IGBzY2FsZV8ke3BlcmNlbnRhZ2V9YCxcbiAgICAgIHZhbHVlOiBTdHJpbmcobnVtZXJpY2FsVmFsdWUpLFxuICAgICAgZGF0YUwxMG5JZDogJ3BhZ2Vfc2NhbGVfcGVyY2VudCcsXG4gICAgICBkYXRhTDEwbkFyZ3M6IGB7IFwic2NhbGVcIjogJHtwZXJjZW50YWdlfSB9YCxcbiAgICAgIGRpc3BsYXlWYWx1ZTogU3RyaW5nKHBlcmNlbnRhZ2UpICsgJyUnLFxuICAgIH07XG4gIH1cblxuICBwcml2YXRlIHNuYWtlVG9DYW1lbChzdHI6IHN0cmluZykge1xuICAgIC8vIGlkZWEgZm91bmQgaGVyZTogaHR0cHM6Ly9oaXNrLmlvL2phdmFzY3JpcHQtc25ha2UtdG8tY2FtZWwvXG4gICAgcmV0dXJuIHN0ci5yZXBsYWNlKC8oWy1fXVthLXpdKS9nLCAoZ3JvdXApID0+IGdyb3VwLnRvVXBwZXJDYXNlKCkucmVwbGFjZSgnLScsICcnKS5yZXBsYWNlKCdfJywgJycpKTtcbiAgfVxufVxuIl19