diff --git a/dist/libs/common-components/bundles/groupdocs.examples.angular-common-components.umd.js b/dist/libs/common-components/bundles/groupdocs.examples.angular-common-components.umd.js index 0b9074790..fd6bbc162 100644 --- a/dist/libs/common-components/bundles/groupdocs.examples.angular-common-components.umd.js +++ b/dist/libs/common-components/bundles/groupdocs.examples.angular-common-components.umd.js @@ -201,8246 +201,8247 @@ return (mod && mod.__esModule) ? mod : { default: mod }; } - /** - * @fileoverview added by tsickle - * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc - */ - var TopToolbarComponent = /** @class */ (function () { - function TopToolbarComponent() { - } - TopToolbarComponent.decorators = [ - { type: core.Component, args: [{ - selector: 'gd-top-toolbar', - template: "
\n
\n \n
\n
\n", - styles: [".top-toolbar{width:100%;height:60px;z-index:999;display:-webkit-box;display:flex;-webkit-box-align:center;align-items:center}.tools{width:100%;height:100%;display:-webkit-box;display:flex;-webkit-box-align:center;align-items:center}@media (max-width:1037px){.top-toolbar{height:60px}.tools{height:100%;overflow-x:auto;overflow-scrolling:touch;display:-webkit-box;display:flex;-webkit-box-align:center;align-items:center;-webkit-transition:.3s ease-in-out;transition:.3s ease-in-out;scroll-behavior:smooth;-webkit-overflow-scrolling:touch}.tools::-webkit-scrollbar{width:0;height:0;background-color:#3e4e5a}}"] - }] } - ]; - /** @nocollapse */ - TopToolbarComponent.ctorParameters = function () { return []; }; - return TopToolbarComponent; + /** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ + var TopToolbarComponent = /** @class */ (function () { + function TopToolbarComponent() { + } + TopToolbarComponent.decorators = [ + { type: core.Component, args: [{ + selector: 'gd-top-toolbar', + template: "
\r\n
\r\n \r\n
\r\n
\r\n", + styles: [".top-toolbar{width:100%;height:60px;z-index:999;display:-webkit-box;display:flex;-webkit-box-align:center;align-items:center}.tools{width:100%;height:100%;display:-webkit-box;display:flex;-webkit-box-align:center;align-items:center}@media (max-width:1037px){.top-toolbar{height:60px}.tools{height:100%;overflow-x:auto;overflow-scrolling:touch;display:-webkit-box;display:flex;-webkit-box-align:center;align-items:center;-webkit-transition:.3s ease-in-out;transition:.3s ease-in-out;scroll-behavior:smooth;-webkit-overflow-scrolling:touch}.tools::-webkit-scrollbar{width:0;height:0;background-color:#3e4e5a}}"] + }] } + ]; + /** @nocollapse */ + TopToolbarComponent.ctorParameters = function () { return []; }; + return TopToolbarComponent; }()); - /** - * @fileoverview added by tsickle - * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc - */ - var SidePanelComponent = /** @class */ (function () { - function SidePanelComponent() { - this.closable = true; - this.saveable = true; - this.hideSidePanel = new core.EventEmitter(); - this.saveInSidePanel = new core.EventEmitter(); - this.onlyTitle = false; - } - /** - * @return {?} - */ - SidePanelComponent.prototype.closeSidePanel = /** - * @return {?} - */ - function () { - this.hideSidePanel.emit(true); - }; - /** - * @return {?} - */ - SidePanelComponent.prototype.saveBySidePanel = /** - * @return {?} - */ - function () { - this.saveInSidePanel.emit(true); - }; - /** - * @return {?} - */ - SidePanelComponent.prototype.toggleTitleMode = /** - * @return {?} - */ - function () { - if (this.closable && !this.saveable) { - this.onlyTitle = !this.onlyTitle; - } - }; - SidePanelComponent.decorators = [ - { type: core.Component, args: [{ - selector: 'gd-side-panel', - template: "
\n
\n \n
{{title}}
\n
\n \n
\n
\n \n
\n
\n
\n \n
\n
\n", - styles: [".gd-side-panel-wrapper{margin-right:0;width:334px;z-index:999;background-color:#fff;-webkit-transition:margin-right .2s;transition:margin-right .2s;display:-webkit-box;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-flow:column;height:100vh}.gd-side-panel-wrapper .gd-side-panel-header{height:60px;background-color:#222e35;display:-webkit-box;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;flex-direction:row;flex-wrap:nowrap}.gd-side-panel-wrapper .gd-side-panel-header .icon{font-size:24px;color:#959da5;margin:18px;line-height:24px}.gd-side-panel-wrapper .gd-side-panel-header .title{font-size:13px;font-weight:700;color:#edf0f2;opacity:.57;margin-top:20px;width:100%}.gd-side-panel-wrapper .gd-side-panel-header .close,.gd-side-panel-wrapper .gd-side-panel-header .save{display:-webkit-box;display:flex;-webkit-box-align:center;align-items:center}.gd-side-panel-wrapper .gd-side-panel-header ::ng-deep gd-button .text{padding:0}.gd-side-panel-wrapper .gd-side-panel-body{display:-webkit-box;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-flow:column;overflow:visible;overflow-y:auto;overflow-x:hidden;height:100%}@media (max-width:1037px){.gd-side-panel-wrapper{width:100%;position:absolute;left:0;right:0;top:0;bottom:0}.gd-side-panel-wrapper.only-title{height:60px!important}}"] - }] } - ]; - /** @nocollapse */ - SidePanelComponent.ctorParameters = function () { return []; }; - SidePanelComponent.propDecorators = { - title: [{ type: core.Input }], - icon: [{ type: core.Input }], - closable: [{ type: core.Input }], - saveable: [{ type: core.Input }], - hideSidePanel: [{ type: core.Output }], - saveInSidePanel: [{ type: core.Output }] - }; - return SidePanelComponent; - }()); - if (false) { - /** @type {?} */ - SidePanelComponent.prototype.title; - /** @type {?} */ - SidePanelComponent.prototype.icon; - /** @type {?} */ - SidePanelComponent.prototype.closable; - /** @type {?} */ - SidePanelComponent.prototype.saveable; - /** @type {?} */ - SidePanelComponent.prototype.hideSidePanel; - /** @type {?} */ - SidePanelComponent.prototype.saveInSidePanel; - /** @type {?} */ - SidePanelComponent.prototype.onlyTitle; + /** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ + var SidePanelComponent = /** @class */ (function () { + function SidePanelComponent() { + this.closable = true; + this.saveable = true; + this.hideSidePanel = new core.EventEmitter(); + this.saveInSidePanel = new core.EventEmitter(); + this.onlyTitle = false; + } + /** + * @return {?} + */ + SidePanelComponent.prototype.closeSidePanel = /** + * @return {?} + */ + function () { + this.hideSidePanel.emit(true); + }; + /** + * @return {?} + */ + SidePanelComponent.prototype.saveBySidePanel = /** + * @return {?} + */ + function () { + this.saveInSidePanel.emit(true); + }; + /** + * @return {?} + */ + SidePanelComponent.prototype.toggleTitleMode = /** + * @return {?} + */ + function () { + if (this.closable && !this.saveable) { + this.onlyTitle = !this.onlyTitle; + } + }; + SidePanelComponent.decorators = [ + { type: core.Component, args: [{ + selector: 'gd-side-panel', + template: "
\r\n
\r\n \r\n
{{title}}
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n", + styles: [".gd-side-panel-wrapper{margin-right:0;width:334px;z-index:999;background-color:#fff;-webkit-transition:margin-right .2s;transition:margin-right .2s;display:-webkit-box;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-flow:column;height:100vh}.gd-side-panel-wrapper .gd-side-panel-header{height:60px;background-color:#222e35;display:-webkit-box;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;flex-direction:row;flex-wrap:nowrap}.gd-side-panel-wrapper .gd-side-panel-header .icon{font-size:24px;color:#959da5;margin:18px;line-height:24px}.gd-side-panel-wrapper .gd-side-panel-header .title{font-size:13px;font-weight:700;color:#edf0f2;opacity:.57;margin-top:20px;width:100%}.gd-side-panel-wrapper .gd-side-panel-header .close,.gd-side-panel-wrapper .gd-side-panel-header .save{display:-webkit-box;display:flex;-webkit-box-align:center;align-items:center}.gd-side-panel-wrapper .gd-side-panel-header ::ng-deep gd-button .text{padding:0}.gd-side-panel-wrapper .gd-side-panel-body{display:-webkit-box;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-flow:column;overflow:visible;overflow-y:auto;overflow-x:hidden;height:100%}@media (max-width:1037px){.gd-side-panel-wrapper{width:100%;position:absolute;left:0;right:0;top:0;bottom:0}.gd-side-panel-wrapper.only-title{height:60px!important}}"] + }] } + ]; + /** @nocollapse */ + SidePanelComponent.ctorParameters = function () { return []; }; + SidePanelComponent.propDecorators = { + title: [{ type: core.Input }], + icon: [{ type: core.Input }], + closable: [{ type: core.Input }], + saveable: [{ type: core.Input }], + hideSidePanel: [{ type: core.Output }], + saveInSidePanel: [{ type: core.Output }] + }; + return SidePanelComponent; + }()); + if (false) { + /** @type {?} */ + SidePanelComponent.prototype.title; + /** @type {?} */ + SidePanelComponent.prototype.icon; + /** @type {?} */ + SidePanelComponent.prototype.closable; + /** @type {?} */ + SidePanelComponent.prototype.saveable; + /** @type {?} */ + SidePanelComponent.prototype.hideSidePanel; + /** @type {?} */ + SidePanelComponent.prototype.saveInSidePanel; + /** @type {?} */ + SidePanelComponent.prototype.onlyTitle; } - /** - * @fileoverview added by tsickle - * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc - */ - /** @type {?} */ - var MOBILE_MAX_WIDTH = 425; - /** @type {?} */ - var TABLET_MAX_WIDTH = 1024; - var WindowService = /** @class */ (function () { - function WindowService() { - var _this = this; - this.resizeSubject = new rxjs.Subject(); - this.width = window.innerWidth; - this.height = window.innerHeight; - this._resize$ = rxjs.fromEvent(window, 'resize') - .pipe(operators.debounceTime(200), operators.distinctUntilChanged(), operators.startWith({ target: { innerWidth: window.innerWidth, innerHeight: window.innerHeight } }), operators.tap((/** - * @param {?} event - * @return {?} - */ - function (event) { - _this.resizeSubject.next((/** @type {?} */ (event.target))); - _this.width = ((/** @type {?} */ (event.target))).innerWidth; - _this.height = ((/** @type {?} */ (event.target))).innerHeight; - }))); - this._resize$.subscribe(); - } - Object.defineProperty(WindowService.prototype, "onResize", { - get: /** - * @return {?} - */ - function () { - return this.resizeSubject.asObservable(); - }, - enumerable: true, - configurable: true - }); - /** - * @return {?} - */ - WindowService.prototype.isMobile = /** - * @return {?} - */ - function () { - return this.width <= MOBILE_MAX_WIDTH; - }; - /** - * @return {?} - */ - WindowService.prototype.isTablet = /** - * @return {?} - */ - function () { - return this.width <= TABLET_MAX_WIDTH; - }; - /** - * @return {?} - */ - WindowService.prototype.isDesktop = /** - * @return {?} - */ - function () { - return !this.isMobile() && !this.isTablet(); - }; - /** - * @return {?} - */ - WindowService.prototype.getWidth = /** - * @return {?} - */ - function () { - return this.width; - }; - /** - * @return {?} - */ - WindowService.prototype.getHeight = /** - * @return {?} - */ - function () { - return this.height; - }; - /** - * @return {?} - */ - WindowService.prototype.isEdge = /** - * @return {?} - */ - function () { - return window.navigator.userAgent.toLowerCase().indexOf('edge') > -1; - }; - /** - * @return {?} - */ - WindowService.prototype.isFirefox = /** - * @return {?} - */ - function () { - return navigator.userAgent.toLowerCase().indexOf('firefox') > -1; - }; - return WindowService; - }()); - if (false) { - /** - * @type {?} - * @private - */ - WindowService.prototype.resizeSubject; - /** - * @type {?} - * @private - */ - WindowService.prototype._resize$; - /** - * @type {?} - * @private - */ - WindowService.prototype.width; - /** - * @type {?} - * @private - */ - WindowService.prototype.height; + /** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ + /** @type {?} */ + var MOBILE_MAX_WIDTH = 425; + /** @type {?} */ + var TABLET_MAX_WIDTH = 1024; + var WindowService = /** @class */ (function () { + function WindowService() { + var _this = this; + this.resizeSubject = new rxjs.Subject(); + this.width = window.innerWidth; + this.height = window.innerHeight; + this._resize$ = rxjs.fromEvent(window, 'resize') + .pipe(operators.debounceTime(200), operators.distinctUntilChanged(), operators.startWith({ target: { innerWidth: window.innerWidth, innerHeight: window.innerHeight } }), operators.tap((/** + * @param {?} event + * @return {?} + */ + function (event) { + _this.resizeSubject.next((/** @type {?} */ (event.target))); + _this.width = ((/** @type {?} */ (event.target))).innerWidth; + _this.height = ((/** @type {?} */ (event.target))).innerHeight; + }))); + this._resize$.subscribe(); + } + Object.defineProperty(WindowService.prototype, "onResize", { + get: /** + * @return {?} + */ + function () { + return this.resizeSubject.asObservable(); + }, + enumerable: true, + configurable: true + }); + /** + * @return {?} + */ + WindowService.prototype.isMobile = /** + * @return {?} + */ + function () { + return this.width <= MOBILE_MAX_WIDTH; + }; + /** + * @return {?} + */ + WindowService.prototype.isTablet = /** + * @return {?} + */ + function () { + return this.width <= TABLET_MAX_WIDTH; + }; + /** + * @return {?} + */ + WindowService.prototype.isDesktop = /** + * @return {?} + */ + function () { + return !this.isMobile() && !this.isTablet(); + }; + /** + * @return {?} + */ + WindowService.prototype.getWidth = /** + * @return {?} + */ + function () { + return this.width; + }; + /** + * @return {?} + */ + WindowService.prototype.getHeight = /** + * @return {?} + */ + function () { + return this.height; + }; + /** + * @return {?} + */ + WindowService.prototype.isEdge = /** + * @return {?} + */ + function () { + return window.navigator.userAgent.toLowerCase().indexOf('edge') > -1; + }; + /** + * @return {?} + */ + WindowService.prototype.isFirefox = /** + * @return {?} + */ + function () { + return navigator.userAgent.toLowerCase().indexOf('firefox') > -1; + }; + return WindowService; + }()); + if (false) { + /** + * @type {?} + * @private + */ + WindowService.prototype.resizeSubject; + /** + * @type {?} + * @private + */ + WindowService.prototype._resize$; + /** + * @type {?} + * @private + */ + WindowService.prototype.width; + /** + * @type {?} + * @private + */ + WindowService.prototype.height; } - /** - * @fileoverview added by tsickle - * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc - */ - var ButtonComponent = /** @class */ (function () { - function ButtonComponent(windowService) { - var _this = this; - this.iconOnly = true; - this.intent = 'default'; - this.disabled = false; - this.toggle = false; - this.iconRegular = false; - this.elementPosition = 0; - this.showToolTip = false; - this.isDesktop = windowService.isDesktop(); - windowService.onResize.subscribe((/** - * @param {?} w - * @return {?} - */ - function (w) { - _this.isDesktop = windowService.isDesktop(); - })); - } - /** - * @return {?} - */ - ButtonComponent.prototype.iconButtonClass = /** - * @return {?} - */ - function () { - return this.iconOnly ? 'icon-button' : ''; - }; - /** - * @return {?} - */ - ButtonComponent.prototype.onHovering = /** - * @return {?} - */ - function () { - if (this.isDesktop && !this.disabled) { - this.className += ' active'; - } - }; - /** - * @return {?} - */ - ButtonComponent.prototype.onUnhovering = /** - * @return {?} - */ - function () { - if (this.isDesktop && !this.disabled) { - this.className = this.cleanAll(this.className, ' active'); - } - }; - /** - * @private - * @param {?} str - * @param {?} val - * @return {?} - */ - ButtonComponent.prototype.cleanAll = /** - * @private - * @param {?} str - * @param {?} val - * @return {?} - */ - function (str, val) { - while (str && str.indexOf(val) !== -1) { - str = str.replace(val, ''); - } - return str; - }; - ButtonComponent.decorators = [ - { type: core.Component, args: [{ - selector: 'gd-button', - template: "
\n \n \n
\n \n
\n
\n", - styles: [".icon-button{padding:0!important;margin:0 7px}.button{padding:0 10px;font-size:14px;color:#959da5;cursor:pointer;display:-webkit-box;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column;-webkit-box-align:center;align-items:center;align-content:center;-webkit-box-pack:center;justify-content:center;min-width:37px;height:37px;text-align:center;position:relative;white-space:nowrap}.button.inactive{cursor:not-allowed;opacity:.4}.button.active *{color:#ccd0d4}.button.primary{background-color:#3e4e5a;color:#fff}.button.primary.active{color:#fff;background-color:#688296}.button.brand{background-color:#25c2d4;color:#fff}.button.brand.active{color:#fff;background-color:#688296}.button .text{font-size:13px;padding-left:10px}.button .button-tooltip{display:-webkit-box;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column}@media (max-width:1037px){.button{font-size:22px}.arrow-button{margin:5px}}"] - }] } - ]; - /** @nocollapse */ - ButtonComponent.ctorParameters = function () { return [ - { type: WindowService } - ]; }; - ButtonComponent.propDecorators = { - iconOnly: [{ type: core.Input }], - intent: [{ type: core.Input }], - disabled: [{ type: core.Input }], - icon: [{ type: core.Input }], - iconClass: [{ type: core.Input }], - tooltip: [{ type: core.Input }], - className: [{ type: core.Input }], - toggle: [{ type: core.Input }], - iconSize: [{ type: core.Input }], - iconRegular: [{ type: core.Input }], - elementPosition: [{ type: core.Input }] - }; - return ButtonComponent; - }()); - if (false) { - /** @type {?} */ - ButtonComponent.prototype.iconOnly; - /** @type {?} */ - ButtonComponent.prototype.intent; - /** @type {?} */ - ButtonComponent.prototype.disabled; - /** @type {?} */ - ButtonComponent.prototype.icon; - /** @type {?} */ - ButtonComponent.prototype.iconClass; - /** @type {?} */ - ButtonComponent.prototype.tooltip; - /** @type {?} */ - ButtonComponent.prototype.className; - /** @type {?} */ - ButtonComponent.prototype.toggle; - /** @type {?} */ - ButtonComponent.prototype.iconSize; - /** @type {?} */ - ButtonComponent.prototype.iconRegular; - /** @type {?} */ - ButtonComponent.prototype.elementPosition; - /** @type {?} */ - ButtonComponent.prototype.showToolTip; - /** - * @type {?} - * @private - */ - ButtonComponent.prototype.isDesktop; + /** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ + var ButtonComponent = /** @class */ (function () { + function ButtonComponent(windowService) { + var _this = this; + this.iconOnly = true; + this.intent = 'default'; + this.disabled = false; + this.toggle = false; + this.iconRegular = false; + this.elementPosition = 0; + this.showToolTip = false; + this.isDesktop = windowService.isDesktop(); + windowService.onResize.subscribe((/** + * @param {?} w + * @return {?} + */ + function (w) { + _this.isDesktop = windowService.isDesktop(); + })); + } + /** + * @return {?} + */ + ButtonComponent.prototype.iconButtonClass = /** + * @return {?} + */ + function () { + return this.iconOnly ? 'icon-button' : ''; + }; + /** + * @return {?} + */ + ButtonComponent.prototype.onHovering = /** + * @return {?} + */ + function () { + if (this.isDesktop && !this.disabled) { + this.className += ' active'; + } + }; + /** + * @return {?} + */ + ButtonComponent.prototype.onUnhovering = /** + * @return {?} + */ + function () { + if (this.isDesktop && !this.disabled) { + this.className = this.cleanAll(this.className, ' active'); + } + }; + /** + * @private + * @param {?} str + * @param {?} val + * @return {?} + */ + ButtonComponent.prototype.cleanAll = /** + * @private + * @param {?} str + * @param {?} val + * @return {?} + */ + function (str, val) { + while (str && str.indexOf(val) !== -1) { + str = str.replace(val, ''); + } + return str; + }; + ButtonComponent.decorators = [ + { type: core.Component, args: [{ + selector: 'gd-button', + template: "
\r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n", + styles: [".icon-button{padding:0!important;margin:0 7px}.button{padding:0 10px;font-size:14px;color:#959da5;cursor:pointer;display:-webkit-box;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column;-webkit-box-align:center;align-items:center;align-content:center;-webkit-box-pack:center;justify-content:center;min-width:37px;height:37px;text-align:center;position:relative;white-space:nowrap}.button.inactive{cursor:not-allowed;opacity:.4}.button.active *{color:#ccd0d4}.button.primary{background-color:#3e4e5a;color:#fff}.button.primary.active{color:#fff;background-color:#688296}.button.brand{background-color:#25c2d4;color:#fff}.button.brand.active{color:#fff;background-color:#688296}.button .text{font-size:13px;padding-left:10px}.button .button-tooltip{display:-webkit-box;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column}@media (max-width:1037px){.button{font-size:22px}.arrow-button{margin:5px}}"] + }] } + ]; + /** @nocollapse */ + ButtonComponent.ctorParameters = function () { return [ + { type: WindowService } + ]; }; + ButtonComponent.propDecorators = { + iconOnly: [{ type: core.Input }], + intent: [{ type: core.Input }], + disabled: [{ type: core.Input }], + icon: [{ type: core.Input }], + iconClass: [{ type: core.Input }], + tooltip: [{ type: core.Input }], + className: [{ type: core.Input }], + toggle: [{ type: core.Input }], + iconSize: [{ type: core.Input }], + iconRegular: [{ type: core.Input }], + elementPosition: [{ type: core.Input }] + }; + return ButtonComponent; + }()); + if (false) { + /** @type {?} */ + ButtonComponent.prototype.iconOnly; + /** @type {?} */ + ButtonComponent.prototype.intent; + /** @type {?} */ + ButtonComponent.prototype.disabled; + /** @type {?} */ + ButtonComponent.prototype.icon; + /** @type {?} */ + ButtonComponent.prototype.iconClass; + /** @type {?} */ + ButtonComponent.prototype.tooltip; + /** @type {?} */ + ButtonComponent.prototype.className; + /** @type {?} */ + ButtonComponent.prototype.toggle; + /** @type {?} */ + ButtonComponent.prototype.iconSize; + /** @type {?} */ + ButtonComponent.prototype.iconRegular; + /** @type {?} */ + ButtonComponent.prototype.elementPosition; + /** @type {?} */ + ButtonComponent.prototype.showToolTip; + /** + * @type {?} + * @private + */ + ButtonComponent.prototype.isDesktop; } - /** - * @fileoverview added by tsickle - * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc - */ - var LogoComponent = /** @class */ (function () { - function LogoComponent() { - } - /** - * @return {?} - */ - LogoComponent.prototype.ngOnInit = /** - * @return {?} - */ - function () { - }; - LogoComponent.decorators = [ - { type: core.Component, args: [{ - selector: 'gd-logo', - template: "
\n \n \n
\n\n", - styles: [".logo{background-color:#25c2d4;height:60px;display:-webkit-box;display:flex;-webkit-box-align:center;align-items:center;-webkit-box-pack:center;justify-content:center}.text{color:#fff;font-size:15px;text-transform:uppercase;margin:0 14px}.icon{display:none;font-size:32px;color:rgba(255,255,255,.5);margin:14px}@media (max-width:1037px){.logo{width:60px;height:60px}.logo .text{display:none}.logo .icon{display:block}}"] - }] } - ]; - /** @nocollapse */ - LogoComponent.ctorParameters = function () { return []; }; - LogoComponent.propDecorators = { - logo: [{ type: core.Input }], - icon: [{ type: core.Input }] - }; - return LogoComponent; - }()); - if (false) { - /** @type {?} */ - LogoComponent.prototype.logo; - /** @type {?} */ - LogoComponent.prototype.icon; + /** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ + var LogoComponent = /** @class */ (function () { + function LogoComponent() { + } + /** + * @return {?} + */ + LogoComponent.prototype.ngOnInit = /** + * @return {?} + */ + function () { + }; + LogoComponent.decorators = [ + { type: core.Component, args: [{ + selector: 'gd-logo', + template: "
\r\n \r\n \r\n
\r\n\r\n", + styles: [".logo{background-color:#25c2d4;height:60px;display:-webkit-box;display:flex;-webkit-box-align:center;align-items:center;-webkit-box-pack:center;justify-content:center}.text{color:#fff;font-size:15px;text-transform:uppercase;margin:0 14px}.icon{display:none;font-size:32px;color:rgba(255,255,255,.5);margin:14px}@media (max-width:1037px){.logo{width:60px;height:60px}.logo .text{display:none}.logo .icon{display:block}}"] + }] } + ]; + /** @nocollapse */ + LogoComponent.ctorParameters = function () { return []; }; + LogoComponent.propDecorators = { + logo: [{ type: core.Input }], + icon: [{ type: core.Input }] + }; + return LogoComponent; + }()); + if (false) { + /** @type {?} */ + LogoComponent.prototype.logo; + /** @type {?} */ + LogoComponent.prototype.icon; } - /** - * @fileoverview added by tsickle - * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc - */ - var TooltipComponent = /** @class */ (function () { - function TooltipComponent() { - this.position = 0; - this.visibility = 'hidden'; - } - /** - * @return {?} - */ - TooltipComponent.prototype.getClass = /** - * @return {?} - */ - function () { - if (this.position === 0) { - return 'tooltip'; - } - return 'tooltip ' + (this.position > 0 ? 'last-element' : 'first-element'); - }; - Object.defineProperty(TooltipComponent.prototype, "show", { - set: /** - * @param {?} value - * @return {?} - */ - function (value) { - this.visibility = value ? 'shown' : 'hidden'; - }, - enumerable: true, - configurable: true - }); - /** - * @return {?} - */ - TooltipComponent.prototype.ngOnInit = /** - * @return {?} - */ - function () { - }; - TooltipComponent.decorators = [ - { type: core.Component, args: [{ - selector: 'gd-tooltip', - template: "\n", - styles: [".tooltip{position:absolute;width:-webkit-fit-content;width:-moz-fit-content;width:fit-content;background-color:#000;color:#fff;text-align:center;border-radius:0;padding:5px;z-index:1;font-size:10px;height:11px;line-height:11px;-ms-grid-row-align:center;align-self:center;margin:8px!important}.first-element{margin-left:10px!important}.last-element{margin-left:-10px!important}.tooltip.hidden{visibility:hidden}.tooltip.shown{visibility:visible}.shown:after{content:\" \";position:absolute;bottom:100%;left:50%;margin-left:-5px;border:5px solid transparent;border-bottom-color:#000}"] - }] } - ]; - /** @nocollapse */ - TooltipComponent.ctorParameters = function () { return []; }; - TooltipComponent.propDecorators = { - text: [{ type: core.Input }], - position: [{ type: core.Input }], - show: [{ type: core.Input }] - }; - return TooltipComponent; - }()); - if (false) { - /** @type {?} */ - TooltipComponent.prototype.text; - /** @type {?} */ - TooltipComponent.prototype.position; - /** @type {?} */ - TooltipComponent.prototype.visibility; + /** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ + var TooltipComponent = /** @class */ (function () { + function TooltipComponent() { + this.position = 0; + this.visibility = 'hidden'; + } + /** + * @return {?} + */ + TooltipComponent.prototype.getClass = /** + * @return {?} + */ + function () { + if (this.position === 0) { + return 'tooltip'; + } + return 'tooltip ' + (this.position > 0 ? 'last-element' : 'first-element'); + }; + Object.defineProperty(TooltipComponent.prototype, "show", { + set: /** + * @param {?} value + * @return {?} + */ + function (value) { + this.visibility = value ? 'shown' : 'hidden'; + }, + enumerable: true, + configurable: true + }); + /** + * @return {?} + */ + TooltipComponent.prototype.ngOnInit = /** + * @return {?} + */ + function () { + }; + TooltipComponent.decorators = [ + { type: core.Component, args: [{ + selector: 'gd-tooltip', + template: "\r\n", + styles: [".tooltip{position:absolute;width:-webkit-fit-content;width:-moz-fit-content;width:fit-content;background-color:#000;color:#fff;text-align:center;border-radius:0;padding:5px;z-index:1;font-size:10px;height:11px;line-height:11px;-ms-grid-row-align:center;align-self:center;margin:8px!important}.first-element{margin-left:10px!important}.last-element{margin-left:-10px!important}.tooltip.hidden{visibility:hidden}.tooltip.shown{visibility:visible}.shown:after{content:\" \";position:absolute;bottom:100%;left:50%;margin-left:-5px;border:5px solid transparent;border-bottom-color:#000}"] + }] } + ]; + /** @nocollapse */ + TooltipComponent.ctorParameters = function () { return []; }; + TooltipComponent.propDecorators = { + text: [{ type: core.Input }], + position: [{ type: core.Input }], + show: [{ type: core.Input }] + }; + return TooltipComponent; + }()); + if (false) { + /** @type {?} */ + TooltipComponent.prototype.text; + /** @type {?} */ + TooltipComponent.prototype.position; + /** @type {?} */ + TooltipComponent.prototype.visibility; } - /** - * @fileoverview added by tsickle - * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc - */ - var Api = /** @class */ (function () { - function Api() { - } - Api.VIEWER_APP = '/viewer'; - Api.SIGNATURE_APP = '/signature'; - Api.ANNOTATION_APP = '/annotation'; - Api.SEARCH_APP = '/search'; - Api.EDITOR_APP = '/editor'; - Api.COMPARISON_APP = '/comparison'; - Api.CONVERSION_APP = '/conversion'; - Api.METADATA_APP = '/metadata'; - Api.DEFAULT_API_ENDPOINT = window.location.href; - Api.LOAD_FILE_TREE = '/loadFileTree'; - Api.LOAD_CONFIG = '/loadConfig'; - Api.LOAD_DOCUMENT_DESCRIPTION = '/loadDocumentDescription'; - Api.LOAD_DOCUMENT_PAGE = '/loadDocumentPage'; - Api.LOAD_DOCUMENT_PROPERTIES = '/loadProperties'; - Api.LOAD_DOCUMENT_PROPERTIES_NAMES = '/loadPropertiesNames'; - Api.SAVE_PROPERTY = '/saveProperty'; - Api.REMOVE_PROPERTY = '/removeProperty'; - Api.ROTATE_DOCUMENT_PAGE = '/rotateDocumentPages'; - Api.UPLOAD_DOCUMENTS = '/uploadDocument'; - Api.DOWNLOAD_DOCUMENTS = '/downloadDocument'; - Api.DOWNLOAD_ANNOTATED = '/downloadAnnotated'; - Api.LOAD_PRINT = '/loadPrint'; - Api.LOAD_PRINT_PDF = '/printPdf'; - Api.LOAD_THUMBNAILS = '/loadThumbnails'; - Api.LOAD_FORMATS = '/loadFormats'; - Api.SAVE_FILE = '/saveFile'; - Api.CREATE_FILE = '/createFile'; - Api.COMPARE_FILES = '/compare'; - Api.CONVERT_FILE = '/convert'; - Api.DELETE_SIGNATURE_FILE = '/deleteSignatureFile'; - Api.REMOVE_FROM_INDEX = '/removeFromIndex'; - Api.GET_FILE_STATUS = '/getFileStatus'; - Api.SAVE_OPTICAL_CODE = '/saveOpticalCode'; - Api.SAVE_TEXT = '/saveText'; - Api.SAVE_IMAGE = '/saveImage'; - Api.SAVE_STAMP = '/saveStamp'; - Api.SIGN = '/sign'; - Api.DOWNLOAD_SIGNED = '/downloadSigned'; - Api.LOAD_SIGNATURE_IMAGE = '/loadSignatureImage'; - Api.ANNOTATE = '/annotate'; - Api.SEARCH = '/search'; - Api.ADD_FILES_TO_INDEX = '/addFilesToIndex'; - Api.CLEAN_METADATA = '/clean'; - Api.EXPORT_METADATA = '/export'; - Api.httpOptionsJson = { - headers: new http.HttpHeaders({ - 'Content-Type': 'application/json', - }) - }; - Api.httpOptionsJsonResponseTypeBlob = { - headers: new http.HttpHeaders({ - 'Content-Type': 'application/json', - }), - responseType: (/** @type {?} */ ('blob')) - }; - return Api; - }()); - if (false) { - /** @type {?} */ - Api.VIEWER_APP; - /** @type {?} */ - Api.SIGNATURE_APP; - /** @type {?} */ - Api.ANNOTATION_APP; - /** @type {?} */ - Api.SEARCH_APP; - /** @type {?} */ - Api.EDITOR_APP; - /** @type {?} */ - Api.COMPARISON_APP; - /** @type {?} */ - Api.CONVERSION_APP; - /** @type {?} */ - Api.METADATA_APP; - /** @type {?} */ - Api.DEFAULT_API_ENDPOINT; - /** @type {?} */ - Api.LOAD_FILE_TREE; - /** @type {?} */ - Api.LOAD_CONFIG; - /** @type {?} */ - Api.LOAD_DOCUMENT_DESCRIPTION; - /** @type {?} */ - Api.LOAD_DOCUMENT_PAGE; - /** @type {?} */ - Api.LOAD_DOCUMENT_PROPERTIES; - /** @type {?} */ - Api.LOAD_DOCUMENT_PROPERTIES_NAMES; - /** @type {?} */ - Api.SAVE_PROPERTY; - /** @type {?} */ - Api.REMOVE_PROPERTY; - /** @type {?} */ - Api.ROTATE_DOCUMENT_PAGE; - /** @type {?} */ - Api.UPLOAD_DOCUMENTS; - /** @type {?} */ - Api.DOWNLOAD_DOCUMENTS; - /** @type {?} */ - Api.DOWNLOAD_ANNOTATED; - /** @type {?} */ - Api.LOAD_PRINT; - /** @type {?} */ - Api.LOAD_PRINT_PDF; - /** @type {?} */ - Api.LOAD_THUMBNAILS; - /** @type {?} */ - Api.LOAD_FORMATS; - /** @type {?} */ - Api.SAVE_FILE; - /** @type {?} */ - Api.CREATE_FILE; - /** @type {?} */ - Api.COMPARE_FILES; - /** @type {?} */ - Api.CONVERT_FILE; - /** @type {?} */ - Api.DELETE_SIGNATURE_FILE; - /** @type {?} */ - Api.REMOVE_FROM_INDEX; - /** @type {?} */ - Api.GET_FILE_STATUS; - /** @type {?} */ - Api.SAVE_OPTICAL_CODE; - /** @type {?} */ - Api.SAVE_TEXT; - /** @type {?} */ - Api.SAVE_IMAGE; - /** @type {?} */ - Api.SAVE_STAMP; - /** @type {?} */ - Api.SIGN; - /** @type {?} */ - Api.DOWNLOAD_SIGNED; - /** @type {?} */ - Api.LOAD_SIGNATURE_IMAGE; - /** @type {?} */ - Api.ANNOTATE; - /** @type {?} */ - Api.SEARCH; - /** @type {?} */ - Api.ADD_FILES_TO_INDEX; - /** @type {?} */ - Api.CLEAN_METADATA; - /** @type {?} */ - Api.EXPORT_METADATA; - /** @type {?} */ - Api.httpOptionsJson; - /** @type {?} */ - Api.httpOptionsJsonResponseTypeBlob; - } - var ConfigService = /** @class */ (function () { - function ConfigService() { - this.apiEndpoint = Api.DEFAULT_API_ENDPOINT; - } - Object.defineProperty(ConfigService.prototype, "apiEndpoint", { - get: /** - * @return {?} - */ - function () { - return this._apiEndpoint; - }, - set: /** - * @param {?} url - * @return {?} - */ - function (url) { - this._apiEndpoint = url && url.trim().endsWith('/') ? url.substring(0, url.length - 1) : url; - }, - enumerable: true, - configurable: true - }); - /** - * @param {?} app - * @return {?} - */ - ConfigService.prototype.getConfigEndpoint = /** - * @param {?} app - * @return {?} - */ - function (app) { - return (this.apiEndpoint.endsWith(app) ? this.apiEndpoint : this.apiEndpoint + app) + Api.LOAD_CONFIG; - }; - /** - * @return {?} - */ - ConfigService.prototype.getViewerApiEndpoint = /** - * @return {?} - */ - function () { - return this._apiEndpoint.endsWith(Api.VIEWER_APP) ? this._apiEndpoint : this._apiEndpoint + Api.VIEWER_APP; - }; - /** - * @return {?} - */ - ConfigService.prototype.getEditorApiEndpoint = /** - * @return {?} - */ - function () { - return this._apiEndpoint.trim().endsWith(Api.EDITOR_APP) ? this._apiEndpoint : this._apiEndpoint + Api.EDITOR_APP; - }; - /** - * @return {?} - */ - ConfigService.prototype.getComparisonApiEndpoint = /** - * @return {?} - */ - function () { - return this._apiEndpoint.trim().endsWith(Api.COMPARISON_APP) ? this._apiEndpoint : this._apiEndpoint + Api.COMPARISON_APP; - }; - /** - * @return {?} - */ - ConfigService.prototype.getConversionApiEndpoint = /** - * @return {?} - */ - function () { - return this._apiEndpoint.trim().endsWith(Api.CONVERSION_APP) ? this._apiEndpoint : this._apiEndpoint + Api.CONVERSION_APP; - }; - /** - * @return {?} - */ - ConfigService.prototype.getMetadataApiEndpoint = /** - * @return {?} - */ - function () { - return this._apiEndpoint.trim().endsWith(Api.METADATA_APP) ? this._apiEndpoint : this._apiEndpoint + Api.METADATA_APP; - }; - /** - * @return {?} - */ - ConfigService.prototype.getSignatureApiEndpoint = /** - * @return {?} - */ - function () { - return this._apiEndpoint.endsWith(Api.SIGNATURE_APP) ? this._apiEndpoint : this._apiEndpoint + Api.SIGNATURE_APP; - }; - /** - * @return {?} - */ - ConfigService.prototype.getAnnotationApiEndpoint = /** - * @return {?} - */ - function () { - return this._apiEndpoint.endsWith(Api.ANNOTATION_APP) ? this._apiEndpoint : this._apiEndpoint + Api.ANNOTATION_APP; - }; - /** - * @return {?} - */ - ConfigService.prototype.getSearchApiEndpoint = /** - * @return {?} - */ - function () { - return this._apiEndpoint.endsWith(Api.SEARCH_APP) ? this._apiEndpoint : this._apiEndpoint + Api.SEARCH_APP; - }; - ConfigService.decorators = [ - { type: core.Injectable } - ]; - /** @nocollapse */ - ConfigService.ctorParameters = function () { return []; }; - return ConfigService; - }()); - if (false) { - /** - * @type {?} - * @private - */ - ConfigService.prototype._apiEndpoint; + /** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ + var Api = /** @class */ (function () { + function Api() { + } + Api.VIEWER_APP = '/viewer'; + Api.SIGNATURE_APP = '/signature'; + Api.ANNOTATION_APP = '/annotation'; + Api.SEARCH_APP = '/search'; + Api.EDITOR_APP = '/editor'; + Api.COMPARISON_APP = '/comparison'; + Api.CONVERSION_APP = '/conversion'; + Api.METADATA_APP = '/metadata'; + Api.DEFAULT_API_ENDPOINT = window.location.href; + Api.LOAD_FILE_TREE = '/loadFileTree'; + Api.LOAD_CONFIG = '/loadConfig'; + Api.LOAD_DOCUMENT_DESCRIPTION = '/loadDocumentDescription'; + Api.LOAD_DOCUMENT_PAGE = '/loadDocumentPage'; + Api.LOAD_DOCUMENT_PROPERTIES = '/loadProperties'; + Api.LOAD_DOCUMENT_PROPERTIES_NAMES = '/loadPropertiesNames'; + Api.SAVE_PROPERTY = '/saveProperty'; + Api.REMOVE_PROPERTY = '/removeProperty'; + Api.ROTATE_DOCUMENT_PAGE = '/rotateDocumentPages'; + Api.UPLOAD_DOCUMENTS = '/uploadDocument'; + Api.DOWNLOAD_DOCUMENTS = '/downloadDocument'; + Api.DOWNLOAD_ANNOTATED = '/downloadAnnotated'; + Api.LOAD_PRINT = '/loadPrint'; + Api.LOAD_PRINT_PDF = '/printPdf'; + Api.LOAD_THUMBNAILS = '/loadThumbnails'; + Api.LOAD_FORMATS = '/loadFormats'; + Api.SAVE_FILE = '/saveFile'; + Api.CREATE_FILE = '/createFile'; + Api.COMPARE_FILES = '/compare'; + Api.CONVERT_FILE = '/convert'; + Api.DELETE_SIGNATURE_FILE = '/deleteSignatureFile'; + Api.REMOVE_FROM_INDEX = '/removeFromIndex'; + Api.GET_FILE_STATUS = '/getFileStatus'; + Api.SAVE_OPTICAL_CODE = '/saveOpticalCode'; + Api.SAVE_TEXT = '/saveText'; + Api.SAVE_IMAGE = '/saveImage'; + Api.SAVE_STAMP = '/saveStamp'; + Api.SIGN = '/sign'; + Api.DOWNLOAD_SIGNED = '/downloadSigned'; + Api.LOAD_SIGNATURE_IMAGE = '/loadSignatureImage'; + Api.ANNOTATE = '/annotate'; + Api.SEARCH = '/search'; + Api.ADD_FILES_TO_INDEX = '/addFilesToIndex'; + Api.CLEAN_METADATA = '/clean'; + Api.EXPORT_METADATA = '/export'; + Api.httpOptionsJson = { + headers: new http.HttpHeaders({ + 'Content-Type': 'application/json', + }) + }; + Api.httpOptionsJsonResponseTypeBlob = { + headers: new http.HttpHeaders({ + 'Content-Type': 'application/json', + }), + responseType: (/** @type {?} */ ('blob')) + }; + return Api; + }()); + if (false) { + /** @type {?} */ + Api.VIEWER_APP; + /** @type {?} */ + Api.SIGNATURE_APP; + /** @type {?} */ + Api.ANNOTATION_APP; + /** @type {?} */ + Api.SEARCH_APP; + /** @type {?} */ + Api.EDITOR_APP; + /** @type {?} */ + Api.COMPARISON_APP; + /** @type {?} */ + Api.CONVERSION_APP; + /** @type {?} */ + Api.METADATA_APP; + /** @type {?} */ + Api.DEFAULT_API_ENDPOINT; + /** @type {?} */ + Api.LOAD_FILE_TREE; + /** @type {?} */ + Api.LOAD_CONFIG; + /** @type {?} */ + Api.LOAD_DOCUMENT_DESCRIPTION; + /** @type {?} */ + Api.LOAD_DOCUMENT_PAGE; + /** @type {?} */ + Api.LOAD_DOCUMENT_PROPERTIES; + /** @type {?} */ + Api.LOAD_DOCUMENT_PROPERTIES_NAMES; + /** @type {?} */ + Api.SAVE_PROPERTY; + /** @type {?} */ + Api.REMOVE_PROPERTY; + /** @type {?} */ + Api.ROTATE_DOCUMENT_PAGE; + /** @type {?} */ + Api.UPLOAD_DOCUMENTS; + /** @type {?} */ + Api.DOWNLOAD_DOCUMENTS; + /** @type {?} */ + Api.DOWNLOAD_ANNOTATED; + /** @type {?} */ + Api.LOAD_PRINT; + /** @type {?} */ + Api.LOAD_PRINT_PDF; + /** @type {?} */ + Api.LOAD_THUMBNAILS; + /** @type {?} */ + Api.LOAD_FORMATS; + /** @type {?} */ + Api.SAVE_FILE; + /** @type {?} */ + Api.CREATE_FILE; + /** @type {?} */ + Api.COMPARE_FILES; + /** @type {?} */ + Api.CONVERT_FILE; + /** @type {?} */ + Api.DELETE_SIGNATURE_FILE; + /** @type {?} */ + Api.REMOVE_FROM_INDEX; + /** @type {?} */ + Api.GET_FILE_STATUS; + /** @type {?} */ + Api.SAVE_OPTICAL_CODE; + /** @type {?} */ + Api.SAVE_TEXT; + /** @type {?} */ + Api.SAVE_IMAGE; + /** @type {?} */ + Api.SAVE_STAMP; + /** @type {?} */ + Api.SIGN; + /** @type {?} */ + Api.DOWNLOAD_SIGNED; + /** @type {?} */ + Api.LOAD_SIGNATURE_IMAGE; + /** @type {?} */ + Api.ANNOTATE; + /** @type {?} */ + Api.SEARCH; + /** @type {?} */ + Api.ADD_FILES_TO_INDEX; + /** @type {?} */ + Api.CLEAN_METADATA; + /** @type {?} */ + Api.EXPORT_METADATA; + /** @type {?} */ + Api.httpOptionsJson; + /** @type {?} */ + Api.httpOptionsJsonResponseTypeBlob; + } + var ConfigService = /** @class */ (function () { + function ConfigService() { + this.apiEndpoint = Api.DEFAULT_API_ENDPOINT; + } + Object.defineProperty(ConfigService.prototype, "apiEndpoint", { + get: /** + * @return {?} + */ + function () { + return this._apiEndpoint; + }, + set: /** + * @param {?} url + * @return {?} + */ + function (url) { + this._apiEndpoint = url && url.trim().endsWith('/') ? url.substring(0, url.length - 1) : url; + }, + enumerable: true, + configurable: true + }); + /** + * @param {?} app + * @return {?} + */ + ConfigService.prototype.getConfigEndpoint = /** + * @param {?} app + * @return {?} + */ + function (app) { + return (this.apiEndpoint.endsWith(app) ? this.apiEndpoint : this.apiEndpoint + app) + Api.LOAD_CONFIG; + }; + /** + * @return {?} + */ + ConfigService.prototype.getViewerApiEndpoint = /** + * @return {?} + */ + function () { + return this._apiEndpoint.endsWith(Api.VIEWER_APP) ? this._apiEndpoint : this._apiEndpoint + Api.VIEWER_APP; + }; + /** + * @return {?} + */ + ConfigService.prototype.getEditorApiEndpoint = /** + * @return {?} + */ + function () { + return this._apiEndpoint.trim().endsWith(Api.EDITOR_APP) ? this._apiEndpoint : this._apiEndpoint + Api.EDITOR_APP; + }; + /** + * @return {?} + */ + ConfigService.prototype.getComparisonApiEndpoint = /** + * @return {?} + */ + function () { + return this._apiEndpoint.trim().endsWith(Api.COMPARISON_APP) ? this._apiEndpoint : this._apiEndpoint + Api.COMPARISON_APP; + }; + /** + * @return {?} + */ + ConfigService.prototype.getConversionApiEndpoint = /** + * @return {?} + */ + function () { + return this._apiEndpoint.trim().endsWith(Api.CONVERSION_APP) ? this._apiEndpoint : this._apiEndpoint + Api.CONVERSION_APP; + }; + /** + * @return {?} + */ + ConfigService.prototype.getMetadataApiEndpoint = /** + * @return {?} + */ + function () { + return this._apiEndpoint.trim().endsWith(Api.METADATA_APP) ? this._apiEndpoint : this._apiEndpoint + Api.METADATA_APP; + }; + /** + * @return {?} + */ + ConfigService.prototype.getSignatureApiEndpoint = /** + * @return {?} + */ + function () { + return this._apiEndpoint.endsWith(Api.SIGNATURE_APP) ? this._apiEndpoint : this._apiEndpoint + Api.SIGNATURE_APP; + }; + /** + * @return {?} + */ + ConfigService.prototype.getAnnotationApiEndpoint = /** + * @return {?} + */ + function () { + return this._apiEndpoint.endsWith(Api.ANNOTATION_APP) ? this._apiEndpoint : this._apiEndpoint + Api.ANNOTATION_APP; + }; + /** + * @return {?} + */ + ConfigService.prototype.getSearchApiEndpoint = /** + * @return {?} + */ + function () { + return this._apiEndpoint.endsWith(Api.SEARCH_APP) ? this._apiEndpoint : this._apiEndpoint + Api.SEARCH_APP; + }; + ConfigService.decorators = [ + { type: core.Injectable } + ]; + /** @nocollapse */ + ConfigService.ctorParameters = function () { return []; }; + return ConfigService; + }()); + if (false) { + /** + * @type {?} + * @private + */ + ConfigService.prototype._apiEndpoint; } - /** - * @fileoverview added by tsickle - * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc - */ - var CommonModals = /** @class */ (function () { - function CommonModals() { - } - CommonModals.PasswordRequired = "gd-password-required"; - CommonModals.ErrorMessage = "gd-error-message"; - CommonModals.BrowseFiles = "gd-browse-files"; - CommonModals.CreateDocument = "gd-create-document"; - CommonModals.OperationSuccess = "gd-success-modal"; - CommonModals.DrawHandSignature = "gd-draw-hand-signature"; - CommonModals.DrawStampSignature = "gd-draw-stamp-signature"; - CommonModals.InformationMessage = "gd-information-message"; - return CommonModals; - }()); - if (false) { - /** @type {?} */ - CommonModals.PasswordRequired; - /** @type {?} */ - CommonModals.ErrorMessage; - /** @type {?} */ - CommonModals.BrowseFiles; - /** @type {?} */ - CommonModals.CreateDocument; - /** @type {?} */ - CommonModals.OperationSuccess; - /** @type {?} */ - CommonModals.DrawHandSignature; - /** @type {?} */ - CommonModals.DrawStampSignature; - /** @type {?} */ - CommonModals.InformationMessage; - } - var ModalService = /** @class */ (function () { - function ModalService() { - this.modals = []; - } - /** - * @param {?} modal - * @return {?} - */ - ModalService.prototype.add = /** - * @param {?} modal - * @return {?} - */ - function (modal) { - this.modals.push(modal); - }; - /** - * @param {?} id - * @return {?} - */ - ModalService.prototype.remove = /** - * @param {?} id - * @return {?} - */ - function (id) { - this.modals = this.modals.filter((/** - * @param {?} x - * @return {?} - */ - function (x) { return x.id !== id; })); - }; - /** - * @param {?} id - * @return {?} - */ - ModalService.prototype.open = /** - * @param {?} id - * @return {?} - */ - function (id) { - /** @type {?} */ - var modal = this.modals.filter((/** - * @param {?} x - * @return {?} - */ - function (x) { return x.id === id; }))[0]; - if (modal) { - modal.open(); - } - }; - /** - * @param {?} id - * @return {?} - */ - ModalService.prototype.close = /** - * @param {?} id - * @return {?} - */ - function (id) { - /** @type {?} */ - var modal = this.modals.filter((/** - * @param {?} x - * @return {?} - */ - function (x) { return x.id === id; }))[0]; - if (modal) { - modal.close(); - } - }; - return ModalService; - }()); - if (false) { - /** - * @type {?} - * @private - */ - ModalService.prototype.modals; + /** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ + var CommonModals = /** @class */ (function () { + function CommonModals() { + } + CommonModals.PasswordRequired = "gd-password-required"; + CommonModals.ErrorMessage = "gd-error-message"; + CommonModals.BrowseFiles = "gd-browse-files"; + CommonModals.CreateDocument = "gd-create-document"; + CommonModals.OperationSuccess = "gd-success-modal"; + CommonModals.DrawHandSignature = "gd-draw-hand-signature"; + CommonModals.DrawStampSignature = "gd-draw-stamp-signature"; + CommonModals.InformationMessage = "gd-information-message"; + return CommonModals; + }()); + if (false) { + /** @type {?} */ + CommonModals.PasswordRequired; + /** @type {?} */ + CommonModals.ErrorMessage; + /** @type {?} */ + CommonModals.BrowseFiles; + /** @type {?} */ + CommonModals.CreateDocument; + /** @type {?} */ + CommonModals.OperationSuccess; + /** @type {?} */ + CommonModals.DrawHandSignature; + /** @type {?} */ + CommonModals.DrawStampSignature; + /** @type {?} */ + CommonModals.InformationMessage; + } + var ModalService = /** @class */ (function () { + function ModalService() { + this.modals = []; + } + /** + * @param {?} modal + * @return {?} + */ + ModalService.prototype.add = /** + * @param {?} modal + * @return {?} + */ + function (modal) { + this.modals.push(modal); + }; + /** + * @param {?} id + * @return {?} + */ + ModalService.prototype.remove = /** + * @param {?} id + * @return {?} + */ + function (id) { + this.modals = this.modals.filter((/** + * @param {?} x + * @return {?} + */ + function (x) { return x.id !== id; })); + }; + /** + * @param {?} id + * @return {?} + */ + ModalService.prototype.open = /** + * @param {?} id + * @return {?} + */ + function (id) { + /** @type {?} */ + var modal = this.modals.filter((/** + * @param {?} x + * @return {?} + */ + function (x) { return x.id === id; }))[0]; + if (modal) { + modal.open(); + } + }; + /** + * @param {?} id + * @return {?} + */ + ModalService.prototype.close = /** + * @param {?} id + * @return {?} + */ + function (id) { + /** @type {?} */ + var modal = this.modals.filter((/** + * @param {?} x + * @return {?} + */ + function (x) { return x.id === id; }))[0]; + if (modal) { + modal.close(); + } + }; + return ModalService; + }()); + if (false) { + /** + * @type {?} + * @private + */ + ModalService.prototype.modals; } - /** - * @fileoverview added by tsickle - * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc - */ - var ModalComponent = /** @class */ (function () { - function ModalComponent(modalService, el) { - this.modalService = modalService; - this.visible = new core.EventEmitter(); - this.cancel = new core.EventEmitter(); - this.visibility = false; - this.element = el.nativeElement; - } - /** - * @return {?} - */ - ModalComponent.prototype.ngOnInit = /** - * @return {?} - */ - function () { - if (!this.id) { - console.error('modal must have an id'); - return; - } - document.body.appendChild(this.element); - this.modalService.add(this); - }; - /** - * @return {?} - */ - ModalComponent.prototype.ngOnDestroy = /** - * @return {?} - */ - function () { - this.modalService.remove(this.id); - this.element.remove(); - }; - /** - * @return {?} - */ - ModalComponent.prototype.open = /** - * @return {?} - */ - function () { - this.visibility = true; - this.visible.emit(true); - }; - /** - * @return {?} - */ - ModalComponent.prototype.close = /** - * @return {?} - */ - function () { - event.preventDefault(); - event.stopPropagation(); - this.visibility = false; - this.visible.emit(false); - }; - /** - * @param {?} $event - * @return {?} - */ - ModalComponent.prototype.onClose = /** - * @param {?} $event - * @return {?} - */ - function ($event) { - $event.stopPropagation(); - if ($event && $event.target && ((/** @type {?} */ ($event.target))).id === 'modalDialog') { - this.close(); - } - }; - /** - * @return {?} - */ - ModalComponent.prototype.cancelClose = /** - * @return {?} - */ - function () { - this.cancel.emit(false); - this.close(); - }; - ModalComponent.decorators = [ - { type: core.Component, args: [{ - selector: 'gd-modal', - template: "
\n
\n
\n
\n\n
\n
×
\n

{{title}}

\n
\n\n
\n \n
\n\n
\n\n
\n
\n
\n\n\n", - styles: ["@import url(https://fonts.googleapis.com/css?family=Montserrat&display=swap);:host *{font-family:'Open Sans',Arial,Helvetica,sans-serif}.gd-modal{overflow:hidden;position:fixed;top:0;right:0;bottom:0;left:0;z-index:1050;-webkit-overflow-scrolling:touch;outline:0;background-color:rgba(0,0,0,.5)}.gd-modal-dialog{box-shadow:#0005 0 0 10px;position:fixed;left:50%;top:50%;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%);z-index:1051}.gd-modal-dialog ::ng-deep .button{-webkit-box-orient:unset!important;-webkit-box-direction:unset!important;flex-direction:unset!important}.gd-modal-content{background-color:#fff;height:100%;display:-webkit-box;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column}.gd-modal-header{height:60px;padding:0 12px 0 24px;background-color:#3e4e5a}.gd-modal-close{position:absolute;right:12px;top:12px;cursor:pointer;color:#fff;width:37px;height:37px;text-align:center}.gd-modal-close span{font-size:18px;font-weight:900;height:19px;width:10px;line-height:36px}.gd-modal-title{font-size:16px;font-weight:400;padding-top:17px;padding-bottom:22px;margin:0;color:#fff}.gd-modal-body{background-color:#fff;overflow:hidden;overflow-y:auto;height:calc(100% - 75px)}.gd-modal-footer{height:auto}.gd-modal-footer>.btn{float:right;margin:20px 15px;padding:10px 20px;cursor:pointer;font-size:12px}@media (max-width:1037px){.gd-modal-dialog{width:100%;height:100%}.gd-modal-body{height:100%}}"] - }] } - ]; - /** @nocollapse */ - ModalComponent.ctorParameters = function () { return [ - { type: ModalService }, - { type: core.ElementRef } - ]; }; - ModalComponent.propDecorators = { - id: [{ type: core.Input }], - title: [{ type: core.Input }], - visible: [{ type: core.Output }], - cancel: [{ type: core.Output }] - }; - return ModalComponent; - }()); - if (false) { - /** @type {?} */ - ModalComponent.prototype.id; - /** @type {?} */ - ModalComponent.prototype.title; - /** @type {?} */ - ModalComponent.prototype.visible; - /** @type {?} */ - ModalComponent.prototype.cancel; - /** @type {?} */ - ModalComponent.prototype.visibility; - /** - * @type {?} - * @private - */ - ModalComponent.prototype.element; - /** - * @type {?} - * @private - */ - ModalComponent.prototype.modalService; + /** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ + var ModalComponent = /** @class */ (function () { + function ModalComponent(modalService, el) { + this.modalService = modalService; + this.visible = new core.EventEmitter(); + this.cancel = new core.EventEmitter(); + this.visibility = false; + this.element = el.nativeElement; + } + /** + * @return {?} + */ + ModalComponent.prototype.ngOnInit = /** + * @return {?} + */ + function () { + if (!this.id) { + console.error('modal must have an id'); + return; + } + document.body.appendChild(this.element); + this.modalService.add(this); + }; + /** + * @return {?} + */ + ModalComponent.prototype.ngOnDestroy = /** + * @return {?} + */ + function () { + this.modalService.remove(this.id); + this.element.remove(); + }; + /** + * @return {?} + */ + ModalComponent.prototype.open = /** + * @return {?} + */ + function () { + this.visibility = true; + this.visible.emit(true); + }; + /** + * @return {?} + */ + ModalComponent.prototype.close = /** + * @return {?} + */ + function () { + event.preventDefault(); + event.stopPropagation(); + this.visibility = false; + this.visible.emit(false); + }; + /** + * @param {?} $event + * @return {?} + */ + ModalComponent.prototype.onClose = /** + * @param {?} $event + * @return {?} + */ + function ($event) { + $event.stopPropagation(); + if ($event && $event.target && ((/** @type {?} */ ($event.target))).id === 'modalDialog') { + this.close(); + } + }; + /** + * @return {?} + */ + ModalComponent.prototype.cancelClose = /** + * @return {?} + */ + function () { + this.cancel.emit(false); + this.close(); + }; + ModalComponent.decorators = [ + { type: core.Component, args: [{ + selector: 'gd-modal', + template: "
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
×
\r\n

{{title}}

\r\n
\r\n\r\n
\r\n \r\n
\r\n\r\n
\r\n\r\n
\r\n
\r\n
\r\n\r\n\r\n", + styles: ["@import url(https://fonts.googleapis.com/css?family=Montserrat&display=swap);:host *{font-family:'Open Sans',Arial,Helvetica,sans-serif}.gd-modal{overflow:hidden;position:fixed;top:0;right:0;bottom:0;left:0;z-index:1050;-webkit-overflow-scrolling:touch;outline:0;background-color:rgba(0,0,0,.5)}.gd-modal-dialog{box-shadow:#0005 0 0 10px;position:fixed;left:50%;top:50%;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%);z-index:1051}.gd-modal-dialog ::ng-deep .button{-webkit-box-orient:unset!important;-webkit-box-direction:unset!important;flex-direction:unset!important}.gd-modal-content{background-color:#fff;height:100%;display:-webkit-box;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column}.gd-modal-header{height:60px;padding:0 12px 0 24px;background-color:#3e4e5a}.gd-modal-close{position:absolute;right:12px;top:12px;cursor:pointer;color:#fff;width:37px;height:37px;text-align:center}.gd-modal-close span{font-size:18px;font-weight:900;height:19px;width:10px;line-height:36px}.gd-modal-title{font-size:16px;font-weight:400;padding-top:17px;padding-bottom:22px;margin:0;color:#fff}.gd-modal-body{background-color:#fff;overflow:hidden;overflow-y:auto;height:calc(100% - 75px)}.gd-modal-footer{height:auto}.gd-modal-footer>.btn{float:right;margin:20px 15px;padding:10px 20px;cursor:pointer;font-size:12px}@media (max-width:1037px){.gd-modal-dialog{width:100%;height:100%}.gd-modal-body{height:100%}}"] + }] } + ]; + /** @nocollapse */ + ModalComponent.ctorParameters = function () { return [ + { type: ModalService }, + { type: core.ElementRef } + ]; }; + ModalComponent.propDecorators = { + id: [{ type: core.Input }], + title: [{ type: core.Input }], + visible: [{ type: core.Output }], + cancel: [{ type: core.Output }] + }; + return ModalComponent; + }()); + if (false) { + /** @type {?} */ + ModalComponent.prototype.id; + /** @type {?} */ + ModalComponent.prototype.title; + /** @type {?} */ + ModalComponent.prototype.visible; + /** @type {?} */ + ModalComponent.prototype.cancel; + /** @type {?} */ + ModalComponent.prototype.visibility; + /** + * @type {?} + * @private + */ + ModalComponent.prototype.element; + /** + * @type {?} + * @private + */ + ModalComponent.prototype.modalService; } - /** - * @fileoverview added by tsickle - * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc - */ - var PageModel = /** @class */ (function () { - function PageModel() { - } - return PageModel; - }()); - if (false) { - /** @type {?} */ - PageModel.prototype.data; - /** @type {?} */ - PageModel.prototype.angle; - /** @type {?} */ - PageModel.prototype.width; - /** @type {?} */ - PageModel.prototype.height; - /** @type {?} */ - PageModel.prototype.number; - /** @type {?} */ - PageModel.prototype.editable; - } - var RotatedPage = /** @class */ (function () { - function RotatedPage() { - } - return RotatedPage; - }()); - if (false) { - /** @type {?} */ - RotatedPage.prototype.pageNumber; - /** @type {?} */ - RotatedPage.prototype.angle; - } - var FileCredentials = /** @class */ (function () { - function FileCredentials(guid, password) { - this.guid = guid; - this.password = password; - } - return FileCredentials; - }()); - if (false) { - /** @type {?} */ - FileCredentials.prototype.guid; - /** @type {?} */ - FileCredentials.prototype.password; - } - var SaveFile = /** @class */ (function (_super) { - __extends(SaveFile, _super); - function SaveFile(guid, password, content) { - var _this = _super.call(this, guid, password) || this; - _this.content = content; - return _this; - } - return SaveFile; - }(FileCredentials)); - if (false) { - /** @type {?} */ - SaveFile.prototype.content; - } - var FileDescription = /** @class */ (function () { - function FileDescription() { - this.printAllowed = true; - } - return FileDescription; - }()); - if (false) { - /** @type {?} */ - FileDescription.prototype.guid; - /** @type {?} */ - FileDescription.prototype.pages; - /** @type {?} */ - FileDescription.prototype.printAllowed; - /** @type {?} */ - FileDescription.prototype.showGridLines; - /** @type {?} */ - FileDescription.prototype.thumbnails; - } - var FileModel = /** @class */ (function () { - function FileModel() { - } - return FileModel; - }()); - if (false) { - /** @type {?} */ - FileModel.prototype.guid; - /** @type {?} */ - FileModel.prototype.name; - /** @type {?} */ - FileModel.prototype.directory; - /** @type {?} */ - FileModel.prototype.size; - /** @type {?} */ - FileModel.prototype.isDirectory; - } - var HttpError = /** @class */ (function () { - function HttpError() { - } - HttpError.BadRequest = 400; - HttpError.Unauthorized = 401; - HttpError.Forbidden = 403; - HttpError.NotFound = 404; - HttpError.TimeOut = 408; - HttpError.Conflict = 409; - HttpError.InternalServerError = 500; - return HttpError; - }()); - if (false) { - /** @type {?} */ - HttpError.BadRequest; - /** @type {?} */ - HttpError.Unauthorized; - /** @type {?} */ - HttpError.Forbidden; - /** @type {?} */ - HttpError.NotFound; - /** @type {?} */ - HttpError.TimeOut; - /** @type {?} */ - HttpError.Conflict; - /** @type {?} */ - HttpError.InternalServerError; - } - var Utils = /** @class */ (function () { - function Utils() { - } - /** - * @param {?} event - * @return {?} - */ - Utils.getMousePosition = /** - * @param {?} event - * @return {?} - */ - function (event) { - /** @type {?} */ - var mouse = { - x: 0, - y: 0 - }; - /** @type {?} */ - var wEvent = (/** @type {?} */ (window.event)); - /** @type {?} */ - var ev = event || wEvent; - if (ev.pageX || wEvent.pageX || wEvent.screenX || (ev.touches && ev.touches[0] && ev.touches[0].pageX)) { //Moz - //Moz - /** @type {?} */ - var pageX = typeof ev.pageX !== "undefined" && ev.pageX !== 0 ? ev.pageX : wEvent.pageX; - /** @type {?} */ - var pageY = typeof ev.pageY !== "undefined" && ev.pageY !== 0 ? ev.pageY : wEvent.pageY; - /** @type {?} */ - var screenX_1 = typeof wEvent.screenX !== "undefined" && wEvent.screenY !== 0; - /** @type {?} */ - var screenY_1 = typeof wEvent.screenY !== "undefined" && wEvent.screenY !== 0; - mouse.x = pageX ? pageX : (screenX_1 ? wEvent.screenX : ev.touches[0].pageX); - mouse.y = pageY ? pageY : (screenY_1 ? wEvent.screenY : ev.touches[0].pageY); - } - else if (ev.clientX) { //IE - mouse.x = ev.clientX + document.body.scrollLeft; - mouse.y = ev.clientY + document.body.scrollTop; - } - return mouse; - }; - /** - * @param {?} color - * @return {?} - */ - Utils.toRgb = /** - * @param {?} color - * @return {?} - */ - function (color) { - /** @type {?} */ - var result = /^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(color); - if (result) { - /** @type {?} */ - var r = parseInt(result[1], 16); - /** @type {?} */ - var g = parseInt(result[2], 16); - /** @type {?} */ - var b = parseInt(result[3], 16); - return result ? 'rgb(' + r + ',' + g + ',' + b + ')' : ''; - } - return color; - }; - /** - * @param {?} color - * @return {?} - */ - Utils.toHex = /** - * @param {?} color - * @return {?} - */ - function (color) { - // check if color is standard hex value - if (color.match(/[0-9A-F]{6}|[0-9A-F]{3}$/i)) { - return (color.charAt(0) === "#") ? color : ("#" + color); - // check if color is RGB value -> convert to hex - } - else if (color.match(/^rgb\(\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(\d{1,3})\s*\)$/)) { - /** @type {?} */ - var c = ([parseInt(RegExp.$1, 10), parseInt(RegExp.$2, 10), parseInt(RegExp.$3, 10)]); - /** @type {?} */ - var pad = (/** - * @param {?} str - * @return {?} - */ - function (str) { - if (str.length < 2) { - for (var i = 0, len = 2 - str.length; i < len; i++) { - str = '0' + str; - } - } - return str; - }); - if (c.length === 3) { - /** @type {?} */ - var r = pad(c[0].toString(16)); - /** @type {?} */ - var g = pad(c[1].toString(16)); - /** @type {?} */ - var b = pad(c[2].toString(16)); - return '#' + r + g + b; - } - // else do nothing - } - else { - return ''; - } - }; - return Utils; - }()); - var FileUtil = /** @class */ (function () { - function FileUtil() { - } - /** - * @param {?} filename - * @param {?} isDirectory - * @return {?} - */ - FileUtil.find = /** - * @param {?} filename - * @param {?} isDirectory - * @return {?} - */ - function (filename, isDirectory) { - if (filename && !isDirectory) { - /** @type {?} */ - var strings = filename.split('.'); - /** @type {?} */ - var name_1 = strings.pop().toLowerCase(); - if (typeof FileUtil.map[name_1] === "undefined") { - return strings.length > 0 ? FileUtil.map['unknown'] : FileUtil.map['folder']; - } - else { - return FileUtil.map[name_1]; - } - } - else { - return FileUtil.map['folder']; - } - }; - FileUtil.map = { - 'folder': { 'format': '', 'icon': 'folder' }, - 'pdf': { 'format': 'Portable Document Format', 'icon': 'file-pdf', 'unit': 'pt' }, - 'doc': { 'format': 'Microsoft Word', 'icon': 'file-word', 'unit': 'pt' }, - 'docx': { 'format': 'Microsoft Word', 'icon': 'file-word', 'unit': 'pt' }, - 'docm': { 'format': 'Microsoft Word', 'icon': 'file-word', 'unit': 'pt' }, - 'dot': { 'format': 'Microsoft Word', 'icon': 'file-word', 'unit': 'pt' }, - 'dotx': { 'format': 'Microsoft Word', 'icon': 'file-word', 'unit': 'pt' }, - 'dotm': { 'format': 'Microsoft Word', 'icon': 'file-word', 'unit': 'pt' }, - 'xls': { 'format': 'Microsoft Excel', 'icon': 'file-excel', 'unit': 'px' }, - 'xlsx': { 'format': 'Microsoft Excel', 'icon': 'file-excel', 'unit': 'px' }, - 'xlsm': { 'format': 'Microsoft Excel', 'icon': 'file-excel', 'unit': 'px' }, - 'xlsb': { 'format': 'Microsoft Excel', 'icon': 'file-excel', 'unit': 'px' }, - 'xls2003': { 'format': 'Microsoft Excel', 'icon': 'file-excel', 'unit': 'px' }, - 'xltx': { 'format': 'Microsoft Excel', 'icon': 'file-excel', 'unit': 'px' }, - 'xltm': { 'format': 'Microsoft Excel', 'icon': 'file-excel', 'unit': 'px' }, - 'ppt': { 'format': 'Microsoft PowerPoint', 'icon': 'file-powerpoint', 'unit': 'pt' }, - 'pptx': { 'format': 'Microsoft PowerPoint', 'icon': 'file-powerpoint', 'unit': 'pt' }, - 'pps': { 'format': 'Microsoft PowerPoint', 'icon': 'file-powerpoint', 'unit': 'pt' }, - 'ppsx': { 'format': 'Microsoft PowerPoint', 'icon': 'file-powerpoint', 'unit': 'pt' }, - 'vsd': { 'format': 'Microsoft Visio', 'icon': 'file-code', 'unit': 'px' }, - 'vdx': { 'format': 'Microsoft Visio', 'icon': 'file-code', 'unit': 'px' }, - 'vss': { 'format': 'Microsoft Visio', 'icon': 'file-code', 'unit': 'px' }, - 'vsx': { 'format': 'Microsoft Visio', 'icon': 'file-code', 'unit': 'px' }, - 'vst': { 'format': 'Microsoft Visio', 'icon': 'file-code', 'unit': 'px' }, - 'vtx': { 'format': 'Microsoft Visio', 'icon': 'file-code', 'unit': 'px' }, - 'vsdx': { 'format': 'Microsoft Visio', 'icon': 'file-code', 'unit': 'px' }, - 'vdw': { 'format': 'Microsoft Visio', 'icon': 'file-code', 'unit': 'px' }, - 'vstx': { 'format': 'Microsoft Visio', 'icon': 'file-code', 'unit': 'px' }, - 'vssx': { 'format': 'Microsoft Visio', 'icon': 'file-code', 'unit': 'px' }, - 'mpp': { 'format': 'Microsoft Project', 'icon': 'file-alt', 'unit': 'pt' }, - 'mpt': { 'format': 'Microsoft Project', 'icon': 'file-alt', 'unit': 'pt' }, - 'msg': { 'format': 'Microsoft Outlook', 'icon': 'file-alt', 'unit': 'pt' }, - 'eml': { 'format': 'Microsoft Outlook', 'icon': 'file-alt', 'unit': 'pt' }, - 'emlx': { 'format': 'Microsoft Outlook', 'icon': 'file-alt', 'unit': 'pt' }, - 'one': { 'format': 'Microsoft OneNote', 'icon': 'file-word', 'unit': 'pt' }, - 'odt': { 'format': 'Open Document Text', 'icon': 'file-word', 'unit': 'pt' }, - 'ott': { 'format': 'Open Document Text Template', 'icon': 'file-word', 'unit': 'pt' }, - 'ods': { 'format': 'Open Document Spreadsheet', 'icon': 'file-excel', 'unit': 'px' }, - 'odp': { 'format': 'Open Document Presentation', 'icon': 'file-powerpoint', 'unit': 'pt' }, - 'otp': { 'format': 'Open Document Presentation', 'icon': 'file-powerpoint', 'unit': 'pt' }, - 'ots': { 'format': 'Open Document Presentation', 'icon': 'file-powerpoint', 'unit': 'pt' }, - 'potx': { 'format': 'Open Document Presentation', 'icon': 'file-powerpoint', 'unit': 'pt' }, - 'potm': { 'format': 'Open Document Presentation', 'icon': 'file-powerpoint', 'unit': 'pt' }, - 'pptm': { 'format': 'Open Document Presentation', 'icon': 'file-powerpoint', 'unit': 'pt' }, - 'ppsm': { 'format': 'Open Document Presentation', 'icon': 'file-powerpoint', 'unit': 'pt' }, - 'rtf': { 'format': 'Rich Text Format', 'icon': 'file-alt', 'unit': 'pt' }, - 'txt': { 'format': 'Plain Text File', 'icon': 'file-alt', 'unit': 'pt' }, - 'csv': { 'format': 'Comma-Separated Values', 'icon': 'file-excel', 'unit': 'px' }, - 'html': { 'format': 'HyperText Markup Language', 'icon': 'file-word', 'unit': 'pt' }, - 'mht': { 'format': 'HyperText Markup Language', 'icon': 'file-word', 'unit': 'pt' }, - 'mhtml': { 'format': 'HyperText Markup Language', 'icon': 'file-word', 'unit': 'pt' }, - 'xml': { 'format': 'Extensible Markup Language', 'icon': 'file-word', 'unit': 'pt' }, - 'xps': { 'format': 'XML Paper Specification', 'icon': 'file-word', 'unit': 'pt' }, - 'dxf': { 'format': 'AutoCAD Drawing File Format', 'icon': 'file-image', 'unit': 'px' }, - 'dwg': { 'format': 'AutoCAD Drawing File Format', 'icon': 'file-image', 'unit': 'px' }, - 'bmp': { 'format': 'Bitmap Picture', 'icon': 'file-image', 'unit': 'px' }, - 'gif': { 'format': 'Graphics Interchange Format', 'icon': 'file-image', 'unit': 'px' }, - 'jpg': { 'format': 'Joint Photographic Experts Group', 'icon': 'file-image', 'unit': 'px' }, - 'jpe': { 'format': 'Joint Photographic Experts Group', 'icon': 'file-image', 'unit': 'px' }, - 'jpeg': { 'format': 'Joint Photographic Experts Group', 'icon': 'file-image', 'unit': 'px' }, - 'jfif': { 'format': 'Joint Photographic Experts Group', 'icon': 'file-image', 'unit': 'px' }, - 'png': { 'format': 'Portable Network Graphics', 'icon': 'file-image', 'unit': 'px' }, - 'tiff': { 'format': 'Tagged Image File Format', 'icon': 'file-image', 'unit': 'px' }, - 'tif': { 'format': 'Tagged Image File Format', 'icon': 'file-image', 'unit': 'px' }, - 'psd': { 'format': 'Tagged Image File Format', 'icon': 'file-image', 'unit': 'px' }, - 'svg': { 'format': 'Tagged Image File Format', 'icon': 'file-image', 'unit': 'px' }, - 'jp2': { 'format': 'Tagged Image File Format', 'icon': 'file-image', 'unit': 'px' }, - 'epub': { 'format': 'Electronic Publication', 'icon': 'file-pdf', 'unit': 'pt' }, - 'ico': { 'format': 'Windows Icon', 'icon': 'file-image', 'unit': 'px' }, - 'webp': { 'format': 'Compressed Image', 'icon': 'file-image', 'unit': 'px' }, - 'mobi': { 'format': 'Mobipocket eBook', 'icon': 'file-pdf', 'unit': 'pt' }, - 'tex': { 'format': 'LaTeX Source Document', 'icon': 'file-pdf', 'unit': 'pt' }, - 'djvu': { 'format': 'Multi-Layer Raster Image', 'icon': 'file-alt', 'unit': 'pt' }, - 'unknown': { 'format': 'This format is not supported', 'icon': 'file' }, - }; - return FileUtil; - }()); - if (false) { - /** @type {?} */ - FileUtil.map; - } - var FileService = /** @class */ (function () { - function FileService() { - } - return FileService; + /** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ + var PageModel = /** @class */ (function () { + function PageModel() { + } + return PageModel; + }()); + if (false) { + /** @type {?} */ + PageModel.prototype.data; + /** @type {?} */ + PageModel.prototype.angle; + /** @type {?} */ + PageModel.prototype.width; + /** @type {?} */ + PageModel.prototype.height; + /** @type {?} */ + PageModel.prototype.number; + /** @type {?} */ + PageModel.prototype.editable; + } + var RotatedPage = /** @class */ (function () { + function RotatedPage() { + } + return RotatedPage; + }()); + if (false) { + /** @type {?} */ + RotatedPage.prototype.pageNumber; + /** @type {?} */ + RotatedPage.prototype.angle; + } + var FileCredentials = /** @class */ (function () { + function FileCredentials(guid, password) { + this.guid = guid; + this.password = password; + } + return FileCredentials; + }()); + if (false) { + /** @type {?} */ + FileCredentials.prototype.guid; + /** @type {?} */ + FileCredentials.prototype.password; + } + var SaveFile = /** @class */ (function (_super) { + __extends(SaveFile, _super); + function SaveFile(guid, password, content) { + var _this = _super.call(this, guid, password) || this; + _this.content = content; + return _this; + } + return SaveFile; + }(FileCredentials)); + if (false) { + /** @type {?} */ + SaveFile.prototype.content; + } + var FileDescription = /** @class */ (function () { + function FileDescription() { + this.printAllowed = true; + } + return FileDescription; + }()); + if (false) { + /** @type {?} */ + FileDescription.prototype.guid; + /** @type {?} */ + FileDescription.prototype.pages; + /** @type {?} */ + FileDescription.prototype.printAllowed; + /** @type {?} */ + FileDescription.prototype.showGridLines; + /** @type {?} */ + FileDescription.prototype.thumbnails; + } + var FileModel = /** @class */ (function () { + function FileModel() { + } + return FileModel; + }()); + if (false) { + /** @type {?} */ + FileModel.prototype.guid; + /** @type {?} */ + FileModel.prototype.name; + /** @type {?} */ + FileModel.prototype.directory; + /** @type {?} */ + FileModel.prototype.size; + /** @type {?} */ + FileModel.prototype.isDirectory; + } + var HttpError = /** @class */ (function () { + function HttpError() { + } + HttpError.BadRequest = 400; + HttpError.Unauthorized = 401; + HttpError.Forbidden = 403; + HttpError.NotFound = 404; + HttpError.TimeOut = 408; + HttpError.Conflict = 409; + HttpError.InternalServerError = 500; + return HttpError; + }()); + if (false) { + /** @type {?} */ + HttpError.BadRequest; + /** @type {?} */ + HttpError.Unauthorized; + /** @type {?} */ + HttpError.Forbidden; + /** @type {?} */ + HttpError.NotFound; + /** @type {?} */ + HttpError.TimeOut; + /** @type {?} */ + HttpError.Conflict; + /** @type {?} */ + HttpError.InternalServerError; + } + var Utils = /** @class */ (function () { + function Utils() { + } + /** + * @param {?} event + * @return {?} + */ + Utils.getMousePosition = /** + * @param {?} event + * @return {?} + */ + function (event) { + /** @type {?} */ + var mouse = { + x: 0, + y: 0 + }; + /** @type {?} */ + var wEvent = (/** @type {?} */ (window.event)); + /** @type {?} */ + var ev = event || wEvent; + if (ev.pageX || wEvent.pageX || wEvent.screenX || (ev.touches && ev.touches[0] && ev.touches[0].pageX)) { //Moz + //Moz + /** @type {?} */ + var pageX = typeof ev.pageX !== "undefined" && ev.pageX !== 0 ? ev.pageX : wEvent.pageX; + /** @type {?} */ + var pageY = typeof ev.pageY !== "undefined" && ev.pageY !== 0 ? ev.pageY : wEvent.pageY; + /** @type {?} */ + var screenX_1 = typeof wEvent.screenX !== "undefined" && wEvent.screenY !== 0; + /** @type {?} */ + var screenY_1 = typeof wEvent.screenY !== "undefined" && wEvent.screenY !== 0; + mouse.x = pageX ? pageX : (screenX_1 ? wEvent.screenX : ev.touches[0].pageX); + mouse.y = pageY ? pageY : (screenY_1 ? wEvent.screenY : ev.touches[0].pageY); + } + else if (ev.clientX) { //IE + mouse.x = ev.clientX + document.body.scrollLeft; + mouse.y = ev.clientY + document.body.scrollTop; + } + return mouse; + }; + /** + * @param {?} color + * @return {?} + */ + Utils.toRgb = /** + * @param {?} color + * @return {?} + */ + function (color) { + /** @type {?} */ + var result = /^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(color); + if (result) { + /** @type {?} */ + var r = parseInt(result[1], 16); + /** @type {?} */ + var g = parseInt(result[2], 16); + /** @type {?} */ + var b = parseInt(result[3], 16); + return result ? 'rgb(' + r + ',' + g + ',' + b + ')' : ''; + } + return color; + }; + /** + * @param {?} color + * @return {?} + */ + Utils.toHex = /** + * @param {?} color + * @return {?} + */ + function (color) { + // check if color is standard hex value + if (color.match(/[0-9A-F]{6}|[0-9A-F]{3}$/i)) { + return (color.charAt(0) === "#") ? color : ("#" + color); + // check if color is RGB value -> convert to hex + } + else if (color.match(/^rgb\(\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(\d{1,3})\s*\)$/)) { + /** @type {?} */ + var c = ([parseInt(RegExp.$1, 10), parseInt(RegExp.$2, 10), parseInt(RegExp.$3, 10)]); + /** @type {?} */ + var pad = (/** + * @param {?} str + * @return {?} + */ + function (str) { + if (str.length < 2) { + for (var i = 0, len = 2 - str.length; i < len; i++) { + str = '0' + str; + } + } + return str; + }); + if (c.length === 3) { + /** @type {?} */ + var r = pad(c[0].toString(16)); + /** @type {?} */ + var g = pad(c[1].toString(16)); + /** @type {?} */ + var b = pad(c[2].toString(16)); + return '#' + r + g + b; + } + // else do nothing + } + else { + return ''; + } + }; + return Utils; + }()); + var FileUtil = /** @class */ (function () { + function FileUtil() { + } + /** + * @param {?} filename + * @param {?} isDirectory + * @return {?} + */ + FileUtil.find = /** + * @param {?} filename + * @param {?} isDirectory + * @return {?} + */ + function (filename, isDirectory) { + if (filename && !isDirectory) { + /** @type {?} */ + var strings = filename.split('.'); + /** @type {?} */ + var name_1 = strings.pop().toLowerCase(); + if (typeof FileUtil.map[name_1] === "undefined") { + return strings.length > 0 ? FileUtil.map['unknown'] : FileUtil.map['folder']; + } + else { + return FileUtil.map[name_1]; + } + } + else { + return FileUtil.map['folder']; + } + }; + FileUtil.map = { + 'folder': { 'format': '', 'icon': 'folder' }, + 'pdf': { 'format': 'Portable Document Format', 'icon': 'file-pdf', 'unit': 'pt' }, + 'doc': { 'format': 'Microsoft Word', 'icon': 'file-word', 'unit': 'pt' }, + 'docx': { 'format': 'Microsoft Word', 'icon': 'file-word', 'unit': 'pt' }, + 'docm': { 'format': 'Microsoft Word', 'icon': 'file-word', 'unit': 'pt' }, + 'dot': { 'format': 'Microsoft Word', 'icon': 'file-word', 'unit': 'pt' }, + 'dotx': { 'format': 'Microsoft Word', 'icon': 'file-word', 'unit': 'pt' }, + 'dotm': { 'format': 'Microsoft Word', 'icon': 'file-word', 'unit': 'pt' }, + 'xls': { 'format': 'Microsoft Excel', 'icon': 'file-excel', 'unit': 'px' }, + 'xlsx': { 'format': 'Microsoft Excel', 'icon': 'file-excel', 'unit': 'px' }, + 'xlsm': { 'format': 'Microsoft Excel', 'icon': 'file-excel', 'unit': 'px' }, + 'xlsb': { 'format': 'Microsoft Excel', 'icon': 'file-excel', 'unit': 'px' }, + 'xls2003': { 'format': 'Microsoft Excel', 'icon': 'file-excel', 'unit': 'px' }, + 'xltx': { 'format': 'Microsoft Excel', 'icon': 'file-excel', 'unit': 'px' }, + 'xltm': { 'format': 'Microsoft Excel', 'icon': 'file-excel', 'unit': 'px' }, + 'ppt': { 'format': 'Microsoft PowerPoint', 'icon': 'file-powerpoint', 'unit': 'pt' }, + 'pptx': { 'format': 'Microsoft PowerPoint', 'icon': 'file-powerpoint', 'unit': 'pt' }, + 'pps': { 'format': 'Microsoft PowerPoint', 'icon': 'file-powerpoint', 'unit': 'pt' }, + 'ppsx': { 'format': 'Microsoft PowerPoint', 'icon': 'file-powerpoint', 'unit': 'pt' }, + 'vsd': { 'format': 'Microsoft Visio', 'icon': 'file-code', 'unit': 'px' }, + 'vdx': { 'format': 'Microsoft Visio', 'icon': 'file-code', 'unit': 'px' }, + 'vss': { 'format': 'Microsoft Visio', 'icon': 'file-code', 'unit': 'px' }, + 'vsx': { 'format': 'Microsoft Visio', 'icon': 'file-code', 'unit': 'px' }, + 'vst': { 'format': 'Microsoft Visio', 'icon': 'file-code', 'unit': 'px' }, + 'vtx': { 'format': 'Microsoft Visio', 'icon': 'file-code', 'unit': 'px' }, + 'vsdx': { 'format': 'Microsoft Visio', 'icon': 'file-code', 'unit': 'px' }, + 'vdw': { 'format': 'Microsoft Visio', 'icon': 'file-code', 'unit': 'px' }, + 'vstx': { 'format': 'Microsoft Visio', 'icon': 'file-code', 'unit': 'px' }, + 'vssx': { 'format': 'Microsoft Visio', 'icon': 'file-code', 'unit': 'px' }, + 'mpp': { 'format': 'Microsoft Project', 'icon': 'file-alt', 'unit': 'pt' }, + 'mpt': { 'format': 'Microsoft Project', 'icon': 'file-alt', 'unit': 'pt' }, + 'msg': { 'format': 'Microsoft Outlook', 'icon': 'file-alt', 'unit': 'pt' }, + 'eml': { 'format': 'Microsoft Outlook', 'icon': 'file-alt', 'unit': 'pt' }, + 'emlx': { 'format': 'Microsoft Outlook', 'icon': 'file-alt', 'unit': 'pt' }, + 'one': { 'format': 'Microsoft OneNote', 'icon': 'file-word', 'unit': 'pt' }, + 'odt': { 'format': 'Open Document Text', 'icon': 'file-word', 'unit': 'pt' }, + 'ott': { 'format': 'Open Document Text Template', 'icon': 'file-word', 'unit': 'pt' }, + 'ods': { 'format': 'Open Document Spreadsheet', 'icon': 'file-excel', 'unit': 'px' }, + 'odp': { 'format': 'Open Document Presentation', 'icon': 'file-powerpoint', 'unit': 'pt' }, + 'otp': { 'format': 'Open Document Presentation', 'icon': 'file-powerpoint', 'unit': 'pt' }, + 'ots': { 'format': 'Open Document Presentation', 'icon': 'file-powerpoint', 'unit': 'pt' }, + 'potx': { 'format': 'Open Document Presentation', 'icon': 'file-powerpoint', 'unit': 'pt' }, + 'potm': { 'format': 'Open Document Presentation', 'icon': 'file-powerpoint', 'unit': 'pt' }, + 'pptm': { 'format': 'Open Document Presentation', 'icon': 'file-powerpoint', 'unit': 'pt' }, + 'ppsm': { 'format': 'Open Document Presentation', 'icon': 'file-powerpoint', 'unit': 'pt' }, + 'rtf': { 'format': 'Rich Text Format', 'icon': 'file-alt', 'unit': 'pt' }, + 'txt': { 'format': 'Plain Text File', 'icon': 'file-alt', 'unit': 'pt' }, + 'csv': { 'format': 'Comma-Separated Values', 'icon': 'file-excel', 'unit': 'px' }, + 'html': { 'format': 'HyperText Markup Language', 'icon': 'file-word', 'unit': 'pt' }, + 'mht': { 'format': 'HyperText Markup Language', 'icon': 'file-word', 'unit': 'pt' }, + 'mhtml': { 'format': 'HyperText Markup Language', 'icon': 'file-word', 'unit': 'pt' }, + 'xml': { 'format': 'Extensible Markup Language', 'icon': 'file-word', 'unit': 'pt' }, + 'xps': { 'format': 'XML Paper Specification', 'icon': 'file-word', 'unit': 'pt' }, + 'dxf': { 'format': 'AutoCAD Drawing File Format', 'icon': 'file-image', 'unit': 'px' }, + 'dwg': { 'format': 'AutoCAD Drawing File Format', 'icon': 'file-image', 'unit': 'px' }, + 'bmp': { 'format': 'Bitmap Picture', 'icon': 'file-image', 'unit': 'px' }, + 'gif': { 'format': 'Graphics Interchange Format', 'icon': 'file-image', 'unit': 'px' }, + 'jpg': { 'format': 'Joint Photographic Experts Group', 'icon': 'file-image', 'unit': 'px' }, + 'jpe': { 'format': 'Joint Photographic Experts Group', 'icon': 'file-image', 'unit': 'px' }, + 'jpeg': { 'format': 'Joint Photographic Experts Group', 'icon': 'file-image', 'unit': 'px' }, + 'jfif': { 'format': 'Joint Photographic Experts Group', 'icon': 'file-image', 'unit': 'px' }, + 'png': { 'format': 'Portable Network Graphics', 'icon': 'file-image', 'unit': 'px' }, + 'tiff': { 'format': 'Tagged Image File Format', 'icon': 'file-image', 'unit': 'px' }, + 'tif': { 'format': 'Tagged Image File Format', 'icon': 'file-image', 'unit': 'px' }, + 'psd': { 'format': 'Tagged Image File Format', 'icon': 'file-image', 'unit': 'px' }, + 'svg': { 'format': 'Tagged Image File Format', 'icon': 'file-image', 'unit': 'px' }, + 'jp2': { 'format': 'Tagged Image File Format', 'icon': 'file-image', 'unit': 'px' }, + 'epub': { 'format': 'Electronic Publication', 'icon': 'file-pdf', 'unit': 'pt' }, + 'ico': { 'format': 'Windows Icon', 'icon': 'file-image', 'unit': 'px' }, + 'webp': { 'format': 'Compressed Image', 'icon': 'file-image', 'unit': 'px' }, + 'mobi': { 'format': 'Mobipocket eBook', 'icon': 'file-pdf', 'unit': 'pt' }, + 'tex': { 'format': 'LaTeX Source Document', 'icon': 'file-pdf', 'unit': 'pt' }, + 'djvu': { 'format': 'Multi-Layer Raster Image', 'icon': 'file-alt', 'unit': 'pt' }, + 'unknown': { 'format': 'This format is not supported', 'icon': 'file' }, + }; + return FileUtil; + }()); + if (false) { + /** @type {?} */ + FileUtil.map; + } + var FileService = /** @class */ (function () { + function FileService() { + } + return FileService; }()); - /** - * @fileoverview added by tsickle - * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc - */ - var UploadFilesService = /** @class */ (function () { - function UploadFilesService() { - var _this = this; - this._uploadsChange = new rxjs.Observable((/** - * @param {?} observer - * @return {?} - */ - function (observer) { - return _this._observer = observer; - })); - } - Object.defineProperty(UploadFilesService.prototype, "uploadsChange", { - get: /** - * @return {?} - */ - function () { - return this._uploadsChange; - }, - enumerable: true, - configurable: true - }); - /** - * @param {?} filesList - * @return {?} - */ - UploadFilesService.prototype.changeFilesList = /** - * @param {?} filesList - * @return {?} - */ - function (filesList) { - this._observer.next(filesList); - }; - return UploadFilesService; - }()); - if (false) { - /** - * @type {?} - * @private - */ - UploadFilesService.prototype._uploadsChange; - /** - * @type {?} - * @private - */ - UploadFilesService.prototype._observer; + /** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ + var UploadFilesService = /** @class */ (function () { + function UploadFilesService() { + var _this = this; + this._uploadsChange = new rxjs.Observable((/** + * @param {?} observer + * @return {?} + */ + function (observer) { + return _this._observer = observer; + })); + } + Object.defineProperty(UploadFilesService.prototype, "uploadsChange", { + get: /** + * @return {?} + */ + function () { + return this._uploadsChange; + }, + enumerable: true, + configurable: true + }); + /** + * @param {?} filesList + * @return {?} + */ + UploadFilesService.prototype.changeFilesList = /** + * @param {?} filesList + * @return {?} + */ + function (filesList) { + this._observer.next(filesList); + }; + return UploadFilesService; + }()); + if (false) { + /** + * @type {?} + * @private + */ + UploadFilesService.prototype._uploadsChange; + /** + * @type {?} + * @private + */ + UploadFilesService.prototype._observer; } - /** - * @fileoverview added by tsickle - * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc - */ - /** @type {?} */ - var $ = jquery; - /** @type {?} */ - var upload_disc = 'Disc'; - /** @type {?} */ - var upload_url = 'URL'; - /** @type {?} */ - var uploads_choices = [{ name: upload_disc, icon: 'hdd' }, { name: upload_url, icon: 'link' }]; - var BrowseFilesModalComponent = /** @class */ (function () { - function BrowseFilesModalComponent(_uploadService) { - this._uploadService = _uploadService; - this.uploads = uploads_choices; - this.selectedFileGuid = new core.EventEmitter(); - this.selectedDirectory = new core.EventEmitter(); - this.urlForUpload = new core.EventEmitter(); - this.closing = new core.EventEmitter(); - this.showUploadUrl = false; - this.showUploadFile = false; - } - /** - * @return {?} - */ - BrowseFilesModalComponent.prototype.ngOnInit = /** - * @return {?} - */ - function () { - }; - /** - * @param {?} size - * @return {?} - */ - BrowseFilesModalComponent.prototype.getSize = /** - * @param {?} size - * @return {?} - */ - function (size) { - /** @type {?} */ - var mb = size / 1024 / 1024; - if (mb > 1) { - return (Math.round(mb * 100) / 100) + ' MB'; - } - else { - /** @type {?} */ - var kb = size / 1024; - if (kb > 1) { - return (Math.round(kb * 100) / 100) + ' KB'; - } - } - return size + ' Bytes'; - }; - /** - * @param {?} file - * @return {?} - */ - BrowseFilesModalComponent.prototype.getFormatName = /** - * @param {?} file - * @return {?} - */ - function (file) { - return FileUtil.find(file.name, file.directory).format; - }; - /** - * @param {?} file - * @return {?} - */ - BrowseFilesModalComponent.prototype.getFormatIcon = /** - * @param {?} file - * @return {?} - */ - function (file) { - return FileUtil.find(file.name, file.directory).icon; - }; - /** - * @param {?} file - * @return {?} - */ - BrowseFilesModalComponent.prototype.choose = /** - * @param {?} file - * @return {?} - */ - function (file) { - this.selectedFile = file; - if (file.directory || file.isDirectory) { - this.selectedDirectory.emit(file.name); - } - else { - this.selectedFileGuid.emit(file.guid); - } - }; - /** - * @return {?} - */ - BrowseFilesModalComponent.prototype.goUp = /** - * @return {?} - */ - function () { - if (this.selectedFile) { - /** @type {?} */ - var guid = this.selectedFile.guid; - if (guid.length > 0 && guid.indexOf('/') === -1) { - guid = ''; - } - else { - guid = guid.replace(/\/[^\/]+\/?$/, ''); - } - this.selectedDirectory.emit(guid); - } - }; - /** - * @param {?} $event - * @return {?} - */ - BrowseFilesModalComponent.prototype.selectUpload = /** - * @param {?} $event - * @return {?} - */ - function ($event) { - if (upload_url === $event) { - this.showUploadUrl = true; - } - else { - this.showUploadUrl = false; - $("#gd-upload-input").trigger('click'); - } - }; - /** - * @param {?} $event - * @return {?} - */ - BrowseFilesModalComponent.prototype.refresh = /** - * @param {?} $event - * @return {?} - */ - function ($event) { - if ($event) { - this.files = null; - this.selectedDirectory.emit(''); - this.showUploadUrl = false; - this.selectedFile = null; - } - else { - this.closing.emit(true); - } - }; - /** - * @return {?} - */ - BrowseFilesModalComponent.prototype.showSpinner = /** - * @return {?} - */ - function () { - return !this.files; - }; - /** - * @param {?} url - * @return {?} - */ - BrowseFilesModalComponent.prototype.uploadUrl = /** - * @param {?} url - * @return {?} - */ - function (url) { - if (url) { - this.urlForUpload.emit(url); - this.cleanUpload(); - } - }; - /** - * @param {?} files - * @return {?} - */ - BrowseFilesModalComponent.prototype.handleFileInput = /** - * @param {?} files - * @return {?} - */ - function (files) { - this._uploadService.changeFilesList(files); - }; - /** - * @return {?} - */ - BrowseFilesModalComponent.prototype.cleanUpload = /** - * @return {?} - */ - function () { - this.showUploadFile = false; - this.showUploadUrl = false; - }; - BrowseFilesModalComponent.decorators = [ - { type: core.Component, args: [{ - selector: 'gd-browse-files-modal', - template: "\n
\n
\n \n Drop file here to upload\n
\n
\n
\n \n
\n
\n \n \n \n Upload file\n \n \n \n \n \n
{{item.name}}
\n
\n
\n
\n
\n
\n
\n \n
\n \n
\n
\n
\n
\n
\n
\n
FILE
\n
SIZE
\n
\n
\n
\n
\n
\n
\n \n
\n
..
\n
\n
\n
\n \n
\n
{{file?.name}}
\n
{{getFormatName(file)}}
\n
\n
\n
\n {{getSize(file?.size)}}\n
\n
\n
\n
\n
\n \n  Loading... Please wait.\n
\n
\n
\n", - styles: [".gd-modal-table{width:100%;text-align:left}#gd-browse-section{width:1036px;height:561px;overflow-y:auto}.list-files-header{height:60px;color:#6e6e6e;font-size:13px;font-weight:700;background-color:#f4f4f4;margin-top:24px}.list-files-header.upload-url{margin-top:20px}.header-name{padding-left:24px;width:90%;line-height:60px}.header-size{padding-right:27px;line-height:60px}.file-size,.header-size{width:10%;color:#777;text-align:right}.file-description{display:-webkit-box;display:flex;width:90%;padding:18px 0 18px 24px;font-size:14px;-webkit-box-flex:1;flex:1;cursor:pointer;overflow:hidden}.file-size{font-size:12px;padding:0 27px 0 0;width:10%;line-height:79px}.list-files-header,.list-files-lines{display:-webkit-box;display:flex;width:100%;-webkit-box-pack:justify;justify-content:space-between}.gd-modal-spinner{background-color:#fff;width:100%;height:20px;text-align:center;font-size:16px}.gd-cancel-button{padding:7px;background:0 0;width:28px;overflow:hidden}.gd-cancel-button i{font-size:21px}.gd-file-name{white-space:nowrap;overflow:hidden;width:100%;text-overflow:ellipsis}.go-up{display:-webkit-box;display:flex;font-size:26px;cursor:pointer;color:#4b566c;height:79px}.go-up-dots{margin-left:20px;margin-top:22px;font-size:16px}.go-up-icon{display:block;padding:18px 0 18px 24px}.upload-panel{display:-webkit-box;display:flex;position:relative;width:100%}.upload-panel .context{display:-webkit-box;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column;width:100%;margin-left:24px;margin-top:24px;margin-right:24px}.upload-panel .context .context-actions{display:-webkit-box;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;flex-direction:row;width:100%}.upload-panel .context .context-actions :last-child{margin-right:0}.upload-panel .context .context-actions ::ng-deep .button{height:37px;width:96px;padding:0;-webkit-box-pack:center;justify-content:center}.upload-panel .context .context-actions ::ng-deep .button ::ng-deep .text{font-size:10px}.upload-panel .context .context-panel{display:-webkit-box;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;flex-direction:row;width:100%;margin-top:20px}.upload-panel .context .context-panel .upload-url{display:-webkit-box;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;flex-direction:row;width:100%}.upload-panel .context .context-panel .upload-url .url-input{width:100%;height:27px;border:1px solid #25c2d4;font-size:14px;padding-left:6px}.upload-panel .context .context-panel .upload-url .url-check{width:31px;height:31px;color:#fff;font-size:15px;background-color:#25c2d4}.upload-panel .context .context-panel .upload-url .url-check .ng-fa-icon{display:block;padding:8px}.upload-panel gd-drop-down{margin-right:10px}.file-description .ng-fa-icon.fa-file-pdf{color:#e04e4e}.file-description .ng-fa-icon.fa-file-word{color:#539cf0}.file-description .ng-fa-icon.fa-file-powerpoint{color:#e29e1e}.file-description .ng-fa-icon.fa-file-excel{color:#7cbc46}.file-description .ng-fa-icon.fa-file-image{color:#c375ed}.file-description .ng-fa-icon.fa-file,.file-description .ng-fa-icon.fa-file-alt,.file-description .ng-fa-icon.fa-file-text .fa-folder{color:#4b566c}.file-description .ng-fa-icon{font-size:32px}.file-name{font-size:16px;color:#6e6e6e;overflow:hidden;text-overflow:ellipsis}.file-name-format{padding-left:11px;overflow:hidden}.file-format{font-size:10px;padding-top:3px;color:#acacac}.go-up,.list-files-lines{border-bottom:1px solid #e7e7e7}.list-files-lines:hover{background-color:#e5e5e5}.gd-dnd-wrap{background-color:#fff;cursor:default;position:absolute;width:100%;height:calc(100% - 60px);background:rgba(255,255,255,.7);z-index:1;display:-webkit-box;display:flex;-webkit-box-pack:center;justify-content:center;-webkit-box-align:center;align-items:center}.dnd-wrapper{display:-webkit-box;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column;-webkit-box-align:center;align-items:center;-webkit-box-pack:center;justify-content:center;top:259px;position:absolute}.dnd-wrapper .text{color:#6e6e6e;font-size:14px}.dnd-wrapper .icon{display:-webkit-box;display:flex;width:113px;height:90px;font-size:90px;color:#3e4e5a;margin-bottom:30px}@media (max-width:1037px){.file-size,.header-size{width:18%}.gd-dnd-wrap{width:95%}#gd-browse-section{width:100%;height:calc(100% - 146px)}}"] - }] } - ]; - /** @nocollapse */ - BrowseFilesModalComponent.ctorParameters = function () { return [ - { type: UploadFilesService } - ]; }; - BrowseFilesModalComponent.propDecorators = { - files: [{ type: core.Input }], - uploadConfig: [{ type: core.Input }], - selectedFileGuid: [{ type: core.Output }], - selectedDirectory: [{ type: core.Output }], - urlForUpload: [{ type: core.Output }], - closing: [{ type: core.Output }] - }; - return BrowseFilesModalComponent; - }()); - if (false) { - /** @type {?} */ - BrowseFilesModalComponent.prototype.uploads; - /** @type {?} */ - BrowseFilesModalComponent.prototype.files; - /** @type {?} */ - BrowseFilesModalComponent.prototype.uploadConfig; - /** @type {?} */ - BrowseFilesModalComponent.prototype.selectedFileGuid; - /** @type {?} */ - BrowseFilesModalComponent.prototype.selectedDirectory; - /** @type {?} */ - BrowseFilesModalComponent.prototype.urlForUpload; - /** @type {?} */ - BrowseFilesModalComponent.prototype.closing; - /** - * @type {?} - * @private - */ - BrowseFilesModalComponent.prototype.selectedFile; - /** @type {?} */ - BrowseFilesModalComponent.prototype.showUploadUrl; - /** @type {?} */ - BrowseFilesModalComponent.prototype.showUploadFile; - /** - * @type {?} - * @private - */ - BrowseFilesModalComponent.prototype._uploadService; + /** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ + /** @type {?} */ + var $ = jquery; + /** @type {?} */ + var upload_disc = 'Disc'; + /** @type {?} */ + var upload_url = 'URL'; + /** @type {?} */ + var uploads_choices = [{ name: upload_disc, icon: 'hdd' }, { name: upload_url, icon: 'link' }]; + var BrowseFilesModalComponent = /** @class */ (function () { + function BrowseFilesModalComponent(_uploadService) { + this._uploadService = _uploadService; + this.uploads = uploads_choices; + this.selectedFileGuid = new core.EventEmitter(); + this.selectedDirectory = new core.EventEmitter(); + this.urlForUpload = new core.EventEmitter(); + this.closing = new core.EventEmitter(); + this.showUploadUrl = false; + this.showUploadFile = false; + } + /** + * @return {?} + */ + BrowseFilesModalComponent.prototype.ngOnInit = /** + * @return {?} + */ + function () { + }; + /** + * @param {?} size + * @return {?} + */ + BrowseFilesModalComponent.prototype.getSize = /** + * @param {?} size + * @return {?} + */ + function (size) { + /** @type {?} */ + var mb = size / 1024 / 1024; + if (mb > 1) { + return (Math.round(mb * 100) / 100) + ' MB'; + } + else { + /** @type {?} */ + var kb = size / 1024; + if (kb > 1) { + return (Math.round(kb * 100) / 100) + ' KB'; + } + } + return size + ' Bytes'; + }; + /** + * @param {?} file + * @return {?} + */ + BrowseFilesModalComponent.prototype.getFormatName = /** + * @param {?} file + * @return {?} + */ + function (file) { + return FileUtil.find(file.name, file.directory).format; + }; + /** + * @param {?} file + * @return {?} + */ + BrowseFilesModalComponent.prototype.getFormatIcon = /** + * @param {?} file + * @return {?} + */ + function (file) { + return FileUtil.find(file.name, file.directory).icon; + }; + /** + * @param {?} file + * @return {?} + */ + BrowseFilesModalComponent.prototype.choose = /** + * @param {?} file + * @return {?} + */ + function (file) { + this.selectedFile = file; + if (file.directory || file.isDirectory) { + this.selectedDirectory.emit(file.name); + } + else { + this.selectedFileGuid.emit(file.guid); + } + }; + /** + * @return {?} + */ + BrowseFilesModalComponent.prototype.goUp = /** + * @return {?} + */ + function () { + if (this.selectedFile) { + /** @type {?} */ + var guid = this.selectedFile.guid; + if (guid.length > 0 && guid.indexOf('/') === -1) { + guid = ''; + } + else { + guid = guid.replace(/\/[^\/]+\/?$/, ''); + } + this.selectedDirectory.emit(guid); + } + }; + /** + * @param {?} $event + * @return {?} + */ + BrowseFilesModalComponent.prototype.selectUpload = /** + * @param {?} $event + * @return {?} + */ + function ($event) { + if (upload_url === $event) { + this.showUploadUrl = true; + } + else { + this.showUploadUrl = false; + $("#gd-upload-input").trigger('click'); + } + }; + /** + * @param {?} $event + * @return {?} + */ + BrowseFilesModalComponent.prototype.refresh = /** + * @param {?} $event + * @return {?} + */ + function ($event) { + if ($event) { + this.files = null; + this.selectedDirectory.emit(''); + this.showUploadUrl = false; + this.selectedFile = null; + } + else { + this.closing.emit(true); + } + }; + /** + * @return {?} + */ + BrowseFilesModalComponent.prototype.showSpinner = /** + * @return {?} + */ + function () { + return !this.files; + }; + /** + * @param {?} url + * @return {?} + */ + BrowseFilesModalComponent.prototype.uploadUrl = /** + * @param {?} url + * @return {?} + */ + function (url) { + if (url) { + this.urlForUpload.emit(url); + this.cleanUpload(); + } + }; + /** + * @param {?} files + * @return {?} + */ + BrowseFilesModalComponent.prototype.handleFileInput = /** + * @param {?} files + * @return {?} + */ + function (files) { + this._uploadService.changeFilesList(files); + }; + /** + * @return {?} + */ + BrowseFilesModalComponent.prototype.cleanUpload = /** + * @return {?} + */ + function () { + this.showUploadFile = false; + this.showUploadUrl = false; + }; + BrowseFilesModalComponent.decorators = [ + { type: core.Component, args: [{ + selector: 'gd-browse-files-modal', + template: "\r\n
\r\n
\r\n \r\n Drop file here to upload\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n Upload file\r\n \r\n \r\n \r\n \r\n \r\n
{{item.name}}
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
FILE
\r\n
SIZE
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
..
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
{{file?.name}}
\r\n
{{getFormatName(file)}}
\r\n
\r\n
\r\n
\r\n {{getSize(file?.size)}}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n  Loading... Please wait.\r\n
\r\n
\r\n
\r\n", + styles: [".gd-modal-table{width:100%;text-align:left}#gd-browse-section{width:1036px;height:561px;overflow-y:auto}.list-files-header{height:60px;color:#6e6e6e;font-size:13px;font-weight:700;background-color:#f4f4f4;margin-top:24px}.list-files-header.upload-url{margin-top:20px}.header-name{padding-left:24px;width:90%;line-height:60px}.header-size{padding-right:27px;line-height:60px}.file-size,.header-size{width:10%;color:#777;text-align:right}.file-description{display:-webkit-box;display:flex;width:90%;padding:18px 0 18px 24px;font-size:14px;-webkit-box-flex:1;flex:1;cursor:pointer;overflow:hidden}.file-size{font-size:12px;padding:0 27px 0 0;width:10%;line-height:79px}.list-files-header,.list-files-lines{display:-webkit-box;display:flex;width:100%;-webkit-box-pack:justify;justify-content:space-between}.gd-modal-spinner{background-color:#fff;width:100%;height:20px;text-align:center;font-size:16px}.gd-cancel-button{padding:7px;background:0 0;width:28px;overflow:hidden}.gd-cancel-button i{font-size:21px}.gd-file-name{white-space:nowrap;overflow:hidden;width:100%;text-overflow:ellipsis}.go-up{display:-webkit-box;display:flex;font-size:26px;cursor:pointer;color:#4b566c;height:79px}.go-up-dots{margin-left:20px;margin-top:22px;font-size:16px}.go-up-icon{display:block;padding:18px 0 18px 24px}.upload-panel{display:-webkit-box;display:flex;position:relative;width:100%}.upload-panel .context{display:-webkit-box;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column;width:100%;margin-left:24px;margin-top:24px;margin-right:24px}.upload-panel .context .context-actions{display:-webkit-box;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;flex-direction:row;width:100%}.upload-panel .context .context-actions :last-child{margin-right:0}.upload-panel .context .context-actions ::ng-deep .button{height:37px;width:96px;padding:0;-webkit-box-pack:center;justify-content:center}.upload-panel .context .context-actions ::ng-deep .button ::ng-deep .text{font-size:10px}.upload-panel .context .context-panel{display:-webkit-box;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;flex-direction:row;width:100%;margin-top:20px}.upload-panel .context .context-panel .upload-url{display:-webkit-box;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;flex-direction:row;width:100%}.upload-panel .context .context-panel .upload-url .url-input{width:100%;height:27px;border:1px solid #25c2d4;font-size:14px;padding-left:6px}.upload-panel .context .context-panel .upload-url .url-check{width:31px;height:31px;color:#fff;font-size:15px;background-color:#25c2d4}.upload-panel .context .context-panel .upload-url .url-check .ng-fa-icon{display:block;padding:8px}.upload-panel gd-drop-down{margin-right:10px}.file-description .ng-fa-icon.fa-file-pdf{color:#e04e4e}.file-description .ng-fa-icon.fa-file-word{color:#539cf0}.file-description .ng-fa-icon.fa-file-powerpoint{color:#e29e1e}.file-description .ng-fa-icon.fa-file-excel{color:#7cbc46}.file-description .ng-fa-icon.fa-file-image{color:#c375ed}.file-description .ng-fa-icon.fa-file,.file-description .ng-fa-icon.fa-file-alt,.file-description .ng-fa-icon.fa-file-text .fa-folder{color:#4b566c}.file-description .ng-fa-icon{font-size:32px}.file-name{font-size:16px;color:#6e6e6e;overflow:hidden;text-overflow:ellipsis}.file-name-format{padding-left:11px;overflow:hidden}.file-format{font-size:10px;padding-top:3px;color:#acacac}.go-up,.list-files-lines{border-bottom:1px solid #e7e7e7}.list-files-lines:hover{background-color:#e5e5e5}.gd-dnd-wrap{background-color:#fff;cursor:default;position:absolute;width:100%;height:calc(100% - 60px);background:rgba(255,255,255,.7);z-index:1;display:-webkit-box;display:flex;-webkit-box-pack:center;justify-content:center;-webkit-box-align:center;align-items:center}.dnd-wrapper{display:-webkit-box;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column;-webkit-box-align:center;align-items:center;-webkit-box-pack:center;justify-content:center;top:259px;position:absolute}.dnd-wrapper .text{color:#6e6e6e;font-size:14px}.dnd-wrapper .icon{display:-webkit-box;display:flex;width:113px;height:90px;font-size:90px;color:#3e4e5a;margin-bottom:30px}@media (max-width:1037px){.file-size,.header-size{width:18%}.gd-dnd-wrap{width:95%}#gd-browse-section{width:100%;height:calc(100% - 146px)}}"] + }] } + ]; + /** @nocollapse */ + BrowseFilesModalComponent.ctorParameters = function () { return [ + { type: UploadFilesService } + ]; }; + BrowseFilesModalComponent.propDecorators = { + files: [{ type: core.Input }], + uploadConfig: [{ type: core.Input }], + selectedFileGuid: [{ type: core.Output }], + selectedDirectory: [{ type: core.Output }], + urlForUpload: [{ type: core.Output }], + closing: [{ type: core.Output }] + }; + return BrowseFilesModalComponent; + }()); + if (false) { + /** @type {?} */ + BrowseFilesModalComponent.prototype.uploads; + /** @type {?} */ + BrowseFilesModalComponent.prototype.files; + /** @type {?} */ + BrowseFilesModalComponent.prototype.uploadConfig; + /** @type {?} */ + BrowseFilesModalComponent.prototype.selectedFileGuid; + /** @type {?} */ + BrowseFilesModalComponent.prototype.selectedDirectory; + /** @type {?} */ + BrowseFilesModalComponent.prototype.urlForUpload; + /** @type {?} */ + BrowseFilesModalComponent.prototype.closing; + /** + * @type {?} + * @private + */ + BrowseFilesModalComponent.prototype.selectedFile; + /** @type {?} */ + BrowseFilesModalComponent.prototype.showUploadUrl; + /** @type {?} */ + BrowseFilesModalComponent.prototype.showUploadFile; + /** + * @type {?} + * @private + */ + BrowseFilesModalComponent.prototype._uploadService; } - /** - * @fileoverview added by tsickle - * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc - */ - var ZoomService = /** @class */ (function () { - function ZoomService() { - this._observer = new rxjs.Subject(); - this._zoomChange = this._observer.asObservable(); - } - Object.defineProperty(ZoomService.prototype, "zoom", { - get: /** - * @return {?} - */ - function () { - return this._zoom; - }, - enumerable: true, - configurable: true - }); - Object.defineProperty(ZoomService.prototype, "zoomChange", { - get: /** - * @return {?} - */ - function () { - return this._zoomChange; - }, - enumerable: true, - configurable: true - }); - /** - * @param {?} zoom - * @return {?} - */ - ZoomService.prototype.changeZoom = /** - * @param {?} zoom - * @return {?} - */ - function (zoom) { - this._zoom = zoom; - this._observer.next(zoom); - }; - /** - * @private - * @param {?} val - * @param {?} name - * @param {?=} sep - * @return {?} - */ - ZoomService.prototype.createZoomOption = /** - * @private - * @param {?} val - * @param {?} name - * @param {?=} sep - * @return {?} - */ - function (val, name, sep) { - if (sep === void 0) { sep = false; } - return { value: val, name: name, separator: sep }; - }; - /** - * @param {?} width - * @param {?} height - * @return {?} - */ - ZoomService.prototype.zoomOptions = /** - * @param {?} width - * @param {?} height - * @return {?} - */ - function (width, height) { - return [this.createZoomOption(25, '25%'), - this.createZoomOption(50, '50%'), - this.createZoomOption(100, '100%'), - this.createZoomOption(150, '150%'), - this.createZoomOption(200, '200%'), - this.createZoomOption(300, '300%'), - this.createZoomOption(0, '', true), - this.createZoomOption(width, 'Fit Width'), - this.createZoomOption(height, 'Fit Height')]; - }; - return ZoomService; - }()); - if (false) { - /** - * @type {?} - * @private - */ - ZoomService.prototype._observer; - /** - * @type {?} - * @private - */ - ZoomService.prototype._zoomChange; - /** - * @type {?} - * @private - */ - ZoomService.prototype._zoom; + /** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ + var ZoomService = /** @class */ (function () { + function ZoomService() { + this._observer = new rxjs.Subject(); + this._zoomChange = this._observer.asObservable(); + } + Object.defineProperty(ZoomService.prototype, "zoom", { + get: /** + * @return {?} + */ + function () { + return this._zoom; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(ZoomService.prototype, "zoomChange", { + get: /** + * @return {?} + */ + function () { + return this._zoomChange; + }, + enumerable: true, + configurable: true + }); + /** + * @param {?} zoom + * @return {?} + */ + ZoomService.prototype.changeZoom = /** + * @param {?} zoom + * @return {?} + */ + function (zoom) { + this._zoom = zoom; + this._observer.next(zoom); + }; + /** + * @private + * @param {?} val + * @param {?} name + * @param {?=} sep + * @return {?} + */ + ZoomService.prototype.createZoomOption = /** + * @private + * @param {?} val + * @param {?} name + * @param {?=} sep + * @return {?} + */ + function (val, name, sep) { + if (sep === void 0) { sep = false; } + return { value: val, name: name, separator: sep }; + }; + /** + * @param {?} width + * @param {?} height + * @return {?} + */ + ZoomService.prototype.zoomOptions = /** + * @param {?} width + * @param {?} height + * @return {?} + */ + function (width, height) { + return [this.createZoomOption(25, '25%'), + this.createZoomOption(50, '50%'), + this.createZoomOption(100, '100%'), + this.createZoomOption(150, '150%'), + this.createZoomOption(200, '200%'), + this.createZoomOption(300, '300%'), + this.createZoomOption(0, '', true), + this.createZoomOption(width, 'Fit Width'), + this.createZoomOption(height, 'Fit Height')]; + }; + return ZoomService; + }()); + if (false) { + /** + * @type {?} + * @private + */ + ZoomService.prototype._observer; + /** + * @type {?} + * @private + */ + ZoomService.prototype._zoomChange; + /** + * @type {?} + * @private + */ + ZoomService.prototype._zoom; } - /** - * @fileoverview added by tsickle - * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc - */ - var PagePreloadService = /** @class */ (function () { - function PagePreloadService() { - var _this = this; - this._checkPreload = new rxjs.Observable((/** - * @param {?} observer - * @return {?} - */ - function (observer) { - return _this._observer = observer; - })); - } - Object.defineProperty(PagePreloadService.prototype, "checkPreload", { - get: /** - * @return {?} - */ - function () { - return this._checkPreload; - }, - enumerable: true, - configurable: true - }); - /** - * @param {?} page - * @return {?} - */ - PagePreloadService.prototype.changeLastPageInView = /** - * @param {?} page - * @return {?} - */ - function (page) { - if (this._observer) { - this._observer.next(page); - } - }; - return PagePreloadService; - }()); - if (false) { - /** - * @type {?} - * @private - */ - PagePreloadService.prototype._checkPreload; - /** - * @type {?} - * @private - */ - PagePreloadService.prototype._observer; + /** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ + var PagePreloadService = /** @class */ (function () { + function PagePreloadService() { + var _this = this; + this._checkPreload = new rxjs.Observable((/** + * @param {?} observer + * @return {?} + */ + function (observer) { + return _this._observer = observer; + })); + } + Object.defineProperty(PagePreloadService.prototype, "checkPreload", { + get: /** + * @return {?} + */ + function () { + return this._checkPreload; + }, + enumerable: true, + configurable: true + }); + /** + * @param {?} page + * @return {?} + */ + PagePreloadService.prototype.changeLastPageInView = /** + * @param {?} page + * @return {?} + */ + function (page) { + if (this._observer) { + this._observer.next(page); + } + }; + return PagePreloadService; + }()); + if (false) { + /** + * @type {?} + * @private + */ + PagePreloadService.prototype._checkPreload; + /** + * @type {?} + * @private + */ + PagePreloadService.prototype._observer; } - /** - * @fileoverview added by tsickle - * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc - */ - var NavigateService = /** @class */ (function () { - function NavigateService(_pagePreloadService) { - this._pagePreloadService = _pagePreloadService; - this._currentPage = 0; - this._countPages = 0; - this._observer = new rxjs.Subject(); - this._navigate = this._observer; - } - Object.defineProperty(NavigateService.prototype, "navigate", { - get: /** - * @return {?} - */ - function () { - return this._navigate; - }, - enumerable: true, - configurable: true - }); - Object.defineProperty(NavigateService.prototype, "countPages", { - get: /** - * @return {?} - */ - function () { - return this._countPages; - }, - set: /** - * @param {?} value - * @return {?} - */ - function (value) { - this._countPages = value; - }, - enumerable: true, - configurable: true - }); - Object.defineProperty(NavigateService.prototype, "currentPage", { - get: /** - * @return {?} - */ - function () { - return this._currentPage; - }, - set: /** - * @param {?} value - * @return {?} - */ - function (value) { - this._currentPage = value; - }, - enumerable: true, - configurable: true - }); - /** - * @return {?} - */ - NavigateService.prototype.nextPage = /** - * @return {?} - */ - function () { - if (this._currentPage < this._countPages) { - this._currentPage++; - this.navigateTo(this._currentPage); - } - }; - /** - * @return {?} - */ - NavigateService.prototype.prevPage = /** - * @return {?} - */ - function () { - if (this._currentPage > 1) { - this._currentPage--; - this.navigateTo(this._currentPage); - } - }; - /** - * @return {?} - */ - NavigateService.prototype.toLastPage = /** - * @return {?} - */ - function () { - this._currentPage = this._countPages; - this.navigateTo(this._currentPage); - }; - /** - * @return {?} - */ - NavigateService.prototype.toFirstPage = /** - * @return {?} - */ - function () { - this._currentPage = 1; - this.navigateTo(this._currentPage); - }; - /** - * @param {?} page - * @return {?} - */ - NavigateService.prototype.navigateTo = /** - * @param {?} page - * @return {?} - */ - function (page) { - this.currentPage = page; - this._pagePreloadService.changeLastPageInView(page); - this._observer.next(page); - }; - NavigateService.decorators = [ - { type: core.Injectable, args: [{ - providedIn: 'root' - },] } - ]; - /** @nocollapse */ - NavigateService.ctorParameters = function () { return [ - { type: PagePreloadService } - ]; }; - /** @nocollapse */ NavigateService.ngInjectableDef = core.ɵɵdefineInjectable({ factory: function NavigateService_Factory() { return new NavigateService(core.ɵɵinject(PagePreloadService)); }, token: NavigateService, providedIn: "root" }); - return NavigateService; - }()); - if (false) { - /** - * @type {?} - * @private - */ - NavigateService.prototype._currentPage; - /** - * @type {?} - * @private - */ - NavigateService.prototype._countPages; - /** - * @type {?} - * @private - */ - NavigateService.prototype._observer; - /** - * @type {?} - * @private - */ - NavigateService.prototype._navigate; - /** - * @type {?} - * @private - */ - NavigateService.prototype._pagePreloadService; + /** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ + var NavigateService = /** @class */ (function () { + function NavigateService(_pagePreloadService) { + this._pagePreloadService = _pagePreloadService; + this._currentPage = 0; + this._countPages = 0; + this._observer = new rxjs.Subject(); + this._navigate = this._observer; + } + Object.defineProperty(NavigateService.prototype, "navigate", { + get: /** + * @return {?} + */ + function () { + return this._navigate; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(NavigateService.prototype, "countPages", { + get: /** + * @return {?} + */ + function () { + return this._countPages; + }, + set: /** + * @param {?} value + * @return {?} + */ + function (value) { + this._countPages = value; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(NavigateService.prototype, "currentPage", { + get: /** + * @return {?} + */ + function () { + return this._currentPage; + }, + set: /** + * @param {?} value + * @return {?} + */ + function (value) { + this._currentPage = value; + }, + enumerable: true, + configurable: true + }); + /** + * @return {?} + */ + NavigateService.prototype.nextPage = /** + * @return {?} + */ + function () { + if (this._currentPage < this._countPages) { + this._currentPage++; + this.navigateTo(this._currentPage); + } + }; + /** + * @return {?} + */ + NavigateService.prototype.prevPage = /** + * @return {?} + */ + function () { + if (this._currentPage > 1) { + this._currentPage--; + this.navigateTo(this._currentPage); + } + }; + /** + * @return {?} + */ + NavigateService.prototype.toLastPage = /** + * @return {?} + */ + function () { + this._currentPage = this._countPages; + this.navigateTo(this._currentPage); + }; + /** + * @return {?} + */ + NavigateService.prototype.toFirstPage = /** + * @return {?} + */ + function () { + this._currentPage = 1; + this.navigateTo(this._currentPage); + }; + /** + * @param {?} page + * @return {?} + */ + NavigateService.prototype.navigateTo = /** + * @param {?} page + * @return {?} + */ + function (page) { + this.currentPage = page; + this._pagePreloadService.changeLastPageInView(page); + this._observer.next(page); + }; + NavigateService.decorators = [ + { type: core.Injectable, args: [{ + providedIn: 'root' + },] } + ]; + /** @nocollapse */ + NavigateService.ctorParameters = function () { return [ + { type: PagePreloadService } + ]; }; + /** @nocollapse */ NavigateService.ngInjectableDef = core.ɵɵdefineInjectable({ factory: function NavigateService_Factory() { return new NavigateService(core.ɵɵinject(PagePreloadService)); }, token: NavigateService, providedIn: "root" }); + return NavigateService; + }()); + if (false) { + /** + * @type {?} + * @private + */ + NavigateService.prototype._currentPage; + /** + * @type {?} + * @private + */ + NavigateService.prototype._countPages; + /** + * @type {?} + * @private + */ + NavigateService.prototype._observer; + /** + * @type {?} + * @private + */ + NavigateService.prototype._navigate; + /** + * @type {?} + * @private + */ + NavigateService.prototype._pagePreloadService; } - /** - * @fileoverview added by tsickle - * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc - */ - /** @type {?} */ - var $$1 = jquery; - var DocumentComponent = /** @class */ (function () { - function DocumentComponent(_elementRef, _zoomService, _windowService, _navigateService) { - var _this = this; - this._elementRef = _elementRef; - this._zoomService = _zoomService; - this._windowService = _windowService; - this._navigateService = _navigateService; - this.wait = false; - this.docWidth = null; - this.docHeight = null; - this.viewportWidth = null; - this.viewportHeight = null; - this.scale = null; - this.lastScale = null; - this.container = null; - this.doc = null; - this.x = 0; - this.lastX = 0; - this.y = 0; - this.lastY = 0; - this.pinchCenter = null; - this.pinchCenterOffset = null; - this.curWidth = 0; - this.curHeight = 0; - _zoomService.zoomChange.subscribe((/** - * @param {?} val - * @return {?} - */ - function (val) { - _this.zoom = val; - })); - this.isDesktop = _windowService.isDesktop(); - this._navigateService.navigate.subscribe((((/** - * @param {?} value - * @return {?} - */ - function (value) { - _this.selectedPage = value; - })))); - } - /** - * @return {?} - */ - DocumentComponent.prototype.ngOnInit = /** - * @return {?} - */ - function () { - if (this.ifPresentation()) { - this.selectedPage = this._navigateService.currentPage; - } - }; - /** - * @return {?} - */ - DocumentComponent.prototype.ngOnChanges = /** - * @return {?} - */ - function () { - }; - /** - * @return {?} - */ - DocumentComponent.prototype.ngAfterViewInit = /** - * @return {?} - */ - function () { - // For current iteration we take .panzoom as a document - this.doc = this._elementRef.nativeElement.children.item(0).children.item(0); - // For current iteration we take .gd-document as a container - this.container = this._elementRef.nativeElement; - this.docWidth = this.doc.clientWidth; - this.docHeight = this.doc.clientHeight; - this.viewportWidth = this.doc.offsetWidth; - // For cases where we already have zoom defined we should include it - this.scale = (this.viewportWidth / this.docWidth) * this._zoomService.zoom / 100; - this.lastScale = this.scale; - this.viewportHeight = this.container.offsetHeight; - this.curWidth = this.docWidth * this.scale; - this.curHeight = this.docHeight * this.scale; - /** @type {?} */ - var hammer = new Hammer(this.container); - }; - // TODO: this temporary crutch for Excel files should be documented - // TODO: this temporary crutch for Excel files should be documented - /** - * @return {?} - */ - DocumentComponent.prototype.ifExcel = - // TODO: this temporary crutch for Excel files should be documented - /** - * @return {?} - */ - function () { - return FileUtil.find(this.file.guid, false).format === "Microsoft Excel"; - }; - /** - * @return {?} - */ - DocumentComponent.prototype.ifPresentation = /** - * @return {?} - */ - function () { - return FileUtil.find(this.file.guid, false).format === "Microsoft PowerPoint"; - }; - /** - * @param {?} value - * @param {?} pageNumber - * @return {?} - */ - DocumentComponent.prototype.getDimensionWithUnit = /** - * @param {?} value - * @param {?} pageNumber - * @return {?} - */ - function (value, pageNumber) { - return this.ifPresentation() && this.showActiveSlide && !this.isVisible(pageNumber) ? 0 : value + (this.mode ? FileUtil.find(this.file.guid, false).unit : 'px'); - }; - /** - * @return {?} - */ - DocumentComponent.prototype.ifEdge = /** - * @return {?} - */ - function () { - return navigator.userAgent.toLowerCase().indexOf('edge') > -1; - }; - /** - * @return {?} - */ - DocumentComponent.prototype.ngAfterViewChecked = /** - * @return {?} - */ - function () { - // for now we are not sure that need this action in current implementation - // const elementNodeListOf = this._elementRef.nativeElement.querySelectorAll('.gd-wrapper'); - // const element = elementNodeListOf.item(0); - // if (element) { - // $(element).trigger('focus'); - // } - }; - /** - * @param {?} pageNumber - * @return {?} - */ - DocumentComponent.prototype.isVisible = /** - * @param {?} pageNumber - * @return {?} - */ - function (pageNumber) { - if (this.ifPresentation()) { - return pageNumber === this.selectedPage ? true : false; - } - else { - return true; - } - }; - DocumentComponent.decorators = [ - { type: core.Component, args: [{ - selector: 'gd-document', - template: "
Please wait...
\n
\n
\n
\n \n
\n
\n \n
\n", - styles: [":host{-webkit-box-flex:1;flex:1;-webkit-transition:.4s;transition:.4s;background-color:#e7e7e7;height:100%;overflow:scroll;touch-action:auto!important}:host .document{-webkit-user-select:text!important;-moz-user-select:text!important;-ms-user-select:text!important;user-select:text!important;touch-action:auto!important}.page{display:inline-block;background-color:#fff;margin:20px;box-shadow:0 3px 6px rgba(0,0,0,.16);-webkit-transition:.3s;transition:.3s}.page.excel{overflow:auto}.page.presentation{margin:0;-webkit-transition:unset;transition:unset}.page.presentation.active{margin:20px}.wait{position:absolute;top:55px;left:Calc(30%)}.panzoom{display:-webkit-box;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;flex-direction:row;flex-wrap:wrap;-webkit-box-pack:center;justify-content:center;align-content:flex-start}@media (max-width:1037px){.page{min-width:unset!important;min-height:unset!important;margin:5px 0}}"] - }] } - ]; - /** @nocollapse */ - DocumentComponent.ctorParameters = function () { return [ - { type: core.ElementRef }, - { type: ZoomService }, - { type: WindowService }, - { type: NavigateService } - ]; }; - DocumentComponent.propDecorators = { - mode: [{ type: core.Input }], - preloadPageCount: [{ type: core.Input }], - file: [{ type: core.Input }], - selectedPage: [{ type: core.Input }], - showActiveSlide: [{ type: core.Input }] - }; - return DocumentComponent; - }()); - if (false) { - /** @type {?} */ - DocumentComponent.prototype.mode; - /** @type {?} */ - DocumentComponent.prototype.preloadPageCount; - /** @type {?} */ - DocumentComponent.prototype.file; - /** @type {?} */ - DocumentComponent.prototype.selectedPage; - /** @type {?} */ - DocumentComponent.prototype.showActiveSlide; - /** @type {?} */ - DocumentComponent.prototype.wait; - /** @type {?} */ - DocumentComponent.prototype.zoom; - /** @type {?} */ - DocumentComponent.prototype.docWidth; - /** @type {?} */ - DocumentComponent.prototype.docHeight; - /** @type {?} */ - DocumentComponent.prototype.viewportWidth; - /** @type {?} */ - DocumentComponent.prototype.viewportHeight; - /** @type {?} */ - DocumentComponent.prototype.scale; - /** @type {?} */ - DocumentComponent.prototype.lastScale; - /** @type {?} */ - DocumentComponent.prototype.container; - /** @type {?} */ - DocumentComponent.prototype.doc; - /** @type {?} */ - DocumentComponent.prototype.x; - /** @type {?} */ - DocumentComponent.prototype.lastX; - /** @type {?} */ - DocumentComponent.prototype.y; - /** @type {?} */ - DocumentComponent.prototype.lastY; - /** @type {?} */ - DocumentComponent.prototype.pinchCenter; - /** @type {?} */ - DocumentComponent.prototype.pinchCenterOffset; - /** @type {?} */ - DocumentComponent.prototype.curWidth; - /** @type {?} */ - DocumentComponent.prototype.curHeight; - /** @type {?} */ - DocumentComponent.prototype.isDesktop; - /** - * @type {?} - * @protected - */ - DocumentComponent.prototype._elementRef; - /** - * @type {?} - * @private - */ - DocumentComponent.prototype._zoomService; - /** - * @type {?} - * @private - */ - DocumentComponent.prototype._windowService; - /** - * @type {?} - * @private - */ - DocumentComponent.prototype._navigateService; + /** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ + /** @type {?} */ + var $$1 = jquery; + var DocumentComponent = /** @class */ (function () { + function DocumentComponent(_elementRef, _zoomService, _windowService, _navigateService) { + var _this = this; + this._elementRef = _elementRef; + this._zoomService = _zoomService; + this._windowService = _windowService; + this._navigateService = _navigateService; + this.wait = false; + this.docWidth = null; + this.docHeight = null; + this.viewportWidth = null; + this.viewportHeight = null; + this.scale = null; + this.lastScale = null; + this.container = null; + this.doc = null; + this.x = 0; + this.lastX = 0; + this.y = 0; + this.lastY = 0; + this.pinchCenter = null; + this.pinchCenterOffset = null; + this.curWidth = 0; + this.curHeight = 0; + _zoomService.zoomChange.subscribe((/** + * @param {?} val + * @return {?} + */ + function (val) { + _this.zoom = val; + })); + this.isDesktop = _windowService.isDesktop(); + this._navigateService.navigate.subscribe((((/** + * @param {?} value + * @return {?} + */ + function (value) { + _this.selectedPage = value; + })))); + } + /** + * @return {?} + */ + DocumentComponent.prototype.ngOnInit = /** + * @return {?} + */ + function () { + if (this.ifPresentation()) { + this.selectedPage = this._navigateService.currentPage; + } + }; + /** + * @return {?} + */ + DocumentComponent.prototype.ngOnChanges = /** + * @return {?} + */ + function () { + }; + /** + * @return {?} + */ + DocumentComponent.prototype.ngAfterViewInit = /** + * @return {?} + */ + function () { + // For current iteration we take .panzoom as a document + this.doc = this._elementRef.nativeElement.children.item(0).children.item(0); + // For current iteration we take .gd-document as a container + this.container = this._elementRef.nativeElement; + this.docWidth = this.doc.clientWidth; + this.docHeight = this.doc.clientHeight; + this.viewportWidth = this.doc.offsetWidth; + // For cases where we already have zoom defined we should include it + this.scale = (this.viewportWidth / this.docWidth) * this._zoomService.zoom / 100; + this.lastScale = this.scale; + this.viewportHeight = this.container.offsetHeight; + this.curWidth = this.docWidth * this.scale; + this.curHeight = this.docHeight * this.scale; + /** @type {?} */ + var hammer = new Hammer(this.container); + }; + // TODO: this temporary crutch for Excel files should be documented + // TODO: this temporary crutch for Excel files should be documented + /** + * @return {?} + */ + DocumentComponent.prototype.ifExcel = + // TODO: this temporary crutch for Excel files should be documented + /** + * @return {?} + */ + function () { + return FileUtil.find(this.file.guid, false).format === "Microsoft Excel"; + }; + /** + * @return {?} + */ + DocumentComponent.prototype.ifPresentation = /** + * @return {?} + */ + function () { + return FileUtil.find(this.file.guid, false).format === "Microsoft PowerPoint"; + }; + /** + * @param {?} value + * @param {?} pageNumber + * @return {?} + */ + DocumentComponent.prototype.getDimensionWithUnit = /** + * @param {?} value + * @param {?} pageNumber + * @return {?} + */ + function (value, pageNumber) { + return this.ifPresentation() && this.showActiveSlide && !this.isVisible(pageNumber) ? 0 : value + (this.mode ? FileUtil.find(this.file.guid, false).unit : 'px'); + }; + /** + * @return {?} + */ + DocumentComponent.prototype.ifEdge = /** + * @return {?} + */ + function () { + return navigator.userAgent.toLowerCase().indexOf('edge') > -1; + }; + /** + * @return {?} + */ + DocumentComponent.prototype.ngAfterViewChecked = /** + * @return {?} + */ + function () { + // for now we are not sure that need this action in current implementation + // const elementNodeListOf = this._elementRef.nativeElement.querySelectorAll('.gd-wrapper'); + // const element = elementNodeListOf.item(0); + // if (element) { + // $(element).trigger('focus'); + // } + }; + /** + * @param {?} pageNumber + * @return {?} + */ + DocumentComponent.prototype.isVisible = /** + * @param {?} pageNumber + * @return {?} + */ + function (pageNumber) { + if (this.ifPresentation()) { + return pageNumber === this.selectedPage ? true : false; + } + else { + return true; + } + }; + DocumentComponent.decorators = [ + { type: core.Component, args: [{ + selector: 'gd-document', + template: "
Please wait...
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n", + styles: [":host{-webkit-box-flex:1;flex:1;-webkit-transition:.4s;transition:.4s;background-color:#e7e7e7;height:100%;overflow:scroll;touch-action:auto!important}:host .document{-webkit-user-select:text!important;-moz-user-select:text!important;-ms-user-select:text!important;user-select:text!important;touch-action:auto!important}.page{display:inline-block;background-color:#fff;margin:20px;box-shadow:0 3px 6px rgba(0,0,0,.16);-webkit-transition:.3s;transition:.3s}.page.excel{overflow:auto}.page.presentation{margin:0;-webkit-transition:unset;transition:unset}.page.presentation.active{margin:20px}.wait{position:absolute;top:55px;left:Calc(30%)}.panzoom{display:-webkit-box;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;flex-direction:row;flex-wrap:wrap;-webkit-box-pack:center;justify-content:center;align-content:flex-start}@media (max-width:1037px){.page{min-width:unset!important;min-height:unset!important;margin:5px 0}}"] + }] } + ]; + /** @nocollapse */ + DocumentComponent.ctorParameters = function () { return [ + { type: core.ElementRef }, + { type: ZoomService }, + { type: WindowService }, + { type: NavigateService } + ]; }; + DocumentComponent.propDecorators = { + mode: [{ type: core.Input }], + preloadPageCount: [{ type: core.Input }], + file: [{ type: core.Input }], + selectedPage: [{ type: core.Input }], + showActiveSlide: [{ type: core.Input }] + }; + return DocumentComponent; + }()); + if (false) { + /** @type {?} */ + DocumentComponent.prototype.mode; + /** @type {?} */ + DocumentComponent.prototype.preloadPageCount; + /** @type {?} */ + DocumentComponent.prototype.file; + /** @type {?} */ + DocumentComponent.prototype.selectedPage; + /** @type {?} */ + DocumentComponent.prototype.showActiveSlide; + /** @type {?} */ + DocumentComponent.prototype.wait; + /** @type {?} */ + DocumentComponent.prototype.zoom; + /** @type {?} */ + DocumentComponent.prototype.docWidth; + /** @type {?} */ + DocumentComponent.prototype.docHeight; + /** @type {?} */ + DocumentComponent.prototype.viewportWidth; + /** @type {?} */ + DocumentComponent.prototype.viewportHeight; + /** @type {?} */ + DocumentComponent.prototype.scale; + /** @type {?} */ + DocumentComponent.prototype.lastScale; + /** @type {?} */ + DocumentComponent.prototype.container; + /** @type {?} */ + DocumentComponent.prototype.doc; + /** @type {?} */ + DocumentComponent.prototype.x; + /** @type {?} */ + DocumentComponent.prototype.lastX; + /** @type {?} */ + DocumentComponent.prototype.y; + /** @type {?} */ + DocumentComponent.prototype.lastY; + /** @type {?} */ + DocumentComponent.prototype.pinchCenter; + /** @type {?} */ + DocumentComponent.prototype.pinchCenterOffset; + /** @type {?} */ + DocumentComponent.prototype.curWidth; + /** @type {?} */ + DocumentComponent.prototype.curHeight; + /** @type {?} */ + DocumentComponent.prototype.isDesktop; + /** + * @type {?} + * @protected + */ + DocumentComponent.prototype._elementRef; + /** + * @type {?} + * @private + */ + DocumentComponent.prototype._zoomService; + /** + * @type {?} + * @private + */ + DocumentComponent.prototype._windowService; + /** + * @type {?} + * @private + */ + DocumentComponent.prototype._navigateService; } - /** - * @fileoverview added by tsickle - * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc - */ - var PageComponent = /** @class */ (function () { - function PageComponent() { - } - /** - * @return {?} - */ - PageComponent.prototype.ngOnInit = /** - * @return {?} - */ - function () { - /** @type {?} */ - var isIE = /*@cc_on!@*/ false || !!/(MSIE|Trident\/|Edge\/)/i.test(navigator.userAgent); - if (isIE && this.number === 0) { - this.editable = false; - } - }; - /** - * @param {?} changes - * @return {?} - */ - PageComponent.prototype.ngOnChanges = /** - * @param {?} changes - * @return {?} - */ - function (changes) { - if (this.isHtml) { - // TODO: this is temporary needed to remove unneeded spaces and BOM symbol - // which leads to undesired spaces on the top of the docs pages - this.data = this.data - ? this.data.replace(/>\s+<') - .replace(/\uFEFF/g, "") - : null; - } - else { - this.imgData = 'data:image/png;base64,' + this.data; - } - }; - PageComponent.decorators = [ - { type: core.Component, args: [{ - selector: 'gd-page', - template: "
\n
\n \"\"\n\n
\n \n  Loading... Please wait.\n
\n
\n", - styles: [".gd-page-spinner{margin-top:150px;text-align:center}.gd-wrapper{width:inherit;height:inherit}.gd-wrapper div{width:100%}::ng-deep .gd-highlight{background-color:#ff0}::ng-deep .gd-highlight-select{background-color:#ff9b00}"] - }] } - ]; - /** @nocollapse */ - PageComponent.ctorParameters = function () { return []; }; - PageComponent.propDecorators = { - angle: [{ type: core.Input }], - width: [{ type: core.Input }], - height: [{ type: core.Input }], - number: [{ type: core.Input }], - data: [{ type: core.Input }], - isHtml: [{ type: core.Input }], - editable: [{ type: core.Input }] - }; - return PageComponent; - }()); - if (false) { - /** @type {?} */ - PageComponent.prototype.angle; - /** @type {?} */ - PageComponent.prototype.width; - /** @type {?} */ - PageComponent.prototype.height; - /** @type {?} */ - PageComponent.prototype.number; - /** @type {?} */ - PageComponent.prototype.data; - /** @type {?} */ - PageComponent.prototype.isHtml; - /** @type {?} */ - PageComponent.prototype.editable; - /** @type {?} */ - PageComponent.prototype.imgData; + /** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ + var PageComponent = /** @class */ (function () { + function PageComponent() { + } + /** + * @return {?} + */ + PageComponent.prototype.ngOnInit = /** + * @return {?} + */ + function () { + /** @type {?} */ + var isIE = /*@cc_on!@*/ false || !!/(MSIE|Trident\/|Edge\/)/i.test(navigator.userAgent); + if (isIE && this.number === 0) { + this.editable = false; + } + }; + /** + * @param {?} changes + * @return {?} + */ + PageComponent.prototype.ngOnChanges = /** + * @param {?} changes + * @return {?} + */ + function (changes) { + if (this.isHtml) { + // TODO: this is temporary needed to remove unneeded spaces and BOM symbol + // which leads to undesired spaces on the top of the docs pages + this.data = this.data + ? this.data.replace(/>\s+<') + .replace(/\uFEFF/g, "") + : null; + } + else { + this.imgData = 'data:image/png;base64,' + this.data; + } + }; + PageComponent.decorators = [ + { type: core.Component, args: [{ + selector: 'gd-page', + template: "
\r\n
\r\n \"\"\r\n\r\n
\r\n \r\n  Loading... Please wait.\r\n
\r\n
\r\n", + styles: [".gd-page-spinner{margin-top:150px;text-align:center}.gd-wrapper{width:inherit;height:inherit}.gd-wrapper div{width:100%}::ng-deep .gd-highlight{background-color:#ff0}::ng-deep .gd-highlight-select{background-color:#ff9b00}"] + }] } + ]; + /** @nocollapse */ + PageComponent.ctorParameters = function () { return []; }; + PageComponent.propDecorators = { + angle: [{ type: core.Input }], + width: [{ type: core.Input }], + height: [{ type: core.Input }], + number: [{ type: core.Input }], + data: [{ type: core.Input }], + isHtml: [{ type: core.Input }], + editable: [{ type: core.Input }] + }; + return PageComponent; + }()); + if (false) { + /** @type {?} */ + PageComponent.prototype.angle; + /** @type {?} */ + PageComponent.prototype.width; + /** @type {?} */ + PageComponent.prototype.height; + /** @type {?} */ + PageComponent.prototype.number; + /** @type {?} */ + PageComponent.prototype.data; + /** @type {?} */ + PageComponent.prototype.isHtml; + /** @type {?} */ + PageComponent.prototype.editable; + /** @type {?} */ + PageComponent.prototype.imgData; } - /** - * @fileoverview added by tsickle - * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc - */ - var SanitizeHtmlPipe = /** @class */ (function () { - function SanitizeHtmlPipe(sanitizer) { - this.sanitizer = sanitizer; - } - /** - * @param {?} html - * @return {?} - */ - SanitizeHtmlPipe.prototype.transform = /** - * @param {?} html - * @return {?} - */ - function (html) { - return this.sanitizer.bypassSecurityTrustHtml(html); - }; - SanitizeHtmlPipe.decorators = [ - { type: core.Pipe, args: [{ name: 'safeHtml' },] } - ]; - /** @nocollapse */ - SanitizeHtmlPipe.ctorParameters = function () { return [ - { type: platformBrowser.DomSanitizer } - ]; }; - return SanitizeHtmlPipe; - }()); - if (false) { - /** - * @type {?} - * @private - */ - SanitizeHtmlPipe.prototype.sanitizer; - } - var SanitizeResourceHtmlPipe = /** @class */ (function () { - function SanitizeResourceHtmlPipe(sanitizer) { - this.sanitizer = sanitizer; - } - /** - * @param {?} html - * @return {?} - */ - SanitizeResourceHtmlPipe.prototype.transform = /** - * @param {?} html - * @return {?} - */ - function (html) { - return this.sanitizer.bypassSecurityTrustResourceUrl(html); - }; - SanitizeResourceHtmlPipe.decorators = [ - { type: core.Pipe, args: [{ name: 'safeResourceHtml' },] } - ]; - /** @nocollapse */ - SanitizeResourceHtmlPipe.ctorParameters = function () { return [ - { type: platformBrowser.DomSanitizer } - ]; }; - return SanitizeResourceHtmlPipe; - }()); - if (false) { - /** - * @type {?} - * @private - */ - SanitizeResourceHtmlPipe.prototype.sanitizer; - } - var SanitizeStylePipe = /** @class */ (function () { - function SanitizeStylePipe(sanitizer) { - this.sanitizer = sanitizer; - } - /** - * @param {?} html - * @return {?} - */ - SanitizeStylePipe.prototype.transform = /** - * @param {?} html - * @return {?} - */ - function (html) { - return this.sanitizer.bypassSecurityTrustStyle(html); - }; - SanitizeStylePipe.decorators = [ - { type: core.Pipe, args: [{ name: 'safeStyle' },] } - ]; - /** @nocollapse */ - SanitizeStylePipe.ctorParameters = function () { return [ - { type: platformBrowser.DomSanitizer } - ]; }; - return SanitizeStylePipe; - }()); - if (false) { - /** - * @type {?} - * @private - */ - SanitizeStylePipe.prototype.sanitizer; - } - var HighlightSearchPipe = /** @class */ (function () { - function HighlightSearchPipe() { - } - /** - * @param {?} value - * @param {?} args - * @return {?} - */ - HighlightSearchPipe.prototype.transform = /** - * @param {?} value - * @param {?} args - * @return {?} - */ - function (value, args) { - if (!args) { - return value; - } - /** @type {?} */ - var re = new RegExp(args, 'gi'); - return value.replace(re, "$&"); - }; - HighlightSearchPipe.decorators = [ - { type: core.Pipe, args: [{ name: 'highlight' },] } - ]; - return HighlightSearchPipe; + /** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ + var SanitizeHtmlPipe = /** @class */ (function () { + function SanitizeHtmlPipe(sanitizer) { + this.sanitizer = sanitizer; + } + /** + * @param {?} html + * @return {?} + */ + SanitizeHtmlPipe.prototype.transform = /** + * @param {?} html + * @return {?} + */ + function (html) { + return this.sanitizer.bypassSecurityTrustHtml(html); + }; + SanitizeHtmlPipe.decorators = [ + { type: core.Pipe, args: [{ name: 'safeHtml' },] } + ]; + /** @nocollapse */ + SanitizeHtmlPipe.ctorParameters = function () { return [ + { type: platformBrowser.DomSanitizer } + ]; }; + return SanitizeHtmlPipe; + }()); + if (false) { + /** + * @type {?} + * @private + */ + SanitizeHtmlPipe.prototype.sanitizer; + } + var SanitizeResourceHtmlPipe = /** @class */ (function () { + function SanitizeResourceHtmlPipe(sanitizer) { + this.sanitizer = sanitizer; + } + /** + * @param {?} html + * @return {?} + */ + SanitizeResourceHtmlPipe.prototype.transform = /** + * @param {?} html + * @return {?} + */ + function (html) { + return this.sanitizer.bypassSecurityTrustResourceUrl(html); + }; + SanitizeResourceHtmlPipe.decorators = [ + { type: core.Pipe, args: [{ name: 'safeResourceHtml' },] } + ]; + /** @nocollapse */ + SanitizeResourceHtmlPipe.ctorParameters = function () { return [ + { type: platformBrowser.DomSanitizer } + ]; }; + return SanitizeResourceHtmlPipe; + }()); + if (false) { + /** + * @type {?} + * @private + */ + SanitizeResourceHtmlPipe.prototype.sanitizer; + } + var SanitizeStylePipe = /** @class */ (function () { + function SanitizeStylePipe(sanitizer) { + this.sanitizer = sanitizer; + } + /** + * @param {?} html + * @return {?} + */ + SanitizeStylePipe.prototype.transform = /** + * @param {?} html + * @return {?} + */ + function (html) { + return this.sanitizer.bypassSecurityTrustStyle(html); + }; + SanitizeStylePipe.decorators = [ + { type: core.Pipe, args: [{ name: 'safeStyle' },] } + ]; + /** @nocollapse */ + SanitizeStylePipe.ctorParameters = function () { return [ + { type: platformBrowser.DomSanitizer } + ]; }; + return SanitizeStylePipe; + }()); + if (false) { + /** + * @type {?} + * @private + */ + SanitizeStylePipe.prototype.sanitizer; + } + var HighlightSearchPipe = /** @class */ (function () { + function HighlightSearchPipe() { + } + /** + * @param {?} value + * @param {?} args + * @return {?} + */ + HighlightSearchPipe.prototype.transform = /** + * @param {?} value + * @param {?} args + * @return {?} + */ + function (value, args) { + if (!args) { + return value; + } + /** @type {?} */ + var re = new RegExp(args, 'gi'); + return value.replace(re, "$&"); + }; + HighlightSearchPipe.decorators = [ + { type: core.Pipe, args: [{ name: 'highlight' },] } + ]; + return HighlightSearchPipe; }()); - /** - * @fileoverview added by tsickle - * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc - */ - var UploadFileZoneComponent = /** @class */ (function () { - function UploadFileZoneComponent(_uploadService) { - this._uploadService = _uploadService; - this.closeUpload = new core.EventEmitter(); - } - /** - * @return {?} - */ - UploadFileZoneComponent.prototype.ngOnInit = /** - * @return {?} - */ - function () { - }; - /** - * @param {?} files - * @return {?} - */ - UploadFileZoneComponent.prototype.handleFileInput = /** - * @param {?} files - * @return {?} - */ - function (files) { - this._uploadService.changeFilesList(files); - this.onCloseUpload(); - }; - /** - * @return {?} - */ - UploadFileZoneComponent.prototype.onCloseUpload = /** - * @return {?} - */ - function () { - this.closeUpload.emit(true); - }; - /** - * @param {?} $event - * @return {?} - */ - UploadFileZoneComponent.prototype.close = /** - * @param {?} $event - * @return {?} - */ - function ($event) { - if ($event.target.id === 'gd-dropZone') { - this.onCloseUpload(); - } - }; - UploadFileZoneComponent.decorators = [ - { type: core.Component, args: [{ - selector: 'gd-upload-file-zone', - template: "
\n
\n \n
\n

Drag & Drop your files here

\n

OR

\n
\n \n
\n
\n", - styles: [".gd-drag-n-drop-wrap{border:2px dashed #ccc;background-color:#f8f8f8;text-align:center;cursor:default;position:absolute;width:-webkit-fill-available;left:1px;display:-webkit-box;display:flex;align-content:center;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column;-webkit-box-pack:center;justify-content:center;opacity:.9;z-index:1}.gd-drag-n-drop-wrap h2{color:#959da5;margin:5px 0;font-size:15px;font-weight:300}.gd-drag-n-drop-wrap h4{color:#cacaca;font-weight:300;font-size:12px;margin:10px 0 15px}.gd-drag-n-drop-icon .fa-cloud-download-alt{color:#d1d1d1;font-size:110px}.gd-drag-n-drop-buttons i{margin-right:5px}.gd-drag-n-drop-buttons .btn{width:134px;height:35px;margin:0 10px;font-size:12px;font-weight:400}.gd-drag-n-drop-wrap.hover{background:#ddd;border-color:#aaa}"] - }] } - ]; - /** @nocollapse */ - UploadFileZoneComponent.ctorParameters = function () { return [ - { type: UploadFilesService } - ]; }; - UploadFileZoneComponent.propDecorators = { - closeUpload: [{ type: core.Output }] - }; - return UploadFileZoneComponent; - }()); - if (false) { - /** @type {?} */ - UploadFileZoneComponent.prototype.closeUpload; - /** - * @type {?} - * @private - */ - UploadFileZoneComponent.prototype._uploadService; + /** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ + var UploadFileZoneComponent = /** @class */ (function () { + function UploadFileZoneComponent(_uploadService) { + this._uploadService = _uploadService; + this.closeUpload = new core.EventEmitter(); + } + /** + * @return {?} + */ + UploadFileZoneComponent.prototype.ngOnInit = /** + * @return {?} + */ + function () { + }; + /** + * @param {?} files + * @return {?} + */ + UploadFileZoneComponent.prototype.handleFileInput = /** + * @param {?} files + * @return {?} + */ + function (files) { + this._uploadService.changeFilesList(files); + this.onCloseUpload(); + }; + /** + * @return {?} + */ + UploadFileZoneComponent.prototype.onCloseUpload = /** + * @return {?} + */ + function () { + this.closeUpload.emit(true); + }; + /** + * @param {?} $event + * @return {?} + */ + UploadFileZoneComponent.prototype.close = /** + * @param {?} $event + * @return {?} + */ + function ($event) { + if ($event.target.id === 'gd-dropZone') { + this.onCloseUpload(); + } + }; + UploadFileZoneComponent.decorators = [ + { type: core.Component, args: [{ + selector: 'gd-upload-file-zone', + template: "
\r\n
\r\n \r\n
\r\n

Drag & Drop your files here

\r\n

OR

\r\n
\r\n \r\n
\r\n
\r\n", + styles: [".gd-drag-n-drop-wrap{border:2px dashed #ccc;background-color:#f8f8f8;text-align:center;cursor:default;position:absolute;width:-webkit-fill-available;left:1px;display:-webkit-box;display:flex;align-content:center;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column;-webkit-box-pack:center;justify-content:center;opacity:.9;z-index:1}.gd-drag-n-drop-wrap h2{color:#959da5;margin:5px 0;font-size:15px;font-weight:300}.gd-drag-n-drop-wrap h4{color:#cacaca;font-weight:300;font-size:12px;margin:10px 0 15px}.gd-drag-n-drop-icon .fa-cloud-download-alt{color:#d1d1d1;font-size:110px}.gd-drag-n-drop-buttons i{margin-right:5px}.gd-drag-n-drop-buttons .btn{width:134px;height:35px;margin:0 10px;font-size:12px;font-weight:400}.gd-drag-n-drop-wrap.hover{background:#ddd;border-color:#aaa}"] + }] } + ]; + /** @nocollapse */ + UploadFileZoneComponent.ctorParameters = function () { return [ + { type: UploadFilesService } + ]; }; + UploadFileZoneComponent.propDecorators = { + closeUpload: [{ type: core.Output }] + }; + return UploadFileZoneComponent; + }()); + if (false) { + /** @type {?} */ + UploadFileZoneComponent.prototype.closeUpload; + /** + * @type {?} + * @private + */ + UploadFileZoneComponent.prototype._uploadService; } - /** - * @fileoverview added by tsickle - * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc - */ - var DndDirective = /** @class */ (function () { - function DndDirective(_uploadFilesService) { - this._uploadFilesService = _uploadFilesService; - this.closing = new core.EventEmitter(); - this.opening = new core.EventEmitter(); - this.dropped = new core.EventEmitter(); - this.active = false; - this.dragCounter = 0; - } - /** - * @param {?} evt - * @return {?} - */ - DndDirective.prototype.onDragEnter = /** - * @param {?} evt - * @return {?} - */ - function (evt) { - evt.preventDefault(); - evt.stopPropagation(); - this.dragCounter++; - this.active = true; - this.opening.emit(true); - }; - /** - * @param {?} evt - * @return {?} - */ - DndDirective.prototype.onDragOver = /** - * @param {?} evt - * @return {?} - */ - function (evt) { - evt.preventDefault(); - evt.stopPropagation(); - return false; - }; - /** - * @param {?} evt - * @return {?} - */ - DndDirective.prototype.onDragLeave = /** - * @param {?} evt - * @return {?} - */ - function (evt) { - evt.preventDefault(); - evt.stopPropagation(); - this.dragCounter--; - if (this.dragCounter === 0) { - this.active = false; - this.closeArea(); - } - }; - /** - * @param {?} evt - * @return {?} - */ - DndDirective.prototype.onDrop = /** - * @param {?} evt - * @return {?} - */ - function (evt) { - evt.preventDefault(); - evt.stopPropagation(); - /** @type {?} */ - var files = evt.dataTransfer.files; - if (files.length > 0) { - this.active = false; - this.dropped.emit(true); - this._uploadFilesService.changeFilesList(files); - this.closeArea(); - } - }; - /** - * @param {?} event - * @return {?} - */ - DndDirective.prototype.onClick = /** - * @param {?} event - * @return {?} - */ - function (event) { - this.closeArea(); - }; - /** - * @private - * @return {?} - */ - DndDirective.prototype.closeArea = /** - * @private - * @return {?} - */ - function () { - this.closing.emit(true); - this.opening.emit(false); - }; - DndDirective.decorators = [ - { type: core.Directive, args: [{ - selector: '[gdDnd]' - },] } - ]; - /** @nocollapse */ - DndDirective.ctorParameters = function () { return [ - { type: UploadFilesService } - ]; }; - DndDirective.propDecorators = { - closing: [{ type: core.Output }], - opening: [{ type: core.Output }], - dropped: [{ type: core.Output }], - active: [{ type: core.HostBinding, args: ['class.active',] }], - onDragEnter: [{ type: core.HostListener, args: ['dragenter', ['$event'],] }], - onDragOver: [{ type: core.HostListener, args: ['dragover', ['$event'],] }], - onDragLeave: [{ type: core.HostListener, args: ['dragleave', ['$event'],] }], - onDrop: [{ type: core.HostListener, args: ['drop', ['$event'],] }], - onClick: [{ type: core.HostListener, args: ['click', ['$event'],] }] - }; - return DndDirective; - }()); - if (false) { - /** @type {?} */ - DndDirective.prototype.closing; - /** @type {?} */ - DndDirective.prototype.opening; - /** @type {?} */ - DndDirective.prototype.dropped; - /** @type {?} */ - DndDirective.prototype.active; - /** - * @type {?} - * @private - */ - DndDirective.prototype.dragCounter; - /** - * @type {?} - * @protected - */ - DndDirective.prototype._uploadFilesService; + /** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ + var DndDirective = /** @class */ (function () { + function DndDirective(_uploadFilesService) { + this._uploadFilesService = _uploadFilesService; + this.closing = new core.EventEmitter(); + this.opening = new core.EventEmitter(); + this.dropped = new core.EventEmitter(); + this.active = false; + this.dragCounter = 0; + } + /** + * @param {?} evt + * @return {?} + */ + DndDirective.prototype.onDragEnter = /** + * @param {?} evt + * @return {?} + */ + function (evt) { + evt.preventDefault(); + evt.stopPropagation(); + this.dragCounter++; + this.active = true; + this.opening.emit(true); + }; + /** + * @param {?} evt + * @return {?} + */ + DndDirective.prototype.onDragOver = /** + * @param {?} evt + * @return {?} + */ + function (evt) { + evt.preventDefault(); + evt.stopPropagation(); + return false; + }; + /** + * @param {?} evt + * @return {?} + */ + DndDirective.prototype.onDragLeave = /** + * @param {?} evt + * @return {?} + */ + function (evt) { + evt.preventDefault(); + evt.stopPropagation(); + this.dragCounter--; + if (this.dragCounter === 0) { + this.active = false; + this.closeArea(); + } + }; + /** + * @param {?} evt + * @return {?} + */ + DndDirective.prototype.onDrop = /** + * @param {?} evt + * @return {?} + */ + function (evt) { + evt.preventDefault(); + evt.stopPropagation(); + /** @type {?} */ + var files = evt.dataTransfer.files; + if (files.length > 0) { + this.active = false; + this.dropped.emit(true); + this._uploadFilesService.changeFilesList(files); + this.closeArea(); + } + }; + /** + * @param {?} event + * @return {?} + */ + DndDirective.prototype.onClick = /** + * @param {?} event + * @return {?} + */ + function (event) { + this.closeArea(); + }; + /** + * @private + * @return {?} + */ + DndDirective.prototype.closeArea = /** + * @private + * @return {?} + */ + function () { + this.closing.emit(true); + this.opening.emit(false); + }; + DndDirective.decorators = [ + { type: core.Directive, args: [{ + selector: '[gdDnd]' + },] } + ]; + /** @nocollapse */ + DndDirective.ctorParameters = function () { return [ + { type: UploadFilesService } + ]; }; + DndDirective.propDecorators = { + closing: [{ type: core.Output }], + opening: [{ type: core.Output }], + dropped: [{ type: core.Output }], + active: [{ type: core.HostBinding, args: ['class.active',] }], + onDragEnter: [{ type: core.HostListener, args: ['dragenter', ['$event'],] }], + onDragOver: [{ type: core.HostListener, args: ['dragover', ['$event'],] }], + onDragLeave: [{ type: core.HostListener, args: ['dragleave', ['$event'],] }], + onDrop: [{ type: core.HostListener, args: ['drop', ['$event'],] }], + onClick: [{ type: core.HostListener, args: ['click', ['$event'],] }] + }; + return DndDirective; + }()); + if (false) { + /** @type {?} */ + DndDirective.prototype.closing; + /** @type {?} */ + DndDirective.prototype.opening; + /** @type {?} */ + DndDirective.prototype.dropped; + /** @type {?} */ + DndDirective.prototype.active; + /** + * @type {?} + * @private + */ + DndDirective.prototype.dragCounter; + /** + * @type {?} + * @protected + */ + DndDirective.prototype._uploadFilesService; } - /** - * @fileoverview added by tsickle - * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc - */ - /** @type {?} */ - var $$2 = jquery; - var ViewportService = /** @class */ (function () { - function ViewportService() { - } - /** - * @param {?} el - * @param {?=} zoom - * @param {?=} leftOffset - * @param {?=} deltaX - * @return {?} - */ - ViewportService.prototype.checkInViewport = /** - * @param {?} el - * @param {?=} zoom - * @param {?=} leftOffset - * @param {?=} deltaX - * @return {?} - */ - function (el, zoom, leftOffset, deltaX) { - if (zoom === void 0) { zoom = 100; } - if (leftOffset === void 0) { leftOffset = 0; } - if (deltaX === void 0) { deltaX = 0.5; } - if (!el) { - return false; - } - /** @type {?} */ - var x = deltaX; - /** @type {?} */ - var y = 0.5; - /** @type {?} */ - var win = $$2(window); - /** @type {?} */ - var viewport = { - top: win.scrollTop(), - left: win.scrollLeft() + leftOffset, - right: win.scrollLeft() + win.width() - 10, - bottom: win.scrollTop() + win.height() - }; - if (isNaN(zoom)) { - zoom = 100; - } - /** @type {?} */ - var zoomN = zoom / 100; - /** @type {?} */ - var height = $$2(el).outerHeight() * (zoomN); - /** @type {?} */ - var width = $$2(el).outerWidth() * (zoomN); - if (!width || !height) { - return false; - } - /** @type {?} */ - var bounds = $$2(el).offset(); - /** @type {?} */ - var right = (bounds.left * (zoomN)) + width; - /** @type {?} */ - var bottom = (bounds.top * (zoomN)) + height; - /** @type {?} */ - var visible = (!(viewport.right < (bounds.left * (zoomN)) || viewport.left > right || viewport.bottom < (bounds.top * (zoomN)) || viewport.top > bottom)); - if (!visible) { - return false; - } - /** @type {?} */ - var deltas = { - top: parseFloat(Math.min(1, (bottom - viewport.top) / height).toFixed(2)), - bottom: parseFloat(Math.min(1, (viewport.bottom - (bounds.top * (zoomN))) / height).toFixed(2)), - left: parseFloat(Math.min(1, (right - viewport.left) / width).toFixed(2)), - right: parseFloat(Math.min(1, (viewport.right - (bounds.left * (zoomN))) / width).toFixed(2)) - }; - return (deltas.left * deltas.right) >= x && (deltas.top * deltas.bottom) >= y; - }; - ViewportService.decorators = [ - { type: core.Injectable, args: [{ - providedIn: 'root' - },] } - ]; - /** @nocollapse */ - ViewportService.ctorParameters = function () { return []; }; - /** @nocollapse */ ViewportService.ngInjectableDef = core.ɵɵdefineInjectable({ factory: function ViewportService_Factory() { return new ViewportService(); }, token: ViewportService, providedIn: "root" }); - return ViewportService; + /** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ + /** @type {?} */ + var $$2 = jquery; + var ViewportService = /** @class */ (function () { + function ViewportService() { + } + /** + * @param {?} el + * @param {?=} zoom + * @param {?=} leftOffset + * @param {?=} deltaX + * @return {?} + */ + ViewportService.prototype.checkInViewport = /** + * @param {?} el + * @param {?=} zoom + * @param {?=} leftOffset + * @param {?=} deltaX + * @return {?} + */ + function (el, zoom, leftOffset, deltaX) { + if (zoom === void 0) { zoom = 100; } + if (leftOffset === void 0) { leftOffset = 0; } + if (deltaX === void 0) { deltaX = 0.5; } + if (!el) { + return false; + } + /** @type {?} */ + var x = deltaX; + /** @type {?} */ + var y = 0.5; + /** @type {?} */ + var win = $$2(window); + /** @type {?} */ + var viewport = { + top: win.scrollTop(), + left: win.scrollLeft() + leftOffset, + right: win.scrollLeft() + win.width() - 10, + bottom: win.scrollTop() + win.height() + }; + if (isNaN(zoom)) { + zoom = 100; + } + /** @type {?} */ + var zoomN = zoom / 100; + /** @type {?} */ + var height = $$2(el).outerHeight() * (zoomN); + /** @type {?} */ + var width = $$2(el).outerWidth() * (zoomN); + if (!width || !height) { + return false; + } + /** @type {?} */ + var bounds = $$2(el).offset(); + /** @type {?} */ + var right = (bounds.left * (zoomN)) + width; + /** @type {?} */ + var bottom = (bounds.top * (zoomN)) + height; + /** @type {?} */ + var visible = (!(viewport.right < (bounds.left * (zoomN)) || viewport.left > right || viewport.bottom < (bounds.top * (zoomN)) || viewport.top > bottom)); + if (!visible) { + return false; + } + /** @type {?} */ + var deltas = { + top: parseFloat(Math.min(1, (bottom - viewport.top) / height).toFixed(2)), + bottom: parseFloat(Math.min(1, (viewport.bottom - (bounds.top * (zoomN))) / height).toFixed(2)), + left: parseFloat(Math.min(1, (right - viewport.left) / width).toFixed(2)), + right: parseFloat(Math.min(1, (viewport.right - (bounds.left * (zoomN))) / width).toFixed(2)) + }; + return (deltas.left * deltas.right) >= x && (deltas.top * deltas.bottom) >= y; + }; + ViewportService.decorators = [ + { type: core.Injectable, args: [{ + providedIn: 'root' + },] } + ]; + /** @nocollapse */ + ViewportService.ctorParameters = function () { return []; }; + /** @nocollapse */ ViewportService.ngInjectableDef = core.ɵɵdefineInjectable({ factory: function ViewportService_Factory() { return new ViewportService(); }, token: ViewportService, providedIn: "root" }); + return ViewportService; }()); - /** - * @fileoverview added by tsickle - * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc - */ - /** @type {?} */ - var $$3 = jquery; - var ScrollableDirective = /** @class */ (function () { - function ScrollableDirective(_elementRef, _navigateService, _pagePreloadService, _zoomService, _windowService, _viewportService) { - var _this = this; - this._elementRef = _elementRef; - this._navigateService = _navigateService; - this._pagePreloadService = _pagePreloadService; - this._zoomService = _zoomService; - this._windowService = _windowService; - this._viewportService = _viewportService; - this.zoom = 100; - this.loadedPagesSet = new Set(); - this.zoom = _zoomService.zoom ? _zoomService.zoom : this.zoom; - _zoomService.zoomChange.subscribe((/** - * @param {?} val - * @return {?} - */ - function (val) { - _this.zoom = val ? val : _this.zoom; - _this.refresh(); - })); - } - /** - * @return {?} - */ - ScrollableDirective.prototype.ngAfterViewInit = /** - * @return {?} - */ - function () { - var _this = this; - this.zoom = this._zoomService.zoom ? this._zoomService.zoom : this.zoom; - this._navigateService.navigate.subscribe(((/** - * @param {?} value - * @return {?} - */ - function (value) { - _this.currentPage = value; - _this.scrollToPage(value); - }))); - this.refresh(); - }; - /** - * @return {?} - */ - ScrollableDirective.prototype.scrolling = /** - * @return {?} - */ - function () { - this.refresh(); - }; - /** - * @return {?} - */ - ScrollableDirective.prototype.resizing = /** - * @return {?} - */ - function () { - this.refresh(); - }; - /** - * @param {?} pageNumber - * @return {?} - */ - ScrollableDirective.prototype.scrollToPage = /** - * @param {?} pageNumber - * @return {?} - */ - function (pageNumber) { - /** @type {?} */ - var el = this._elementRef.nativeElement; - /** @type {?} */ - var page = this.getPage(pageNumber); - /** @type {?} */ - var prev = pageNumber > 0 ? this.getPage(pageNumber - 1) : null; - /** @type {?} */ - var isSameTop = (prev && $$3(prev).offset().top === $$3(page).offset().top); - if (this._viewportService.checkInViewport(page, this.zoom) && isSameTop) { - return; - } - /** @type {?} */ - var pagesHeight = this.calculateOffset(pageNumber); - /** @type {?} */ - var options = { - left: 0, - top: pagesHeight - }; - if (el) { - // using polyfill - el.scroll(options); - } - }; - /** - * @private - * @return {?} - */ - ScrollableDirective.prototype.getChildren = /** - * @private - * @return {?} - */ - function () { - /** @type {?} */ - var el = this._elementRef ? this._elementRef.nativeElement : null; - if (el) { - // here and in the similar line below we getting the document pages - return el.children.item(0).children.item(0).children; - } - }; - /** - * @private - * @param {?} pageNumber - * @return {?} - */ - ScrollableDirective.prototype.getPage = /** - * @private - * @param {?} pageNumber - * @return {?} - */ - function (pageNumber) { - /** @type {?} */ - var el = this._elementRef ? this._elementRef.nativeElement : null; - if (el) { - return el.children.item(0).children.item(0).children.item(pageNumber - 1); - } - }; - /** - * @private - * @param {?} pageNumber - * @return {?} - */ - ScrollableDirective.prototype.calculateOffset = /** - * @private - * @param {?} pageNumber - * @return {?} - */ - function (pageNumber) { - /** @type {?} */ - var count = this._windowService.isFirefox() ? 1 : this.countPagesOnWidth(); - /** @type {?} */ - var margin = this._windowService.isDesktop() ? 40 : 10; - /** @type {?} */ - var pagesHeight = 0; - for (var i = 1; i < pageNumber / count; i++) { - /** @type {?} */ - var item = this.getPage(i); - /** @type {?} */ - var clientHeight = item ? item.clientHeight : 0; - pagesHeight += clientHeight > 0 ? clientHeight * this.getZoom() + margin : 0; - } - return pagesHeight; - }; - /** - * @private - * @return {?} - */ - ScrollableDirective.prototype.countPagesOnWidth = /** - * @private - * @return {?} - */ - function () { - /** @type {?} */ - var pageEl = this.getPage(1); - /** @type {?} */ - var offset = 150; - if (pageEl) { - /** @type {?} */ - var count = Math.floor((this.getWidth() - offset) / (pageEl.getBoundingClientRect().width * this.getZoom())); - if (count !== 0) { - return count; - } - } - return 1; - }; - /** - * @return {?} - */ - ScrollableDirective.prototype.refresh = /** - * @return {?} - */ - function () { - /** @type {?} */ - var page; - /** @type {?} */ - var currentPageSet = false; - /** @type {?} */ - var pageElem = this.getPage(this.currentPage); - /** @type {?} */ - var currentPageRect = this.currentPage && pageElem ? pageElem.getBoundingClientRect() : null; - for (page = 1; page < this.getChildren().length + 1; page++) { - /** @type {?} */ - var element = this.getPage(page); - if (this._viewportService.checkInViewport(element, this.zoom)) { - if (!currentPageSet) { - if (!this.currentPage || !pageElem || (this.currentPage && currentPageRect && element.getBoundingClientRect().top !== currentPageRect.top)) { - this.currentPage = page; - if ((this.isPresentation && this._navigateService.currentPage === 0) || !this.isPresentation) { - this._navigateService.currentPage = page; - } - } - currentPageSet = true; - } - if (!this.loadedPagesSet.has(page)) { - this._pagePreloadService.changeLastPageInView(page); - this.loadedPagesSet.add(page); - } - } - } - }; - /** - * @param {?} changes - * @return {?} - */ - ScrollableDirective.prototype.ngOnChanges = /** - * @param {?} changes - * @return {?} - */ - function (changes) { - this.refresh(); - }; - /** - * @return {?} - */ - ScrollableDirective.prototype.ngOnInit = /** - * @return {?} - */ - function () { - this.zoom = this._zoomService.zoom ? this._zoomService.zoom : this.zoom; - }; - /** - * @private - * @return {?} - */ - ScrollableDirective.prototype.getWidth = /** - * @private - * @return {?} - */ - function () { - return this._elementRef ? this._elementRef.nativeElement.offsetWidth : window.innerWidth; - }; - /** - * @private - * @return {?} - */ - ScrollableDirective.prototype.getZoom = /** - * @private - * @return {?} - */ - function () { - return this.zoom / 100; - }; - ScrollableDirective.decorators = [ - { type: core.Directive, args: [{ - selector: '[gdScrollable]' - },] } - ]; - /** @nocollapse */ - ScrollableDirective.ctorParameters = function () { return [ - { type: core.ElementRef }, - { type: NavigateService }, - { type: PagePreloadService }, - { type: ZoomService }, - { type: WindowService }, - { type: ViewportService } - ]; }; - ScrollableDirective.propDecorators = { - isPresentation: [{ type: core.Input }], - scrolling: [{ type: core.HostListener, args: ['scroll',] }], - resizing: [{ type: core.HostListener, args: ['window:resize',] }] - }; - return ScrollableDirective; - }()); - if (false) { - /** @type {?} */ - ScrollableDirective.prototype.isPresentation; - /** - * @type {?} - * @private - */ - ScrollableDirective.prototype.currentPage; - /** - * @type {?} - * @private - */ - ScrollableDirective.prototype.zoom; - /** - * @type {?} - * @private - */ - ScrollableDirective.prototype.loadedPagesSet; - /** - * @type {?} - * @private - */ - ScrollableDirective.prototype._elementRef; - /** - * @type {?} - * @private - */ - ScrollableDirective.prototype._navigateService; - /** - * @type {?} - * @private - */ - ScrollableDirective.prototype._pagePreloadService; - /** - * @type {?} - * @private - */ - ScrollableDirective.prototype._zoomService; - /** - * @type {?} - * @private - */ - ScrollableDirective.prototype._windowService; - /** - * @type {?} - * @private - */ - ScrollableDirective.prototype._viewportService; + /** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ + /** @type {?} */ + var $$3 = jquery; + var ScrollableDirective = /** @class */ (function () { + function ScrollableDirective(_elementRef, _navigateService, _pagePreloadService, _zoomService, _windowService, _viewportService) { + var _this = this; + this._elementRef = _elementRef; + this._navigateService = _navigateService; + this._pagePreloadService = _pagePreloadService; + this._zoomService = _zoomService; + this._windowService = _windowService; + this._viewportService = _viewportService; + this.zoom = 100; + this.loadedPagesSet = new Set(); + this.zoom = _zoomService.zoom ? _zoomService.zoom : this.zoom; + _zoomService.zoomChange.subscribe((/** + * @param {?} val + * @return {?} + */ + function (val) { + _this.zoom = val ? val : _this.zoom; + _this.refresh(); + })); + } + /** + * @return {?} + */ + ScrollableDirective.prototype.ngAfterViewInit = /** + * @return {?} + */ + function () { + var _this = this; + this.zoom = this._zoomService.zoom ? this._zoomService.zoom : this.zoom; + this._navigateService.navigate.subscribe(((/** + * @param {?} value + * @return {?} + */ + function (value) { + _this.currentPage = value; + _this.scrollToPage(value); + }))); + this.refresh(); + }; + /** + * @return {?} + */ + ScrollableDirective.prototype.scrolling = /** + * @return {?} + */ + function () { + this.refresh(); + }; + /** + * @return {?} + */ + ScrollableDirective.prototype.resizing = /** + * @return {?} + */ + function () { + this.refresh(); + }; + /** + * @param {?} pageNumber + * @return {?} + */ + ScrollableDirective.prototype.scrollToPage = /** + * @param {?} pageNumber + * @return {?} + */ + function (pageNumber) { + /** @type {?} */ + var el = this._elementRef.nativeElement; + /** @type {?} */ + var page = this.getPage(pageNumber); + /** @type {?} */ + var prev = pageNumber > 0 ? this.getPage(pageNumber - 1) : null; + /** @type {?} */ + var isSameTop = (prev && $$3(prev).offset().top === $$3(page).offset().top); + if (this._viewportService.checkInViewport(page, this.zoom) && isSameTop) { + return; + } + /** @type {?} */ + var pagesHeight = this.calculateOffset(pageNumber); + /** @type {?} */ + var options = { + left: 0, + top: pagesHeight + }; + if (el) { + // using polyfill + el.scroll(options); + } + }; + /** + * @private + * @return {?} + */ + ScrollableDirective.prototype.getChildren = /** + * @private + * @return {?} + */ + function () { + /** @type {?} */ + var el = this._elementRef ? this._elementRef.nativeElement : null; + if (el) { + // here and in the similar line below we getting the document pages + return el.children.item(0).children.item(0).children; + } + }; + /** + * @private + * @param {?} pageNumber + * @return {?} + */ + ScrollableDirective.prototype.getPage = /** + * @private + * @param {?} pageNumber + * @return {?} + */ + function (pageNumber) { + /** @type {?} */ + var el = this._elementRef ? this._elementRef.nativeElement : null; + if (el) { + return el.children.item(0).children.item(0).children.item(pageNumber - 1); + } + }; + /** + * @private + * @param {?} pageNumber + * @return {?} + */ + ScrollableDirective.prototype.calculateOffset = /** + * @private + * @param {?} pageNumber + * @return {?} + */ + function (pageNumber) { + /** @type {?} */ + var count = this._windowService.isFirefox() ? 1 : this.countPagesOnWidth(); + /** @type {?} */ + var margin = this._windowService.isDesktop() ? 40 : 10; + /** @type {?} */ + var pagesHeight = 0; + for (var i = 1; i < pageNumber / count; i++) { + /** @type {?} */ + var item = this.getPage(i); + /** @type {?} */ + var clientHeight = item ? item.clientHeight : 0; + pagesHeight += clientHeight > 0 ? clientHeight * this.getZoom() + margin : 0; + } + return pagesHeight; + }; + /** + * @private + * @return {?} + */ + ScrollableDirective.prototype.countPagesOnWidth = /** + * @private + * @return {?} + */ + function () { + /** @type {?} */ + var pageEl = this.getPage(1); + /** @type {?} */ + var offset = 150; + if (pageEl) { + /** @type {?} */ + var count = Math.floor((this.getWidth() - offset) / (pageEl.getBoundingClientRect().width * this.getZoom())); + if (count !== 0) { + return count; + } + } + return 1; + }; + /** + * @return {?} + */ + ScrollableDirective.prototype.refresh = /** + * @return {?} + */ + function () { + /** @type {?} */ + var page; + /** @type {?} */ + var currentPageSet = false; + /** @type {?} */ + var pageElem = this.getPage(this.currentPage); + /** @type {?} */ + var currentPageRect = this.currentPage && pageElem ? pageElem.getBoundingClientRect() : null; + for (page = 1; page < this.getChildren().length + 1; page++) { + /** @type {?} */ + var element = this.getPage(page); + if (this._viewportService.checkInViewport(element, this.zoom)) { + if (!currentPageSet) { + if (!this.currentPage || !pageElem || (this.currentPage && currentPageRect && element.getBoundingClientRect().top !== currentPageRect.top)) { + this.currentPage = page; + if ((this.isPresentation && this._navigateService.currentPage === 0) || !this.isPresentation) { + this._navigateService.currentPage = page; + } + } + currentPageSet = true; + } + if (!this.loadedPagesSet.has(page)) { + this._pagePreloadService.changeLastPageInView(page); + this.loadedPagesSet.add(page); + } + } + } + }; + /** + * @param {?} changes + * @return {?} + */ + ScrollableDirective.prototype.ngOnChanges = /** + * @param {?} changes + * @return {?} + */ + function (changes) { + this.refresh(); + }; + /** + * @return {?} + */ + ScrollableDirective.prototype.ngOnInit = /** + * @return {?} + */ + function () { + this.zoom = this._zoomService.zoom ? this._zoomService.zoom : this.zoom; + }; + /** + * @private + * @return {?} + */ + ScrollableDirective.prototype.getWidth = /** + * @private + * @return {?} + */ + function () { + return this._elementRef ? this._elementRef.nativeElement.offsetWidth : window.innerWidth; + }; + /** + * @private + * @return {?} + */ + ScrollableDirective.prototype.getZoom = /** + * @private + * @return {?} + */ + function () { + return this.zoom / 100; + }; + ScrollableDirective.decorators = [ + { type: core.Directive, args: [{ + selector: '[gdScrollable]' + },] } + ]; + /** @nocollapse */ + ScrollableDirective.ctorParameters = function () { return [ + { type: core.ElementRef }, + { type: NavigateService }, + { type: PagePreloadService }, + { type: ZoomService }, + { type: WindowService }, + { type: ViewportService } + ]; }; + ScrollableDirective.propDecorators = { + isPresentation: [{ type: core.Input }], + scrolling: [{ type: core.HostListener, args: ['scroll',] }], + resizing: [{ type: core.HostListener, args: ['window:resize',] }] + }; + return ScrollableDirective; + }()); + if (false) { + /** @type {?} */ + ScrollableDirective.prototype.isPresentation; + /** + * @type {?} + * @private + */ + ScrollableDirective.prototype.currentPage; + /** + * @type {?} + * @private + */ + ScrollableDirective.prototype.zoom; + /** + * @type {?} + * @private + */ + ScrollableDirective.prototype.loadedPagesSet; + /** + * @type {?} + * @private + */ + ScrollableDirective.prototype._elementRef; + /** + * @type {?} + * @private + */ + ScrollableDirective.prototype._navigateService; + /** + * @type {?} + * @private + */ + ScrollableDirective.prototype._pagePreloadService; + /** + * @type {?} + * @private + */ + ScrollableDirective.prototype._zoomService; + /** + * @type {?} + * @private + */ + ScrollableDirective.prototype._windowService; + /** + * @type {?} + * @private + */ + ScrollableDirective.prototype._viewportService; } - /** - * @fileoverview added by tsickle - * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc - */ - /** @type {?} */ - var $$4 = jquery; - var MouseWheelDirective = /** @class */ (function () { - function MouseWheelDirective() { - this.mouseWheelUp = new core.EventEmitter(); - this.mouseWheelDown = new core.EventEmitter(); - } - /** - * @param {?} event - * @return {?} - */ - MouseWheelDirective.prototype.onMouseWheelChrome = /** - * @param {?} event - * @return {?} - */ - function (event) { - this.mouseWheelFunc(event); - }; - /** - * @param {?} event - * @return {?} - */ - MouseWheelDirective.prototype.onMouseWheelFirefox = /** - * @param {?} event - * @return {?} - */ - function (event) { - this.mouseWheelFunc(event); - }; - /** - * @param {?} event - * @return {?} - */ - MouseWheelDirective.prototype.onMouseWheelIE = /** - * @param {?} event - * @return {?} - */ - function (event) { - this.mouseWheelFunc(event); - }; - /** - * @param {?} event - * @return {?} - */ - MouseWheelDirective.prototype.mouseWheelFunc = /** - * @param {?} event - * @return {?} - */ - function (event) { - event = window.event; - /** @type {?} */ - var delta = Math.max(-1, Math.min(1, (event.wheelDelta || -event.detail))); - if (delta > 0) { - this.mouseWheelUp.emit(event); - } - else if (delta < 0) { - this.mouseWheelDown.emit(event); - } - }; - MouseWheelDirective.decorators = [ - { type: core.Directive, args: [{ - selector: '[gdMouseWheel]' - },] } - ]; - MouseWheelDirective.propDecorators = { - mouseWheelUp: [{ type: core.Output }], - mouseWheelDown: [{ type: core.Output }], - onMouseWheelChrome: [{ type: core.HostListener, args: ['mousewheel', ['$event'],] }], - onMouseWheelFirefox: [{ type: core.HostListener, args: ['DOMMouseScroll', ['$event'],] }], - onMouseWheelIE: [{ type: core.HostListener, args: ['onmousewheel', ['$event'],] }] - }; - return MouseWheelDirective; - }()); - if (false) { - /** @type {?} */ - MouseWheelDirective.prototype.mouseWheelUp; - /** @type {?} */ - MouseWheelDirective.prototype.mouseWheelDown; + /** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ + /** @type {?} */ + var $$4 = jquery; + var MouseWheelDirective = /** @class */ (function () { + function MouseWheelDirective() { + this.mouseWheelUp = new core.EventEmitter(); + this.mouseWheelDown = new core.EventEmitter(); + } + /** + * @param {?} event + * @return {?} + */ + MouseWheelDirective.prototype.onMouseWheelChrome = /** + * @param {?} event + * @return {?} + */ + function (event) { + this.mouseWheelFunc(event); + }; + /** + * @param {?} event + * @return {?} + */ + MouseWheelDirective.prototype.onMouseWheelFirefox = /** + * @param {?} event + * @return {?} + */ + function (event) { + this.mouseWheelFunc(event); + }; + /** + * @param {?} event + * @return {?} + */ + MouseWheelDirective.prototype.onMouseWheelIE = /** + * @param {?} event + * @return {?} + */ + function (event) { + this.mouseWheelFunc(event); + }; + /** + * @param {?} event + * @return {?} + */ + MouseWheelDirective.prototype.mouseWheelFunc = /** + * @param {?} event + * @return {?} + */ + function (event) { + event = window.event; + /** @type {?} */ + var delta = Math.max(-1, Math.min(1, (event.wheelDelta || -event.detail))); + if (delta > 0) { + this.mouseWheelUp.emit(event); + } + else if (delta < 0) { + this.mouseWheelDown.emit(event); + } + }; + MouseWheelDirective.decorators = [ + { type: core.Directive, args: [{ + selector: '[gdMouseWheel]' + },] } + ]; + MouseWheelDirective.propDecorators = { + mouseWheelUp: [{ type: core.Output }], + mouseWheelDown: [{ type: core.Output }], + onMouseWheelChrome: [{ type: core.HostListener, args: ['mousewheel', ['$event'],] }], + onMouseWheelFirefox: [{ type: core.HostListener, args: ['DOMMouseScroll', ['$event'],] }], + onMouseWheelIE: [{ type: core.HostListener, args: ['onmousewheel', ['$event'],] }] + }; + return MouseWheelDirective; + }()); + if (false) { + /** @type {?} */ + MouseWheelDirective.prototype.mouseWheelUp; + /** @type {?} */ + MouseWheelDirective.prototype.mouseWheelDown; } - /** - * @fileoverview added by tsickle - * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc - */ - var ZoomDirective = /** @class */ (function () { - function ZoomDirective(_zoomService, _windowService, el) { - this._zoomService = _zoomService; - this._windowService = _windowService; - this.zoomActive = true; - this.el = el; - } - /** - * @return {?} - */ - ZoomDirective.prototype.ngOnDestroy = /** - * @return {?} - */ - function () { - }; - /** - * @return {?} - */ - ZoomDirective.prototype.ngOnChanges = /** - * @return {?} - */ - function () { - this.setStyles(this._zoomService.zoom); - this.resizePages(this._zoomService.zoom); - }; - /** - * @return {?} - */ - ZoomDirective.prototype.ngOnInit = /** - * @return {?} - */ - function () { - var _this = this; - if (!this.zoomActive) { - return; - } - this.setStyles(this._zoomService.zoom); - this._zoomService.zoomChange.subscribe((/** - * @param {?} zoom - * @return {?} - */ - function (zoom) { - _this.setStyles(zoom); - _this.resizePages(zoom); - })); - }; - /** - * @private - * @param {?} zoom - * @return {?} - */ - ZoomDirective.prototype.setStyles = /** - * @private - * @param {?} zoom - * @return {?} - */ - function (zoom) { - if (!this.zoomActive) { - return; - } - /** @type {?} */ - var zoomInt = zoom === 100 ? 1 : zoom / 100; - if (this._windowService.isEdge()) { - this.zoomInt = zoomInt; - } - else { - this.zoomInt = null; - } - if (!this._windowService.isEdge()) { - this.transform = 'scale(' + zoomInt + ')'; - this.transformOrigin = 'top left'; - } - else { - this.transform = ""; - this.transformOrigin = ""; - } - /** @type {?} */ - var maxWidth = 0; - this.file.pages.forEach((/** - * @param {?} page - * @return {?} - */ - function (page) { - { - if (page.width > maxWidth) { - maxWidth = page.width; - } - } - })); - // Images and Excel-related files receiving dimensions in px from server - this.minWidth = maxWidth + FileUtil.find(this.file.guid, false).unit; - }; - /** - * @private - * @param {?} elm - * @return {?} - */ - ZoomDirective.prototype.getScrollWidth = /** - * @private - * @param {?} elm - * @return {?} - */ - function (elm) { - return elm.offsetWidth - elm.clientWidth; - }; - /** - * @private - * @param {?} elm - * @return {?} - */ - ZoomDirective.prototype.getScrollHeight = /** - * @private - * @param {?} elm - * @return {?} - */ - function (elm) { - return elm.offsetHeight - elm.clientHeight; - }; - /** - * @private - * @param {?} zoom - * @return {?} - */ - ZoomDirective.prototype.resizePages = /** - * @private - * @param {?} zoom - * @return {?} - */ - function (zoom) { - /** @type {?} */ - var zoomInt = zoom === 100 ? 1 : zoom / 100; - /** @type {?} */ - var viewPortWidth = this.el.nativeElement.parentElement.offsetWidth; - /** @type {?} */ - var viewPortHeight = this.el.nativeElement.parentElement.offsetHeight; - /** @type {?} */ - var scrollWidth = this.getScrollWidth(this.el.nativeElement.parentElement); - /** @type {?} */ - var scrollHeight = this.getScrollHeight(this.el.nativeElement.parentElement); - this.width = (viewPortWidth / zoomInt - scrollWidth / zoomInt) + 'px'; - this.height = (viewPortHeight / zoomInt - scrollHeight / zoomInt) + 'px'; - }; - /** - * @return {?} - */ - ZoomDirective.prototype.ngAfterViewInit = /** - * @return {?} - */ - function () { - this.setStyles(this._zoomService.zoom); - }; - ZoomDirective.decorators = [ - { type: core.Directive, args: [{ - selector: '[gdZoom]' - },] } - ]; - /** @nocollapse */ - ZoomDirective.ctorParameters = function () { return [ - { type: ZoomService }, - { type: WindowService }, - { type: core.ElementRef } - ]; }; - ZoomDirective.propDecorators = { - zoomActive: [{ type: core.Input }], - file: [{ type: core.Input }], - zoomInt: [{ type: core.HostBinding, args: ['style.zoom',] }], - transform: [{ type: core.HostBinding, args: ['style.transform',] }], - transformOrigin: [{ type: core.HostBinding, args: ['style.transform-origin',] }], - width: [{ type: core.HostBinding, args: ['style.width',] }], - height: [{ type: core.HostBinding, args: ['style.height',] }], - minWidth: [{ type: core.HostBinding, args: ['style.min-width',] }] - }; - return ZoomDirective; - }()); - if (false) { - /** @type {?} */ - ZoomDirective.prototype.zoomActive; - /** @type {?} */ - ZoomDirective.prototype.file; - /** @type {?} */ - ZoomDirective.prototype.zoomInt; - /** @type {?} */ - ZoomDirective.prototype.transform; - /** @type {?} */ - ZoomDirective.prototype.transformOrigin; - /** @type {?} */ - ZoomDirective.prototype.width; - /** @type {?} */ - ZoomDirective.prototype.height; - /** @type {?} */ - ZoomDirective.prototype.minWidth; - /** @type {?} */ - ZoomDirective.prototype.el; - /** - * @type {?} - * @private - */ - ZoomDirective.prototype._zoomService; - /** - * @type {?} - * @private - */ - ZoomDirective.prototype._windowService; + /** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ + var ZoomDirective = /** @class */ (function () { + function ZoomDirective(_zoomService, _windowService, el) { + this._zoomService = _zoomService; + this._windowService = _windowService; + this.zoomActive = true; + this.el = el; + } + /** + * @return {?} + */ + ZoomDirective.prototype.ngOnDestroy = /** + * @return {?} + */ + function () { + }; + /** + * @return {?} + */ + ZoomDirective.prototype.ngOnChanges = /** + * @return {?} + */ + function () { + this.setStyles(this._zoomService.zoom); + this.resizePages(this._zoomService.zoom); + }; + /** + * @return {?} + */ + ZoomDirective.prototype.ngOnInit = /** + * @return {?} + */ + function () { + var _this = this; + if (!this.zoomActive) { + return; + } + this.setStyles(this._zoomService.zoom); + this._zoomService.zoomChange.subscribe((/** + * @param {?} zoom + * @return {?} + */ + function (zoom) { + _this.setStyles(zoom); + _this.resizePages(zoom); + })); + }; + /** + * @private + * @param {?} zoom + * @return {?} + */ + ZoomDirective.prototype.setStyles = /** + * @private + * @param {?} zoom + * @return {?} + */ + function (zoom) { + if (!this.zoomActive) { + return; + } + /** @type {?} */ + var zoomInt = zoom === 100 ? 1 : zoom / 100; + if (this._windowService.isEdge()) { + this.zoomInt = zoomInt; + } + else { + this.zoomInt = null; + } + if (!this._windowService.isEdge()) { + this.transform = 'scale(' + zoomInt + ')'; + this.transformOrigin = 'top left'; + } + else { + this.transform = ""; + this.transformOrigin = ""; + } + /** @type {?} */ + var maxWidth = 0; + this.file.pages.forEach((/** + * @param {?} page + * @return {?} + */ + function (page) { + { + if (page.width > maxWidth) { + maxWidth = page.width; + } + } + })); + // Images and Excel-related files receiving dimensions in px from server + this.minWidth = maxWidth + FileUtil.find(this.file.guid, false).unit; + }; + /** + * @private + * @param {?} elm + * @return {?} + */ + ZoomDirective.prototype.getScrollWidth = /** + * @private + * @param {?} elm + * @return {?} + */ + function (elm) { + return elm.offsetWidth - elm.clientWidth; + }; + /** + * @private + * @param {?} elm + * @return {?} + */ + ZoomDirective.prototype.getScrollHeight = /** + * @private + * @param {?} elm + * @return {?} + */ + function (elm) { + return elm.offsetHeight - elm.clientHeight; + }; + /** + * @private + * @param {?} zoom + * @return {?} + */ + ZoomDirective.prototype.resizePages = /** + * @private + * @param {?} zoom + * @return {?} + */ + function (zoom) { + /** @type {?} */ + var zoomInt = zoom === 100 ? 1 : zoom / 100; + /** @type {?} */ + var viewPortWidth = this.el.nativeElement.parentElement.offsetWidth; + /** @type {?} */ + var viewPortHeight = this.el.nativeElement.parentElement.offsetHeight; + /** @type {?} */ + var scrollWidth = this.getScrollWidth(this.el.nativeElement.parentElement); + /** @type {?} */ + var scrollHeight = this.getScrollHeight(this.el.nativeElement.parentElement); + this.width = (viewPortWidth / zoomInt - scrollWidth / zoomInt) + 'px'; + this.height = (viewPortHeight / zoomInt - scrollHeight / zoomInt) + 'px'; + }; + /** + * @return {?} + */ + ZoomDirective.prototype.ngAfterViewInit = /** + * @return {?} + */ + function () { + this.setStyles(this._zoomService.zoom); + }; + ZoomDirective.decorators = [ + { type: core.Directive, args: [{ + selector: '[gdZoom]' + },] } + ]; + /** @nocollapse */ + ZoomDirective.ctorParameters = function () { return [ + { type: ZoomService }, + { type: WindowService }, + { type: core.ElementRef } + ]; }; + ZoomDirective.propDecorators = { + zoomActive: [{ type: core.Input }], + file: [{ type: core.Input }], + zoomInt: [{ type: core.HostBinding, args: ['style.zoom',] }], + transform: [{ type: core.HostBinding, args: ['style.transform',] }], + transformOrigin: [{ type: core.HostBinding, args: ['style.transform-origin',] }], + width: [{ type: core.HostBinding, args: ['style.width',] }], + height: [{ type: core.HostBinding, args: ['style.height',] }], + minWidth: [{ type: core.HostBinding, args: ['style.min-width',] }] + }; + return ZoomDirective; + }()); + if (false) { + /** @type {?} */ + ZoomDirective.prototype.zoomActive; + /** @type {?} */ + ZoomDirective.prototype.file; + /** @type {?} */ + ZoomDirective.prototype.zoomInt; + /** @type {?} */ + ZoomDirective.prototype.transform; + /** @type {?} */ + ZoomDirective.prototype.transformOrigin; + /** @type {?} */ + ZoomDirective.prototype.width; + /** @type {?} */ + ZoomDirective.prototype.height; + /** @type {?} */ + ZoomDirective.prototype.minWidth; + /** @type {?} */ + ZoomDirective.prototype.el; + /** + * @type {?} + * @private + */ + ZoomDirective.prototype._zoomService; + /** + * @type {?} + * @private + */ + ZoomDirective.prototype._windowService; } - /** - * @fileoverview added by tsickle - * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc - */ - var OnCloseService = /** @class */ (function () { - function OnCloseService() { - this._observer = new rxjs.Subject(); - this._onClose = this._observer.asObservable(); - } - Object.defineProperty(OnCloseService.prototype, "onClose", { - get: /** - * @return {?} - */ - function () { - return this._onClose; - }, - enumerable: true, - configurable: true - }); - /** - * @param {?} close - * @return {?} - */ - OnCloseService.prototype.close = /** - * @param {?} close - * @return {?} - */ - function (close) { - this._observer.next(close); - }; - OnCloseService.decorators = [ - { type: core.Injectable, args: [{ - providedIn: 'root' - },] } - ]; - /** @nocollapse */ - OnCloseService.ctorParameters = function () { return []; }; - /** @nocollapse */ OnCloseService.ngInjectableDef = core.ɵɵdefineInjectable({ factory: function OnCloseService_Factory() { return new OnCloseService(); }, token: OnCloseService, providedIn: "root" }); - return OnCloseService; - }()); - if (false) { - /** - * @type {?} - * @private - */ - OnCloseService.prototype._observer; - /** - * @type {?} - * @private - */ - OnCloseService.prototype._onClose; + /** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ + var OnCloseService = /** @class */ (function () { + function OnCloseService() { + this._observer = new rxjs.Subject(); + this._onClose = this._observer.asObservable(); + } + Object.defineProperty(OnCloseService.prototype, "onClose", { + get: /** + * @return {?} + */ + function () { + return this._onClose; + }, + enumerable: true, + configurable: true + }); + /** + * @param {?} close + * @return {?} + */ + OnCloseService.prototype.close = /** + * @param {?} close + * @return {?} + */ + function (close) { + this._observer.next(close); + }; + OnCloseService.decorators = [ + { type: core.Injectable, args: [{ + providedIn: 'root' + },] } + ]; + /** @nocollapse */ + OnCloseService.ctorParameters = function () { return []; }; + /** @nocollapse */ OnCloseService.ngInjectableDef = core.ɵɵdefineInjectable({ factory: function OnCloseService_Factory() { return new OnCloseService(); }, token: OnCloseService, providedIn: "root" }); + return OnCloseService; + }()); + if (false) { + /** + * @type {?} + * @private + */ + OnCloseService.prototype._observer; + /** + * @type {?} + * @private + */ + OnCloseService.prototype._onClose; } - /** - * @fileoverview added by tsickle - * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc - */ - /** - * @record - */ - function Option() { } - if (false) { - /** @type {?} */ - Option.prototype.name; - /** @type {?} */ - Option.prototype.value; - /** @type {?} */ - Option.prototype.separator; - } - var SelectComponent = /** @class */ (function () { - function SelectComponent(_onCloseService) { - var _this = this; - this._onCloseService = _onCloseService; - this.disabled = false; - this.selected = new core.EventEmitter(); - this.opened = new core.EventEmitter(); - this.isOpen = false; - _onCloseService.onClose.subscribe((/** - * @return {?} - */ - function () { - _this.close(); - })); - } - /** - * @return {?} - */ - SelectComponent.prototype.open = /** - * @return {?} - */ - function () { - if (!this.disabled) { - this.isOpen = true; - } - }; - /** - * @return {?} - */ - SelectComponent.prototype.close = /** - * @return {?} - */ - function () { - this.isOpen = false; - }; - /** - * @param {?} event - * @return {?} - */ - SelectComponent.prototype.onClickOutside = /** - * @param {?} event - * @return {?} - */ - function (event) { - this.close(); - }; - /** - * @param {?} $event - * @return {?} - */ - SelectComponent.prototype.toggle = /** - * @param {?} $event - * @return {?} - */ - function ($event) { - // TODO: following lines were uncommented due to needness in signature app - $event.preventDefault(); - $event.stopPropagation(); - if (!this.disabled) { - this.isOpen = !this.isOpen; - if (this.isOpen) - this.opened.emit(true); - } - }; - /** - * @param {?} $event - * @param {?} value - * @return {?} - */ - SelectComponent.prototype.select = /** - * @param {?} $event - * @param {?} value - * @return {?} - */ - function ($event, value) { - $event.preventDefault(); - $event.stopPropagation(); - this.selected.emit(value); - this.close(); - }; - SelectComponent.decorators = [ - { type: core.Component, args: [{ - selector: 'gd-select', - template: "
\n
\n {{showSelected?.name}}\n
\n \n \n
\n
\n
{{option.name}}
\n
\n
\n
\n
\n", - styles: [".select{min-width:50px;display:-webkit-box;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;flex-direction:row;-webkit-box-pack:center;justify-content:center;-webkit-box-align:center;align-items:center;color:#959da5}.selected-value{font-size:14px;cursor:pointer;white-space:nowrap;overflow:hidden;text-overflow:clip;max-width:70px}.selected-value.inactive{cursor:not-allowed;color:#ccc}.nav-caret{display:inline-block;width:0;height:0;margin-left:2px;vertical-align:middle;border-top:4px dashed;border-right:4px solid transparent;border-left:4px solid transparent;cursor:pointer}.nav-caret.inactive{cursor:not-allowed;color:#ccc}.dropdown-menu{position:absolute;top:49px;z-index:1000;float:left;min-width:96px;list-style:none;font-size:13px;text-align:left;background-color:#fff;box-shadow:0 3px 6px rgba(0,0,0,.3);background-clip:padding-box}.dropdown-menu .option{display:block;padding:7px 0 7px 7px;clear:both;font-weight:400;line-height:1.42857143;white-space:nowrap;cursor:pointer;font-size:10px}.dropdown-menu .option:hover{background-color:#25c2d4;color:#fff!important}.dropdown-menu-separator{height:1px;overflow:hidden;background-color:#f4f4f4;padding:0!important}"] - }] } - ]; - /** @nocollapse */ - SelectComponent.ctorParameters = function () { return [ - { type: OnCloseService } - ]; }; - SelectComponent.propDecorators = { - options: [{ type: core.Input }], - disabled: [{ type: core.Input }], - showSelected: [{ type: core.Input }], - selected: [{ type: core.Output }], - opened: [{ type: core.Output }], - isOpen: [{ type: core.Input }], - icon: [{ type: core.Input }] - }; - return SelectComponent; - }()); - if (false) { - /** @type {?} */ - SelectComponent.prototype.options; - /** @type {?} */ - SelectComponent.prototype.disabled; - /** @type {?} */ - SelectComponent.prototype.showSelected; - /** @type {?} */ - SelectComponent.prototype.selected; - /** @type {?} */ - SelectComponent.prototype.opened; - /** @type {?} */ - SelectComponent.prototype.isOpen; - /** @type {?} */ - SelectComponent.prototype.icon; - /** - * @type {?} - * @protected - */ - SelectComponent.prototype._onCloseService; + /** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ + /** + * @record + */ + function Option() { } + if (false) { + /** @type {?} */ + Option.prototype.name; + /** @type {?} */ + Option.prototype.value; + /** @type {?} */ + Option.prototype.separator; + } + var SelectComponent = /** @class */ (function () { + function SelectComponent(_onCloseService) { + var _this = this; + this._onCloseService = _onCloseService; + this.disabled = false; + this.selected = new core.EventEmitter(); + this.opened = new core.EventEmitter(); + this.isOpen = false; + _onCloseService.onClose.subscribe((/** + * @return {?} + */ + function () { + _this.close(); + })); + } + /** + * @return {?} + */ + SelectComponent.prototype.open = /** + * @return {?} + */ + function () { + if (!this.disabled) { + this.isOpen = true; + } + }; + /** + * @return {?} + */ + SelectComponent.prototype.close = /** + * @return {?} + */ + function () { + this.isOpen = false; + }; + /** + * @param {?} event + * @return {?} + */ + SelectComponent.prototype.onClickOutside = /** + * @param {?} event + * @return {?} + */ + function (event) { + this.close(); + }; + /** + * @param {?} $event + * @return {?} + */ + SelectComponent.prototype.toggle = /** + * @param {?} $event + * @return {?} + */ + function ($event) { + // TODO: following lines were uncommented due to needness in signature app + $event.preventDefault(); + $event.stopPropagation(); + if (!this.disabled) { + this.isOpen = !this.isOpen; + if (this.isOpen) + this.opened.emit(true); + } + }; + /** + * @param {?} $event + * @param {?} value + * @return {?} + */ + SelectComponent.prototype.select = /** + * @param {?} $event + * @param {?} value + * @return {?} + */ + function ($event, value) { + $event.preventDefault(); + $event.stopPropagation(); + this.selected.emit(value); + this.close(); + }; + SelectComponent.decorators = [ + { type: core.Component, args: [{ + selector: 'gd-select', + template: "
\r\n
\r\n {{showSelected?.name}}\r\n
\r\n \r\n \r\n
\r\n
\r\n
{{option.name}}
\r\n
\r\n
\r\n
\r\n
\r\n", + styles: [".select{min-width:50px;display:-webkit-box;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;flex-direction:row;-webkit-box-pack:center;justify-content:center;-webkit-box-align:center;align-items:center;color:#959da5}.selected-value{font-size:14px;cursor:pointer;white-space:nowrap;overflow:hidden;text-overflow:clip;max-width:70px}.selected-value.inactive{cursor:not-allowed;color:#ccc}.nav-caret{display:inline-block;width:0;height:0;margin-left:2px;vertical-align:middle;border-top:4px dashed;border-right:4px solid transparent;border-left:4px solid transparent;cursor:pointer}.nav-caret.inactive{cursor:not-allowed;color:#ccc}.dropdown-menu{position:absolute;top:49px;z-index:1000;float:left;min-width:96px;list-style:none;font-size:13px;text-align:left;background-color:#fff;box-shadow:0 3px 6px rgba(0,0,0,.3);background-clip:padding-box}.dropdown-menu .option{display:block;padding:7px 0 7px 7px;clear:both;font-weight:400;line-height:1.42857143;white-space:nowrap;cursor:pointer;font-size:10px}.dropdown-menu .option:hover{background-color:#25c2d4;color:#fff!important}.dropdown-menu-separator{height:1px;overflow:hidden;background-color:#f4f4f4;padding:0!important}"] + }] } + ]; + /** @nocollapse */ + SelectComponent.ctorParameters = function () { return [ + { type: OnCloseService } + ]; }; + SelectComponent.propDecorators = { + options: [{ type: core.Input }], + disabled: [{ type: core.Input }], + showSelected: [{ type: core.Input }], + selected: [{ type: core.Output }], + opened: [{ type: core.Output }], + isOpen: [{ type: core.Input }], + icon: [{ type: core.Input }] + }; + return SelectComponent; + }()); + if (false) { + /** @type {?} */ + SelectComponent.prototype.options; + /** @type {?} */ + SelectComponent.prototype.disabled; + /** @type {?} */ + SelectComponent.prototype.showSelected; + /** @type {?} */ + SelectComponent.prototype.selected; + /** @type {?} */ + SelectComponent.prototype.opened; + /** @type {?} */ + SelectComponent.prototype.isOpen; + /** @type {?} */ + SelectComponent.prototype.icon; + /** + * @type {?} + * @protected + */ + SelectComponent.prototype._onCloseService; } - /** - * @fileoverview added by tsickle - * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc - */ - var DisabledCursorDirective = /** @class */ (function () { - function DisabledCursorDirective() { - } - /** - * @private - * @return {?} - */ - DisabledCursorDirective.prototype.updateCursor = /** - * @private - * @return {?} - */ - function () { - this.cursor = this.dis ? true : false; - }; - /** - * @return {?} - */ - DisabledCursorDirective.prototype.ngOnInit = /** - * @return {?} - */ - function () { - this.updateCursor(); - }; - /** - * @param {?} changes - * @return {?} - */ - DisabledCursorDirective.prototype.ngOnChanges = /** - * @param {?} changes - * @return {?} - */ - function (changes) { - this.updateCursor(); - }; - DisabledCursorDirective.decorators = [ - { type: core.Directive, args: [{ - selector: '[gdDisabledCursor]' - },] } - ]; - /** @nocollapse */ - DisabledCursorDirective.ctorParameters = function () { return []; }; - DisabledCursorDirective.propDecorators = { - dis: [{ type: core.Input }], - cursor: [{ type: core.HostBinding, args: ['class.inactive',] }] - }; - return DisabledCursorDirective; - }()); - if (false) { - /** @type {?} */ - DisabledCursorDirective.prototype.dis; - /** @type {?} */ - DisabledCursorDirective.prototype.cursor; + /** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ + var DisabledCursorDirective = /** @class */ (function () { + function DisabledCursorDirective() { + } + /** + * @private + * @return {?} + */ + DisabledCursorDirective.prototype.updateCursor = /** + * @private + * @return {?} + */ + function () { + this.cursor = this.dis ? true : false; + }; + /** + * @return {?} + */ + DisabledCursorDirective.prototype.ngOnInit = /** + * @return {?} + */ + function () { + this.updateCursor(); + }; + /** + * @param {?} changes + * @return {?} + */ + DisabledCursorDirective.prototype.ngOnChanges = /** + * @param {?} changes + * @return {?} + */ + function (changes) { + this.updateCursor(); + }; + DisabledCursorDirective.decorators = [ + { type: core.Directive, args: [{ + selector: '[gdDisabledCursor]' + },] } + ]; + /** @nocollapse */ + DisabledCursorDirective.ctorParameters = function () { return []; }; + DisabledCursorDirective.propDecorators = { + dis: [{ type: core.Input }], + cursor: [{ type: core.HostBinding, args: ['class.inactive',] }] + }; + return DisabledCursorDirective; + }()); + if (false) { + /** @type {?} */ + DisabledCursorDirective.prototype.dis; + /** @type {?} */ + DisabledCursorDirective.prototype.cursor; } - /** - * @fileoverview added by tsickle - * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc - */ - var RotationDirective = /** @class */ (function () { - function RotationDirective() { - this.withMargin = true; - } - /** - * @private - * @return {?} - */ - RotationDirective.prototype.updateCursor = /** - * @private - * @return {?} - */ - function () { - if (typeof this.angle === "string") { - this.angle = parseInt(this.angle, 10); - } - if (this.angle) { - this.animation = 'none'; - this.transition = 'none'; - this.transform = 'rotate(' + this.angle + 'deg)'; - } - else if (this.angle === 0 && this.animation) { - this.animation = null; - this.transition = null; - this.transform = null; - } - if (this.withMargin) { - if (this.angle === 90 || this.angle === 270 || this.angle === -90 || this.angle === -270) { - if (this.isHtmlMode) { - if (this.isLandscape()) { - this.margin = '164px 254px'; - } - else { - this.margin = '-111px 254px'; - } - } - else { - if (this.isLandscape()) { - this.margin = '129px 100px -79px'; - } - else { - this.margin = '-72px 100px -79px'; - } - } - } - else if (this.angle === -180 || this.angle === 180) { - this.margin = '280px'; - } - else { - this.margin = null; - } - } - }; - /** - * @return {?} - */ - RotationDirective.prototype.isLandscape = /** - * @return {?} - */ - function () { - return this.width > this.height; - }; - /** - * @return {?} - */ - RotationDirective.prototype.ngOnInit = /** - * @return {?} - */ - function () { - this.updateCursor(); - }; - /** - * @param {?} changes - * @return {?} - */ - RotationDirective.prototype.ngOnChanges = /** - * @param {?} changes - * @return {?} - */ - function (changes) { - this.updateCursor(); - }; - RotationDirective.decorators = [ - { type: core.Directive, args: [{ - selector: '[gdRotation]' - },] } - ]; - /** @nocollapse */ - RotationDirective.ctorParameters = function () { return []; }; - RotationDirective.propDecorators = { - angle: [{ type: core.Input }], - isHtmlMode: [{ type: core.Input }], - width: [{ type: core.Input }], - height: [{ type: core.Input }], - withMargin: [{ type: core.Input }], - animation: [{ type: core.HostBinding, args: ['style.animation',] }], - transition: [{ type: core.HostBinding, args: ['style.transition-property',] }], - transform: [{ type: core.HostBinding, args: ['style.transform',] }], - margin: [{ type: core.HostBinding, args: ['style.margin',] }] - }; - return RotationDirective; - }()); - if (false) { - /** @type {?} */ - RotationDirective.prototype.angle; - /** @type {?} */ - RotationDirective.prototype.isHtmlMode; - /** @type {?} */ - RotationDirective.prototype.width; - /** @type {?} */ - RotationDirective.prototype.height; - /** @type {?} */ - RotationDirective.prototype.withMargin; - /** @type {?} */ - RotationDirective.prototype.animation; - /** @type {?} */ - RotationDirective.prototype.transition; - /** @type {?} */ - RotationDirective.prototype.transform; - /** @type {?} */ - RotationDirective.prototype.margin; + /** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ + var RotationDirective = /** @class */ (function () { + function RotationDirective() { + this.withMargin = true; + } + /** + * @private + * @return {?} + */ + RotationDirective.prototype.updateCursor = /** + * @private + * @return {?} + */ + function () { + if (typeof this.angle === "string") { + this.angle = parseInt(this.angle, 10); + } + if (this.angle) { + this.animation = 'none'; + this.transition = 'none'; + this.transform = 'rotate(' + this.angle + 'deg)'; + } + else if (this.angle === 0 && this.animation) { + this.animation = null; + this.transition = null; + this.transform = null; + } + if (this.withMargin) { + if (this.angle === 90 || this.angle === 270 || this.angle === -90 || this.angle === -270) { + if (this.isHtmlMode) { + if (this.isLandscape()) { + this.margin = '164px 254px'; + } + else { + this.margin = '-111px 254px'; + } + } + else { + if (this.isLandscape()) { + this.margin = '129px 100px -79px'; + } + else { + this.margin = '-72px 100px -79px'; + } + } + } + else if (this.angle === -180 || this.angle === 180) { + this.margin = '280px'; + } + else { + this.margin = null; + } + } + }; + /** + * @return {?} + */ + RotationDirective.prototype.isLandscape = /** + * @return {?} + */ + function () { + return this.width > this.height; + }; + /** + * @return {?} + */ + RotationDirective.prototype.ngOnInit = /** + * @return {?} + */ + function () { + this.updateCursor(); + }; + /** + * @param {?} changes + * @return {?} + */ + RotationDirective.prototype.ngOnChanges = /** + * @param {?} changes + * @return {?} + */ + function (changes) { + this.updateCursor(); + }; + RotationDirective.decorators = [ + { type: core.Directive, args: [{ + selector: '[gdRotation]' + },] } + ]; + /** @nocollapse */ + RotationDirective.ctorParameters = function () { return []; }; + RotationDirective.propDecorators = { + angle: [{ type: core.Input }], + isHtmlMode: [{ type: core.Input }], + width: [{ type: core.Input }], + height: [{ type: core.Input }], + withMargin: [{ type: core.Input }], + animation: [{ type: core.HostBinding, args: ['style.animation',] }], + transition: [{ type: core.HostBinding, args: ['style.transition-property',] }], + transform: [{ type: core.HostBinding, args: ['style.transform',] }], + margin: [{ type: core.HostBinding, args: ['style.margin',] }] + }; + return RotationDirective; + }()); + if (false) { + /** @type {?} */ + RotationDirective.prototype.angle; + /** @type {?} */ + RotationDirective.prototype.isHtmlMode; + /** @type {?} */ + RotationDirective.prototype.width; + /** @type {?} */ + RotationDirective.prototype.height; + /** @type {?} */ + RotationDirective.prototype.withMargin; + /** @type {?} */ + RotationDirective.prototype.animation; + /** @type {?} */ + RotationDirective.prototype.transition; + /** @type {?} */ + RotationDirective.prototype.transform; + /** @type {?} */ + RotationDirective.prototype.margin; } - /** - * @fileoverview added by tsickle - * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc - */ - var InitStateComponent = /** @class */ (function () { - function InitStateComponent() { - this.fileDropped = new core.EventEmitter(); - this.showUploadFile = false; - } - /** - * @return {?} - */ - InitStateComponent.prototype.ngOnInit = /** - * @return {?} - */ - function () { - }; - /** - * @param {?} $event - * @return {?} - */ - InitStateComponent.prototype.dropped = /** - * @param {?} $event - * @return {?} - */ - function ($event) { - if ($event) { - this.fileDropped.emit($event); - this.showUploadFile = false; - } - }; - InitStateComponent.decorators = [ - { type: core.Component, args: [{ - selector: 'gd-init-state', - template: "
\n
\n \n \n \n \n
\n
\n \n {{text}}\n
\n
\n", - styles: [".wrapper{color:#959da5;background-color:#e7e7e7;display:-webkit-box;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column;-webkit-box-pack:center;justify-content:center;-webkit-box-align:center;align-items:center;width:100%;height:100%}.icon{font-size:65px;margin-bottom:43px;display:-webkit-box;display:flex;color:#959da5}.start{font-size:15px;text-align:center;color:#959da5}.gd-drag-n-drop-wrap.active{background-color:#fff;position:fixed;top:0;background:rgba(255,255,255,.8)}.gd-drag-n-drop-wrap.active .init-state-wrapper{position:absolute;opacity:.2;top:unset}.gd-drag-n-drop-wrap.active .init-state-dnd-wrapper{top:0;z-index:999}.gd-drag-n-drop-wrap.active .init-state-dnd-wrapper .icon{width:113px;height:90px;font-size:90px;color:#3e4e5a;margin-bottom:30px}.gd-drag-n-drop-wrap.active .text{color:#6e6e6e;font-size:14px}.init-state-dnd-wrapper,.init-state-wrapper{display:-webkit-box;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column;width:250px;height:250px;-webkit-box-align:center;align-items:center;-webkit-box-pack:center;justify-content:center}.init-state-wrapper{top:-60px;position:relative}"] - }] } - ]; - /** @nocollapse */ - InitStateComponent.ctorParameters = function () { return []; }; - InitStateComponent.propDecorators = { - icon: [{ type: core.Input }], - text: [{ type: core.Input }], - fileDropped: [{ type: core.Output }] - }; - return InitStateComponent; - }()); - if (false) { - /** @type {?} */ - InitStateComponent.prototype.icon; - /** @type {?} */ - InitStateComponent.prototype.text; - /** @type {?} */ - InitStateComponent.prototype.fileDropped; - /** @type {?} */ - InitStateComponent.prototype.showUploadFile; + /** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ + var InitStateComponent = /** @class */ (function () { + function InitStateComponent() { + this.fileDropped = new core.EventEmitter(); + this.showUploadFile = false; + } + /** + * @return {?} + */ + InitStateComponent.prototype.ngOnInit = /** + * @return {?} + */ + function () { + }; + /** + * @param {?} $event + * @return {?} + */ + InitStateComponent.prototype.dropped = /** + * @param {?} $event + * @return {?} + */ + function ($event) { + if ($event) { + this.fileDropped.emit($event); + this.showUploadFile = false; + } + }; + InitStateComponent.decorators = [ + { type: core.Component, args: [{ + selector: 'gd-init-state', + template: "
\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n \r\n {{text}}\r\n
\r\n
\r\n", + styles: [".wrapper{color:#959da5;background-color:#e7e7e7;display:-webkit-box;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column;-webkit-box-pack:center;justify-content:center;-webkit-box-align:center;align-items:center;width:100%;height:100%}.icon{font-size:65px;margin-bottom:43px;display:-webkit-box;display:flex;color:#959da5}.start{font-size:15px;text-align:center;color:#959da5}.gd-drag-n-drop-wrap.active{background-color:#fff;position:fixed;top:0;background:rgba(255,255,255,.8)}.gd-drag-n-drop-wrap.active .init-state-wrapper{position:absolute;opacity:.2;top:unset}.gd-drag-n-drop-wrap.active .init-state-dnd-wrapper{top:0;z-index:999}.gd-drag-n-drop-wrap.active .init-state-dnd-wrapper .icon{width:113px;height:90px;font-size:90px;color:#3e4e5a;margin-bottom:30px}.gd-drag-n-drop-wrap.active .text{color:#6e6e6e;font-size:14px}.init-state-dnd-wrapper,.init-state-wrapper{display:-webkit-box;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column;width:250px;height:250px;-webkit-box-align:center;align-items:center;-webkit-box-pack:center;justify-content:center}.init-state-wrapper{top:-60px;position:relative}"] + }] } + ]; + /** @nocollapse */ + InitStateComponent.ctorParameters = function () { return []; }; + InitStateComponent.propDecorators = { + icon: [{ type: core.Input }], + text: [{ type: core.Input }], + fileDropped: [{ type: core.Output }] + }; + return InitStateComponent; + }()); + if (false) { + /** @type {?} */ + InitStateComponent.prototype.icon; + /** @type {?} */ + InitStateComponent.prototype.text; + /** @type {?} */ + InitStateComponent.prototype.fileDropped; + /** @type {?} */ + InitStateComponent.prototype.showUploadFile; } - /** - * @fileoverview added by tsickle - * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc - */ - var RenderPrintService = /** @class */ (function () { - function RenderPrintService() { - var _this = this; - this._render = new rxjs.Observable((/** - * @param {?} observer - * @return {?} - */ - function (observer) { - return _this._observer = observer; - })); - this._renderBlob = new rxjs.Observable((/** - * @param {?} observer - * @return {?} - */ - function (observer) { - return _this._observerBlob = observer; - })); - } - Object.defineProperty(RenderPrintService.prototype, "renderPrint", { - get: /** - * @return {?} - */ - function () { - return this._render; - }, - enumerable: true, - configurable: true - }); - /** - * @param {?} pages - * @return {?} - */ - RenderPrintService.prototype.changePages = /** - * @param {?} pages - * @return {?} - */ - function (pages) { - this._observer.next(pages); - }; - Object.defineProperty(RenderPrintService.prototype, "renderPrintBlob", { - get: /** - * @return {?} - */ - function () { - return this._renderBlob; - }, - enumerable: true, - configurable: true - }); - /** - * @param {?} file - * @return {?} - */ - RenderPrintService.prototype.changeBlob = /** - * @param {?} file - * @return {?} - */ - function (file) { - this._observerBlob.next(file); - }; - return RenderPrintService; - }()); - if (false) { - /** - * @type {?} - * @private - */ - RenderPrintService.prototype._render; - /** - * @type {?} - * @private - */ - RenderPrintService.prototype._observer; - /** - * @type {?} - * @private - */ - RenderPrintService.prototype._renderBlob; - /** - * @type {?} - * @private - */ - RenderPrintService.prototype._observerBlob; + /** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ + var RenderPrintService = /** @class */ (function () { + function RenderPrintService() { + var _this = this; + this._render = new rxjs.Observable((/** + * @param {?} observer + * @return {?} + */ + function (observer) { + return _this._observer = observer; + })); + this._renderBlob = new rxjs.Observable((/** + * @param {?} observer + * @return {?} + */ + function (observer) { + return _this._observerBlob = observer; + })); + } + Object.defineProperty(RenderPrintService.prototype, "renderPrint", { + get: /** + * @return {?} + */ + function () { + return this._render; + }, + enumerable: true, + configurable: true + }); + /** + * @param {?} pages + * @return {?} + */ + RenderPrintService.prototype.changePages = /** + * @param {?} pages + * @return {?} + */ + function (pages) { + this._observer.next(pages); + }; + Object.defineProperty(RenderPrintService.prototype, "renderPrintBlob", { + get: /** + * @return {?} + */ + function () { + return this._renderBlob; + }, + enumerable: true, + configurable: true + }); + /** + * @param {?} file + * @return {?} + */ + RenderPrintService.prototype.changeBlob = /** + * @param {?} file + * @return {?} + */ + function (file) { + this._observerBlob.next(file); + }; + return RenderPrintService; + }()); + if (false) { + /** + * @type {?} + * @private + */ + RenderPrintService.prototype._render; + /** + * @type {?} + * @private + */ + RenderPrintService.prototype._observer; + /** + * @type {?} + * @private + */ + RenderPrintService.prototype._renderBlob; + /** + * @type {?} + * @private + */ + RenderPrintService.prototype._observerBlob; } - /** - * @fileoverview added by tsickle - * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc - */ - var RenderPrintDirective = /** @class */ (function () { - function RenderPrintDirective(_renderService) { - var _this = this; - this._renderService = _renderService; - _renderService.renderPrint.subscribe((/** - * @param {?} pages - * @return {?} - */ - function (pages) { - _this.renderPrint(pages); - })); - _renderService.renderPrintBlob.subscribe((/** - * @param {?} file - * @return {?} - */ - function (file) { - _this.renderPrintBlob(file); - })); - } - /** - * @private - * @param {?} pages - * @return {?} - */ - RenderPrintDirective.prototype.renderPrint = /** - * @private - * @param {?} pages - * @return {?} - */ - function (pages) { - var e_1, _a; - /** @type {?} */ - var pagesHtml = ''; - try { - for (var pages_1 = __values(pages), pages_1_1 = pages_1.next(); !pages_1_1.done; pages_1_1 = pages_1.next()) { - var page = pages_1_1.value; - pagesHtml += '
' + - '
' + - '
'; - } - } - catch (e_1_1) { e_1 = { error: e_1_1 }; } - finally { - try { - if (pages_1_1 && !pages_1_1.done && (_a = pages_1.return)) _a.call(pages_1); - } - finally { if (e_1) throw e_1.error; } - } - this.openWindow(pagesHtml, pages[0].width, pages[0].height); - }; - /** - * @private - * @param {?} pagesHtml - * @param {?} width - * @param {?} height - * @return {?} - */ - RenderPrintDirective.prototype.openWindow = /** - * @private - * @param {?} pagesHtml - * @param {?} width - * @param {?} height - * @return {?} - */ - function (pagesHtml, width, height) { - /** @type {?} */ - var a4Height = 842; - /** @type {?} */ - var a4Width = 595; - /** @type {?} */ - var imageA4Adjusted = ''; - if (width > a4Width && height > a4Height) { - /** @type {?} */ - var zoom = Math.round(height / a4Height) / 100; - imageA4Adjusted = '.gd-page img { width: 100%; margin: 0; padding: 0;}'; - if (navigator.userAgent.toLowerCase().indexOf('firefox') > -1) { - imageA4Adjusted = '.gd-page img { transform: scale(' + zoom + ');}'; - } - } - /** @type {?} */ - var cssPrint = ''; - /** @type {?} */ - var windowObject = window.open('', "PrintWindow", "width=750,height=650,top=50,left=50,toolbars=yes,scrollbars=yes,status=yes,resizable=yes"); - windowObject.focus(); - windowObject.document.writeln(cssPrint); - windowObject.document.writeln(pagesHtml); - windowObject.document.close(); - setTimeout((/** - * @return {?} - */ - function () { - windowObject.focus(); - windowObject.print(); - windowObject.close(); - }), 100); - }; - /** - * @private - * @param {?} file - * @return {?} - */ - RenderPrintDirective.prototype.renderPrintBlob = /** - * @private - * @param {?} file - * @return {?} - */ - function (file) { - /** @type {?} */ - var fileURL = URL.createObjectURL(file); - /** @type {?} */ - var windowObject = window.open(fileURL, "PrintWindow", "width=750,height=650,top=50,left=50,toolbars=yes,scrollbars=yes,status=yes,resizable=yes"); - windowObject.focus(); - windowObject.print(); - windowObject.close(); - }; - RenderPrintDirective.decorators = [ - { type: core.Directive, args: [{ - selector: '[gdRenderPrint]' - },] } - ]; - /** @nocollapse */ - RenderPrintDirective.ctorParameters = function () { return [ - { type: RenderPrintService } - ]; }; - RenderPrintDirective.propDecorators = { - htmlMode: [{ type: core.Input }] - }; - return RenderPrintDirective; - }()); - if (false) { - /** @type {?} */ - RenderPrintDirective.prototype.htmlMode; - /** - * @type {?} - * @private - */ - RenderPrintDirective.prototype._renderService; + /** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ + var RenderPrintDirective = /** @class */ (function () { + function RenderPrintDirective(_renderService) { + var _this = this; + this._renderService = _renderService; + _renderService.renderPrint.subscribe((/** + * @param {?} pages + * @return {?} + */ + function (pages) { + _this.renderPrint(pages); + })); + _renderService.renderPrintBlob.subscribe((/** + * @param {?} file + * @return {?} + */ + function (file) { + _this.renderPrintBlob(file); + })); + } + /** + * @private + * @param {?} pages + * @return {?} + */ + RenderPrintDirective.prototype.renderPrint = /** + * @private + * @param {?} pages + * @return {?} + */ + function (pages) { + var e_1, _a; + /** @type {?} */ + var pagesHtml = ''; + try { + for (var pages_1 = __values(pages), pages_1_1 = pages_1.next(); !pages_1_1.done; pages_1_1 = pages_1.next()) { + var page = pages_1_1.value; + pagesHtml += '
' + + '
' + + '
'; + } + } + catch (e_1_1) { e_1 = { error: e_1_1 }; } + finally { + try { + if (pages_1_1 && !pages_1_1.done && (_a = pages_1.return)) _a.call(pages_1); + } + finally { if (e_1) throw e_1.error; } + } + this.openWindow(pagesHtml, pages[0].width, pages[0].height); + }; + /** + * @private + * @param {?} pagesHtml + * @param {?} width + * @param {?} height + * @return {?} + */ + RenderPrintDirective.prototype.openWindow = /** + * @private + * @param {?} pagesHtml + * @param {?} width + * @param {?} height + * @return {?} + */ + function (pagesHtml, width, height) { + /** @type {?} */ + var a4Height = 842; + /** @type {?} */ + var a4Width = 595; + /** @type {?} */ + var imageA4Adjusted = ''; + if (width > a4Width && height > a4Height) { + /** @type {?} */ + var zoom = Math.round(height / a4Height) / 100; + imageA4Adjusted = '.gd-page img { width: 100%; margin: 0; padding: 0;}'; + if (navigator.userAgent.toLowerCase().indexOf('firefox') > -1) { + imageA4Adjusted = '.gd-page img { transform: scale(' + zoom + ');}'; + } + } + /** @type {?} */ + var cssPrint = ''; + /** @type {?} */ + var windowObject = window.open('', "PrintWindow", "width=750,height=650,top=50,left=50,toolbars=yes,scrollbars=yes,status=yes,resizable=yes"); + windowObject.focus(); + windowObject.document.writeln(cssPrint); + windowObject.document.writeln(pagesHtml); + windowObject.document.close(); + setTimeout((/** + * @return {?} + */ + function () { + windowObject.focus(); + windowObject.print(); + windowObject.close(); + }), 100); + }; + /** + * @private + * @param {?} file + * @return {?} + */ + RenderPrintDirective.prototype.renderPrintBlob = /** + * @private + * @param {?} file + * @return {?} + */ + function (file) { + /** @type {?} */ + var fileURL = URL.createObjectURL(file); + /** @type {?} */ + var windowObject = window.open(fileURL, "PrintWindow", "width=750,height=650,top=50,left=50,toolbars=yes,scrollbars=yes,status=yes,resizable=yes"); + windowObject.focus(); + windowObject.print(); + windowObject.close(); + }; + RenderPrintDirective.decorators = [ + { type: core.Directive, args: [{ + selector: '[gdRenderPrint]' + },] } + ]; + /** @nocollapse */ + RenderPrintDirective.ctorParameters = function () { return [ + { type: RenderPrintService } + ]; }; + RenderPrintDirective.propDecorators = { + htmlMode: [{ type: core.Input }] + }; + return RenderPrintDirective; + }()); + if (false) { + /** @type {?} */ + RenderPrintDirective.prototype.htmlMode; + /** + * @type {?} + * @private + */ + RenderPrintDirective.prototype._renderService; } - /** - * @fileoverview added by tsickle - * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc - */ - var ExceptionMessageService = /** @class */ (function () { - function ExceptionMessageService() { - this._observer = new rxjs.BehaviorSubject('Server is not available'); - this._messageChange = this._observer.asObservable(); - this._observerHttpEvent = new rxjs.BehaviorSubject(null); - this._httpEventChange = this._observerHttpEvent.asObservable(); - } - Object.defineProperty(ExceptionMessageService.prototype, "messageChange", { - get: /** - * @return {?} - */ - function () { - return this._messageChange; - }, - enumerable: true, - configurable: true - }); - Object.defineProperty(ExceptionMessageService.prototype, "httpEventChange", { - get: /** - * @return {?} - */ - function () { - return this._httpEventChange; - }, - enumerable: true, - configurable: true - }); - /** - * @param {?} message - * @return {?} - */ - ExceptionMessageService.prototype.changeMessage = /** - * @param {?} message - * @return {?} - */ - function (message) { - this._observer.next(message); - }; - /** - * @param {?} httpEvent - * @return {?} - */ - ExceptionMessageService.prototype.changeHttpEvent = /** - * @param {?} httpEvent - * @return {?} - */ - function (httpEvent) { - this._observerHttpEvent.next(httpEvent); - }; - return ExceptionMessageService; - }()); - if (false) { - /** - * @type {?} - * @private - */ - ExceptionMessageService.prototype._observer; - /** - * @type {?} - * @private - */ - ExceptionMessageService.prototype._messageChange; - /** - * @type {?} - * @private - */ - ExceptionMessageService.prototype._observerHttpEvent; - /** - * @type {?} - * @private - */ - ExceptionMessageService.prototype._httpEventChange; + /** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ + var ExceptionMessageService = /** @class */ (function () { + function ExceptionMessageService() { + this._observer = new rxjs.BehaviorSubject('Server is not available'); + this._messageChange = this._observer.asObservable(); + this._observerHttpEvent = new rxjs.BehaviorSubject(null); + this._httpEventChange = this._observerHttpEvent.asObservable(); + } + Object.defineProperty(ExceptionMessageService.prototype, "messageChange", { + get: /** + * @return {?} + */ + function () { + return this._messageChange; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(ExceptionMessageService.prototype, "httpEventChange", { + get: /** + * @return {?} + */ + function () { + return this._httpEventChange; + }, + enumerable: true, + configurable: true + }); + /** + * @param {?} message + * @return {?} + */ + ExceptionMessageService.prototype.changeMessage = /** + * @param {?} message + * @return {?} + */ + function (message) { + this._observer.next(message); + }; + /** + * @param {?} httpEvent + * @return {?} + */ + ExceptionMessageService.prototype.changeHttpEvent = /** + * @param {?} httpEvent + * @return {?} + */ + function (httpEvent) { + this._observerHttpEvent.next(httpEvent); + }; + return ExceptionMessageService; + }()); + if (false) { + /** + * @type {?} + * @private + */ + ExceptionMessageService.prototype._observer; + /** + * @type {?} + * @private + */ + ExceptionMessageService.prototype._messageChange; + /** + * @type {?} + * @private + */ + ExceptionMessageService.prototype._observerHttpEvent; + /** + * @type {?} + * @private + */ + ExceptionMessageService.prototype._httpEventChange; } - /** - * @fileoverview added by tsickle - * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc - */ - var ErrorModalComponent = /** @class */ (function () { - function ErrorModalComponent(messageService) { - var _this = this; - messageService.messageChange.subscribe((/** - * @param {?} message - * @return {?} - */ - function (message) { return _this.message = message; })); - } - /** - * @return {?} - */ - ErrorModalComponent.prototype.ngOnInit = /** - * @return {?} - */ - function () { - }; - ErrorModalComponent.decorators = [ - { type: core.Component, args: [{ - selector: 'gd-error-modal', - template: "\n
\n \n
\n
Something went wrong
\n
{{message ? message : 'Server is not available'}}
\n
\n
\n
\n", - styles: [".gd-modal-error{display:-webkit-inline-box;display:inline-flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column;-webkit-box-flex:1;flex:1}.gd-modal-error .gd-modal-error-message{font-size:12px;margin:0 24px 24px 0;word-break:break-word}.gd-modal-error .gd-modal-error-title{font-size:16px;font-weight:700;margin:14px 0 10px}#gd-error-section{max-width:468px;max-height:204px;display:-webkit-box;display:flex}#gd-error-section fa-icon{-webkit-box-flex:1;flex:1;color:#e04e4e;font-size:40px;margin:13px 23px 90px;text-align:center;max-width:46px}"] - }] } - ]; - /** @nocollapse */ - ErrorModalComponent.ctorParameters = function () { return [ - { type: ExceptionMessageService } - ]; }; - return ErrorModalComponent; - }()); - if (false) { - /** @type {?} */ - ErrorModalComponent.prototype.message; + /** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ + var ErrorModalComponent = /** @class */ (function () { + function ErrorModalComponent(messageService) { + var _this = this; + messageService.messageChange.subscribe((/** + * @param {?} message + * @return {?} + */ + function (message) { return _this.message = message; })); + } + /** + * @return {?} + */ + ErrorModalComponent.prototype.ngOnInit = /** + * @return {?} + */ + function () { + }; + ErrorModalComponent.decorators = [ + { type: core.Component, args: [{ + selector: 'gd-error-modal', + template: "\r\n
\r\n \r\n
\r\n
Something went wrong
\r\n
{{message ? message : 'Server is not available'}}
\r\n
\r\n
\r\n
\r\n", + styles: [".gd-modal-error{display:-webkit-inline-box;display:inline-flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column;-webkit-box-flex:1;flex:1}.gd-modal-error .gd-modal-error-message{font-size:12px;margin:0 24px 24px 0;word-break:break-word}.gd-modal-error .gd-modal-error-title{font-size:16px;font-weight:700;margin:14px 0 10px}#gd-error-section{max-width:468px;max-height:204px;display:-webkit-box;display:flex}#gd-error-section fa-icon{-webkit-box-flex:1;flex:1;color:#e04e4e;font-size:40px;margin:13px 23px 90px;text-align:center;max-width:46px}"] + }] } + ]; + /** @nocollapse */ + ErrorModalComponent.ctorParameters = function () { return [ + { type: ExceptionMessageService } + ]; }; + return ErrorModalComponent; + }()); + if (false) { + /** @type {?} */ + ErrorModalComponent.prototype.message; } - /** - * @fileoverview added by tsickle - * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc - */ - var PasswordService = /** @class */ (function () { - function PasswordService() { - this._observer = new rxjs.Subject(); - this._passChange = this._observer.asObservable(); - } - Object.defineProperty(PasswordService.prototype, "passChange", { - get: /** - * @return {?} - */ - function () { - return this._passChange; - }, - enumerable: true, - configurable: true - }); - /** - * @param {?} pass - * @return {?} - */ - PasswordService.prototype.setPassword = /** - * @param {?} pass - * @return {?} - */ - function (pass) { - this._observer.next(pass); - }; - return PasswordService; - }()); - if (false) { - /** - * @type {?} - * @private - */ - PasswordService.prototype._observer; - /** - * @type {?} - * @private - */ - PasswordService.prototype._passChange; + /** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ + var PasswordService = /** @class */ (function () { + function PasswordService() { + this._observer = new rxjs.Subject(); + this._passChange = this._observer.asObservable(); + } + Object.defineProperty(PasswordService.prototype, "passChange", { + get: /** + * @return {?} + */ + function () { + return this._passChange; + }, + enumerable: true, + configurable: true + }); + /** + * @param {?} pass + * @return {?} + */ + PasswordService.prototype.setPassword = /** + * @param {?} pass + * @return {?} + */ + function (pass) { + this._observer.next(pass); + }; + return PasswordService; + }()); + if (false) { + /** + * @type {?} + * @private + */ + PasswordService.prototype._observer; + /** + * @type {?} + * @private + */ + PasswordService.prototype._passChange; } - /** - * @fileoverview added by tsickle - * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc - */ - /** @type {?} */ - var $$5 = jquery; - var PasswordRequiredComponent = /** @class */ (function () { - function PasswordRequiredComponent(messageService, _passwordService) { - var _this = this; - this._passwordService = _passwordService; - this.cancelEvent = new core.EventEmitter(); - messageService.messageChange.subscribe((/** - * @param {?} message - * @return {?} - */ - function (message) { return _this.message = message; })); - } - /** - * @return {?} - */ - PasswordRequiredComponent.prototype.ngOnInit = /** - * @return {?} - */ - function () { - }; - /** - * @param {?} value - * @return {?} - */ - PasswordRequiredComponent.prototype.setPassword = /** - * @param {?} value - * @return {?} - */ - function (value) { - this._passwordService.setPassword(value); - }; - /** - * @param {?} $event - * @return {?} - */ - PasswordRequiredComponent.prototype.onCloseOpen = /** - * @param {?} $event - * @return {?} - */ - function ($event) { - if ($event) { - setTimeout((/** - * @return {?} - */ - function () { - /** @type {?} */ - var element = $$5("#password"); - if (element) { - element.focus(); - } - }), 100); - } - else { - $$5("#password").val(""); - } - }; - /** - * @param {?} $event - * @return {?} - */ - PasswordRequiredComponent.prototype.cancel = /** - * @param {?} $event - * @return {?} - */ - function ($event) { - $$5("#password").val(""); - this.cancelEvent.emit(true); - }; - PasswordRequiredComponent.decorators = [ - { type: core.Component, args: [{ - selector: 'gd-password-required', - template: "\n
\n
\n \n \n {{message}}\n \n Open\n \n
\n
\n
\n", - styles: ["#gd-password-section{width:375px;height:164px}.gd-password-wrap{display:-webkit-box;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column;margin:24px}.gd-password-wrap label{font-size:14px;color:#acacac;padding-bottom:12px}.gd-password-wrap input{height:30px;border:1px solid #25c2d4}.gd-password-wrap input.error{border-color:#e04e4e}.gd-password-wrap gd-button{align-self:flex-end}.gd-password-wrap ::ng-deep .button{height:37px;width:72px;padding:0;-webkit-box-pack:center;justify-content:center}.gd-password-wrap ::ng-deep .button ::ng-deep .text{font-size:10px!important}.gd-password-error{color:#e04e4e;padding:10px 0 12px;height:12px;line-height:12px;font-size:12px}@media (max-width:1037px){#gd-password-section{min-width:375px}}"] - }] } - ]; - /** @nocollapse */ - PasswordRequiredComponent.ctorParameters = function () { return [ - { type: ExceptionMessageService }, - { type: PasswordService } - ]; }; - PasswordRequiredComponent.propDecorators = { - cancelEvent: [{ type: core.Output }] - }; - return PasswordRequiredComponent; - }()); - if (false) { - /** @type {?} */ - PasswordRequiredComponent.prototype.message; - /** @type {?} */ - PasswordRequiredComponent.prototype.cancelEvent; - /** - * @type {?} - * @private - */ - PasswordRequiredComponent.prototype._passwordService; + /** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ + /** @type {?} */ + var $$5 = jquery; + var PasswordRequiredComponent = /** @class */ (function () { + function PasswordRequiredComponent(messageService, _passwordService) { + var _this = this; + this._passwordService = _passwordService; + this.cancelEvent = new core.EventEmitter(); + messageService.messageChange.subscribe((/** + * @param {?} message + * @return {?} + */ + function (message) { return _this.message = message; })); + } + /** + * @return {?} + */ + PasswordRequiredComponent.prototype.ngOnInit = /** + * @return {?} + */ + function () { + }; + /** + * @param {?} value + * @return {?} + */ + PasswordRequiredComponent.prototype.setPassword = /** + * @param {?} value + * @return {?} + */ + function (value) { + this._passwordService.setPassword(value); + }; + /** + * @param {?} $event + * @return {?} + */ + PasswordRequiredComponent.prototype.onCloseOpen = /** + * @param {?} $event + * @return {?} + */ + function ($event) { + if ($event) { + setTimeout((/** + * @return {?} + */ + function () { + /** @type {?} */ + var element = $$5("#password"); + if (element) { + element.focus(); + } + }), 100); + } + else { + $$5("#password").val(""); + } + }; + /** + * @param {?} $event + * @return {?} + */ + PasswordRequiredComponent.prototype.cancel = /** + * @param {?} $event + * @return {?} + */ + function ($event) { + $$5("#password").val(""); + this.cancelEvent.emit(true); + }; + PasswordRequiredComponent.decorators = [ + { type: core.Component, args: [{ + selector: 'gd-password-required', + template: "\r\n
\r\n
\r\n \r\n \r\n {{message}}\r\n \r\n Open\r\n \r\n
\r\n
\r\n
\r\n", + styles: ["#gd-password-section{width:375px;height:164px}.gd-password-wrap{display:-webkit-box;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column;margin:24px}.gd-password-wrap label{font-size:14px;color:#acacac;padding-bottom:12px}.gd-password-wrap input{height:30px;border:1px solid #25c2d4}.gd-password-wrap input.error{border-color:#e04e4e}.gd-password-wrap gd-button{align-self:flex-end}.gd-password-wrap ::ng-deep .button{height:37px;width:72px;padding:0;-webkit-box-pack:center;justify-content:center}.gd-password-wrap ::ng-deep .button ::ng-deep .text{font-size:10px!important}.gd-password-error{color:#e04e4e;padding:10px 0 12px;height:12px;line-height:12px;font-size:12px}@media (max-width:1037px){#gd-password-section{min-width:375px}}"] + }] } + ]; + /** @nocollapse */ + PasswordRequiredComponent.ctorParameters = function () { return [ + { type: ExceptionMessageService }, + { type: PasswordService } + ]; }; + PasswordRequiredComponent.propDecorators = { + cancelEvent: [{ type: core.Output }] + }; + return PasswordRequiredComponent; + }()); + if (false) { + /** @type {?} */ + PasswordRequiredComponent.prototype.message; + /** @type {?} */ + PasswordRequiredComponent.prototype.cancelEvent; + /** + * @type {?} + * @private + */ + PasswordRequiredComponent.prototype._passwordService; } - /** - * @fileoverview added by tsickle - * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc - */ - var ErrorInterceptorService = /** @class */ (function () { - function ErrorInterceptorService(_modalService, _messageService) { - this._modalService = _modalService; - this._messageService = _messageService; - } - /** - * @param {?} req - * @param {?} next - * @return {?} - */ - ErrorInterceptorService.prototype.intercept = /** - * @param {?} req - * @param {?} next - * @return {?} - */ - function (req, next) { - var _this = this; - /** @type {?} */ - var logFormat = 'background: maroon; color: white'; - return next.handle(req) - .pipe(operators.map((/** - * @param {?} data - * @return {?} - */ - function (data) { - return data; - })), operators.catchError((/** - * @param {?} exception - * @return {?} - */ - function (exception) { - if (exception instanceof http.HttpErrorResponse) { - switch (exception.status) { - case HttpError.BadRequest: - console.error('%c Bad Request 400', logFormat); - break; - case HttpError.Unauthorized: - console.error('%c Unauthorized 401', logFormat); - break; - case HttpError.NotFound: - console.error('%c Not Found 404', logFormat); - break; - case HttpError.TimeOut: - console.error('%c TimeOut 408', logFormat); - break; - case HttpError.InternalServerError: - console.error('%c big bad 500', logFormat); - _this._messageService.changeMessage(exception.error.message); - _this._messageService.changeHttpEvent(exception); - _this._modalService.open(ErrorInterceptorService.ErrorMessageWindowName); - break; - case HttpError.Forbidden: - console.error('%c Forbidden 403', logFormat); - _this._messageService.changeMessage(exception.error.message); - _this._modalService.open(CommonModals.PasswordRequired); - break; - } - } - return rxjs.throwError(exception); - }))); - }; - ErrorInterceptorService.ErrorMessageWindowName = CommonModals.ErrorMessage; - ErrorInterceptorService.decorators = [ - { type: core.Injectable, args: [{ - providedIn: 'root' - },] } - ]; - /** @nocollapse */ - ErrorInterceptorService.ctorParameters = function () { return [ - { type: ModalService }, - { type: ExceptionMessageService } - ]; }; - /** @nocollapse */ ErrorInterceptorService.ngInjectableDef = core.ɵɵdefineInjectable({ factory: function ErrorInterceptorService_Factory() { return new ErrorInterceptorService(core.ɵɵinject(ModalService), core.ɵɵinject(ExceptionMessageService)); }, token: ErrorInterceptorService, providedIn: "root" }); - return ErrorInterceptorService; - }()); - if (false) { - /** @type {?} */ - ErrorInterceptorService.ErrorMessageWindowName; - /** - * @type {?} - * @private - */ - ErrorInterceptorService.prototype._modalService; - /** - * @type {?} - * @private - */ - ErrorInterceptorService.prototype._messageService; + /** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ + var ErrorInterceptorService = /** @class */ (function () { + function ErrorInterceptorService(_modalService, _messageService) { + this._modalService = _modalService; + this._messageService = _messageService; + } + /** + * @param {?} req + * @param {?} next + * @return {?} + */ + ErrorInterceptorService.prototype.intercept = /** + * @param {?} req + * @param {?} next + * @return {?} + */ + function (req, next) { + var _this = this; + /** @type {?} */ + var logFormat = 'background: maroon; color: white'; + return next.handle(req) + .pipe(operators.map((/** + * @param {?} data + * @return {?} + */ + function (data) { + return data; + })), operators.catchError((/** + * @param {?} exception + * @return {?} + */ + function (exception) { + if (exception instanceof http.HttpErrorResponse) { + switch (exception.status) { + case HttpError.BadRequest: + console.error('%c Bad Request 400', logFormat); + break; + case HttpError.Unauthorized: + console.error('%c Unauthorized 401', logFormat); + break; + case HttpError.NotFound: + console.error('%c Not Found 404', logFormat); + break; + case HttpError.TimeOut: + console.error('%c TimeOut 408', logFormat); + break; + case HttpError.InternalServerError: + console.error('%c big bad 500', logFormat); + _this._messageService.changeMessage(exception.error.message); + _this._messageService.changeHttpEvent(exception); + _this._modalService.open(ErrorInterceptorService.ErrorMessageWindowName); + break; + case HttpError.Forbidden: + console.error('%c Forbidden 403', logFormat); + _this._messageService.changeMessage(exception.error.message); + _this._modalService.open(CommonModals.PasswordRequired); + break; + } + } + return rxjs.throwError(exception); + }))); + }; + ErrorInterceptorService.ErrorMessageWindowName = CommonModals.ErrorMessage; + ErrorInterceptorService.decorators = [ + { type: core.Injectable, args: [{ + providedIn: 'root' + },] } + ]; + /** @nocollapse */ + ErrorInterceptorService.ctorParameters = function () { return [ + { type: ModalService }, + { type: ExceptionMessageService } + ]; }; + /** @nocollapse */ ErrorInterceptorService.ngInjectableDef = core.ɵɵdefineInjectable({ factory: function ErrorInterceptorService_Factory() { return new ErrorInterceptorService(core.ɵɵinject(ModalService), core.ɵɵinject(ExceptionMessageService)); }, token: ErrorInterceptorService, providedIn: "root" }); + return ErrorInterceptorService; + }()); + if (false) { + /** @type {?} */ + ErrorInterceptorService.ErrorMessageWindowName; + /** + * @type {?} + * @private + */ + ErrorInterceptorService.prototype._modalService; + /** + * @type {?} + * @private + */ + ErrorInterceptorService.prototype._messageService; } - /** - * @fileoverview added by tsickle - * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc - */ - var SearchService = /** @class */ (function () { - function SearchService() { - this._observer = new rxjs.Subject(); - this._textChange = this._observer.asObservable(); - this._observerCurrent = new rxjs.Subject(); - this._currentChange = this._observerCurrent.asObservable(); - this._observerTotal = new rxjs.Subject(); - this._totalChange = this._observerTotal.asObservable(); - } - Object.defineProperty(SearchService.prototype, "textChange", { - get: /** - * @return {?} - */ - function () { - return this._textChange; - }, - enumerable: true, - configurable: true - }); - /** - * @param {?} text - * @return {?} - */ - SearchService.prototype.setText = /** - * @param {?} text - * @return {?} - */ - function (text) { - this._observer.next(text); - }; - Object.defineProperty(SearchService.prototype, "currentChange", { - get: /** - * @return {?} - */ - function () { - return this._currentChange; - }, - enumerable: true, - configurable: true - }); - Object.defineProperty(SearchService.prototype, "totalChange", { - get: /** - * @return {?} - */ - function () { - return this._totalChange; - }, - enumerable: true, - configurable: true - }); - /** - * @param {?} current - * @return {?} - */ - SearchService.prototype.setCurrent = /** - * @param {?} current - * @return {?} - */ - function (current) { - this._observerCurrent.next(current); - }; - /** - * @param {?} total - * @return {?} - */ - SearchService.prototype.setTotal = /** - * @param {?} total - * @return {?} - */ - function (total) { - this._observerTotal.next(total); - }; - return SearchService; - }()); - if (false) { - /** - * @type {?} - * @private - */ - SearchService.prototype._observer; - /** - * @type {?} - * @private - */ - SearchService.prototype._textChange; - /** - * @type {?} - * @private - */ - SearchService.prototype._observerCurrent; - /** - * @type {?} - * @private - */ - SearchService.prototype._currentChange; - /** - * @type {?} - * @private - */ - SearchService.prototype._observerTotal; - /** - * @type {?} - * @private - */ - SearchService.prototype._totalChange; + /** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ + var SearchService = /** @class */ (function () { + function SearchService() { + this._observer = new rxjs.Subject(); + this._textChange = this._observer.asObservable(); + this._observerCurrent = new rxjs.Subject(); + this._currentChange = this._observerCurrent.asObservable(); + this._observerTotal = new rxjs.Subject(); + this._totalChange = this._observerTotal.asObservable(); + } + Object.defineProperty(SearchService.prototype, "textChange", { + get: /** + * @return {?} + */ + function () { + return this._textChange; + }, + enumerable: true, + configurable: true + }); + /** + * @param {?} text + * @return {?} + */ + SearchService.prototype.setText = /** + * @param {?} text + * @return {?} + */ + function (text) { + this._observer.next(text); + }; + Object.defineProperty(SearchService.prototype, "currentChange", { + get: /** + * @return {?} + */ + function () { + return this._currentChange; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(SearchService.prototype, "totalChange", { + get: /** + * @return {?} + */ + function () { + return this._totalChange; + }, + enumerable: true, + configurable: true + }); + /** + * @param {?} current + * @return {?} + */ + SearchService.prototype.setCurrent = /** + * @param {?} current + * @return {?} + */ + function (current) { + this._observerCurrent.next(current); + }; + /** + * @param {?} total + * @return {?} + */ + SearchService.prototype.setTotal = /** + * @param {?} total + * @return {?} + */ + function (total) { + this._observerTotal.next(total); + }; + return SearchService; + }()); + if (false) { + /** + * @type {?} + * @private + */ + SearchService.prototype._observer; + /** + * @type {?} + * @private + */ + SearchService.prototype._textChange; + /** + * @type {?} + * @private + */ + SearchService.prototype._observerCurrent; + /** + * @type {?} + * @private + */ + SearchService.prototype._currentChange; + /** + * @type {?} + * @private + */ + SearchService.prototype._observerTotal; + /** + * @type {?} + * @private + */ + SearchService.prototype._totalChange; } - /** - * @fileoverview added by tsickle - * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc - */ - var SearchComponent = /** @class */ (function () { - function SearchComponent(_searchService) { - var _this = this; - this._searchService = _searchService; - this.hidePanel = new core.EventEmitter(false); - this.current = 0; - this.total = 0; - _searchService.totalChange.subscribe((/** - * @param {?} total - * @return {?} - */ - function (total) { - _this.total = total; - if (total !== 0) { - _this.current = 1; - } - else { - _this.current = 0; - } - _this._searchService.setCurrent(_this.current); - })); - } - /** - * @return {?} - */ - SearchComponent.prototype.ngOnInit = /** - * @return {?} - */ - function () { - }; - /** - * @param {?} text - * @return {?} - */ - SearchComponent.prototype.setText = /** - * @param {?} text - * @return {?} - */ - function (text) { - this._searchService.setText(text); - }; - /** - * @return {?} - */ - SearchComponent.prototype.hide = /** - * @return {?} - */ - function () { - this.setText(''); - this.hidePanel.emit(true); - }; - /** - * @return {?} - */ - SearchComponent.prototype.prev = /** - * @return {?} - */ - function () { - if (this.current > 1) { - this.current--; - this._searchService.setCurrent(this.current); - } - }; - /** - * @return {?} - */ - SearchComponent.prototype.next = /** - * @return {?} - */ - function () { - if (this.current < this.total) { - this.current++; - this._searchService.setCurrent(this.current); - } - }; - /** - * @return {?} - */ - SearchComponent.prototype.ngAfterViewInit = /** - * @return {?} - */ - function () { - this.textElement.nativeElement.focus(); - }; - SearchComponent.decorators = [ - { type: core.Component, args: [{ - selector: 'gd-search', - template: "
\n \n
{{current}} of {{total}}
\n \n \n \n \n \n \n
\n", - styles: [".gd-nav-search-btn{margin:3px 0 4px}.gd-nav-search-cancel{color:#fff;font-size:14px;width:37px}.gd-search-count{color:#959da5;font-size:12px;position:absolute;right:148px;top:14px}.gd-nav-search-container{background-color:#3e4e5a;width:410px;position:fixed;left:50%;top:60px;z-index:2;-webkit-transform:translate(-50%,0);transform:translate(-50%,0);display:-webkit-box;display:flex}.gd-search-input{float:left;height:30px;width:267px;font-size:14px;color:#6e6e6e;border:1px solid #25c2d4;margin:7px 0 7px 7px;box-sizing:border-box;padding:6px 0 5px 9px}input[type=text]::-ms-clear{display:none}@media (max-width:1037px){.gd-search-input{width:231px;height:30px;margin:7px 0 7px 5px}.gd-search-count{position:absolute;left:193px;top:15px}.gd-nav-search-container{width:100%}}"] - }] } - ]; - /** @nocollapse */ - SearchComponent.ctorParameters = function () { return [ - { type: SearchService } - ]; }; - SearchComponent.propDecorators = { - hidePanel: [{ type: core.Output }], - textElement: [{ type: core.ViewChild, args: ['text', { - static: true - },] }] - }; - return SearchComponent; - }()); - if (false) { - /** @type {?} */ - SearchComponent.prototype.hidePanel; - /** @type {?} */ - SearchComponent.prototype.current; - /** @type {?} */ - SearchComponent.prototype.total; - /** @type {?} */ - SearchComponent.prototype.textElement; - /** - * @type {?} - * @private - */ - SearchComponent.prototype._searchService; + /** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ + var SearchComponent = /** @class */ (function () { + function SearchComponent(_searchService) { + var _this = this; + this._searchService = _searchService; + this.hidePanel = new core.EventEmitter(false); + this.current = 0; + this.total = 0; + _searchService.totalChange.subscribe((/** + * @param {?} total + * @return {?} + */ + function (total) { + _this.total = total; + if (total !== 0) { + _this.current = 1; + } + else { + _this.current = 0; + } + _this._searchService.setCurrent(_this.current); + })); + } + /** + * @return {?} + */ + SearchComponent.prototype.ngOnInit = /** + * @return {?} + */ + function () { + }; + /** + * @param {?} text + * @return {?} + */ + SearchComponent.prototype.setText = /** + * @param {?} text + * @return {?} + */ + function (text) { + this._searchService.setText(text); + }; + /** + * @return {?} + */ + SearchComponent.prototype.hide = /** + * @return {?} + */ + function () { + this.setText(''); + this.hidePanel.emit(true); + }; + /** + * @return {?} + */ + SearchComponent.prototype.prev = /** + * @return {?} + */ + function () { + if (this.current > 1) { + this.current--; + this._searchService.setCurrent(this.current); + } + }; + /** + * @return {?} + */ + SearchComponent.prototype.next = /** + * @return {?} + */ + function () { + if (this.current < this.total) { + this.current++; + this._searchService.setCurrent(this.current); + } + }; + /** + * @return {?} + */ + SearchComponent.prototype.ngAfterViewInit = /** + * @return {?} + */ + function () { + this.textElement.nativeElement.focus(); + }; + SearchComponent.decorators = [ + { type: core.Component, args: [{ + selector: 'gd-search', + template: "
\r\n \r\n
{{current}} of {{total}}
\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n", + styles: [".gd-nav-search-btn{margin:3px 0 4px}.gd-nav-search-cancel{color:#fff;font-size:14px;width:37px}.gd-search-count{color:#959da5;font-size:12px;position:absolute;right:148px;top:14px}.gd-nav-search-container{background-color:#3e4e5a;width:410px;position:fixed;left:50%;top:60px;z-index:2;-webkit-transform:translate(-50%,0);transform:translate(-50%,0);display:-webkit-box;display:flex}.gd-search-input{float:left;height:30px;width:267px;font-size:14px;color:#6e6e6e;border:1px solid #25c2d4;margin:7px 0 7px 7px;box-sizing:border-box;padding:6px 0 5px 9px}input[type=text]::-ms-clear{display:none}@media (max-width:1037px){.gd-search-input{width:231px;height:30px;margin:7px 0 7px 5px}.gd-search-count{position:absolute;left:193px;top:15px}.gd-nav-search-container{width:100%}}"] + }] } + ]; + /** @nocollapse */ + SearchComponent.ctorParameters = function () { return [ + { type: SearchService } + ]; }; + SearchComponent.propDecorators = { + hidePanel: [{ type: core.Output }], + textElement: [{ type: core.ViewChild, args: ['text', { + static: true + },] }] + }; + return SearchComponent; + }()); + if (false) { + /** @type {?} */ + SearchComponent.prototype.hidePanel; + /** @type {?} */ + SearchComponent.prototype.current; + /** @type {?} */ + SearchComponent.prototype.total; + /** @type {?} */ + SearchComponent.prototype.textElement; + /** + * @type {?} + * @private + */ + SearchComponent.prototype._searchService; } - /** - * @fileoverview added by tsickle - * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc - */ - /** @type {?} */ - var $$6 = jquery; - var SearchableDirective = /** @class */ (function () { - function SearchableDirective(_elementRef, _searchService, _highlight, _zoomService) { - var _this = this; - this._elementRef = _elementRef; - this._searchService = _searchService; - this._highlight = _highlight; - this._zoomService = _zoomService; - this.current = 0; - this.total = 0; - this.zoom = 100; - _searchService.currentChange.subscribe((/** - * @param {?} current - * @return {?} - */ - function (current) { - _this.current = current; - if (_this.current !== 0) { - _this.moveToCurrent(); - } - })); - _searchService.textChange.subscribe((/** - * @param {?} text - * @return {?} - */ - function (text) { - _this.text = text; - _this.highlightSearch(); - })); - this.zoom = _zoomService.zoom ? _zoomService.zoom : this.zoom; - _zoomService.zoomChange.subscribe((/** - * @param {?} val - * @return {?} - */ - function (val) { - _this.zoom = val ? val : _this.zoom; - })); - } - /** - * @private - * @return {?} - */ - SearchableDirective.prototype.highlightSearch = /** - * @private - * @return {?} - */ - function () { - /** @type {?} */ - var el = this._elementRef ? this._elementRef.nativeElement : null; - if (el) { - this.cleanHighlight(el); - if (this.text) { - this.highlightEl(el); - /** @type {?} */ - var count = el.querySelectorAll('.gd-highlight').length; - this.total = count; - } - else { - this.total = 0; - } - this._searchService.setTotal(this.total); - } - }; - /** - * @private - * @return {?} - */ - SearchableDirective.prototype.moveToCurrent = /** - * @private - * @return {?} - */ - function () { - if (this.current === 0) { - return; - } - /** @type {?} */ - var currentZoom = this.getZoom(); - /** @type {?} */ - var el = this._elementRef ? this._elementRef.nativeElement : null; - if (el) { - el.querySelectorAll('.gd-highlight-select').forEach((/** - * @param {?} value - * @return {?} - */ - function (value) { - $$6(value).removeClass('gd-highlight-select'); - })); - /** @type {?} */ - var currentEl = el.querySelectorAll('.gd-highlight')[this.current - 1]; - $$6(currentEl).addClass('gd-highlight-select'); - if (currentEl) { - /** @type {?} */ - var options = { - left: 0, - top: ($$6(currentEl).offset().top) + el.parentElement.parentElement.scrollTop - 150, - }; - // using polyfill - el.parentElement.parentElement.scroll(options); - } - } - }; - /** - * @private - * @param {?} el - * @return {?} - */ - SearchableDirective.prototype.highlightEl = /** - * @private - * @param {?} el - * @return {?} - */ - function (el) { - /** @type {?} */ - var textNodes = $$6(el).find('*').contents().filter((/** - * @return {?} - */ - function () { - /** @type {?} */ - var nodeName = this.parentElement.nodeName.toLowerCase(); - /** @type {?} */ - var checkClass = ((/** @type {?} */ (this))).classList ? !((/** @type {?} */ (this))).classList.contains('gd-highlight') : true; - return this.nodeType === 3 && - this.textContent.trim().length !== 0 && - nodeName !== 'style' && - nodeName !== 'title' && - nodeName !== 'body' && - nodeName !== 'script' && - checkClass; - })); - /** @type {?} */ - var text = this.text; - /** @type {?} */ - var highlight = this._highlight; - textNodes.each((/** - * @return {?} - */ - function () { - /** @type {?} */ - var $this = $$6(this); - /** @type {?} */ - var content = $this.text(); - content = highlight.transform(content, text); - $this.replaceWith(content); - })); - el.normalize(); - }; - /** - * @private - * @param {?} el - * @return {?} - */ - SearchableDirective.prototype.cleanHighlight = /** - * @private - * @param {?} el - * @return {?} - */ - function (el) { - /** @type {?} */ - var nodeListOf = el.querySelectorAll('.gd-highlight'); - for (var i = 0; i < nodeListOf.length; i++) { - /** @type {?} */ - var element = nodeListOf.item(i); - element.replaceWith(((/** @type {?} */ (element))).innerText); - } - el.normalize(); - }; - /** - * @private - * @return {?} - */ - SearchableDirective.prototype.getZoom = /** - * @private - * @return {?} - */ - function () { - return this.zoom / 100; - }; - SearchableDirective.decorators = [ - { type: core.Directive, args: [{ - selector: '[gdSearchable]' - },] } - ]; - /** @nocollapse */ - SearchableDirective.ctorParameters = function () { return [ - { type: core.ElementRef }, - { type: SearchService }, - { type: HighlightSearchPipe }, - { type: ZoomService } - ]; }; - return SearchableDirective; - }()); - if (false) { - /** @type {?} */ - SearchableDirective.prototype.text; - /** @type {?} */ - SearchableDirective.prototype.current; - /** @type {?} */ - SearchableDirective.prototype.total; - /** - * @type {?} - * @private - */ - SearchableDirective.prototype.zoom; - /** - * @type {?} - * @private - */ - SearchableDirective.prototype._elementRef; - /** - * @type {?} - * @private - */ - SearchableDirective.prototype._searchService; - /** - * @type {?} - * @private - */ - SearchableDirective.prototype._highlight; - /** - * @type {?} - * @private - */ - SearchableDirective.prototype._zoomService; + /** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ + /** @type {?} */ + var $$6 = jquery; + var SearchableDirective = /** @class */ (function () { + function SearchableDirective(_elementRef, _searchService, _highlight, _zoomService) { + var _this = this; + this._elementRef = _elementRef; + this._searchService = _searchService; + this._highlight = _highlight; + this._zoomService = _zoomService; + this.current = 0; + this.total = 0; + this.zoom = 100; + _searchService.currentChange.subscribe((/** + * @param {?} current + * @return {?} + */ + function (current) { + _this.current = current; + if (_this.current !== 0) { + _this.moveToCurrent(); + } + })); + _searchService.textChange.subscribe((/** + * @param {?} text + * @return {?} + */ + function (text) { + _this.text = text; + _this.highlightSearch(); + })); + this.zoom = _zoomService.zoom ? _zoomService.zoom : this.zoom; + _zoomService.zoomChange.subscribe((/** + * @param {?} val + * @return {?} + */ + function (val) { + _this.zoom = val ? val : _this.zoom; + })); + } + /** + * @private + * @return {?} + */ + SearchableDirective.prototype.highlightSearch = /** + * @private + * @return {?} + */ + function () { + /** @type {?} */ + var el = this._elementRef ? this._elementRef.nativeElement : null; + if (el) { + this.cleanHighlight(el); + if (this.text) { + this.highlightEl(el); + /** @type {?} */ + var count = el.querySelectorAll('.gd-highlight').length; + this.total = count; + } + else { + this.total = 0; + } + this._searchService.setTotal(this.total); + } + }; + /** + * @private + * @return {?} + */ + SearchableDirective.prototype.moveToCurrent = /** + * @private + * @return {?} + */ + function () { + if (this.current === 0) { + return; + } + /** @type {?} */ + var currentZoom = this.getZoom(); + /** @type {?} */ + var el = this._elementRef ? this._elementRef.nativeElement : null; + if (el) { + el.querySelectorAll('.gd-highlight-select').forEach((/** + * @param {?} value + * @return {?} + */ + function (value) { + $$6(value).removeClass('gd-highlight-select'); + })); + /** @type {?} */ + var currentEl = el.querySelectorAll('.gd-highlight')[this.current - 1]; + $$6(currentEl).addClass('gd-highlight-select'); + if (currentEl) { + /** @type {?} */ + var options = { + left: 0, + top: ($$6(currentEl).offset().top) + el.parentElement.parentElement.scrollTop - 150, + }; + // using polyfill + el.parentElement.parentElement.scroll(options); + } + } + }; + /** + * @private + * @param {?} el + * @return {?} + */ + SearchableDirective.prototype.highlightEl = /** + * @private + * @param {?} el + * @return {?} + */ + function (el) { + /** @type {?} */ + var textNodes = $$6(el).find('*').contents().filter((/** + * @return {?} + */ + function () { + /** @type {?} */ + var nodeName = this.parentElement.nodeName.toLowerCase(); + /** @type {?} */ + var checkClass = ((/** @type {?} */ (this))).classList ? !((/** @type {?} */ (this))).classList.contains('gd-highlight') : true; + return this.nodeType === 3 && + this.textContent.trim().length !== 0 && + nodeName !== 'style' && + nodeName !== 'title' && + nodeName !== 'body' && + nodeName !== 'script' && + checkClass; + })); + /** @type {?} */ + var text = this.text; + /** @type {?} */ + var highlight = this._highlight; + textNodes.each((/** + * @return {?} + */ + function () { + /** @type {?} */ + var $this = $$6(this); + /** @type {?} */ + var content = $this.text(); + content = highlight.transform(content, text); + $this.replaceWith(content); + })); + el.normalize(); + }; + /** + * @private + * @param {?} el + * @return {?} + */ + SearchableDirective.prototype.cleanHighlight = /** + * @private + * @param {?} el + * @return {?} + */ + function (el) { + /** @type {?} */ + var nodeListOf = el.querySelectorAll('.gd-highlight'); + for (var i = 0; i < nodeListOf.length; i++) { + /** @type {?} */ + var element = nodeListOf.item(i); + element.replaceWith(((/** @type {?} */ (element))).innerText); + } + el.normalize(); + }; + /** + * @private + * @return {?} + */ + SearchableDirective.prototype.getZoom = /** + * @private + * @return {?} + */ + function () { + return this.zoom / 100; + }; + SearchableDirective.decorators = [ + { type: core.Directive, args: [{ + selector: '[gdSearchable]' + },] } + ]; + /** @nocollapse */ + SearchableDirective.ctorParameters = function () { return [ + { type: core.ElementRef }, + { type: SearchService }, + { type: HighlightSearchPipe }, + { type: ZoomService } + ]; }; + return SearchableDirective; + }()); + if (false) { + /** @type {?} */ + SearchableDirective.prototype.text; + /** @type {?} */ + SearchableDirective.prototype.current; + /** @type {?} */ + SearchableDirective.prototype.total; + /** + * @type {?} + * @private + */ + SearchableDirective.prototype.zoom; + /** + * @type {?} + * @private + */ + SearchableDirective.prototype._elementRef; + /** + * @type {?} + * @private + */ + SearchableDirective.prototype._searchService; + /** + * @type {?} + * @private + */ + SearchableDirective.prototype._highlight; + /** + * @type {?} + * @private + */ + SearchableDirective.prototype._zoomService; } - /** - * @fileoverview added by tsickle - * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc - */ - var TabbedToolbarsComponent = /** @class */ (function () { - function TabbedToolbarsComponent() { - } - /** - * @return {?} - */ - TabbedToolbarsComponent.prototype.ngOnInit = /** - * @return {?} - */ - function () { - }; - TabbedToolbarsComponent.decorators = [ - { type: core.Component, args: [{ - selector: 'gd-tabbed-toolbars', - template: "
\n \n \n
\n", - styles: [".top-panel{background:#3e4e5a;display:-webkit-box;display:flex;width:100%;height:90px}.top-panel ::ng-deep .logo{height:30px;font-size:16px}@media (max-width:1037px){.top-panel{height:60px}.top-panel ::ng-deep .logo{height:60px}}"] - }] } - ]; - /** @nocollapse */ - TabbedToolbarsComponent.ctorParameters = function () { return []; }; - TabbedToolbarsComponent.propDecorators = { - logo: [{ type: core.Input }], - icon: [{ type: core.Input }] - }; - return TabbedToolbarsComponent; - }()); - if (false) { - /** @type {?} */ - TabbedToolbarsComponent.prototype.logo; - /** @type {?} */ - TabbedToolbarsComponent.prototype.icon; + /** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ + var TabbedToolbarsComponent = /** @class */ (function () { + function TabbedToolbarsComponent() { + } + /** + * @return {?} + */ + TabbedToolbarsComponent.prototype.ngOnInit = /** + * @return {?} + */ + function () { + }; + TabbedToolbarsComponent.decorators = [ + { type: core.Component, args: [{ + selector: 'gd-tabbed-toolbars', + template: "
\r\n \r\n \r\n
\r\n", + styles: [".top-panel{background:#3e4e5a;display:-webkit-box;display:flex;width:100%;height:90px}.top-panel ::ng-deep .logo{height:30px;font-size:16px}@media (max-width:1037px){.top-panel{height:60px}.top-panel ::ng-deep .logo{height:60px}}"] + }] } + ]; + /** @nocollapse */ + TabbedToolbarsComponent.ctorParameters = function () { return []; }; + TabbedToolbarsComponent.propDecorators = { + logo: [{ type: core.Input }], + icon: [{ type: core.Input }] + }; + return TabbedToolbarsComponent; + }()); + if (false) { + /** @type {?} */ + TabbedToolbarsComponent.prototype.logo; + /** @type {?} */ + TabbedToolbarsComponent.prototype.icon; } - /** - * @fileoverview added by tsickle - * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc - */ - var TabActivatorService = /** @class */ (function () { - function TabActivatorService() { - this._observer = new rxjs.Subject(); - this._activeTabChange = this._observer.asObservable(); - } - Object.defineProperty(TabActivatorService.prototype, "activeTabChange", { - get: /** - * @return {?} - */ - function () { - return this._activeTabChange; - }, - enumerable: true, - configurable: true - }); - /** - * @param {?} tabId - * @return {?} - */ - TabActivatorService.prototype.changeActiveTab = /** - * @param {?} tabId - * @return {?} - */ - function (tabId) { - this._observer.next(tabId); - }; - return TabActivatorService; - }()); - if (false) { - /** - * @type {?} - * @private - */ - TabActivatorService.prototype._observer; - /** - * @type {?} - * @private - */ - TabActivatorService.prototype._activeTabChange; + /** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ + var TabActivatorService = /** @class */ (function () { + function TabActivatorService() { + this._observer = new rxjs.Subject(); + this._activeTabChange = this._observer.asObservable(); + } + Object.defineProperty(TabActivatorService.prototype, "activeTabChange", { + get: /** + * @return {?} + */ + function () { + return this._activeTabChange; + }, + enumerable: true, + configurable: true + }); + /** + * @param {?} tabId + * @return {?} + */ + TabActivatorService.prototype.changeActiveTab = /** + * @param {?} tabId + * @return {?} + */ + function (tabId) { + this._observer.next(tabId); + }; + return TabActivatorService; + }()); + if (false) { + /** + * @type {?} + * @private + */ + TabActivatorService.prototype._observer; + /** + * @type {?} + * @private + */ + TabActivatorService.prototype._activeTabChange; } - /** - * @fileoverview added by tsickle - * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc - */ - var TabComponent = /** @class */ (function () { - function TabComponent(_tabActivatorService) { - var _this = this; - this._tabActivatorService = _tabActivatorService; - this.disabled = false; - this.active = false; - this.content = true; - this._tabActivatorService.activeTabChange.subscribe((/** - * @param {?} tabId - * @return {?} - */ - function (tabId) { - _this.activation(tabId); - })); - } - /** - * @private - * @param {?} tabId - * @return {?} - */ - TabComponent.prototype.activation = /** - * @private - * @param {?} tabId - * @return {?} - */ - function (tabId) { - if (this.id === tabId) { - this.active = true; - } - else { - this.active = false; - } - }; - /** - * @return {?} - */ - TabComponent.prototype.ngOnInit = /** - * @return {?} - */ - function () { - }; - /** - * @return {?} - */ - TabComponent.prototype.selectTab = /** - * @return {?} - */ - function () { - if (this.disabled) { - return; - } - this._tabActivatorService.changeActiveTab(this.id); - }; - TabComponent.decorators = [ - { type: core.Component, args: [{ - selector: 'gd-tab', - template: "
\n
{{tabTitle}}
\n \n
\n
\n \n
\n", - styles: [".tab-content{height:60px;position:absolute;background-color:#fff;width:100%;left:0;line-height:60px;display:none;z-index:9}.tab-content ::ng-deep .toolbar-panel{height:60px}.tab-content.active{display:-webkit-box;display:flex}.gd-tab{text-align:center;font-size:11px;color:#e5e5e5;height:30px;line-height:30px;cursor:pointer;display:-webkit-box;display:flex;-webkit-box-align:center;align-items:center;-webkit-box-pack:center;justify-content:center}.gd-tab .icon{display:none;font-size:14px}.gd-tab .smp-tab-title{margin:auto 23px}.gd-tab.active{background-color:#fff;color:#3e4e5a;font-weight:700}@media (max-width:1037px){.gd-tab{height:60px;line-height:60px;width:60px}.gd-tab .title{display:none}.gd-tab .icon{display:block;font-size:22px}}"] - }] } - ]; - /** @nocollapse */ - TabComponent.ctorParameters = function () { return [ - { type: TabActivatorService } - ]; }; - TabComponent.propDecorators = { - id: [{ type: core.Input }], - tabTitle: [{ type: core.Input }], - icon: [{ type: core.Input }], - disabled: [{ type: core.Input }], - active: [{ type: core.Input }], - content: [{ type: core.Input }] - }; - return TabComponent; - }()); - if (false) { - /** @type {?} */ - TabComponent.prototype.id; - /** @type {?} */ - TabComponent.prototype.tabTitle; - /** @type {?} */ - TabComponent.prototype.icon; - /** @type {?} */ - TabComponent.prototype.disabled; - /** @type {?} */ - TabComponent.prototype.active; - /** @type {?} */ - TabComponent.prototype.content; - /** - * @type {?} - * @private - */ - TabComponent.prototype._tabActivatorService; + /** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ + var TabComponent = /** @class */ (function () { + function TabComponent(_tabActivatorService) { + var _this = this; + this._tabActivatorService = _tabActivatorService; + this.disabled = false; + this.active = false; + this.content = true; + this._tabActivatorService.activeTabChange.subscribe((/** + * @param {?} tabId + * @return {?} + */ + function (tabId) { + _this.activation(tabId); + })); + } + /** + * @private + * @param {?} tabId + * @return {?} + */ + TabComponent.prototype.activation = /** + * @private + * @param {?} tabId + * @return {?} + */ + function (tabId) { + if (this.id === tabId) { + this.active = true; + } + else { + this.active = false; + } + }; + /** + * @return {?} + */ + TabComponent.prototype.ngOnInit = /** + * @return {?} + */ + function () { + }; + /** + * @return {?} + */ + TabComponent.prototype.selectTab = /** + * @return {?} + */ + function () { + if (this.disabled) { + return; + } + this._tabActivatorService.changeActiveTab(this.id); + }; + TabComponent.decorators = [ + { type: core.Component, args: [{ + selector: 'gd-tab', + template: "
\r\n
{{tabTitle}}
\r\n \r\n
\r\n
\r\n \r\n
\r\n", + styles: [".tab-content{height:60px;position:absolute;background-color:#fff;width:100%;left:0;line-height:60px;display:none;z-index:9}.tab-content ::ng-deep .toolbar-panel{height:60px}.tab-content.active{display:-webkit-box;display:flex}.gd-tab{text-align:center;font-size:11px;color:#e5e5e5;height:30px;line-height:30px;cursor:pointer;display:-webkit-box;display:flex;-webkit-box-align:center;align-items:center;-webkit-box-pack:center;justify-content:center}.gd-tab .icon{display:none;font-size:14px}.gd-tab .smp-tab-title{margin:auto 23px}.gd-tab.active{background-color:#fff;color:#3e4e5a;font-weight:700}@media (max-width:1037px){.gd-tab{height:60px;line-height:60px;width:60px}.gd-tab .title{display:none}.gd-tab .icon{display:block;font-size:22px}}"] + }] } + ]; + /** @nocollapse */ + TabComponent.ctorParameters = function () { return [ + { type: TabActivatorService } + ]; }; + TabComponent.propDecorators = { + id: [{ type: core.Input }], + tabTitle: [{ type: core.Input }], + icon: [{ type: core.Input }], + disabled: [{ type: core.Input }], + active: [{ type: core.Input }], + content: [{ type: core.Input }] + }; + return TabComponent; + }()); + if (false) { + /** @type {?} */ + TabComponent.prototype.id; + /** @type {?} */ + TabComponent.prototype.tabTitle; + /** @type {?} */ + TabComponent.prototype.icon; + /** @type {?} */ + TabComponent.prototype.disabled; + /** @type {?} */ + TabComponent.prototype.active; + /** @type {?} */ + TabComponent.prototype.content; + /** + * @type {?} + * @private + */ + TabComponent.prototype._tabActivatorService; } - /** - * @fileoverview added by tsickle - * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc - */ - var TabsComponent = /** @class */ (function () { - function TabsComponent() { - } - TabsComponent.decorators = [ - { type: core.Component, args: [{ - selector: 'gd-tabs', - template: "
\n \n
\n", - styles: [".gd-tabs{display:-webkit-box;display:flex}"] - }] } - ]; - /** @nocollapse */ - TabsComponent.ctorParameters = function () { return []; }; - return TabsComponent; + /** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ + var TabsComponent = /** @class */ (function () { + function TabsComponent() { + } + TabsComponent.decorators = [ + { type: core.Component, args: [{ + selector: 'gd-tabs', + template: "
\r\n \r\n
\r\n", + styles: [".gd-tabs{display:-webkit-box;display:flex}"] + }] } + ]; + /** @nocollapse */ + TabsComponent.ctorParameters = function () { return []; }; + return TabsComponent; }()); - /** - * @fileoverview added by tsickle - * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc - */ - var Formatting = /** @class */ (function () { - function Formatting(fontSize, color, bgColor, bold, italic, underline, font, strikeout, align, list) { - this.fontSize = fontSize; - this.color = color; - this.bgColor = bgColor; - this.bold = bold; - this.italic = italic; - this.underline = underline; - this.font = font; - this.strikeout = strikeout; - this.align = align; - this.list = list; - } - /** - * @return {?} - */ - Formatting.default = /** - * @return {?} - */ - function () { - return new Formatting(10, '#000000', '#FFFFFF', false, false, false, 'Arial', false, "", ""); - }; - return Formatting; - }()); - if (false) { - /** @type {?} */ - Formatting.prototype.bold; - /** @type {?} */ - Formatting.prototype.italic; - /** @type {?} */ - Formatting.prototype.underline; - /** @type {?} */ - Formatting.prototype.fontSize; - /** @type {?} */ - Formatting.prototype.color; - /** @type {?} */ - Formatting.prototype.bgColor; - /** @type {?} */ - Formatting.prototype.font; - /** @type {?} */ - Formatting.prototype.strikeout; - /** @type {?} */ - Formatting.prototype.align; - /** @type {?} */ - Formatting.prototype.list; - } - var FormattingService = /** @class */ (function () { - function FormattingService() { - this._observerBold = new rxjs.Subject(); - this._formatBoldChange = this._observerBold.asObservable(); - this._observerUnderline = new rxjs.Subject(); - this._formatUnderlineChange = this._observerUnderline.asObservable(); - this._observerUndo = new rxjs.Subject(); - this._undo = this._observerUndo.asObservable(); - this._observerRedo = new rxjs.Subject(); - this._redo = this._observerRedo.asObservable(); - this._observerItalic = new rxjs.Subject(); - this._formatItalicChange = this._observerItalic.asObservable(); - this._observerColor = new rxjs.Subject(); - this._formatColorChange = this._observerColor.asObservable(); - this._observerBgColor = new rxjs.Subject(); - this._formatBgColorChange = this._observerBgColor.asObservable(); - this._observerFontSize = new rxjs.Subject(); - this._formatFontSizeChange = this._observerFontSize.asObservable(); - this._observerFont = new rxjs.Subject(); - this._formatFontChange = this._observerFont.asObservable(); - this._observerStrikeout = new rxjs.Subject(); - this._formatStrikeoutChange = this._observerStrikeout.asObservable(); - this._observerAlign = new rxjs.Subject(); - this._formatAlignChange = this._observerAlign.asObservable(); - this._observerList = new rxjs.Subject(); - this._formatListChange = this._observerList.asObservable(); - } - Object.defineProperty(FormattingService.prototype, "formatBoldChange", { - get: /** - * @return {?} - */ - function () { - return this._formatBoldChange; - }, - enumerable: true, - configurable: true - }); - Object.defineProperty(FormattingService.prototype, "formatUnderlineChange", { - get: /** - * @return {?} - */ - function () { - return this._formatUnderlineChange; - }, - enumerable: true, - configurable: true - }); - Object.defineProperty(FormattingService.prototype, "formatColorChange", { - get: /** - * @return {?} - */ - function () { - return this._formatColorChange; - }, - enumerable: true, - configurable: true - }); - Object.defineProperty(FormattingService.prototype, "formatBgColorChange", { - get: /** - * @return {?} - */ - function () { - return this._formatBgColorChange; - }, - enumerable: true, - configurable: true - }); - Object.defineProperty(FormattingService.prototype, "formatFontSizeChange", { - get: /** - * @return {?} - */ - function () { - return this._formatFontSizeChange; - }, - enumerable: true, - configurable: true - }); - Object.defineProperty(FormattingService.prototype, "formatFontChange", { - get: /** - * @return {?} - */ - function () { - return this._formatFontChange; - }, - enumerable: true, - configurable: true - }); - Object.defineProperty(FormattingService.prototype, "undo", { - get: /** - * @return {?} - */ - function () { - return this._undo; - }, - enumerable: true, - configurable: true - }); - Object.defineProperty(FormattingService.prototype, "redo", { - get: /** - * @return {?} - */ - function () { - return this._redo; - }, - enumerable: true, - configurable: true - }); - Object.defineProperty(FormattingService.prototype, "formatItalicChange", { - get: /** - * @return {?} - */ - function () { - return this._formatItalicChange; - }, - enumerable: true, - configurable: true - }); - Object.defineProperty(FormattingService.prototype, "formatStrikeoutChange", { - get: /** - * @return {?} - */ - function () { - return this._formatStrikeoutChange; - }, - enumerable: true, - configurable: true - }); - Object.defineProperty(FormattingService.prototype, "formatAlignChange", { - get: /** - * @return {?} - */ - function () { - return this._formatAlignChange; - }, - enumerable: true, - configurable: true - }); - Object.defineProperty(FormattingService.prototype, "formatListChange", { - get: /** - * @return {?} - */ - function () { - return this._formatListChange; - }, - enumerable: true, - configurable: true - }); - /** - * @param {?} val - * @return {?} - */ - FormattingService.createFontSizeOption = /** - * @param {?} val - * @return {?} - */ - function (val) { - return { value: val, name: val + 'px', separator: false }; - }; - /** - * @return {?} - */ - FormattingService.getFontSizeOptions = /** - * @return {?} - */ - function () { - return [ - FormattingService.createFontSizeOption(8), - FormattingService.createFontSizeOption(10), - FormattingService.createFontSizeOption(12), - FormattingService.createFontSizeOption(14), - FormattingService.createFontSizeOption(16), - FormattingService.createFontSizeOption(18), - FormattingService.createFontSizeOption(20), - FormattingService.createFontSizeOption(22), - FormattingService.createFontSizeOption(24), - ]; - }; - /** - * @param {?} val - * @return {?} - */ - FormattingService.createFontOption = /** - * @param {?} val - * @return {?} - */ - function (val) { - return { value: val, name: val, separator: false }; - }; - /** - * @return {?} - */ - FormattingService.getFontOptions = /** - * @return {?} - */ - function () { - var _this = this; - /** @type {?} */ - var fonts = ["Arial", "Calibri", "Century Gothic", "Comic Sans", "Consolas", "Courier", "Dejavu Sans", "Dejavu Serif", "Georgia", "Gill Sans", "Helvetica", "Impact", "Lucida Sans", - "Myriad Pro", "Open Sans", "Palatino", "Tahoma", "Times New Roman", "Trebuchet"]; - /** @type {?} */ - var fontOptions = []; - fonts.forEach((/** - * @param {?} font - * @return {?} - */ - function (font) { - fontOptions.push(_this.createFontOption(font)); - })); - return fontOptions; - }; - /** - * @param {?} $event - * @return {?} - */ - FormattingService.prototype.changeFormatFontSize = /** - * @param {?} $event - * @return {?} - */ - function ($event) { - this._observerFontSize.next($event); - }; - /** - * @param {?} bold - * @return {?} - */ - FormattingService.prototype.changeFormatBold = /** - * @param {?} bold - * @return {?} - */ - function (bold) { - this._observerBold.next(bold); - }; - /** - * @param {?} underline - * @return {?} - */ - FormattingService.prototype.changeFormatUnderline = /** - * @param {?} underline - * @return {?} - */ - function (underline) { - this._observerUnderline.next(underline); - }; - /** - * @return {?} - */ - FormattingService.prototype.Undo = /** - * @return {?} - */ - function () { - this._observerUndo.next(); - }; - /** - * @return {?} - */ - FormattingService.prototype.Redo = /** - * @return {?} - */ - function () { - this._observerRedo.next(); - }; - /** - * @param {?} italic - * @return {?} - */ - FormattingService.prototype.changeFormatItalic = /** - * @param {?} italic - * @return {?} - */ - function (italic) { - this._observerItalic.next(italic); - }; - /** - * @param {?} color - * @return {?} - */ - FormattingService.prototype.changeFormatColor = /** - * @param {?} color - * @return {?} - */ - function (color) { - this._observerColor.next(color); - }; - /** - * @param {?} bgcolor - * @return {?} - */ - FormattingService.prototype.changeFormatBgColor = /** - * @param {?} bgcolor - * @return {?} - */ - function (bgcolor) { - this._observerBgColor.next(bgcolor); - }; - /** - * @param {?} font - * @return {?} - */ - FormattingService.prototype.changeFormatFont = /** - * @param {?} font - * @return {?} - */ - function (font) { - this._observerFont.next(font); - }; - /** - * @param {?} strikeout - * @return {?} - */ - FormattingService.prototype.changeFormatStrikeout = /** - * @param {?} strikeout - * @return {?} - */ - function (strikeout) { - this._observerStrikeout.next(strikeout); - }; - /** - * @param {?} align - * @return {?} - */ - FormattingService.prototype.changeFormatAlign = /** - * @param {?} align - * @return {?} - */ - function (align) { - this._observerAlign.next(align); - }; - /** - * @param {?} list - * @return {?} - */ - FormattingService.prototype.changeFormatList = /** - * @param {?} list - * @return {?} - */ - function (list) { - this._observerList.next(list); - }; - return FormattingService; - }()); - if (false) { - /** - * @type {?} - * @private - */ - FormattingService.prototype._observerBold; - /** - * @type {?} - * @private - */ - FormattingService.prototype._formatBoldChange; - /** - * @type {?} - * @private - */ - FormattingService.prototype._observerUnderline; - /** - * @type {?} - * @private - */ - FormattingService.prototype._formatUnderlineChange; - /** - * @type {?} - * @private - */ - FormattingService.prototype._observerUndo; - /** - * @type {?} - * @private - */ - FormattingService.prototype._undo; - /** - * @type {?} - * @private - */ - FormattingService.prototype._observerRedo; - /** - * @type {?} - * @private - */ - FormattingService.prototype._redo; - /** - * @type {?} - * @private - */ - FormattingService.prototype._observerItalic; - /** - * @type {?} - * @private - */ - FormattingService.prototype._formatItalicChange; - /** - * @type {?} - * @private - */ - FormattingService.prototype._observerColor; - /** - * @type {?} - * @private - */ - FormattingService.prototype._formatColorChange; - /** - * @type {?} - * @private - */ - FormattingService.prototype._observerBgColor; - /** - * @type {?} - * @private - */ - FormattingService.prototype._formatBgColorChange; - /** - * @type {?} - * @private - */ - FormattingService.prototype._observerFontSize; - /** - * @type {?} - * @private - */ - FormattingService.prototype._formatFontSizeChange; - /** - * @type {?} - * @private - */ - FormattingService.prototype._observerFont; - /** - * @type {?} - * @private - */ - FormattingService.prototype._formatFontChange; - /** - * @type {?} - * @private - */ - FormattingService.prototype._observerStrikeout; - /** - * @type {?} - * @private - */ - FormattingService.prototype._formatStrikeoutChange; - /** - * @type {?} - * @private - */ - FormattingService.prototype._observerAlign; - /** - * @type {?} - * @private - */ - FormattingService.prototype._formatAlignChange; - /** - * @type {?} - * @private - */ - FormattingService.prototype._observerList; - /** - * @type {?} - * @private - */ - FormattingService.prototype._formatListChange; + /** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ + var Formatting = /** @class */ (function () { + function Formatting(fontSize, color, bgColor, bold, italic, underline, font, strikeout, align, list) { + this.fontSize = fontSize; + this.color = color; + this.bgColor = bgColor; + this.bold = bold; + this.italic = italic; + this.underline = underline; + this.font = font; + this.strikeout = strikeout; + this.align = align; + this.list = list; + } + /** + * @return {?} + */ + Formatting.default = /** + * @return {?} + */ + function () { + return new Formatting(10, '#000000', '#FFFFFF', false, false, false, 'Arial', false, "", ""); + }; + return Formatting; + }()); + if (false) { + /** @type {?} */ + Formatting.prototype.bold; + /** @type {?} */ + Formatting.prototype.italic; + /** @type {?} */ + Formatting.prototype.underline; + /** @type {?} */ + Formatting.prototype.fontSize; + /** @type {?} */ + Formatting.prototype.color; + /** @type {?} */ + Formatting.prototype.bgColor; + /** @type {?} */ + Formatting.prototype.font; + /** @type {?} */ + Formatting.prototype.strikeout; + /** @type {?} */ + Formatting.prototype.align; + /** @type {?} */ + Formatting.prototype.list; + } + var FormattingService = /** @class */ (function () { + function FormattingService() { + this._observerBold = new rxjs.Subject(); + this._formatBoldChange = this._observerBold.asObservable(); + this._observerUnderline = new rxjs.Subject(); + this._formatUnderlineChange = this._observerUnderline.asObservable(); + this._observerUndo = new rxjs.Subject(); + this._undo = this._observerUndo.asObservable(); + this._observerRedo = new rxjs.Subject(); + this._redo = this._observerRedo.asObservable(); + this._observerItalic = new rxjs.Subject(); + this._formatItalicChange = this._observerItalic.asObservable(); + this._observerColor = new rxjs.Subject(); + this._formatColorChange = this._observerColor.asObservable(); + this._observerBgColor = new rxjs.Subject(); + this._formatBgColorChange = this._observerBgColor.asObservable(); + this._observerFontSize = new rxjs.Subject(); + this._formatFontSizeChange = this._observerFontSize.asObservable(); + this._observerFont = new rxjs.Subject(); + this._formatFontChange = this._observerFont.asObservable(); + this._observerStrikeout = new rxjs.Subject(); + this._formatStrikeoutChange = this._observerStrikeout.asObservable(); + this._observerAlign = new rxjs.Subject(); + this._formatAlignChange = this._observerAlign.asObservable(); + this._observerList = new rxjs.Subject(); + this._formatListChange = this._observerList.asObservable(); + } + Object.defineProperty(FormattingService.prototype, "formatBoldChange", { + get: /** + * @return {?} + */ + function () { + return this._formatBoldChange; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(FormattingService.prototype, "formatUnderlineChange", { + get: /** + * @return {?} + */ + function () { + return this._formatUnderlineChange; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(FormattingService.prototype, "formatColorChange", { + get: /** + * @return {?} + */ + function () { + return this._formatColorChange; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(FormattingService.prototype, "formatBgColorChange", { + get: /** + * @return {?} + */ + function () { + return this._formatBgColorChange; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(FormattingService.prototype, "formatFontSizeChange", { + get: /** + * @return {?} + */ + function () { + return this._formatFontSizeChange; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(FormattingService.prototype, "formatFontChange", { + get: /** + * @return {?} + */ + function () { + return this._formatFontChange; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(FormattingService.prototype, "undo", { + get: /** + * @return {?} + */ + function () { + return this._undo; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(FormattingService.prototype, "redo", { + get: /** + * @return {?} + */ + function () { + return this._redo; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(FormattingService.prototype, "formatItalicChange", { + get: /** + * @return {?} + */ + function () { + return this._formatItalicChange; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(FormattingService.prototype, "formatStrikeoutChange", { + get: /** + * @return {?} + */ + function () { + return this._formatStrikeoutChange; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(FormattingService.prototype, "formatAlignChange", { + get: /** + * @return {?} + */ + function () { + return this._formatAlignChange; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(FormattingService.prototype, "formatListChange", { + get: /** + * @return {?} + */ + function () { + return this._formatListChange; + }, + enumerable: true, + configurable: true + }); + /** + * @param {?} val + * @return {?} + */ + FormattingService.createFontSizeOption = /** + * @param {?} val + * @return {?} + */ + function (val) { + return { value: val, name: val + 'px', separator: false }; + }; + /** + * @return {?} + */ + FormattingService.getFontSizeOptions = /** + * @return {?} + */ + function () { + return [ + FormattingService.createFontSizeOption(8), + FormattingService.createFontSizeOption(10), + FormattingService.createFontSizeOption(12), + FormattingService.createFontSizeOption(14), + FormattingService.createFontSizeOption(16), + FormattingService.createFontSizeOption(18), + FormattingService.createFontSizeOption(20), + FormattingService.createFontSizeOption(22), + FormattingService.createFontSizeOption(24), + ]; + }; + /** + * @param {?} val + * @return {?} + */ + FormattingService.createFontOption = /** + * @param {?} val + * @return {?} + */ + function (val) { + return { value: val, name: val, separator: false }; + }; + /** + * @return {?} + */ + FormattingService.getFontOptions = /** + * @return {?} + */ + function () { + var _this = this; + /** @type {?} */ + var fonts = ["Arial", "Calibri", "Century Gothic", "Comic Sans", "Consolas", "Courier", "Dejavu Sans", "Dejavu Serif", "Georgia", "Gill Sans", "Helvetica", "Impact", "Lucida Sans", + "Myriad Pro", "Open Sans", "Palatino", "Tahoma", "Times New Roman", "Trebuchet"]; + /** @type {?} */ + var fontOptions = []; + fonts.forEach((/** + * @param {?} font + * @return {?} + */ + function (font) { + fontOptions.push(_this.createFontOption(font)); + })); + return fontOptions; + }; + /** + * @param {?} $event + * @return {?} + */ + FormattingService.prototype.changeFormatFontSize = /** + * @param {?} $event + * @return {?} + */ + function ($event) { + this._observerFontSize.next($event); + }; + /** + * @param {?} bold + * @return {?} + */ + FormattingService.prototype.changeFormatBold = /** + * @param {?} bold + * @return {?} + */ + function (bold) { + this._observerBold.next(bold); + }; + /** + * @param {?} underline + * @return {?} + */ + FormattingService.prototype.changeFormatUnderline = /** + * @param {?} underline + * @return {?} + */ + function (underline) { + this._observerUnderline.next(underline); + }; + /** + * @return {?} + */ + FormattingService.prototype.Undo = /** + * @return {?} + */ + function () { + this._observerUndo.next(); + }; + /** + * @return {?} + */ + FormattingService.prototype.Redo = /** + * @return {?} + */ + function () { + this._observerRedo.next(); + }; + /** + * @param {?} italic + * @return {?} + */ + FormattingService.prototype.changeFormatItalic = /** + * @param {?} italic + * @return {?} + */ + function (italic) { + this._observerItalic.next(italic); + }; + /** + * @param {?} color + * @return {?} + */ + FormattingService.prototype.changeFormatColor = /** + * @param {?} color + * @return {?} + */ + function (color) { + this._observerColor.next(color); + }; + /** + * @param {?} bgcolor + * @return {?} + */ + FormattingService.prototype.changeFormatBgColor = /** + * @param {?} bgcolor + * @return {?} + */ + function (bgcolor) { + this._observerBgColor.next(bgcolor); + }; + /** + * @param {?} font + * @return {?} + */ + FormattingService.prototype.changeFormatFont = /** + * @param {?} font + * @return {?} + */ + function (font) { + this._observerFont.next(font); + }; + /** + * @param {?} strikeout + * @return {?} + */ + FormattingService.prototype.changeFormatStrikeout = /** + * @param {?} strikeout + * @return {?} + */ + function (strikeout) { + this._observerStrikeout.next(strikeout); + }; + /** + * @param {?} align + * @return {?} + */ + FormattingService.prototype.changeFormatAlign = /** + * @param {?} align + * @return {?} + */ + function (align) { + this._observerAlign.next(align); + }; + /** + * @param {?} list + * @return {?} + */ + FormattingService.prototype.changeFormatList = /** + * @param {?} list + * @return {?} + */ + function (list) { + this._observerList.next(list); + }; + return FormattingService; + }()); + if (false) { + /** + * @type {?} + * @private + */ + FormattingService.prototype._observerBold; + /** + * @type {?} + * @private + */ + FormattingService.prototype._formatBoldChange; + /** + * @type {?} + * @private + */ + FormattingService.prototype._observerUnderline; + /** + * @type {?} + * @private + */ + FormattingService.prototype._formatUnderlineChange; + /** + * @type {?} + * @private + */ + FormattingService.prototype._observerUndo; + /** + * @type {?} + * @private + */ + FormattingService.prototype._undo; + /** + * @type {?} + * @private + */ + FormattingService.prototype._observerRedo; + /** + * @type {?} + * @private + */ + FormattingService.prototype._redo; + /** + * @type {?} + * @private + */ + FormattingService.prototype._observerItalic; + /** + * @type {?} + * @private + */ + FormattingService.prototype._formatItalicChange; + /** + * @type {?} + * @private + */ + FormattingService.prototype._observerColor; + /** + * @type {?} + * @private + */ + FormattingService.prototype._formatColorChange; + /** + * @type {?} + * @private + */ + FormattingService.prototype._observerBgColor; + /** + * @type {?} + * @private + */ + FormattingService.prototype._formatBgColorChange; + /** + * @type {?} + * @private + */ + FormattingService.prototype._observerFontSize; + /** + * @type {?} + * @private + */ + FormattingService.prototype._formatFontSizeChange; + /** + * @type {?} + * @private + */ + FormattingService.prototype._observerFont; + /** + * @type {?} + * @private + */ + FormattingService.prototype._formatFontChange; + /** + * @type {?} + * @private + */ + FormattingService.prototype._observerStrikeout; + /** + * @type {?} + * @private + */ + FormattingService.prototype._formatStrikeoutChange; + /** + * @type {?} + * @private + */ + FormattingService.prototype._observerAlign; + /** + * @type {?} + * @private + */ + FormattingService.prototype._formatAlignChange; + /** + * @type {?} + * @private + */ + FormattingService.prototype._observerList; + /** + * @type {?} + * @private + */ + FormattingService.prototype._formatListChange; } - /** - * @fileoverview added by tsickle - * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc - */ - /** @type {?} */ - var DEFAULT_COLORS = [ - '#000000', '#434343', '#666666', '#999999', '#B7B7B7', '#CCCCCC', '#D9D9D9', '#EFEFEF', '#F3F3F3', '#FFFFFF', - '#980000', '#FF0000', '#FF9900', '#FFFF00', '#00FF00', '#00FFFF', '#4986E8', '#0000FF', '#9900FF', '#FF00FF', - '#E6B8AF', '#F4CCCC', '#FDE5CD', '#FFF2CC', '#D9EAD3', '#D0E0E2', '#C9DAF8', '#CFE2F3', '#D9D2E9', '#EAD1DC', - '#DD7E6B', '#EA9899', '#F9CB9C', '#FFE59A', '#B7D7A8', '#A2C4C9', '#A4C2F4', '#9FC5E8', '#B4A7D7', '#D5A6BD', - '#CC4125', '#E06666', '#F6B26B', '#FFD966', '#92C47D', '#75A5AF', '#6D9EEB', '#6FA9DB', '#8E7CC3', '#C27BA0', - '#A61C00', '#CC0000', '#E69138', '#F2C131', '#6AA84F', '#45818E', '#3C78D8', '#3C85C6', '#674EA7', '#A64D79', - '#85200B', '#990000', '#B45F05', '#BF9000', '#37761D', '#144F5C', '#1254CC', '#0A5394', '#351C75', '#741B47', - '#5B0F00', '#660000', '#783F03', '#7F6000', '#284E13', '#0B343D', '#1B4586', '#063763', '#20124D', '#4C1030', - ]; - var ColorPickerComponent = /** @class */ (function () { - function ColorPickerComponent() { - this.isOpen = false; - this.selectedColor = new core.EventEmitter(); - this.closeOutside = new core.EventEmitter(); - this.colors = DEFAULT_COLORS; - this.white = '#FFFFFF'; - } - /** - * @return {?} - */ - ColorPickerComponent.prototype.ngOnInit = /** - * @return {?} - */ - function () { - }; - /** - * @param {?} $event - * @param {?} color - * @return {?} - */ - ColorPickerComponent.prototype.select = /** - * @param {?} $event - * @param {?} color - * @return {?} - */ - function ($event, color) { - $event.preventDefault(); - $event.stopPropagation(); - this.selectedColor.emit(color); - }; - /** - * @return {?} - */ - ColorPickerComponent.prototype.close = /** - * @return {?} - */ - function () { - this.isOpen = false; - this.closeOutside.emit(true); - }; - ColorPickerComponent.decorators = [ - { type: core.Component, args: [{ - selector: 'gd-color-picker', - template: "
\n
\n
\n
\n
\n", - styles: [".bcPicker-picker{border:1px;border-radius:100%}.bcPicker-palette{width:250px;background-color:#fdfdfd;z-index:999;box-shadow:0 0 5px #efefef;display:-webkit-box;display:flex;flex-wrap:wrap;-webkit-box-pack:center;justify-content:center}.bcPicker-palette>.bcPicker-color{width:18px;height:18px;margin:2px;cursor:pointer}"] - }] } - ]; - /** @nocollapse */ - ColorPickerComponent.ctorParameters = function () { return []; }; - ColorPickerComponent.propDecorators = { - isOpen: [{ type: core.Input }], - selectedColor: [{ type: core.Output }], - closeOutside: [{ type: core.Output }] - }; - return ColorPickerComponent; - }()); - if (false) { - /** @type {?} */ - ColorPickerComponent.prototype.isOpen; - /** @type {?} */ - ColorPickerComponent.prototype.selectedColor; - /** @type {?} */ - ColorPickerComponent.prototype.closeOutside; - /** @type {?} */ - ColorPickerComponent.prototype.colors; - /** @type {?} */ - ColorPickerComponent.prototype.white; + /** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ + /** @type {?} */ + var DEFAULT_COLORS = [ + '#000000', '#434343', '#666666', '#999999', '#B7B7B7', '#CCCCCC', '#D9D9D9', '#EFEFEF', '#F3F3F3', '#FFFFFF', + '#980000', '#FF0000', '#FF9900', '#FFFF00', '#00FF00', '#00FFFF', '#4986E8', '#0000FF', '#9900FF', '#FF00FF', + '#E6B8AF', '#F4CCCC', '#FDE5CD', '#FFF2CC', '#D9EAD3', '#D0E0E2', '#C9DAF8', '#CFE2F3', '#D9D2E9', '#EAD1DC', + '#DD7E6B', '#EA9899', '#F9CB9C', '#FFE59A', '#B7D7A8', '#A2C4C9', '#A4C2F4', '#9FC5E8', '#B4A7D7', '#D5A6BD', + '#CC4125', '#E06666', '#F6B26B', '#FFD966', '#92C47D', '#75A5AF', '#6D9EEB', '#6FA9DB', '#8E7CC3', '#C27BA0', + '#A61C00', '#CC0000', '#E69138', '#F2C131', '#6AA84F', '#45818E', '#3C78D8', '#3C85C6', '#674EA7', '#A64D79', + '#85200B', '#990000', '#B45F05', '#BF9000', '#37761D', '#144F5C', '#1254CC', '#0A5394', '#351C75', '#741B47', + '#5B0F00', '#660000', '#783F03', '#7F6000', '#284E13', '#0B343D', '#1B4586', '#063763', '#20124D', '#4C1030', + ]; + var ColorPickerComponent = /** @class */ (function () { + function ColorPickerComponent() { + this.isOpen = false; + this.selectedColor = new core.EventEmitter(); + this.closeOutside = new core.EventEmitter(); + this.colors = DEFAULT_COLORS; + this.white = '#FFFFFF'; + } + /** + * @return {?} + */ + ColorPickerComponent.prototype.ngOnInit = /** + * @return {?} + */ + function () { + }; + /** + * @param {?} $event + * @param {?} color + * @return {?} + */ + ColorPickerComponent.prototype.select = /** + * @param {?} $event + * @param {?} color + * @return {?} + */ + function ($event, color) { + $event.preventDefault(); + $event.stopPropagation(); + this.selectedColor.emit(color); + }; + /** + * @return {?} + */ + ColorPickerComponent.prototype.close = /** + * @return {?} + */ + function () { + this.isOpen = false; + this.closeOutside.emit(true); + }; + ColorPickerComponent.decorators = [ + { type: core.Component, args: [{ + selector: 'gd-color-picker', + template: "
\r\n
\r\n
\r\n
\r\n
\r\n", + styles: [".bcPicker-picker{border:1px;border-radius:100%}.bcPicker-palette{width:250px;background-color:#fdfdfd;z-index:999;box-shadow:0 0 5px #efefef;display:-webkit-box;display:flex;flex-wrap:wrap;-webkit-box-pack:center;justify-content:center}.bcPicker-palette>.bcPicker-color{width:18px;height:18px;margin:2px;cursor:pointer}"] + }] } + ]; + /** @nocollapse */ + ColorPickerComponent.ctorParameters = function () { return []; }; + ColorPickerComponent.propDecorators = { + isOpen: [{ type: core.Input }], + selectedColor: [{ type: core.Output }], + closeOutside: [{ type: core.Output }] + }; + return ColorPickerComponent; + }()); + if (false) { + /** @type {?} */ + ColorPickerComponent.prototype.isOpen; + /** @type {?} */ + ColorPickerComponent.prototype.selectedColor; + /** @type {?} */ + ColorPickerComponent.prototype.closeOutside; + /** @type {?} */ + ColorPickerComponent.prototype.colors; + /** @type {?} */ + ColorPickerComponent.prototype.white; } - /** - * @fileoverview added by tsickle - * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc - */ - var BackFormattingService = /** @class */ (function (_super) { - __extends(BackFormattingService, _super); - function BackFormattingService() { - return _super.call(this) || this; - } - BackFormattingService.decorators = [ - { type: core.Injectable, args: [{ - providedIn: 'root' - },] } - ]; - /** @nocollapse */ - BackFormattingService.ctorParameters = function () { return []; }; - /** @nocollapse */ BackFormattingService.ngInjectableDef = core.ɵɵdefineInjectable({ factory: function BackFormattingService_Factory() { return new BackFormattingService(); }, token: BackFormattingService, providedIn: "root" }); - return BackFormattingService; + /** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ + var BackFormattingService = /** @class */ (function (_super) { + __extends(BackFormattingService, _super); + function BackFormattingService() { + return _super.call(this) || this; + } + BackFormattingService.decorators = [ + { type: core.Injectable, args: [{ + providedIn: 'root' + },] } + ]; + /** @nocollapse */ + BackFormattingService.ctorParameters = function () { return []; }; + /** @nocollapse */ BackFormattingService.ngInjectableDef = core.ɵɵdefineInjectable({ factory: function BackFormattingService_Factory() { return new BackFormattingService(); }, token: BackFormattingService, providedIn: "root" }); + return BackFormattingService; }(FormattingService)); - /** - * @fileoverview added by tsickle - * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc - */ - var SelectionService = /** @class */ (function () { - function SelectionService() { - this.isIE = false || !!/(MSIE|Trident\/|Edge\/)/i.test(navigator.userAgent); - } - /** - * @return {?} - */ - SelectionService.prototype.restoreSelection = /** - * @return {?} - */ - function () { - if (this.selection && !this.selection.collapsed || this.isIE) { - this.putSelection(this.selection); - } - }; - /** - * @return {?} - */ - SelectionService.prototype.captureSelection = /** - * @return {?} - */ - function () { - /** @type {?} */ - var selection = window.getSelection(); - if (selection.rangeCount > 0) { - this.selection = selection.getRangeAt(0); - } - }; - /** - * @private - * @param {?} selection - * @return {?} - */ - SelectionService.prototype.putSelection = /** - * @private - * @param {?} selection - * @return {?} - */ - function (selection) { - /** @type {?} */ - var sel = window.getSelection(); - sel.removeAllRanges(); - sel.addRange(selection.cloneRange()); - }; - /** - * @return {?} - */ - SelectionService.prototype.refreshSelection = /** - * @return {?} - */ - function () { - this.captureSelection(); - this.restoreSelection(); - }; - SelectionService.decorators = [ - { type: core.Injectable, args: [{ - providedIn: 'root' - },] } - ]; - /** @nocollapse */ SelectionService.ngInjectableDef = core.ɵɵdefineInjectable({ factory: function SelectionService_Factory() { return new SelectionService(); }, token: SelectionService, providedIn: "root" }); - return SelectionService; - }()); - if (false) { - /** @type {?} */ - SelectionService.prototype.selection; - /** @type {?} */ - SelectionService.prototype.isIE; + /** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ + var SelectionService = /** @class */ (function () { + function SelectionService() { + this.isIE = false || !!/(MSIE|Trident\/|Edge\/)/i.test(navigator.userAgent); + } + /** + * @return {?} + */ + SelectionService.prototype.restoreSelection = /** + * @return {?} + */ + function () { + if (this.selection && !this.selection.collapsed || this.isIE) { + this.putSelection(this.selection); + } + }; + /** + * @return {?} + */ + SelectionService.prototype.captureSelection = /** + * @return {?} + */ + function () { + /** @type {?} */ + var selection = window.getSelection(); + if (selection.rangeCount > 0) { + this.selection = selection.getRangeAt(0); + } + }; + /** + * @private + * @param {?} selection + * @return {?} + */ + SelectionService.prototype.putSelection = /** + * @private + * @param {?} selection + * @return {?} + */ + function (selection) { + /** @type {?} */ + var sel = window.getSelection(); + sel.removeAllRanges(); + sel.addRange(selection.cloneRange()); + }; + /** + * @return {?} + */ + SelectionService.prototype.refreshSelection = /** + * @return {?} + */ + function () { + this.captureSelection(); + this.restoreSelection(); + }; + SelectionService.decorators = [ + { type: core.Injectable, args: [{ + providedIn: 'root' + },] } + ]; + /** @nocollapse */ SelectionService.ngInjectableDef = core.ɵɵdefineInjectable({ factory: function SelectionService_Factory() { return new SelectionService(); }, token: SelectionService, providedIn: "root" }); + return SelectionService; + }()); + if (false) { + /** @type {?} */ + SelectionService.prototype.selection; + /** @type {?} */ + SelectionService.prototype.isIE; } - /** - * @fileoverview added by tsickle - * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc - */ - /** @type {?} */ - var $$7 = jquery; - var FormattingDirective = /** @class */ (function () { - function FormattingDirective(_formattingService, _backFormattingService, _selectionService) { - this._formattingService = _formattingService; - this._backFormattingService = _backFormattingService; - this._selectionService = _selectionService; - this.bold = false; - this.italic = false; - this.underline = false; - this.strikeout = false; - this.isIE = false; - this.isIE = /*@cc_on!@*/ false || !!/(MSIE|Trident\/|Edge\/)/i.test(navigator.userAgent); - } - /** - * @return {?} - */ - FormattingDirective.prototype.mouseup = /** - * @return {?} - */ - function () { - this.bold = document.queryCommandState("bold"); - this.strikeout = document.queryCommandState("strikeThrough"); - this.italic = document.queryCommandState("italic"); - this.bgColor = document.queryCommandValue("backColor"); - this.underline = document.queryCommandState("underline"); - this.align = this.checkJustify(); - this.list = this.checkList(); - //fix required by FireFox to get correct background color - if (this.bgColor === "transparent") { - this.bgColor = $$7(window.getSelection().focusNode.parentNode).css('background-color').toString(); - } - this.font = document.queryCommandValue("FontName").replace(/"/g, ''); - if (this.font.split(",").length > 1) { - this.font = this.font.split(",")[0]; - } - this.color = document.queryCommandValue("foreColor"); - this._backFormattingService.changeFormatBold(this.bold); - this._backFormattingService.changeFormatUnderline(this.underline); - this._backFormattingService.changeFormatItalic(this.italic); - this._backFormattingService.changeFormatColor(this.color); - this._backFormattingService.changeFormatBgColor(this.bgColor); - this._backFormattingService.changeFormatFontSize(this.reportFontSize()); - this._backFormattingService.changeFormatFont(this.font); - this._backFormattingService.changeFormatStrikeout(this.strikeout); - this._backFormattingService.changeFormatAlign(this.align); - this._backFormattingService.changeFormatList(this.list); - }; - /** - * @private - * @return {?} - */ - FormattingDirective.prototype.checkJustify = /** - * @private - * @return {?} - */ - function () { - /** @type {?} */ - var align = ""; - align = document.queryCommandState("justifyCenter") ? "center" : align; - align = document.queryCommandState("justifyFull") ? "full" : align; - align = document.queryCommandState("justifyLeft") ? "left" : align; - align = document.queryCommandState("justifyRight") ? "right" : align; - return align; - }; - /** - * @private - * @return {?} - */ - FormattingDirective.prototype.checkList = /** - * @private - * @return {?} - */ - function () { - /** @type {?} */ - var list = ""; - list = document.queryCommandState("insertUnorderedList") ? "unordered" : list; - list = document.queryCommandState("insertOrderedList") ? "ordered" : list; - return list; - }; - /** - * @return {?} - */ - FormattingDirective.prototype.reportFontSize = /** - * @return {?} - */ - function () { - /** @type {?} */ - var containerEl; - /** @type {?} */ - var sel; - if (window.getSelection) { - sel = window.getSelection(); - if (sel.rangeCount) { - containerEl = sel.getRangeAt(0).commonAncestorContainer; - // Make sure we have an element rather than a text node - if (containerEl.nodeType === 3) { - containerEl = containerEl.parentNode; - } - } - } - else if ((sel = document.getSelection()) && sel.type !== "Control") { - containerEl = sel.createRange().parentElement(); - } - if (containerEl) { - return parseInt(this.getComputedStyleProperty(containerEl, "fontSize").replace("px", ""), 10); - } - }; - /** - * @param {?} el - * @param {?} propName - * @return {?} - */ - FormattingDirective.prototype.getComputedStyleProperty = /** - * @param {?} el - * @param {?} propName - * @return {?} - */ - function (el, propName) { - if (window.getComputedStyle) { - return window.getComputedStyle(el, null)[propName]; - } - else if (el.currentStyle) { - return el.currentStyle[propName]; - } - }; - /** - * @return {?} - */ - FormattingDirective.prototype.ngOnInit = /** - * @return {?} - */ - function () { - var _this = this; - this._formattingService.undo.subscribe((/** - * @return {?} - */ - function () { - _this.toggleUndo(); - })); - this._formattingService.redo.subscribe((/** - * @return {?} - */ - function () { - _this.toggleRedo(); - })); - this._formattingService.formatBoldChange.subscribe((/** - * @param {?} bold - * @return {?} - */ - function (bold) { - _this.bold = bold; - _this.toggleBold(); - })); - this._formattingService.formatUnderlineChange.subscribe((/** - * @param {?} underline - * @return {?} - */ - function (underline) { - _this.underline = underline; - _this.toggleUnderline(); - })); - this._formattingService.formatItalicChange.subscribe((/** - * @param {?} italic - * @return {?} - */ - function (italic) { - _this.italic = italic; - _this.toggleItalic(); - })); - this._formattingService.formatColorChange.subscribe(((/** - * @param {?} color - * @return {?} - */ - function (color) { - _this.color = color; - _this.setColor(color); - }))); - this._formattingService.formatBgColorChange.subscribe(((/** - * @param {?} bgcolor - * @return {?} - */ - function (bgcolor) { - _this.bgColor = bgcolor; - _this.setBgColor(bgcolor); - }))); - this._formattingService.formatFontSizeChange.subscribe(((/** - * @param {?} fontSize - * @return {?} - */ - function (fontSize) { - _this.setFontSize(fontSize); - }))); - this._formattingService.formatFontChange.subscribe(((/** - * @param {?} font - * @return {?} - */ - function (font) { - _this.font = font; - _this.setFont(font); - }))); - this._formattingService.formatStrikeoutChange.subscribe((/** - * @param {?} strikeout - * @return {?} - */ - function (strikeout) { - _this.strikeout = strikeout; - _this.toggleStrikeout(); - })); - this._formattingService.formatAlignChange.subscribe((/** - * @param {?} align - * @return {?} - */ - function (align) { - _this.align = align; - _this.toggleAlign(_this.align); - })); - this._formattingService.formatListChange.subscribe((/** - * @param {?} list - * @return {?} - */ - function (list) { - /** @type {?} */ - var remove = _this.list === list; - _this.list = list; - _this.toggleList(_this.list, remove); - })); - }; - /** - * @private - * @return {?} - */ - FormattingDirective.prototype.toggleBold = /** - * @private - * @return {?} - */ - function () { - document.execCommand("bold"); - this._selectionService.refreshSelection(); - }; - /** - * @private - * @return {?} - */ - FormattingDirective.prototype.toggleUnderline = /** - * @private - * @return {?} - */ - function () { - document.execCommand("underline"); - this._selectionService.refreshSelection(); - }; - /** - * @private - * @return {?} - */ - FormattingDirective.prototype.toggleItalic = /** - * @private - * @return {?} - */ - function () { - document.execCommand("italic"); - this._selectionService.refreshSelection(); - }; - /** - * @private - * @param {?} bgColor - * @return {?} - */ - FormattingDirective.prototype.setBgColor = /** - * @private - * @param {?} bgColor - * @return {?} - */ - function (bgColor) { - document.execCommand("backColor", false, bgColor); - this._selectionService.refreshSelection(); - }; - /** - * @private - * @param {?} color - * @return {?} - */ - FormattingDirective.prototype.setColor = /** - * @private - * @param {?} color - * @return {?} - */ - function (color) { - document.execCommand("foreColor", false, color); - this._selectionService.refreshSelection(); - }; - /** - * @private - * @param {?} fontSize - * @return {?} - */ - FormattingDirective.prototype.setFontSize = /** - * @private - * @param {?} fontSize - * @return {?} - */ - function (fontSize) { - if (document.getSelection().toString()) { - /** @type {?} */ - var spanString = "" + - document.getSelection() + ""; - if (this.bold) { - spanString = "" + spanString + ""; - } - if (this.italic) { - spanString = "" + spanString + ""; - } - if (this.underline) { - spanString = "" + spanString + ""; - } - if (this.strikeout) { - spanString = "" + spanString + ""; - } - document.execCommand('insertHTML', false, spanString); - } - else { - document.execCommand("fontsize", false, "7"); - } - this._selectionService.refreshSelection(); - }; - /** - * @private - * @return {?} - */ - FormattingDirective.prototype.toggleUndo = /** - * @private - * @return {?} - */ - function () { - document.execCommand("undo"); - }; - /** - * @private - * @return {?} - */ - FormattingDirective.prototype.toggleRedo = /** - * @private - * @return {?} - */ - function () { - document.execCommand("redo"); - }; - /** - * @private - * @param {?} font - * @return {?} - */ - FormattingDirective.prototype.setFont = /** - * @private - * @param {?} font - * @return {?} - */ - function (font) { - document.execCommand("fontName", false, font); - this._selectionService.refreshSelection(); - }; - /** - * @private - * @return {?} - */ - FormattingDirective.prototype.toggleStrikeout = /** - * @private - * @return {?} - */ - function () { - document.execCommand("strikeThrough"); - this._selectionService.refreshSelection(); - }; - /** - * @private - * @param {?} align - * @return {?} - */ - FormattingDirective.prototype.toggleAlign = /** - * @private - * @param {?} align - * @return {?} - */ - function (align) { - if (this.isIE) { - this.toggleAlignIE(align); - return; - } - document.execCommand("styleWithCSS", false, 'true'); - switch (align) { - case 'center': - document.execCommand('justifyCenter'); - break; - case 'full': - document.execCommand('justifyFull'); - break; - case 'left': - document.execCommand('justifyLeft'); - break; - case 'right': - document.execCommand('justifyRight'); - break; - } - this._selectionService.refreshSelection(); - }; - /** - * @private - * @param {?} align - * @return {?} - */ - FormattingDirective.prototype.toggleAlignIE = /** - * @private - * @param {?} align - * @return {?} - */ - function (align) { - this._selectionService.restoreSelection(); - this._selectionService.captureSelection(); - /** @type {?} */ - var selection = window.getSelection().focusNode.parentNode.parentNode; - if (align === "full") { - align = "justify"; - } - $$7(selection).css("text-align", align); - this._selectionService.refreshSelection(); - }; - /** - * @private - * @param {?} list - * @param {?} remove - * @return {?} - */ - FormattingDirective.prototype.toggleList = /** - * @private - * @param {?} list - * @param {?} remove - * @return {?} - */ - function (list, remove) { - switch (list) { - case 'unordered': - document.execCommand('insertUnorderedList', remove); - break; - case 'ordered': - document.execCommand('insertOrderedList', remove); - break; - } - this._selectionService.refreshSelection(); - }; - FormattingDirective.decorators = [ - { type: core.Directive, args: [{ - selector: '[gdFormatting]' - },] } - ]; - /** @nocollapse */ - FormattingDirective.ctorParameters = function () { return [ - { type: FormattingService }, - { type: BackFormattingService }, - { type: SelectionService } - ]; }; - FormattingDirective.propDecorators = { - mouseup: [{ type: core.HostListener, args: ['mouseup',] }] - }; - return FormattingDirective; - }()); - if (false) { - /** - * @type {?} - * @private - */ - FormattingDirective.prototype.bold; - /** - * @type {?} - * @private - */ - FormattingDirective.prototype.italic; - /** - * @type {?} - * @private - */ - FormattingDirective.prototype.underline; - /** - * @type {?} - * @private - */ - FormattingDirective.prototype.color; - /** - * @type {?} - * @private - */ - FormattingDirective.prototype.bgColor; - /** - * @type {?} - * @private - */ - FormattingDirective.prototype.font; - /** - * @type {?} - * @private - */ - FormattingDirective.prototype.strikeout; - /** - * @type {?} - * @private - */ - FormattingDirective.prototype.align; - /** - * @type {?} - * @private - */ - FormattingDirective.prototype.list; - /** - * @type {?} - * @private - */ - FormattingDirective.prototype.isIE; - /** - * @type {?} - * @private - */ - FormattingDirective.prototype._formattingService; - /** - * @type {?} - * @private - */ - FormattingDirective.prototype._backFormattingService; - /** - * @type {?} - * @private - */ - FormattingDirective.prototype._selectionService; + /** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ + /** @type {?} */ + var $$7 = jquery; + var FormattingDirective = /** @class */ (function () { + function FormattingDirective(_formattingService, _backFormattingService, _selectionService) { + this._formattingService = _formattingService; + this._backFormattingService = _backFormattingService; + this._selectionService = _selectionService; + this.bold = false; + this.italic = false; + this.underline = false; + this.strikeout = false; + this.isIE = false; + this.isIE = /*@cc_on!@*/ false || !!/(MSIE|Trident\/|Edge\/)/i.test(navigator.userAgent); + } + /** + * @return {?} + */ + FormattingDirective.prototype.mouseup = /** + * @return {?} + */ + function () { + this.bold = document.queryCommandState("bold"); + this.strikeout = document.queryCommandState("strikeThrough"); + this.italic = document.queryCommandState("italic"); + this.bgColor = document.queryCommandValue("backColor"); + this.underline = document.queryCommandState("underline"); + this.align = this.checkJustify(); + this.list = this.checkList(); + //fix required by FireFox to get correct background color + if (this.bgColor === "transparent") { + this.bgColor = $$7(window.getSelection().focusNode.parentNode).css('background-color').toString(); + } + this.font = document.queryCommandValue("FontName").replace(/"/g, ''); + if (this.font.split(",").length > 1) { + this.font = this.font.split(",")[0]; + } + this.color = document.queryCommandValue("foreColor"); + this._backFormattingService.changeFormatBold(this.bold); + this._backFormattingService.changeFormatUnderline(this.underline); + this._backFormattingService.changeFormatItalic(this.italic); + this._backFormattingService.changeFormatColor(this.color); + this._backFormattingService.changeFormatBgColor(this.bgColor); + this._backFormattingService.changeFormatFontSize(this.reportFontSize()); + this._backFormattingService.changeFormatFont(this.font); + this._backFormattingService.changeFormatStrikeout(this.strikeout); + this._backFormattingService.changeFormatAlign(this.align); + this._backFormattingService.changeFormatList(this.list); + }; + /** + * @private + * @return {?} + */ + FormattingDirective.prototype.checkJustify = /** + * @private + * @return {?} + */ + function () { + /** @type {?} */ + var align = ""; + align = document.queryCommandState("justifyCenter") ? "center" : align; + align = document.queryCommandState("justifyFull") ? "full" : align; + align = document.queryCommandState("justifyLeft") ? "left" : align; + align = document.queryCommandState("justifyRight") ? "right" : align; + return align; + }; + /** + * @private + * @return {?} + */ + FormattingDirective.prototype.checkList = /** + * @private + * @return {?} + */ + function () { + /** @type {?} */ + var list = ""; + list = document.queryCommandState("insertUnorderedList") ? "unordered" : list; + list = document.queryCommandState("insertOrderedList") ? "ordered" : list; + return list; + }; + /** + * @return {?} + */ + FormattingDirective.prototype.reportFontSize = /** + * @return {?} + */ + function () { + /** @type {?} */ + var containerEl; + /** @type {?} */ + var sel; + if (window.getSelection) { + sel = window.getSelection(); + if (sel.rangeCount) { + containerEl = sel.getRangeAt(0).commonAncestorContainer; + // Make sure we have an element rather than a text node + if (containerEl.nodeType === 3) { + containerEl = containerEl.parentNode; + } + } + } + else if ((sel = document.getSelection()) && sel.type !== "Control") { + containerEl = sel.createRange().parentElement(); + } + if (containerEl) { + return parseInt(this.getComputedStyleProperty(containerEl, "fontSize").replace("px", ""), 10); + } + }; + /** + * @param {?} el + * @param {?} propName + * @return {?} + */ + FormattingDirective.prototype.getComputedStyleProperty = /** + * @param {?} el + * @param {?} propName + * @return {?} + */ + function (el, propName) { + if (window.getComputedStyle) { + return window.getComputedStyle(el, null)[propName]; + } + else if (el.currentStyle) { + return el.currentStyle[propName]; + } + }; + /** + * @return {?} + */ + FormattingDirective.prototype.ngOnInit = /** + * @return {?} + */ + function () { + var _this = this; + this._formattingService.undo.subscribe((/** + * @return {?} + */ + function () { + _this.toggleUndo(); + })); + this._formattingService.redo.subscribe((/** + * @return {?} + */ + function () { + _this.toggleRedo(); + })); + this._formattingService.formatBoldChange.subscribe((/** + * @param {?} bold + * @return {?} + */ + function (bold) { + _this.bold = bold; + _this.toggleBold(); + })); + this._formattingService.formatUnderlineChange.subscribe((/** + * @param {?} underline + * @return {?} + */ + function (underline) { + _this.underline = underline; + _this.toggleUnderline(); + })); + this._formattingService.formatItalicChange.subscribe((/** + * @param {?} italic + * @return {?} + */ + function (italic) { + _this.italic = italic; + _this.toggleItalic(); + })); + this._formattingService.formatColorChange.subscribe(((/** + * @param {?} color + * @return {?} + */ + function (color) { + _this.color = color; + _this.setColor(color); + }))); + this._formattingService.formatBgColorChange.subscribe(((/** + * @param {?} bgcolor + * @return {?} + */ + function (bgcolor) { + _this.bgColor = bgcolor; + _this.setBgColor(bgcolor); + }))); + this._formattingService.formatFontSizeChange.subscribe(((/** + * @param {?} fontSize + * @return {?} + */ + function (fontSize) { + _this.setFontSize(fontSize); + }))); + this._formattingService.formatFontChange.subscribe(((/** + * @param {?} font + * @return {?} + */ + function (font) { + _this.font = font; + _this.setFont(font); + }))); + this._formattingService.formatStrikeoutChange.subscribe((/** + * @param {?} strikeout + * @return {?} + */ + function (strikeout) { + _this.strikeout = strikeout; + _this.toggleStrikeout(); + })); + this._formattingService.formatAlignChange.subscribe((/** + * @param {?} align + * @return {?} + */ + function (align) { + _this.align = align; + _this.toggleAlign(_this.align); + })); + this._formattingService.formatListChange.subscribe((/** + * @param {?} list + * @return {?} + */ + function (list) { + /** @type {?} */ + var remove = _this.list === list; + _this.list = list; + _this.toggleList(_this.list, remove); + })); + }; + /** + * @private + * @return {?} + */ + FormattingDirective.prototype.toggleBold = /** + * @private + * @return {?} + */ + function () { + document.execCommand("bold"); + this._selectionService.refreshSelection(); + }; + /** + * @private + * @return {?} + */ + FormattingDirective.prototype.toggleUnderline = /** + * @private + * @return {?} + */ + function () { + document.execCommand("underline"); + this._selectionService.refreshSelection(); + }; + /** + * @private + * @return {?} + */ + FormattingDirective.prototype.toggleItalic = /** + * @private + * @return {?} + */ + function () { + document.execCommand("italic"); + this._selectionService.refreshSelection(); + }; + /** + * @private + * @param {?} bgColor + * @return {?} + */ + FormattingDirective.prototype.setBgColor = /** + * @private + * @param {?} bgColor + * @return {?} + */ + function (bgColor) { + document.execCommand("backColor", false, bgColor); + this._selectionService.refreshSelection(); + }; + /** + * @private + * @param {?} color + * @return {?} + */ + FormattingDirective.prototype.setColor = /** + * @private + * @param {?} color + * @return {?} + */ + function (color) { + document.execCommand("foreColor", false, color); + this._selectionService.refreshSelection(); + }; + /** + * @private + * @param {?} fontSize + * @return {?} + */ + FormattingDirective.prototype.setFontSize = /** + * @private + * @param {?} fontSize + * @return {?} + */ + function (fontSize) { + if (document.getSelection().toString()) { + /** @type {?} */ + var spanString = "" + + document.getSelection() + ""; + if (this.bold) { + spanString = "" + spanString + ""; + } + if (this.italic) { + spanString = "" + spanString + ""; + } + if (this.underline) { + spanString = "" + spanString + ""; + } + if (this.strikeout) { + spanString = "" + spanString + ""; + } + document.execCommand('insertHTML', false, spanString); + } + else { + document.execCommand("fontsize", false, "7"); + } + this._selectionService.refreshSelection(); + }; + /** + * @private + * @return {?} + */ + FormattingDirective.prototype.toggleUndo = /** + * @private + * @return {?} + */ + function () { + document.execCommand("undo"); + }; + /** + * @private + * @return {?} + */ + FormattingDirective.prototype.toggleRedo = /** + * @private + * @return {?} + */ + function () { + document.execCommand("redo"); + }; + /** + * @private + * @param {?} font + * @return {?} + */ + FormattingDirective.prototype.setFont = /** + * @private + * @param {?} font + * @return {?} + */ + function (font) { + document.execCommand("fontName", false, font); + this._selectionService.refreshSelection(); + }; + /** + * @private + * @return {?} + */ + FormattingDirective.prototype.toggleStrikeout = /** + * @private + * @return {?} + */ + function () { + document.execCommand("strikeThrough"); + this._selectionService.refreshSelection(); + }; + /** + * @private + * @param {?} align + * @return {?} + */ + FormattingDirective.prototype.toggleAlign = /** + * @private + * @param {?} align + * @return {?} + */ + function (align) { + if (this.isIE) { + this.toggleAlignIE(align); + return; + } + document.execCommand("styleWithCSS", false, 'true'); + switch (align) { + case 'center': + document.execCommand('justifyCenter'); + break; + case 'full': + document.execCommand('justifyFull'); + break; + case 'left': + document.execCommand('justifyLeft'); + break; + case 'right': + document.execCommand('justifyRight'); + break; + } + this._selectionService.refreshSelection(); + }; + /** + * @private + * @param {?} align + * @return {?} + */ + FormattingDirective.prototype.toggleAlignIE = /** + * @private + * @param {?} align + * @return {?} + */ + function (align) { + this._selectionService.restoreSelection(); + this._selectionService.captureSelection(); + /** @type {?} */ + var selection = window.getSelection().focusNode.parentNode.parentNode; + if (align === "full") { + align = "justify"; + } + $$7(selection).css("text-align", align); + this._selectionService.refreshSelection(); + }; + /** + * @private + * @param {?} list + * @param {?} remove + * @return {?} + */ + FormattingDirective.prototype.toggleList = /** + * @private + * @param {?} list + * @param {?} remove + * @return {?} + */ + function (list, remove) { + switch (list) { + case 'unordered': + document.execCommand('insertUnorderedList', remove); + break; + case 'ordered': + document.execCommand('insertOrderedList', remove); + break; + } + this._selectionService.refreshSelection(); + }; + FormattingDirective.decorators = [ + { type: core.Directive, args: [{ + selector: '[gdFormatting]' + },] } + ]; + /** @nocollapse */ + FormattingDirective.ctorParameters = function () { return [ + { type: FormattingService }, + { type: BackFormattingService }, + { type: SelectionService } + ]; }; + FormattingDirective.propDecorators = { + mouseup: [{ type: core.HostListener, args: ['mouseup',] }] + }; + return FormattingDirective; + }()); + if (false) { + /** + * @type {?} + * @private + */ + FormattingDirective.prototype.bold; + /** + * @type {?} + * @private + */ + FormattingDirective.prototype.italic; + /** + * @type {?} + * @private + */ + FormattingDirective.prototype.underline; + /** + * @type {?} + * @private + */ + FormattingDirective.prototype.color; + /** + * @type {?} + * @private + */ + FormattingDirective.prototype.bgColor; + /** + * @type {?} + * @private + */ + FormattingDirective.prototype.font; + /** + * @type {?} + * @private + */ + FormattingDirective.prototype.strikeout; + /** + * @type {?} + * @private + */ + FormattingDirective.prototype.align; + /** + * @type {?} + * @private + */ + FormattingDirective.prototype.list; + /** + * @type {?} + * @private + */ + FormattingDirective.prototype.isIE; + /** + * @type {?} + * @private + */ + FormattingDirective.prototype._formattingService; + /** + * @type {?} + * @private + */ + FormattingDirective.prototype._backFormattingService; + /** + * @type {?} + * @private + */ + FormattingDirective.prototype._selectionService; } - /** - * @fileoverview added by tsickle - * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc - */ - var SuccessModalComponent = /** @class */ (function () { - function SuccessModalComponent() { - } - /** - * @return {?} - */ - SuccessModalComponent.prototype.ngOnInit = /** - * @return {?} - */ - function () { - }; - SuccessModalComponent.decorators = [ - { type: core.Component, args: [{ - selector: 'gd-success-modal', - template: "\n
\n
\n \n \n
\n
\n
\n
\n
\n", - styles: [".check_mark{margin:47px auto}.sa-icon{width:80px;height:80px;border:4px solid gray;border-radius:50%;padding:0;position:relative;box-sizing:content-box}#gd-modal-success{display:-webkit-box;display:flex;overflow:hidden;width:469px;height:183px}.sa-icon.sa-success{border-color:#4caf50;-webkit-transform:scale(1.18);transform:scale(1.18)}.sa-icon.sa-success::after,.sa-icon.sa-success::before{content:'';position:absolute;width:60px;height:120px;background:#fff}.sa-icon.sa-success::before{border-radius:120px 0 0 120px;top:-7px;left:-33px;-webkit-transform:rotate(-45deg);transform:rotate(-45deg);-webkit-transform-origin:60px 60px;transform-origin:60px 60px}.sa-icon.sa-success::after{border-radius:0 120px 120px 0;top:-11px;left:30px;-webkit-transform:rotate(-45deg);transform:rotate(-45deg);-webkit-transform-origin:0 60px;transform-origin:0 60px}.sa-icon.sa-success .sa-placeholder{width:80px;height:80px;border:4px solid rgba(76,175,80,.5);border-radius:50%;box-sizing:content-box;position:absolute;left:-4px;top:-4px;z-index:2}.sa-icon.sa-success .sa-fix{width:5px;height:90px;background-color:#fff;position:absolute;left:28px;top:8px;z-index:1;-webkit-transform:rotate(-45deg);transform:rotate(-45deg)}.sa-icon.sa-success.animate::after{-webkit-animation:4.25s ease-in rotatePlaceholder;animation:4.25s ease-in rotatePlaceholder}.animateSuccessTip{-webkit-animation:.75s animateSuccessTip;animation:.75s animateSuccessTip}.animateSuccessLong{-webkit-animation:.75s animateSuccessLong;animation:.75s animateSuccessLong}@-webkit-keyframes animateSuccessLong{0%,65%{width:0;right:46px;top:54px}84%{width:55px;right:0;top:35px}100%{width:47px;right:8px;top:38px}}@-webkit-keyframes animateSuccessTip{0%,54%{width:0;left:1px;top:19px}70%{width:50px;left:-8px;top:37px}84%{width:17px;left:21px;top:48px}100%{width:25px;left:14px;top:45px}}@keyframes animateSuccessTip{0%,54%{width:0;left:1px;top:19px}70%{width:50px;left:-8px;top:37px}84%{width:17px;left:21px;top:48px}100%{width:25px;left:14px;top:45px}}@keyframes animateSuccessLong{0%,65%{width:0;right:46px;top:54px}84%{width:55px;right:0;top:35px}100%{width:47px;right:8px;top:38px}}.sa-icon.sa-success .sa-line{height:5px;background-color:#4caf50;display:block;border-radius:2px;position:absolute;z-index:2}.sa-icon.sa-success .sa-line.sa-tip{width:25px;left:14px;top:46px;-webkit-transform:rotate(45deg);transform:rotate(45deg)}.sa-icon.sa-success .sa-line.sa-long{width:47px;right:8px;top:38px;-webkit-transform:rotate(-45deg);transform:rotate(-45deg)}@-webkit-keyframes rotatePlaceholder{0%,5%{transform:rotate(-45deg);-webkit-transform:rotate(-45deg)}100%,12%{transform:rotate(-405deg);-webkit-transform:rotate(-405deg)}}@keyframes rotatePlaceholder{0%,5%{transform:rotate(-45deg);-webkit-transform:rotate(-45deg)}100%,12%{transform:rotate(-405deg);-webkit-transform:rotate(-405deg)}}@media (max-width:1037px){#gd-modal-success{left:50%;top:50%;position:relative;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%)}}"] - }] } - ]; - /** @nocollapse */ - SuccessModalComponent.ctorParameters = function () { return []; }; - return SuccessModalComponent; + /** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ + var SuccessModalComponent = /** @class */ (function () { + function SuccessModalComponent() { + } + /** + * @return {?} + */ + SuccessModalComponent.prototype.ngOnInit = /** + * @return {?} + */ + function () { + }; + SuccessModalComponent.decorators = [ + { type: core.Component, args: [{ + selector: 'gd-success-modal', + template: "\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n", + styles: [".check_mark{margin:47px auto}.sa-icon{width:80px;height:80px;border:4px solid gray;border-radius:50%;padding:0;position:relative;box-sizing:content-box}#gd-modal-success{display:-webkit-box;display:flex;overflow:hidden;width:469px;height:183px}.sa-icon.sa-success{border-color:#4caf50;-webkit-transform:scale(1.18);transform:scale(1.18)}.sa-icon.sa-success::after,.sa-icon.sa-success::before{content:'';position:absolute;width:60px;height:120px;background:#fff}.sa-icon.sa-success::before{border-radius:120px 0 0 120px;top:-7px;left:-33px;-webkit-transform:rotate(-45deg);transform:rotate(-45deg);-webkit-transform-origin:60px 60px;transform-origin:60px 60px}.sa-icon.sa-success::after{border-radius:0 120px 120px 0;top:-11px;left:30px;-webkit-transform:rotate(-45deg);transform:rotate(-45deg);-webkit-transform-origin:0 60px;transform-origin:0 60px}.sa-icon.sa-success .sa-placeholder{width:80px;height:80px;border:4px solid rgba(76,175,80,.5);border-radius:50%;box-sizing:content-box;position:absolute;left:-4px;top:-4px;z-index:2}.sa-icon.sa-success .sa-fix{width:5px;height:90px;background-color:#fff;position:absolute;left:28px;top:8px;z-index:1;-webkit-transform:rotate(-45deg);transform:rotate(-45deg)}.sa-icon.sa-success.animate::after{-webkit-animation:4.25s ease-in rotatePlaceholder;animation:4.25s ease-in rotatePlaceholder}.animateSuccessTip{-webkit-animation:.75s animateSuccessTip;animation:.75s animateSuccessTip}.animateSuccessLong{-webkit-animation:.75s animateSuccessLong;animation:.75s animateSuccessLong}@-webkit-keyframes animateSuccessLong{0%,65%{width:0;right:46px;top:54px}84%{width:55px;right:0;top:35px}100%{width:47px;right:8px;top:38px}}@-webkit-keyframes animateSuccessTip{0%,54%{width:0;left:1px;top:19px}70%{width:50px;left:-8px;top:37px}84%{width:17px;left:21px;top:48px}100%{width:25px;left:14px;top:45px}}@keyframes animateSuccessTip{0%,54%{width:0;left:1px;top:19px}70%{width:50px;left:-8px;top:37px}84%{width:17px;left:21px;top:48px}100%{width:25px;left:14px;top:45px}}@keyframes animateSuccessLong{0%,65%{width:0;right:46px;top:54px}84%{width:55px;right:0;top:35px}100%{width:47px;right:8px;top:38px}}.sa-icon.sa-success .sa-line{height:5px;background-color:#4caf50;display:block;border-radius:2px;position:absolute;z-index:2}.sa-icon.sa-success .sa-line.sa-tip{width:25px;left:14px;top:46px;-webkit-transform:rotate(45deg);transform:rotate(45deg)}.sa-icon.sa-success .sa-line.sa-long{width:47px;right:8px;top:38px;-webkit-transform:rotate(-45deg);transform:rotate(-45deg)}@-webkit-keyframes rotatePlaceholder{0%,5%{transform:rotate(-45deg);-webkit-transform:rotate(-45deg)}100%,12%{transform:rotate(-405deg);-webkit-transform:rotate(-405deg)}}@keyframes rotatePlaceholder{0%,5%{transform:rotate(-45deg);-webkit-transform:rotate(-45deg)}100%,12%{transform:rotate(-405deg);-webkit-transform:rotate(-405deg)}}@media (max-width:1037px){#gd-modal-success{left:50%;top:50%;position:relative;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%)}}"] + }] } + ]; + /** @nocollapse */ + SuccessModalComponent.ctorParameters = function () { return []; }; + return SuccessModalComponent; }()); - /** - * @fileoverview added by tsickle - * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc - */ - var EditHtmlService = /** @class */ (function () { - function EditHtmlService() { - this._observer = new rxjs.Subject(); - this._htmlContent = this._observer.asObservable(); - } - Object.defineProperty(EditHtmlService.prototype, "observer", { - get: /** - * @return {?} - */ - function () { - return this._observer; - }, - enumerable: true, - configurable: true - }); - Object.defineProperty(EditHtmlService.prototype, "htmlContent", { - get: /** - * @return {?} - */ - function () { - return this._htmlContent; - }, - enumerable: true, - configurable: true - }); - EditHtmlService.decorators = [ - { type: core.Injectable, args: [{ - providedIn: 'root' - },] } - ]; - /** @nocollapse */ - EditHtmlService.ctorParameters = function () { return []; }; - /** @nocollapse */ EditHtmlService.ngInjectableDef = core.ɵɵdefineInjectable({ factory: function EditHtmlService_Factory() { return new EditHtmlService(); }, token: EditHtmlService, providedIn: "root" }); - return EditHtmlService; - }()); - if (false) { - /** - * @type {?} - * @private - */ - EditHtmlService.prototype._observer; - /** - * @type {?} - * @private - */ - EditHtmlService.prototype._htmlContent; + /** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ + var EditHtmlService = /** @class */ (function () { + function EditHtmlService() { + this._observer = new rxjs.Subject(); + this._htmlContent = this._observer.asObservable(); + } + Object.defineProperty(EditHtmlService.prototype, "observer", { + get: /** + * @return {?} + */ + function () { + return this._observer; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(EditHtmlService.prototype, "htmlContent", { + get: /** + * @return {?} + */ + function () { + return this._htmlContent; + }, + enumerable: true, + configurable: true + }); + EditHtmlService.decorators = [ + { type: core.Injectable, args: [{ + providedIn: 'root' + },] } + ]; + /** @nocollapse */ + EditHtmlService.ctorParameters = function () { return []; }; + /** @nocollapse */ EditHtmlService.ngInjectableDef = core.ɵɵdefineInjectable({ factory: function EditHtmlService_Factory() { return new EditHtmlService(); }, token: EditHtmlService, providedIn: "root" }); + return EditHtmlService; + }()); + if (false) { + /** + * @type {?} + * @private + */ + EditHtmlService.prototype._observer; + /** + * @type {?} + * @private + */ + EditHtmlService.prototype._htmlContent; } - /** - * @fileoverview added by tsickle - * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc - */ - var EditorDirective = /** @class */ (function () { - function EditorDirective(_selectionService, _htmlService) { - this._selectionService = _selectionService; - this._htmlService = _htmlService; - this.isIE = false || !!/(MSIE|Trident\/|Edge\/)/i.test(navigator.userAgent); - } - /** - * @param {?} event - * @return {?} - */ - EditorDirective.prototype.onInput = /** - * @param {?} event - * @return {?} - */ - function (event) { - this.text = event.target; - if (this.isIE) { - if (this.text.innerHTML) { - /** @type {?} */ - var html = this.text.innerHTML.toString(); - this._htmlService.observer.next(html); - } - } - }; - /** - * @param {?} event - * @return {?} - */ - EditorDirective.prototype.onMouseleave = /** - * @param {?} event - * @return {?} - */ - function (event) { - this._selectionService.captureSelection(); - // this code is required to fix IE11 issue - it doesn't trigger blur event, since that we need to save updated HTML here - if (this.isIE) { - this._htmlService.observer.next(event.target.innerHTML.toString()); - } - }; - /** - * @param {?} event - * @return {?} - */ - EditorDirective.prototype.onBlur = /** - * @param {?} event - * @return {?} - */ - function (event) { - event.preventDefault(); - this._selectionService.restoreSelection(); - if (this.text.innerHTML) { - /** @type {?} */ - var html = this.text.innerHTML.toString(); - this._htmlService.observer.next(html); - } - else { - this._htmlService.observer.next(event.target.innerHTML.toString()); - } - }; - EditorDirective.decorators = [ - { type: core.Directive, args: [{ - selector: '[gdEditor]' - },] } - ]; - /** @nocollapse */ - EditorDirective.ctorParameters = function () { return [ - { type: SelectionService }, - { type: EditHtmlService } - ]; }; - EditorDirective.propDecorators = { - text: [{ type: core.Input }], - onInput: [{ type: core.HostListener, args: ['keyup', ['$event'],] }], - onMouseleave: [{ type: core.HostListener, args: ['mouseleave', ['$event'],] }], - onBlur: [{ type: core.HostListener, args: ['blur', ['$event'],] }] - }; - return EditorDirective; - }()); - if (false) { - /** @type {?} */ - EditorDirective.prototype.text; - /** - * @type {?} - * @private - */ - EditorDirective.prototype.isIE; - /** - * @type {?} - * @private - */ - EditorDirective.prototype._selectionService; - /** - * @type {?} - * @private - */ - EditorDirective.prototype._htmlService; + /** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ + var EditorDirective = /** @class */ (function () { + function EditorDirective(_selectionService, _htmlService) { + this._selectionService = _selectionService; + this._htmlService = _htmlService; + this.isIE = false || !!/(MSIE|Trident\/|Edge\/)/i.test(navigator.userAgent); + } + /** + * @param {?} event + * @return {?} + */ + EditorDirective.prototype.onInput = /** + * @param {?} event + * @return {?} + */ + function (event) { + this.text = event.target; + if (this.isIE) { + if (this.text.innerHTML) { + /** @type {?} */ + var html = this.text.innerHTML.toString(); + this._htmlService.observer.next(html); + } + } + }; + /** + * @param {?} event + * @return {?} + */ + EditorDirective.prototype.onMouseleave = /** + * @param {?} event + * @return {?} + */ + function (event) { + this._selectionService.captureSelection(); + // this code is required to fix IE11 issue - it doesn't trigger blur event, since that we need to save updated HTML here + if (this.isIE) { + this._htmlService.observer.next(event.target.innerHTML.toString()); + } + }; + /** + * @param {?} event + * @return {?} + */ + EditorDirective.prototype.onBlur = /** + * @param {?} event + * @return {?} + */ + function (event) { + event.preventDefault(); + this._selectionService.restoreSelection(); + if (this.text.innerHTML) { + /** @type {?} */ + var html = this.text.innerHTML.toString(); + this._htmlService.observer.next(html); + } + else { + this._htmlService.observer.next(event.target.innerHTML.toString()); + } + }; + EditorDirective.decorators = [ + { type: core.Directive, args: [{ + selector: '[gdEditor]' + },] } + ]; + /** @nocollapse */ + EditorDirective.ctorParameters = function () { return [ + { type: SelectionService }, + { type: EditHtmlService } + ]; }; + EditorDirective.propDecorators = { + text: [{ type: core.Input }], + onInput: [{ type: core.HostListener, args: ['keyup', ['$event'],] }], + onMouseleave: [{ type: core.HostListener, args: ['mouseleave', ['$event'],] }], + onBlur: [{ type: core.HostListener, args: ['blur', ['$event'],] }] + }; + return EditorDirective; + }()); + if (false) { + /** @type {?} */ + EditorDirective.prototype.text; + /** + * @type {?} + * @private + */ + EditorDirective.prototype.isIE; + /** + * @type {?} + * @private + */ + EditorDirective.prototype._selectionService; + /** + * @type {?} + * @private + */ + EditorDirective.prototype._htmlService; } - /** - * @fileoverview added by tsickle - * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc - */ - var LoadingMaskService = /** @class */ (function () { - function LoadingMaskService() { - this.onLoadingChanged = new core.EventEmitter(); - this.stopList = []; - this.requests = []; - this.stopList.push(Api.SAVE_TEXT); - this.stopList.push(Api.SAVE_OPTICAL_CODE); - this.stopList.push(Api.LOAD_DOCUMENT_PAGE); - this.stopList.push(Api.LOAD_THUMBNAILS); - this.stopList.push(Api.GET_FILE_STATUS); - this.stopList.push(Api.LOAD_PRINT); - } - /** - * @param {?} req - * @return {?} - */ - LoadingMaskService.prototype.onRequestStart = /** - * @param {?} req - * @return {?} - */ - function (req) { - /** @type {?} */ - var stop = this.stopList.find((/** - * @param {?} x - * @return {?} - */ - function (x) { return req.url.includes(x); })); - if (!stop) { - this.requests.push(req); - this.notify(); - } - }; - /** - * @param {?} req - * @return {?} - */ - LoadingMaskService.prototype.onRequestFinish = /** - * @param {?} req - * @return {?} - */ - function (req) { - /** @type {?} */ - var index = this.requests.indexOf(req); - if (index !== -1) { - this.requests.splice(index, 1); - } - this.notify(); - }; - /** - * @param {?} url - * @return {?} - */ - LoadingMaskService.prototype.addStopUrl = /** - * @param {?} url - * @return {?} - */ - function (url) { - this.stopList.push(url); - }; - /** - * @private - * @return {?} - */ - LoadingMaskService.prototype.notify = /** - * @private - * @return {?} - */ - function () { - this.onLoadingChanged.emit(this.requests.length !== 0); - }; - LoadingMaskService.decorators = [ - { type: core.Injectable } - ]; - /** @nocollapse */ - LoadingMaskService.ctorParameters = function () { return []; }; - return LoadingMaskService; - }()); - if (false) { - /** @type {?} */ - LoadingMaskService.prototype.onLoadingChanged; - /** - * @type {?} - * @private - */ - LoadingMaskService.prototype.stopList; - /** - * @type {?} - * @private - */ - LoadingMaskService.prototype.requests; + /** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ + var LoadingMaskService = /** @class */ (function () { + function LoadingMaskService() { + this.onLoadingChanged = new core.EventEmitter(); + this.stopList = []; + this.requests = []; + this.stopList.push(Api.SAVE_TEXT); + this.stopList.push(Api.SAVE_OPTICAL_CODE); + this.stopList.push(Api.LOAD_DOCUMENT_PAGE); + this.stopList.push(Api.LOAD_THUMBNAILS); + this.stopList.push(Api.GET_FILE_STATUS); + this.stopList.push(Api.LOAD_PRINT); + } + /** + * @param {?} req + * @return {?} + */ + LoadingMaskService.prototype.onRequestStart = /** + * @param {?} req + * @return {?} + */ + function (req) { + /** @type {?} */ + var stop = this.stopList.find((/** + * @param {?} x + * @return {?} + */ + function (x) { return req.url.includes(x); })); + if (!stop) { + this.requests.push(req); + this.notify(); + } + }; + /** + * @param {?} req + * @return {?} + */ + LoadingMaskService.prototype.onRequestFinish = /** + * @param {?} req + * @return {?} + */ + function (req) { + /** @type {?} */ + var index = this.requests.indexOf(req); + if (index !== -1) { + this.requests.splice(index, 1); + } + this.notify(); + }; + /** + * @param {?} url + * @return {?} + */ + LoadingMaskService.prototype.addStopUrl = /** + * @param {?} url + * @return {?} + */ + function (url) { + this.stopList.push(url); + }; + /** + * @private + * @return {?} + */ + LoadingMaskService.prototype.notify = /** + * @private + * @return {?} + */ + function () { + this.onLoadingChanged.emit(this.requests.length !== 0); + }; + LoadingMaskService.decorators = [ + { type: core.Injectable } + ]; + /** @nocollapse */ + LoadingMaskService.ctorParameters = function () { return []; }; + return LoadingMaskService; + }()); + if (false) { + /** @type {?} */ + LoadingMaskService.prototype.onLoadingChanged; + /** + * @type {?} + * @private + */ + LoadingMaskService.prototype.stopList; + /** + * @type {?} + * @private + */ + LoadingMaskService.prototype.requests; } - /** - * @fileoverview added by tsickle - * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc - */ - var LoadingMaskComponent = /** @class */ (function () { - function LoadingMaskComponent(_loadingMaskService) { - this._loadingMaskService = _loadingMaskService; - this.loadingMask = false; - } - /** - * @return {?} - */ - LoadingMaskComponent.prototype.ngOnInit = /** - * @return {?} - */ - function () { - }; - /** - * @return {?} - */ - LoadingMaskComponent.prototype.ngAfterViewInit = /** - * @return {?} - */ - function () { - var _this = this; - this._loadingMaskService - .onLoadingChanged - .subscribe((/** - * @param {?} loading - * @return {?} - */ - function (loading) { return _this.loadingMask = loading; })); - }; - LoadingMaskComponent.decorators = [ - { type: core.Component, args: [{ - selector: 'gd-loading-mask', - template: "
\n
\n  Loading... Please wait.\n
\n
\n", - styles: [".loading-wrapper{background:rgba(0,0,0,.5);width:100%;height:100%;font-size:14px;color:#fff;position:fixed;top:0;left:0;z-index:99999}.loading-message{position:absolute;left:50%;top:50%;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%)}"] - }] } - ]; - /** @nocollapse */ - LoadingMaskComponent.ctorParameters = function () { return [ - { type: LoadingMaskService } - ]; }; - LoadingMaskComponent.propDecorators = { - loadingMask: [{ type: core.Input }] - }; - return LoadingMaskComponent; - }()); - if (false) { - /** @type {?} */ - LoadingMaskComponent.prototype.loadingMask; - /** - * @type {?} - * @private - */ - LoadingMaskComponent.prototype._loadingMaskService; + /** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ + var LoadingMaskComponent = /** @class */ (function () { + function LoadingMaskComponent(_loadingMaskService) { + this._loadingMaskService = _loadingMaskService; + this.loadingMask = false; + } + /** + * @return {?} + */ + LoadingMaskComponent.prototype.ngOnInit = /** + * @return {?} + */ + function () { + }; + /** + * @return {?} + */ + LoadingMaskComponent.prototype.ngAfterViewInit = /** + * @return {?} + */ + function () { + var _this = this; + this._loadingMaskService + .onLoadingChanged + .subscribe((/** + * @param {?} loading + * @return {?} + */ + function (loading) { return _this.loadingMask = loading; })); + }; + LoadingMaskComponent.decorators = [ + { type: core.Component, args: [{ + selector: 'gd-loading-mask', + template: "
\r\n
\r\n  Loading... Please wait.\r\n
\r\n
\r\n", + styles: [".loading-wrapper{background:rgba(0,0,0,.5);width:100%;height:100%;font-size:14px;color:#fff;position:fixed;top:0;left:0;z-index:99999}.loading-message{position:absolute;left:50%;top:50%;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%)}"] + }] } + ]; + /** @nocollapse */ + LoadingMaskComponent.ctorParameters = function () { return [ + { type: LoadingMaskService } + ]; }; + LoadingMaskComponent.propDecorators = { + loadingMask: [{ type: core.Input }] + }; + return LoadingMaskComponent; + }()); + if (false) { + /** @type {?} */ + LoadingMaskComponent.prototype.loadingMask; + /** + * @type {?} + * @private + */ + LoadingMaskComponent.prototype._loadingMaskService; } - /** - * @fileoverview added by tsickle - * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc - */ - var LoadingMaskInterceptorService = /** @class */ (function () { - function LoadingMaskInterceptorService(_loadingMaskService) { - this._loadingMaskService = _loadingMaskService; - } - /** - * @param {?} req - * @param {?} next - * @return {?} - */ - LoadingMaskInterceptorService.prototype.intercept = /** - * @param {?} req - * @param {?} next - * @return {?} - */ - function (req, next) { - var _this = this; - this._loadingMaskService.onRequestStart(req); - /** @type {?} */ - var callback = (/** - * @return {?} - */ - function () { return _this._loadingMaskService.onRequestFinish(req); }); - return next.handle(req).pipe(operators.finalize(callback)); - }; - LoadingMaskInterceptorService.decorators = [ - { type: core.Injectable, args: [{ - providedIn: 'root' - },] } - ]; - /** @nocollapse */ - LoadingMaskInterceptorService.ctorParameters = function () { return [ - { type: LoadingMaskService } - ]; }; - /** @nocollapse */ LoadingMaskInterceptorService.ngInjectableDef = core.ɵɵdefineInjectable({ factory: function LoadingMaskInterceptorService_Factory() { return new LoadingMaskInterceptorService(core.ɵɵinject(LoadingMaskService)); }, token: LoadingMaskInterceptorService, providedIn: "root" }); - return LoadingMaskInterceptorService; - }()); - if (false) { - /** - * @type {?} - * @private - */ - LoadingMaskInterceptorService.prototype._loadingMaskService; + /** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ + var LoadingMaskInterceptorService = /** @class */ (function () { + function LoadingMaskInterceptorService(_loadingMaskService) { + this._loadingMaskService = _loadingMaskService; + } + /** + * @param {?} req + * @param {?} next + * @return {?} + */ + LoadingMaskInterceptorService.prototype.intercept = /** + * @param {?} req + * @param {?} next + * @return {?} + */ + function (req, next) { + var _this = this; + this._loadingMaskService.onRequestStart(req); + /** @type {?} */ + var callback = (/** + * @return {?} + */ + function () { return _this._loadingMaskService.onRequestFinish(req); }); + return next.handle(req).pipe(operators.finalize(callback)); + }; + LoadingMaskInterceptorService.decorators = [ + { type: core.Injectable, args: [{ + providedIn: 'root' + },] } + ]; + /** @nocollapse */ + LoadingMaskInterceptorService.ctorParameters = function () { return [ + { type: LoadingMaskService } + ]; }; + /** @nocollapse */ LoadingMaskInterceptorService.ngInjectableDef = core.ɵɵdefineInjectable({ factory: function LoadingMaskInterceptorService_Factory() { return new LoadingMaskInterceptorService(core.ɵɵinject(LoadingMaskService)); }, token: LoadingMaskInterceptorService, providedIn: "root" }); + return LoadingMaskInterceptorService; + }()); + if (false) { + /** + * @type {?} + * @private + */ + LoadingMaskInterceptorService.prototype._loadingMaskService; } - /** - * @fileoverview added by tsickle - * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc - */ - /** @type {?} */ - var horizontalAlignment = { - center: { - right: 'auto' - }, - left: { - right: '100%' - }, - right: { - right: '-100%' - } - }; - /** @type {?} */ - var verticalAlignment = { - center: { - top: '0px', - }, - top: { - top: '-100%', - right: '100%' - }, - bottom: { - top: 'autos' - } - }; - /** - * DropDownToggleComponent - */ - var DropDownToggleComponent = /** @class */ (function () { - function DropDownToggleComponent(dropdown) { - var _this = this; - this.dropdown = dropdown; - this.click = (/** - * @param {?} event - * @return {?} - */ - function (event) { return _this.dropdown.toggle(event); }); - } - DropDownToggleComponent.decorators = [ - { type: core.Component, args: [{ - selector: 'gd-drop-down-toggle', - template: '', - encapsulation: core.ViewEncapsulation.None, - styles: [".drop-down{position:relative}.show .drop-down-items{display:-webkit-box;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column;position:absolute;z-index:1000;min-width:100%;max-height:300px;padding:0;background-color:#fff;box-shadow:0 6px 12px rgba(0,0,0,.175);background-clip:padding-box;overflow-y:auto;overflow-x:hidden}.show .drop-down-items .drop-down-item,.show .drop-down-items gd-drop-down-item{color:#959da5;display:-webkit-box;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;flex-direction:row;-webkit-box-pack:justify;justify-content:space-between;cursor:pointer;font-size:10px;line-height:28px;min-height:28px;width:100%}.show .drop-down-items .drop-down-item fa-icon svg,.show .drop-down-items gd-drop-down-item fa-icon svg{margin:0 10px;color:#959da5}.show .drop-down-items .drop-down-item .text,.show .drop-down-items gd-drop-down-item .text{width:100%;margin-right:10px}.show .drop-down-items .drop-down-item:hover,.show .drop-down-items gd-drop-down-item:hover{background-color:#25c2d4}.show .drop-down-items .drop-down-item:hover *,.show .drop-down-items gd-drop-down-item:hover *{color:#fff}.drop-down-items{display:none}"] - }] } - ]; - /** @nocollapse */ - DropDownToggleComponent.ctorParameters = function () { return [ - { type: undefined, decorators: [{ type: core.Inject, args: [core.forwardRef((/** - * @return {?} - */ - function () { return DropDownComponent; })),] }] } - ]; }; - DropDownToggleComponent.propDecorators = { - click: [{ type: core.HostListener, args: ['click', ['$event'],] }] - }; - return DropDownToggleComponent; - }()); - if (false) { - /** @type {?} */ - DropDownToggleComponent.prototype.click; - /** @type {?} */ - DropDownToggleComponent.prototype.dropdown; - } - /** - * DropDownItemsComponent - */ - var DropDownItemsComponent = /** @class */ (function () { - function DropDownItemsComponent(dropdown) { - this.dropdown = dropdown; - } - Object.defineProperty(DropDownItemsComponent.prototype, "horizontalAlign", { - get: /** - * @return {?} - */ - function () { - return horizontalAlignment[this.dropdown.getPlacement().h].right; - }, - enumerable: true, - configurable: true - }); - Object.defineProperty(DropDownItemsComponent.prototype, "verticalAlign", { - get: /** - * @return {?} - */ - function () { - return verticalAlignment[this.dropdown.getPlacement().v].top; - }, - enumerable: true, - configurable: true - }); - Object.defineProperty(DropDownItemsComponent.prototype, "isOpen", { - get: /** - * @return {?} - */ - function () { - return this.dropdown.open; - }, - enumerable: true, - configurable: true - }); - /** - * @param {?} event - * @return {?} - */ - DropDownItemsComponent.prototype.onClickOutside = /** - * @param {?} event - * @return {?} - */ - function (event) { - this.dropdown.close(); - }; - DropDownItemsComponent.decorators = [ - { type: core.Component, args: [{ - selector: 'gd-drop-down-items', - template: '', - encapsulation: core.ViewEncapsulation.None, - styles: [".drop-down{position:relative}.show .drop-down-items{display:-webkit-box;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column;position:absolute;z-index:1000;min-width:100%;max-height:300px;padding:0;background-color:#fff;box-shadow:0 6px 12px rgba(0,0,0,.175);background-clip:padding-box;overflow-y:auto;overflow-x:hidden}.show .drop-down-items .drop-down-item,.show .drop-down-items gd-drop-down-item{color:#959da5;display:-webkit-box;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;flex-direction:row;-webkit-box-pack:justify;justify-content:space-between;cursor:pointer;font-size:10px;line-height:28px;min-height:28px;width:100%}.show .drop-down-items .drop-down-item fa-icon svg,.show .drop-down-items gd-drop-down-item fa-icon svg{margin:0 10px;color:#959da5}.show .drop-down-items .drop-down-item .text,.show .drop-down-items gd-drop-down-item .text{width:100%;margin-right:10px}.show .drop-down-items .drop-down-item:hover,.show .drop-down-items gd-drop-down-item:hover{background-color:#25c2d4}.show .drop-down-items .drop-down-item:hover *,.show .drop-down-items gd-drop-down-item:hover *{color:#fff}.drop-down-items{display:none}"] - }] } - ]; - /** @nocollapse */ - DropDownItemsComponent.ctorParameters = function () { return [ - { type: undefined, decorators: [{ type: core.Inject, args: [core.forwardRef((/** - * @return {?} - */ - function () { return DropDownComponent; })),] }] } - ]; }; - return DropDownItemsComponent; - }()); - if (false) { - /** @type {?} */ - DropDownItemsComponent.prototype.dropdown; - } - /** - * DropDownItemComponent - */ - var DropDownItemComponent = /** @class */ (function () { - function DropDownItemComponent(dropdown) { - var _this = this; - this.dropdown = dropdown; - this.class = 'drop-down-item'; - this.selected = new core.EventEmitter(); - this.click = (/** - * @return {?} - */ - function () { return _this.selectEntry(); }); - } - /** - * @return {?} - */ - DropDownItemComponent.prototype.selectEntry = /** - * @return {?} - */ - function () { - this.selected.next(); - this.dropdown.close(); - }; - DropDownItemComponent.decorators = [ - { type: core.Component, args: [{ - selector: 'gd-drop-down-item', - template: '', - styles: [".drop-down{position:relative}.show .drop-down-items{display:-webkit-box;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column;position:absolute;z-index:1000;min-width:100%;max-height:300px;padding:0;background-color:#fff;box-shadow:0 6px 12px rgba(0,0,0,.175);background-clip:padding-box;overflow-y:auto;overflow-x:hidden}.show .drop-down-items .drop-down-item,.show .drop-down-items gd-drop-down-item{color:#959da5;display:-webkit-box;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;flex-direction:row;-webkit-box-pack:justify;justify-content:space-between;cursor:pointer;font-size:10px;line-height:28px;min-height:28px;width:100%}.show .drop-down-items .drop-down-item fa-icon svg,.show .drop-down-items gd-drop-down-item fa-icon svg{margin:0 10px;color:#959da5}.show .drop-down-items .drop-down-item .text,.show .drop-down-items gd-drop-down-item .text{width:100%;margin-right:10px}.show .drop-down-items .drop-down-item:hover,.show .drop-down-items gd-drop-down-item:hover{background-color:#25c2d4}.show .drop-down-items .drop-down-item:hover *,.show .drop-down-items gd-drop-down-item:hover *{color:#fff}.drop-down-items{display:none}"] - }] } - ]; - /** @nocollapse */ - DropDownItemComponent.ctorParameters = function () { return [ - { type: undefined, decorators: [{ type: core.Inject, args: [core.forwardRef((/** - * @return {?} - */ - function () { return DropDownComponent; })),] }] } - ]; }; - DropDownItemComponent.propDecorators = { - class: [{ type: core.HostBinding, args: ['class',] }], - selected: [{ type: core.Output }], - click: [{ type: core.HostListener, args: ['click',] }] - }; - return DropDownItemComponent; - }()); - if (false) { - /** @type {?} */ - DropDownItemComponent.prototype.class; - /** @type {?} */ - DropDownItemComponent.prototype.selected; - /** @type {?} */ - DropDownItemComponent.prototype.click; - /** @type {?} */ - DropDownItemComponent.prototype.dropdown; - } - /** - * DropDownComponent - */ - var DropDownComponent = /** @class */ (function () { - function DropDownComponent() { - this.placement = { - h: "center", - v: "bottom" - }; - this.open = false; - this.class = 'drop-down'; - } - /** - * @return {?} - */ - DropDownComponent.prototype.close = /** - * @return {?} - */ - function () { - this.open = false; - }; - /** - * @param {?} event - * @return {?} - */ - DropDownComponent.prototype.toggle = /** - * @param {?} event - * @return {?} - */ - function (event) { - event.stopPropagation(); - this.open = !this.open; - document.body.click(); - }; - /** - * @return {?} - */ - DropDownComponent.prototype.getPlacement = /** - * @return {?} - */ - function () { - return this.placement; - }; - DropDownComponent.decorators = [ - { type: core.Component, args: [{ - selector: 'gd-drop-down', - template: '', - encapsulation: core.ViewEncapsulation.None, - styles: [".drop-down{position:relative}.show .drop-down-items{display:-webkit-box;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column;position:absolute;z-index:1000;min-width:100%;max-height:300px;padding:0;background-color:#fff;box-shadow:0 6px 12px rgba(0,0,0,.175);background-clip:padding-box;overflow-y:auto;overflow-x:hidden}.show .drop-down-items .drop-down-item,.show .drop-down-items gd-drop-down-item{color:#959da5;display:-webkit-box;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;flex-direction:row;-webkit-box-pack:justify;justify-content:space-between;cursor:pointer;font-size:10px;line-height:28px;min-height:28px;width:100%}.show .drop-down-items .drop-down-item fa-icon svg,.show .drop-down-items gd-drop-down-item fa-icon svg{margin:0 10px;color:#959da5}.show .drop-down-items .drop-down-item .text,.show .drop-down-items gd-drop-down-item .text{width:100%;margin-right:10px}.show .drop-down-items .drop-down-item:hover,.show .drop-down-items gd-drop-down-item:hover{background-color:#25c2d4}.show .drop-down-items .drop-down-item:hover *,.show .drop-down-items gd-drop-down-item:hover *{color:#fff}.drop-down-items{display:none}"] - }] } - ]; - DropDownComponent.propDecorators = { - placement: [{ type: core.Input }], - open: [{ type: core.Input }, { type: core.HostBinding, args: ['class.show',] }], - class: [{ type: core.HostBinding, args: ['class',] }] - }; - return DropDownComponent; - }()); - if (false) { - /** @type {?} */ - DropDownComponent.prototype.placement; - /** @type {?} */ - DropDownComponent.prototype.open; - /** @type {?} */ - DropDownComponent.prototype.class; + /** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ + /** @type {?} */ + var horizontalAlignment = { + center: { + right: 'auto' + }, + left: { + right: '100%' + }, + right: { + right: '-100%' + } + }; + /** @type {?} */ + var verticalAlignment = { + center: { + top: '0px', + }, + top: { + top: '-100%', + right: '100%' + }, + bottom: { + top: 'autos' + } + }; + /** + * DropDownToggleComponent + */ + var DropDownToggleComponent = /** @class */ (function () { + function DropDownToggleComponent(dropdown) { + var _this = this; + this.dropdown = dropdown; + this.click = (/** + * @param {?} event + * @return {?} + */ + function (event) { return _this.dropdown.toggle(event); }); + } + DropDownToggleComponent.decorators = [ + { type: core.Component, args: [{ + selector: 'gd-drop-down-toggle', + template: '', + encapsulation: core.ViewEncapsulation.None, + styles: [".drop-down{position:relative}.show .drop-down-items{display:-webkit-box;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column;position:absolute;z-index:1000;min-width:100%;max-height:300px;padding:0;background-color:#fff;box-shadow:0 6px 12px rgba(0,0,0,.175);background-clip:padding-box;overflow-y:auto;overflow-x:hidden}.show .drop-down-items .drop-down-item,.show .drop-down-items gd-drop-down-item{color:#959da5;display:-webkit-box;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;flex-direction:row;-webkit-box-pack:justify;justify-content:space-between;cursor:pointer;font-size:10px;line-height:28px;min-height:28px;width:100%}.show .drop-down-items .drop-down-item fa-icon svg,.show .drop-down-items gd-drop-down-item fa-icon svg{margin:0 10px;color:#959da5}.show .drop-down-items .drop-down-item .text,.show .drop-down-items gd-drop-down-item .text{width:100%;margin-right:10px}.show .drop-down-items .drop-down-item:hover,.show .drop-down-items gd-drop-down-item:hover{background-color:#25c2d4}.show .drop-down-items .drop-down-item:hover *,.show .drop-down-items gd-drop-down-item:hover *{color:#fff}.drop-down-items{display:none}"] + }] } + ]; + /** @nocollapse */ + DropDownToggleComponent.ctorParameters = function () { return [ + { type: undefined, decorators: [{ type: core.Inject, args: [core.forwardRef((/** + * @return {?} + */ + function () { return DropDownComponent; })),] }] } + ]; }; + DropDownToggleComponent.propDecorators = { + click: [{ type: core.HostListener, args: ['click', ['$event'],] }] + }; + return DropDownToggleComponent; + }()); + if (false) { + /** @type {?} */ + DropDownToggleComponent.prototype.click; + /** @type {?} */ + DropDownToggleComponent.prototype.dropdown; + } + /** + * DropDownItemsComponent + */ + var DropDownItemsComponent = /** @class */ (function () { + function DropDownItemsComponent(dropdown) { + this.dropdown = dropdown; + } + Object.defineProperty(DropDownItemsComponent.prototype, "horizontalAlign", { + get: /** + * @return {?} + */ + function () { + return horizontalAlignment[this.dropdown.getPlacement().h].right; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(DropDownItemsComponent.prototype, "verticalAlign", { + get: /** + * @return {?} + */ + function () { + return verticalAlignment[this.dropdown.getPlacement().v].top; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(DropDownItemsComponent.prototype, "isOpen", { + get: /** + * @return {?} + */ + function () { + return this.dropdown.open; + }, + enumerable: true, + configurable: true + }); + /** + * @param {?} event + * @return {?} + */ + DropDownItemsComponent.prototype.onClickOutside = /** + * @param {?} event + * @return {?} + */ + function (event) { + this.dropdown.close(); + }; + DropDownItemsComponent.decorators = [ + { type: core.Component, args: [{ + selector: 'gd-drop-down-items', + template: '', + encapsulation: core.ViewEncapsulation.None, + styles: [".drop-down{position:relative}.show .drop-down-items{display:-webkit-box;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column;position:absolute;z-index:1000;min-width:100%;max-height:300px;padding:0;background-color:#fff;box-shadow:0 6px 12px rgba(0,0,0,.175);background-clip:padding-box;overflow-y:auto;overflow-x:hidden}.show .drop-down-items .drop-down-item,.show .drop-down-items gd-drop-down-item{color:#959da5;display:-webkit-box;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;flex-direction:row;-webkit-box-pack:justify;justify-content:space-between;cursor:pointer;font-size:10px;line-height:28px;min-height:28px;width:100%}.show .drop-down-items .drop-down-item fa-icon svg,.show .drop-down-items gd-drop-down-item fa-icon svg{margin:0 10px;color:#959da5}.show .drop-down-items .drop-down-item .text,.show .drop-down-items gd-drop-down-item .text{width:100%;margin-right:10px}.show .drop-down-items .drop-down-item:hover,.show .drop-down-items gd-drop-down-item:hover{background-color:#25c2d4}.show .drop-down-items .drop-down-item:hover *,.show .drop-down-items gd-drop-down-item:hover *{color:#fff}.drop-down-items{display:none}"] + }] } + ]; + /** @nocollapse */ + DropDownItemsComponent.ctorParameters = function () { return [ + { type: undefined, decorators: [{ type: core.Inject, args: [core.forwardRef((/** + * @return {?} + */ + function () { return DropDownComponent; })),] }] } + ]; }; + return DropDownItemsComponent; + }()); + if (false) { + /** @type {?} */ + DropDownItemsComponent.prototype.dropdown; + } + /** + * DropDownItemComponent + */ + var DropDownItemComponent = /** @class */ (function () { + function DropDownItemComponent(dropdown) { + var _this = this; + this.dropdown = dropdown; + this.class = 'drop-down-item'; + this.selected = new core.EventEmitter(); + this.click = (/** + * @return {?} + */ + function () { return _this.selectEntry(); }); + } + /** + * @return {?} + */ + DropDownItemComponent.prototype.selectEntry = /** + * @return {?} + */ + function () { + this.selected.next(); + this.dropdown.close(); + }; + DropDownItemComponent.decorators = [ + { type: core.Component, args: [{ + selector: 'gd-drop-down-item', + template: '', + styles: [".drop-down{position:relative}.show .drop-down-items{display:-webkit-box;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column;position:absolute;z-index:1000;min-width:100%;max-height:300px;padding:0;background-color:#fff;box-shadow:0 6px 12px rgba(0,0,0,.175);background-clip:padding-box;overflow-y:auto;overflow-x:hidden}.show .drop-down-items .drop-down-item,.show .drop-down-items gd-drop-down-item{color:#959da5;display:-webkit-box;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;flex-direction:row;-webkit-box-pack:justify;justify-content:space-between;cursor:pointer;font-size:10px;line-height:28px;min-height:28px;width:100%}.show .drop-down-items .drop-down-item fa-icon svg,.show .drop-down-items gd-drop-down-item fa-icon svg{margin:0 10px;color:#959da5}.show .drop-down-items .drop-down-item .text,.show .drop-down-items gd-drop-down-item .text{width:100%;margin-right:10px}.show .drop-down-items .drop-down-item:hover,.show .drop-down-items gd-drop-down-item:hover{background-color:#25c2d4}.show .drop-down-items .drop-down-item:hover *,.show .drop-down-items gd-drop-down-item:hover *{color:#fff}.drop-down-items{display:none}"] + }] } + ]; + /** @nocollapse */ + DropDownItemComponent.ctorParameters = function () { return [ + { type: undefined, decorators: [{ type: core.Inject, args: [core.forwardRef((/** + * @return {?} + */ + function () { return DropDownComponent; })),] }] } + ]; }; + DropDownItemComponent.propDecorators = { + class: [{ type: core.HostBinding, args: ['class',] }], + selected: [{ type: core.Output }], + click: [{ type: core.HostListener, args: ['click',] }] + }; + return DropDownItemComponent; + }()); + if (false) { + /** @type {?} */ + DropDownItemComponent.prototype.class; + /** @type {?} */ + DropDownItemComponent.prototype.selected; + /** @type {?} */ + DropDownItemComponent.prototype.click; + /** @type {?} */ + DropDownItemComponent.prototype.dropdown; + } + /** + * DropDownComponent + */ + var DropDownComponent = /** @class */ (function () { + function DropDownComponent() { + this.placement = { + h: "center", + v: "bottom" + }; + this.open = false; + this.class = 'drop-down'; + } + /** + * @return {?} + */ + DropDownComponent.prototype.close = /** + * @return {?} + */ + function () { + this.open = false; + }; + /** + * @param {?} event + * @return {?} + */ + DropDownComponent.prototype.toggle = /** + * @param {?} event + * @return {?} + */ + function (event) { + event.stopPropagation(); + this.open = !this.open; + document.body.click(); + }; + /** + * @return {?} + */ + DropDownComponent.prototype.getPlacement = /** + * @return {?} + */ + function () { + return this.placement; + }; + DropDownComponent.decorators = [ + { type: core.Component, args: [{ + selector: 'gd-drop-down', + template: '', + encapsulation: core.ViewEncapsulation.None, + styles: [".drop-down{position:relative}.show .drop-down-items{display:-webkit-box;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column;position:absolute;z-index:1000;min-width:100%;max-height:300px;padding:0;background-color:#fff;box-shadow:0 6px 12px rgba(0,0,0,.175);background-clip:padding-box;overflow-y:auto;overflow-x:hidden}.show .drop-down-items .drop-down-item,.show .drop-down-items gd-drop-down-item{color:#959da5;display:-webkit-box;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;flex-direction:row;-webkit-box-pack:justify;justify-content:space-between;cursor:pointer;font-size:10px;line-height:28px;min-height:28px;width:100%}.show .drop-down-items .drop-down-item fa-icon svg,.show .drop-down-items gd-drop-down-item fa-icon svg{margin:0 10px;color:#959da5}.show .drop-down-items .drop-down-item .text,.show .drop-down-items gd-drop-down-item .text{width:100%;margin-right:10px}.show .drop-down-items .drop-down-item:hover,.show .drop-down-items gd-drop-down-item:hover{background-color:#25c2d4}.show .drop-down-items .drop-down-item:hover *,.show .drop-down-items gd-drop-down-item:hover *{color:#fff}.drop-down-items{display:none}"] + }] } + ]; + DropDownComponent.propDecorators = { + placement: [{ type: core.Input }], + open: [{ type: core.Input }, { type: core.HostBinding, args: ['class.show',] }], + class: [{ type: core.HostBinding, args: ['class',] }] + }; + return DropDownComponent; + }()); + if (false) { + /** @type {?} */ + DropDownComponent.prototype.placement; + /** @type {?} */ + DropDownComponent.prototype.open; + /** @type {?} */ + DropDownComponent.prototype.class; } - /** - * @fileoverview added by tsickle - * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc - */ - var LeftSideBarComponent = /** @class */ (function () { - function LeftSideBarComponent() { - this.showSpinner = false; - } - /** - * @return {?} - */ - LeftSideBarComponent.prototype.ngOnInit = /** - * @return {?} - */ - function () { - }; - LeftSideBarComponent.decorators = [ - { type: core.Component, args: [{ - selector: 'gd-left-side-bar', - template: "
\n
\n
 Loading...\n
\n
\n \n
\n", - styles: [".left-panel{border-radius:0;float:left}.gd-left-bar-fade{margin:auto;overflow:hidden;-webkit-overflow-scrolling:touch;-webkit-transition:-webkit-transform .3s ease-out;transition:transform .3s ease-out;transition:transform .3s ease-out,-webkit-transform .3s ease-out;width:100%;height:100%;display:-webkit-box;display:flex;-webkit-box-pack:center;justify-content:center;-webkit-box-align:center;align-items:center;position:fixed;z-index:1000}@media (max-width:1037px){.gd-left-bar-fade{top:100px;right:0}.gd-left-bar-spinner{top:20%}}"] - }] } - ]; - /** @nocollapse */ - LeftSideBarComponent.ctorParameters = function () { return []; }; - LeftSideBarComponent.propDecorators = { - showSpinner: [{ type: core.Input }] - }; - return LeftSideBarComponent; - }()); - if (false) { - /** @type {?} */ - LeftSideBarComponent.prototype.showSpinner; + /** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ + var LeftSideBarComponent = /** @class */ (function () { + function LeftSideBarComponent() { + this.showSpinner = false; + } + /** + * @return {?} + */ + LeftSideBarComponent.prototype.ngOnInit = /** + * @return {?} + */ + function () { + }; + LeftSideBarComponent.decorators = [ + { type: core.Component, args: [{ + selector: 'gd-left-side-bar', + template: "
\r\n
\r\n
 Loading...\r\n
\r\n
\r\n \r\n
\r\n", + styles: [".left-panel{border-radius:0;float:left}.gd-left-bar-fade{margin:auto;overflow:hidden;-webkit-overflow-scrolling:touch;-webkit-transition:-webkit-transform .3s ease-out;transition:transform .3s ease-out;transition:transform .3s ease-out,-webkit-transform .3s ease-out;width:100%;height:100%;display:-webkit-box;display:flex;-webkit-box-pack:center;justify-content:center;-webkit-box-align:center;align-items:center;position:fixed;z-index:1000}@media (max-width:1037px){.gd-left-bar-fade{top:100px;right:0}.gd-left-bar-spinner{top:20%}}"] + }] } + ]; + /** @nocollapse */ + LeftSideBarComponent.ctorParameters = function () { return []; }; + LeftSideBarComponent.propDecorators = { + showSpinner: [{ type: core.Input }] + }; + return LeftSideBarComponent; + }()); + if (false) { + /** @type {?} */ + LeftSideBarComponent.prototype.showSpinner; } - /** - * @fileoverview added by tsickle - * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc - */ - var TooltipDirective = /** @class */ (function () { - function TooltipDirective() { - this.showToolTip = new core.EventEmitter(); - } - /** - * @return {?} - */ - TooltipDirective.prototype.onHovering = /** - * @return {?} - */ - function () { - this.showToolTip.emit(true); - }; - /** - * @return {?} - */ - TooltipDirective.prototype.onUnhovering = /** - * @return {?} - */ - function () { - this.showToolTip.emit(false); - }; - TooltipDirective.decorators = [ - { type: core.Directive, args: [{ - selector: '[gdTooltip]' - },] } - ]; - /** @nocollapse */ - TooltipDirective.ctorParameters = function () { return []; }; - TooltipDirective.propDecorators = { - showToolTip: [{ type: core.Output }], - onHovering: [{ type: core.HostListener, args: ['mouseenter',] }], - onUnhovering: [{ type: core.HostListener, args: ['mouseleave',] }] - }; - return TooltipDirective; - }()); - if (false) { - /** @type {?} */ - TooltipDirective.prototype.showToolTip; + /** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ + var TooltipDirective = /** @class */ (function () { + function TooltipDirective() { + this.showToolTip = new core.EventEmitter(); + } + /** + * @return {?} + */ + TooltipDirective.prototype.onHovering = /** + * @return {?} + */ + function () { + this.showToolTip.emit(true); + }; + /** + * @return {?} + */ + TooltipDirective.prototype.onUnhovering = /** + * @return {?} + */ + function () { + this.showToolTip.emit(false); + }; + TooltipDirective.decorators = [ + { type: core.Directive, args: [{ + selector: '[gdTooltip]' + },] } + ]; + /** @nocollapse */ + TooltipDirective.ctorParameters = function () { return []; }; + TooltipDirective.propDecorators = { + showToolTip: [{ type: core.Output }], + onHovering: [{ type: core.HostListener, args: ['mouseenter',] }], + onUnhovering: [{ type: core.HostListener, args: ['mouseleave',] }] + }; + return TooltipDirective; + }()); + if (false) { + /** @type {?} */ + TooltipDirective.prototype.showToolTip; } - /** - * @fileoverview added by tsickle - * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc - */ - var AddDynamicComponentService = /** @class */ (function () { - function AddDynamicComponentService(_factoryResolver, _appRef) { - this._factoryResolver = _factoryResolver; - this._appRef = _appRef; - } - /** - * @param {?} viewContainerRef - * @param {?} component - * @return {?} - */ - AddDynamicComponentService.prototype.addDynamicComponent = /** - * @param {?} viewContainerRef - * @param {?} component - * @return {?} - */ - function (viewContainerRef, component) { - var _this = this; - /** @type {?} */ - var factory = this._factoryResolver.resolveComponentFactory(component); - /** @type {?} */ - var componentRef = viewContainerRef.createComponent(factory); - componentRef.onDestroy((/** - * @return {?} - */ - function () { - _this._appRef.detachView(componentRef.hostView); - })); - return componentRef; - }; - AddDynamicComponentService.decorators = [ - { type: core.Injectable, args: [{ - providedIn: 'root' - },] } - ]; - /** @nocollapse */ - AddDynamicComponentService.ctorParameters = function () { return [ - { type: core.ComponentFactoryResolver }, - { type: core.ApplicationRef } - ]; }; - /** @nocollapse */ AddDynamicComponentService.ngInjectableDef = core.ɵɵdefineInjectable({ factory: function AddDynamicComponentService_Factory() { return new AddDynamicComponentService(core.ɵɵinject(core.ComponentFactoryResolver), core.ɵɵinject(core.ApplicationRef)); }, token: AddDynamicComponentService, providedIn: "root" }); - return AddDynamicComponentService; - }()); - if (false) { - /** - * @type {?} - * @private - */ - AddDynamicComponentService.prototype._factoryResolver; - /** - * @type {?} - * @private - */ - AddDynamicComponentService.prototype._appRef; + /** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ + var AddDynamicComponentService = /** @class */ (function () { + function AddDynamicComponentService(_factoryResolver, _appRef) { + this._factoryResolver = _factoryResolver; + this._appRef = _appRef; + } + /** + * @param {?} viewContainerRef + * @param {?} component + * @return {?} + */ + AddDynamicComponentService.prototype.addDynamicComponent = /** + * @param {?} viewContainerRef + * @param {?} component + * @return {?} + */ + function (viewContainerRef, component) { + var _this = this; + /** @type {?} */ + var factory = this._factoryResolver.resolveComponentFactory(component); + /** @type {?} */ + var componentRef = viewContainerRef.createComponent(factory); + componentRef.onDestroy((/** + * @return {?} + */ + function () { + _this._appRef.detachView(componentRef.hostView); + })); + return componentRef; + }; + AddDynamicComponentService.decorators = [ + { type: core.Injectable, args: [{ + providedIn: 'root' + },] } + ]; + /** @nocollapse */ + AddDynamicComponentService.ctorParameters = function () { return [ + { type: core.ComponentFactoryResolver }, + { type: core.ApplicationRef } + ]; }; + /** @nocollapse */ AddDynamicComponentService.ngInjectableDef = core.ɵɵdefineInjectable({ factory: function AddDynamicComponentService_Factory() { return new AddDynamicComponentService(core.ɵɵinject(core.ComponentFactoryResolver), core.ɵɵinject(core.ApplicationRef)); }, token: AddDynamicComponentService, providedIn: "root" }); + return AddDynamicComponentService; + }()); + if (false) { + /** + * @type {?} + * @private + */ + AddDynamicComponentService.prototype._factoryResolver; + /** + * @type {?} + * @private + */ + AddDynamicComponentService.prototype._appRef; } - /** - * @fileoverview added by tsickle - * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc - */ - var HostingDynamicComponentService = /** @class */ (function () { - function HostingDynamicComponentService() { - this.hosts = []; - } - /** - * @param {?} host - * @return {?} - */ - HostingDynamicComponentService.prototype.add = /** - * @param {?} host - * @return {?} - */ - function (host) { - this.hosts = this.hosts.filter((/** - * @param {?} h - * @return {?} - */ - function (h) { - return h.ident !== host.ident; - })); - this.hosts.push(host); - }; - /** - * @param {?} host - * @return {?} - */ - HostingDynamicComponentService.prototype.remove = /** - * @param {?} host - * @return {?} - */ - function (host) { - this.hosts = this.hosts.filter((/** - * @param {?} h - * @return {?} - */ - function (h) { - return h.ident !== host.ident; - })); - }; - /** - * @param {?} ident - * @return {?} - */ - HostingDynamicComponentService.prototype.find = /** - * @param {?} ident - * @return {?} - */ - function (ident) { - return this.hosts.find((/** - * @param {?} h - * @return {?} - */ - function (h) { - return h.ident === ident; - })); - }; - return HostingDynamicComponentService; - }()); - if (false) { - /** - * @type {?} - * @private - */ - HostingDynamicComponentService.prototype.hosts; + /** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ + var HostingDynamicComponentService = /** @class */ (function () { + function HostingDynamicComponentService() { + this.hosts = []; + } + /** + * @param {?} host + * @return {?} + */ + HostingDynamicComponentService.prototype.add = /** + * @param {?} host + * @return {?} + */ + function (host) { + this.hosts = this.hosts.filter((/** + * @param {?} h + * @return {?} + */ + function (h) { + return h.ident !== host.ident; + })); + this.hosts.push(host); + }; + /** + * @param {?} host + * @return {?} + */ + HostingDynamicComponentService.prototype.remove = /** + * @param {?} host + * @return {?} + */ + function (host) { + this.hosts = this.hosts.filter((/** + * @param {?} h + * @return {?} + */ + function (h) { + return h.ident !== host.ident; + })); + }; + /** + * @param {?} ident + * @return {?} + */ + HostingDynamicComponentService.prototype.find = /** + * @param {?} ident + * @return {?} + */ + function (ident) { + return this.hosts.find((/** + * @param {?} h + * @return {?} + */ + function (h) { + return h.ident === ident; + })); + }; + return HostingDynamicComponentService; + }()); + if (false) { + /** + * @type {?} + * @private + */ + HostingDynamicComponentService.prototype.hosts; } - /** - * @fileoverview added by tsickle - * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc - */ - var HostDynamicDirective = /** @class */ (function () { - function HostDynamicDirective(viewContainerRef, _hostingService) { - this.viewContainerRef = viewContainerRef; - this._hostingService = _hostingService; - } - /** - * @return {?} - */ - HostDynamicDirective.prototype.ngAfterViewInit = /** - * @return {?} - */ - function () { - this._hostingService.add(this); - }; - /** - * @return {?} - */ - HostDynamicDirective.prototype.ngOnDestroy = /** - * @return {?} - */ - function () { - this._hostingService.remove(this); - this.viewContainerRef.clear(); - }; - HostDynamicDirective.decorators = [ - { type: core.Directive, args: [{ - selector: '[gdHostDynamic]' - },] } - ]; - /** @nocollapse */ - HostDynamicDirective.ctorParameters = function () { return [ - { type: core.ViewContainerRef }, - { type: HostingDynamicComponentService } - ]; }; - HostDynamicDirective.propDecorators = { - ident: [{ type: core.Input }] - }; - return HostDynamicDirective; - }()); - if (false) { - /** @type {?} */ - HostDynamicDirective.prototype.ident; - /** @type {?} */ - HostDynamicDirective.prototype.viewContainerRef; - /** - * @type {?} - * @private - */ - HostDynamicDirective.prototype._hostingService; + /** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ + var HostDynamicDirective = /** @class */ (function () { + function HostDynamicDirective(viewContainerRef, _hostingService) { + this.viewContainerRef = viewContainerRef; + this._hostingService = _hostingService; + } + /** + * @return {?} + */ + HostDynamicDirective.prototype.ngAfterViewInit = /** + * @return {?} + */ + function () { + this._hostingService.add(this); + }; + /** + * @return {?} + */ + HostDynamicDirective.prototype.ngOnDestroy = /** + * @return {?} + */ + function () { + this._hostingService.remove(this); + this.viewContainerRef.clear(); + }; + HostDynamicDirective.decorators = [ + { type: core.Directive, args: [{ + selector: '[gdHostDynamic]' + },] } + ]; + /** @nocollapse */ + HostDynamicDirective.ctorParameters = function () { return [ + { type: core.ViewContainerRef }, + { type: HostingDynamicComponentService } + ]; }; + HostDynamicDirective.propDecorators = { + ident: [{ type: core.Input }] + }; + return HostDynamicDirective; + }()); + if (false) { + /** @type {?} */ + HostDynamicDirective.prototype.ident; + /** @type {?} */ + HostDynamicDirective.prototype.viewContainerRef; + /** + * @type {?} + * @private + */ + HostDynamicDirective.prototype._hostingService; } - /** - * @fileoverview added by tsickle - * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc - */ - /** @type {?} */ - var $$8 = jquery; - var ResizingComponent = /** @class */ (function () { - function ResizingComponent() { - this.se = false; - this.ne = false; - this.sw = false; - this.nw = false; - this.SE = 'se'; - this.NE = 'ne'; - this.SW = 'sw'; - this.NW = 'nw'; - this.offsetX = new core.EventEmitter(); - this.offsetY = new core.EventEmitter(); - this.offsetTop = new core.EventEmitter(); - this.offsetLeft = new core.EventEmitter(); - this.release = new core.EventEmitter(); - this.grab = false; - } - /** - * @return {?} - */ - ResizingComponent.prototype.ngAfterViewInit = /** - * @return {?} - */ - function () { - var _this = this; - /** @type {?} */ - var elSE = $$8(this.getElementId(this.SE)); - /** @type {?} */ - var elNW = $$8(this.getElementId(this.NW)); - if (this.init && elSE && elNW && elSE.offset() && elNW.offset()) { - /** @type {?} */ - var width_1 = elSE.offset().left - elNW.offset().left; - /** @type {?} */ - var height_1 = elSE.offset().top - elNW.offset().top; - while (width_1 >= this.pageWidth || height_1 >= this.pageHeight) { - width_1 = width_1 / 2; - height_1 = height_1 / 2; - } - setTimeout((/** - * @return {?} - */ - function () { - _this.offsetX.emit(width_1); - _this.offsetY.emit(height_1); - }), 100); - } - }; - /** - * @return {?} - */ - ResizingComponent.prototype.ngOnInit = /** - * @return {?} - */ - function () { - }; - /** - * @param {?} $event - * @return {?} - */ - ResizingComponent.prototype.catchUp = /** - * @param {?} $event - * @return {?} - */ - function ($event) { - // ff - $event.preventDefault(); - if ($event.dataTransfer) { // ff - $event.dataTransfer.setData('text', 'foo'); - } - this.grab = true; - this.oldPosition = Utils.getMousePosition($event); - }; - /** - * @param {?} $event - * @param {?} el - * @return {?} - */ - ResizingComponent.prototype.resize = /** - * @param {?} $event - * @param {?} el - * @return {?} - */ - function ($event, el) { - if (!this.grab) { - return; - } - /** @type {?} */ - var position = Utils.getMousePosition($event); - if (position.x === 0 && position.y === 0) { - return; - } - /** @type {?} */ - var notSW = this.NE === el || this.NW === el; - /** @type {?} */ - var notNE = this.SW === el || this.NW === el; - this.setOffsets(position, notNE, notSW); - if (notSW) { - this.offsetTop.emit(position.y - this.oldPosition.y); - } - if (notNE) { - this.offsetLeft.emit(position.x - this.oldPosition.x); - } - this.oldPosition = position; - }; - /** - * @private - * @param {?} position - * @param {?} x - * @param {?} y - * @return {?} - */ - ResizingComponent.prototype.setOffsets = /** - * @private - * @param {?} position - * @param {?} x - * @param {?} y - * @return {?} - */ - function (position, x, y) { - /** @type {?} */ - var offsetX = x ? this.oldPosition.x - position.x : position.x - this.oldPosition.x; - /** @type {?} */ - var offsetY = y ? this.oldPosition.y - position.y : position.y - this.oldPosition.y; - this.offsetX.emit(offsetX); - this.offsetY.emit(offsetY); - }; - /** - * @param {?} $event - * @param {?} el - * @return {?} - */ - ResizingComponent.prototype.end = /** - * @param {?} $event - * @param {?} el - * @return {?} - */ - function ($event, el) { - // ff - this.resize($event, el); - this.release.emit(true); - this.grab = false; - }; - /** - * @param {?} $event - * @return {?} - */ - ResizingComponent.prototype.start = /** - * @param {?} $event - * @return {?} - */ - function ($event) { - this.drop($event); - }; - /** - * @param {?} $event - * @return {?} - */ - ResizingComponent.prototype.drop = /** - * @param {?} $event - * @return {?} - */ - function ($event) { - $event.stopPropagation(); - $event.preventDefault(); - }; - /** - * @private - * @param {?} el - * @return {?} - */ - ResizingComponent.prototype.getElementId = /** - * @private - * @param {?} el - * @return {?} - */ - function (el) { - return "#" + el + "-" + this.id; - }; - ResizingComponent.decorators = [ - { type: core.Component, args: [{ - selector: 'gd-resizing', - template: "
\n\n
\n\n
\n\n
\n", - styles: [".ui-resizable-handle{background-color:#679ffa;width:8px;height:8px;border-radius:100%;position:absolute;font-size:.1px;display:block}.se-resize{bottom:-5px;right:-5px;cursor:se-resize}.ne-resize{top:-5px;right:-5px;cursor:ne-resize}.sw-resize{bottom:-5px;left:-5px;cursor:sw-resize}.nw-resize{top:-5px;left:-5px;cursor:nw-resize}"] - }] } - ]; - /** @nocollapse */ - ResizingComponent.ctorParameters = function () { return []; }; - ResizingComponent.propDecorators = { - init: [{ type: core.Input }], - id: [{ type: core.Input }], - se: [{ type: core.Input }], - ne: [{ type: core.Input }], - sw: [{ type: core.Input }], - nw: [{ type: core.Input }], - pageWidth: [{ type: core.Input }], - pageHeight: [{ type: core.Input }], - offsetX: [{ type: core.Output }], - offsetY: [{ type: core.Output }], - offsetTop: [{ type: core.Output }], - offsetLeft: [{ type: core.Output }], - release: [{ type: core.Output }] - }; - return ResizingComponent; - }()); - if (false) { - /** @type {?} */ - ResizingComponent.prototype.init; - /** @type {?} */ - ResizingComponent.prototype.id; - /** @type {?} */ - ResizingComponent.prototype.se; - /** @type {?} */ - ResizingComponent.prototype.ne; - /** @type {?} */ - ResizingComponent.prototype.sw; - /** @type {?} */ - ResizingComponent.prototype.nw; - /** @type {?} */ - ResizingComponent.prototype.pageWidth; - /** @type {?} */ - ResizingComponent.prototype.pageHeight; - /** @type {?} */ - ResizingComponent.prototype.SE; - /** @type {?} */ - ResizingComponent.prototype.NE; - /** @type {?} */ - ResizingComponent.prototype.SW; - /** @type {?} */ - ResizingComponent.prototype.NW; - /** @type {?} */ - ResizingComponent.prototype.offsetX; - /** @type {?} */ - ResizingComponent.prototype.offsetY; - /** @type {?} */ - ResizingComponent.prototype.offsetTop; - /** @type {?} */ - ResizingComponent.prototype.offsetLeft; - /** @type {?} */ - ResizingComponent.prototype.release; - /** - * @type {?} - * @private - */ - ResizingComponent.prototype.grab; - /** - * @type {?} - * @private - */ - ResizingComponent.prototype.oldPosition; + /** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ + /** @type {?} */ + var $$8 = jquery; + var ResizingComponent = /** @class */ (function () { + function ResizingComponent() { + this.se = false; + this.ne = false; + this.sw = false; + this.nw = false; + this.SE = 'se'; + this.NE = 'ne'; + this.SW = 'sw'; + this.NW = 'nw'; + this.offsetX = new core.EventEmitter(); + this.offsetY = new core.EventEmitter(); + this.offsetTop = new core.EventEmitter(); + this.offsetLeft = new core.EventEmitter(); + this.release = new core.EventEmitter(); + this.grab = false; + } + /** + * @return {?} + */ + ResizingComponent.prototype.ngAfterViewInit = /** + * @return {?} + */ + function () { + var _this = this; + /** @type {?} */ + var elSE = $$8(this.getElementId(this.SE)); + /** @type {?} */ + var elNW = $$8(this.getElementId(this.NW)); + if (this.init && elSE && elNW && elSE.offset() && elNW.offset()) { + /** @type {?} */ + var width_1 = elSE.offset().left - elNW.offset().left; + /** @type {?} */ + var height_1 = elSE.offset().top - elNW.offset().top; + while (width_1 >= this.pageWidth || height_1 >= this.pageHeight) { + width_1 = width_1 / 2; + height_1 = height_1 / 2; + } + setTimeout((/** + * @return {?} + */ + function () { + _this.offsetX.emit(width_1); + _this.offsetY.emit(height_1); + }), 100); + } + }; + /** + * @return {?} + */ + ResizingComponent.prototype.ngOnInit = /** + * @return {?} + */ + function () { + }; + /** + * @param {?} $event + * @return {?} + */ + ResizingComponent.prototype.catchUp = /** + * @param {?} $event + * @return {?} + */ + function ($event) { + // ff + $event.preventDefault(); + if ($event.dataTransfer) { // ff + $event.dataTransfer.setData('text', 'foo'); + } + this.grab = true; + this.oldPosition = Utils.getMousePosition($event); + }; + /** + * @param {?} $event + * @param {?} el + * @return {?} + */ + ResizingComponent.prototype.resize = /** + * @param {?} $event + * @param {?} el + * @return {?} + */ + function ($event, el) { + if (!this.grab) { + return; + } + /** @type {?} */ + var position = Utils.getMousePosition($event); + if (position.x === 0 && position.y === 0) { + return; + } + /** @type {?} */ + var notSW = this.NE === el || this.NW === el; + /** @type {?} */ + var notNE = this.SW === el || this.NW === el; + this.setOffsets(position, notNE, notSW); + if (notSW) { + this.offsetTop.emit(position.y - this.oldPosition.y); + } + if (notNE) { + this.offsetLeft.emit(position.x - this.oldPosition.x); + } + this.oldPosition = position; + }; + /** + * @private + * @param {?} position + * @param {?} x + * @param {?} y + * @return {?} + */ + ResizingComponent.prototype.setOffsets = /** + * @private + * @param {?} position + * @param {?} x + * @param {?} y + * @return {?} + */ + function (position, x, y) { + /** @type {?} */ + var offsetX = x ? this.oldPosition.x - position.x : position.x - this.oldPosition.x; + /** @type {?} */ + var offsetY = y ? this.oldPosition.y - position.y : position.y - this.oldPosition.y; + this.offsetX.emit(offsetX); + this.offsetY.emit(offsetY); + }; + /** + * @param {?} $event + * @param {?} el + * @return {?} + */ + ResizingComponent.prototype.end = /** + * @param {?} $event + * @param {?} el + * @return {?} + */ + function ($event, el) { + // ff + this.resize($event, el); + this.release.emit(true); + this.grab = false; + }; + /** + * @param {?} $event + * @return {?} + */ + ResizingComponent.prototype.start = /** + * @param {?} $event + * @return {?} + */ + function ($event) { + this.drop($event); + }; + /** + * @param {?} $event + * @return {?} + */ + ResizingComponent.prototype.drop = /** + * @param {?} $event + * @return {?} + */ + function ($event) { + $event.stopPropagation(); + $event.preventDefault(); + }; + /** + * @private + * @param {?} el + * @return {?} + */ + ResizingComponent.prototype.getElementId = /** + * @private + * @param {?} el + * @return {?} + */ + function (el) { + return "#" + el + "-" + this.id; + }; + ResizingComponent.decorators = [ + { type: core.Component, args: [{ + selector: 'gd-resizing', + template: "
\r\n\r\n
\r\n\r\n
\r\n\r\n
\r\n", + styles: [".ui-resizable-handle{background-color:#679ffa;width:8px;height:8px;border-radius:100%;position:absolute;font-size:.1px;display:block}.se-resize{bottom:-5px;right:-5px;cursor:se-resize}.ne-resize{top:-5px;right:-5px;cursor:ne-resize}.sw-resize{bottom:-5px;left:-5px;cursor:sw-resize}.nw-resize{top:-5px;left:-5px;cursor:nw-resize}"] + }] } + ]; + /** @nocollapse */ + ResizingComponent.ctorParameters = function () { return []; }; + ResizingComponent.propDecorators = { + init: [{ type: core.Input }], + id: [{ type: core.Input }], + se: [{ type: core.Input }], + ne: [{ type: core.Input }], + sw: [{ type: core.Input }], + nw: [{ type: core.Input }], + pageWidth: [{ type: core.Input }], + pageHeight: [{ type: core.Input }], + offsetX: [{ type: core.Output }], + offsetY: [{ type: core.Output }], + offsetTop: [{ type: core.Output }], + offsetLeft: [{ type: core.Output }], + release: [{ type: core.Output }] + }; + return ResizingComponent; + }()); + if (false) { + /** @type {?} */ + ResizingComponent.prototype.init; + /** @type {?} */ + ResizingComponent.prototype.id; + /** @type {?} */ + ResizingComponent.prototype.se; + /** @type {?} */ + ResizingComponent.prototype.ne; + /** @type {?} */ + ResizingComponent.prototype.sw; + /** @type {?} */ + ResizingComponent.prototype.nw; + /** @type {?} */ + ResizingComponent.prototype.pageWidth; + /** @type {?} */ + ResizingComponent.prototype.pageHeight; + /** @type {?} */ + ResizingComponent.prototype.SE; + /** @type {?} */ + ResizingComponent.prototype.NE; + /** @type {?} */ + ResizingComponent.prototype.SW; + /** @type {?} */ + ResizingComponent.prototype.NW; + /** @type {?} */ + ResizingComponent.prototype.offsetX; + /** @type {?} */ + ResizingComponent.prototype.offsetY; + /** @type {?} */ + ResizingComponent.prototype.offsetTop; + /** @type {?} */ + ResizingComponent.prototype.offsetLeft; + /** @type {?} */ + ResizingComponent.prototype.release; + /** + * @type {?} + * @private + */ + ResizingComponent.prototype.grab; + /** + * @type {?} + * @private + */ + ResizingComponent.prototype.oldPosition; } - /** - * @fileoverview added by tsickle - * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc - */ - var TopTabActivatorService = /** @class */ (function (_super) { - __extends(TopTabActivatorService, _super); - function TopTabActivatorService() { - return _super.call(this) || this; - } - return TopTabActivatorService; + /** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ + var TopTabActivatorService = /** @class */ (function (_super) { + __extends(TopTabActivatorService, _super); + function TopTabActivatorService() { + return _super.call(this) || this; + } + return TopTabActivatorService; }(TabActivatorService)); - /** - * @fileoverview added by tsickle - * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc - */ - var TopTabComponent = /** @class */ (function () { - function TopTabComponent(_tabActivatorService, _modalService, _excMessageService) { - var _this = this; - this._tabActivatorService = _tabActivatorService; - this._modalService = _modalService; - this._excMessageService = _excMessageService; - this.disabled = false; - this.activeTab = new core.EventEmitter(); - this.elementPosition = 0; - this.active = false; - this.showToolTip = false; - this._tabActivatorService.activeTabChange.subscribe((/** - * @param {?} tabId - * @return {?} - */ - function (tabId) { - _this.activation(tabId); - if (tabId === null) { - _this.activeTab.emit(""); - } - })); - } - /** - * @private - * @param {?} tabId - * @return {?} - */ - TopTabComponent.prototype.activation = /** - * @private - * @param {?} tabId - * @return {?} - */ - function (tabId) { - if (this.id === tabId) { - this.active = !this.active; - if (this.active) { - this.activeTab.emit(this.id); - } - else { - this.activeTab.emit(""); - } - } - else { - this.active = false; - } - }; - /** - * @return {?} - */ - TopTabComponent.prototype.ngOnInit = /** - * @return {?} - */ - function () { - }; - /** - * @return {?} - */ - TopTabComponent.prototype.toggleTab = /** - * @return {?} - */ - function () { - if (this.disabled) { - this._modalService.open(CommonModals.ErrorMessage); - this._excMessageService.changeMessage("Please open document first"); - return; - } - this._tabActivatorService.changeActiveTab(this.id); - }; - TopTabComponent.decorators = [ - { type: core.Component, args: [{ - selector: 'gd-top-tab', - template: "
\n \n \n
\n", - styles: [".gd-tab{font-size:14px;color:#3e4e5a;cursor:pointer;display:-webkit-box;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column;-webkit-box-align:center;align-items:center;align-content:center;-webkit-box-pack:center;justify-content:center;min-width:36px;height:36px;text-align:center;position:relative;white-space:nowrap;padding:0!important;margin:0 10px}.gd-tab .gd-tab-tooltip{display:-webkit-box;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column;margin:0!important}.gd-tab.active{background-color:#acacac;color:#fff!important;font-weight:700}.gd-tab.disabled{cursor:not-allowed;opacity:.4}.gd-tab ::ng-deep .tooltip{font-size:12px;margin:20px -57px}.gd-tab .title{margin:auto 23px}@media (max-width:1037px){.gd-tab{font-size:20px}}"] - }] } - ]; - /** @nocollapse */ - TopTabComponent.ctorParameters = function () { return [ - { type: TopTabActivatorService }, - { type: ModalService }, - { type: ExceptionMessageService } - ]; }; - TopTabComponent.propDecorators = { - id: [{ type: core.Input }], - icon: [{ type: core.Input }], - disabled: [{ type: core.Input }], - tooltip: [{ type: core.Input }], - activeTab: [{ type: core.Output }], - elementPosition: [{ type: core.Input }] - }; - return TopTabComponent; - }()); - if (false) { - /** @type {?} */ - TopTabComponent.prototype.id; - /** @type {?} */ - TopTabComponent.prototype.icon; - /** @type {?} */ - TopTabComponent.prototype.disabled; - /** @type {?} */ - TopTabComponent.prototype.tooltip; - /** @type {?} */ - TopTabComponent.prototype.activeTab; - /** @type {?} */ - TopTabComponent.prototype.elementPosition; - /** @type {?} */ - TopTabComponent.prototype.active; - /** @type {?} */ - TopTabComponent.prototype.showToolTip; - /** - * @type {?} - * @private - */ - TopTabComponent.prototype._tabActivatorService; - /** - * @type {?} - * @private - */ - TopTabComponent.prototype._modalService; - /** - * @type {?} - * @private - */ - TopTabComponent.prototype._excMessageService; + /** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ + var TopTabComponent = /** @class */ (function () { + function TopTabComponent(_tabActivatorService, _modalService, _excMessageService) { + var _this = this; + this._tabActivatorService = _tabActivatorService; + this._modalService = _modalService; + this._excMessageService = _excMessageService; + this.disabled = false; + this.activeTab = new core.EventEmitter(); + this.elementPosition = 0; + this.active = false; + this.showToolTip = false; + this._tabActivatorService.activeTabChange.subscribe((/** + * @param {?} tabId + * @return {?} + */ + function (tabId) { + _this.activation(tabId); + if (tabId === null) { + _this.activeTab.emit(""); + } + })); + } + /** + * @private + * @param {?} tabId + * @return {?} + */ + TopTabComponent.prototype.activation = /** + * @private + * @param {?} tabId + * @return {?} + */ + function (tabId) { + if (this.id === tabId) { + this.active = !this.active; + if (this.active) { + this.activeTab.emit(this.id); + } + else { + this.activeTab.emit(""); + } + } + else { + this.active = false; + } + }; + /** + * @return {?} + */ + TopTabComponent.prototype.ngOnInit = /** + * @return {?} + */ + function () { + }; + /** + * @return {?} + */ + TopTabComponent.prototype.toggleTab = /** + * @return {?} + */ + function () { + if (this.disabled) { + this._modalService.open(CommonModals.ErrorMessage); + this._excMessageService.changeMessage("Please open document first"); + return; + } + this._tabActivatorService.changeActiveTab(this.id); + }; + TopTabComponent.decorators = [ + { type: core.Component, args: [{ + selector: 'gd-top-tab', + template: "
\r\n \r\n \r\n
\r\n", + styles: [".gd-tab{font-size:14px;color:#3e4e5a;cursor:pointer;display:-webkit-box;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column;-webkit-box-align:center;align-items:center;align-content:center;-webkit-box-pack:center;justify-content:center;min-width:36px;height:36px;text-align:center;position:relative;white-space:nowrap;padding:0!important;margin:0 10px}.gd-tab .gd-tab-tooltip{display:-webkit-box;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column;margin:0!important}.gd-tab.active{background-color:#acacac;color:#fff!important;font-weight:700}.gd-tab.disabled{cursor:not-allowed;opacity:.4}.gd-tab ::ng-deep .tooltip{font-size:12px;margin:20px -57px}.gd-tab .title{margin:auto 23px}@media (max-width:1037px){.gd-tab{font-size:20px}}"] + }] } + ]; + /** @nocollapse */ + TopTabComponent.ctorParameters = function () { return [ + { type: TopTabActivatorService }, + { type: ModalService }, + { type: ExceptionMessageService } + ]; }; + TopTabComponent.propDecorators = { + id: [{ type: core.Input }], + icon: [{ type: core.Input }], + disabled: [{ type: core.Input }], + tooltip: [{ type: core.Input }], + activeTab: [{ type: core.Output }], + elementPosition: [{ type: core.Input }] + }; + return TopTabComponent; + }()); + if (false) { + /** @type {?} */ + TopTabComponent.prototype.id; + /** @type {?} */ + TopTabComponent.prototype.icon; + /** @type {?} */ + TopTabComponent.prototype.disabled; + /** @type {?} */ + TopTabComponent.prototype.tooltip; + /** @type {?} */ + TopTabComponent.prototype.activeTab; + /** @type {?} */ + TopTabComponent.prototype.elementPosition; + /** @type {?} */ + TopTabComponent.prototype.active; + /** @type {?} */ + TopTabComponent.prototype.showToolTip; + /** + * @type {?} + * @private + */ + TopTabComponent.prototype._tabActivatorService; + /** + * @type {?} + * @private + */ + TopTabComponent.prototype._modalService; + /** + * @type {?} + * @private + */ + TopTabComponent.prototype._excMessageService; } - /** - * @fileoverview added by tsickle - * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc - */ - /** @type {?} */ - var $$9 = jquery; - var TextMenuComponent = /** @class */ (function () { - function TextMenuComponent(_onCloseService, _zoomService, _windowService, _elementRef, renderer) { - var _this = this; - this._onCloseService = _onCloseService; - this._zoomService = _zoomService; - this._windowService = _windowService; - this._elementRef = _elementRef; - this.renderer = renderer; - this.decoration = true; - this.showTooltips = true; - this.outFontSize = new core.EventEmitter(); - this.outFont = new core.EventEmitter(); - this.outBold = new core.EventEmitter(); - this.outItalic = new core.EventEmitter(); - this.outUnderline = new core.EventEmitter(); - this.outColor = new core.EventEmitter(); - this.fontSizeOptions = FormattingService.getFontSizeOptions(); - this.fontOptions = FormattingService.getFontOptions(); - this.colorPickerShow = false; - _onCloseService.onClose.subscribe((/** - * @return {?} - */ - function () { - _this.colorPickerShow = false; - })); - this.isMobile = _windowService.isMobile(); - _windowService.onResize.subscribe((/** - * @param {?} w - * @return {?} - */ - function (w) { - _this.isMobile = _windowService.isMobile(); - })); - _zoomService.zoomChange.subscribe((/** - * @param {?} val - * @return {?} - */ - function (val) { - if (_this.isMobile) { - _this.changePosition(val); - } - })); - } - /** - * @return {?} - */ - TextMenuComponent.prototype.ngOnInit = /** - * @return {?} - */ - function () { - }; - /** - * @param {?} val - * @return {?} - */ - TextMenuComponent.prototype.changePosition = /** - * @param {?} val - * @return {?} - */ - function (val) { - /** @type {?} */ - var top = (window.innerHeight - 24 - this._elementRef.nativeElement.parentElement.getBoundingClientRect().top - this._elementRef.nativeElement.parentElement.getBoundingClientRect().height); - /** @type {?} */ - var left = this._elementRef.nativeElement.parentElement.getBoundingClientRect().left; - this.renderer.setStyle(this._elementRef.nativeElement.querySelector('.gd-text-menu'), 'width', window.innerWidth + 'px'); - this.renderer.setStyle(this._elementRef.nativeElement.querySelector('.gd-text-menu'), 'top', top + 'px'); - this.renderer.setStyle(this._elementRef.nativeElement.querySelector('.gd-text-menu'), 'left', -left + 'px'); - }; - /** - * @param {?} $event - * @return {?} - */ - TextMenuComponent.prototype.selectFontSize = /** - * @param {?} $event - * @return {?} - */ - function ($event) { - $$9(".gd-wrapper").off("keyup"); - this.outFontSize.emit($event.value); - $$9(".gd-wrapper").on("keyup", (/** - * @return {?} - */ - function () { - /** @type {?} */ - var fontElements = document.getElementsByTagName("font"); - for (var i = 0, len = fontElements.length; i < len; ++i) { - if (fontElements[i].getAttribute('size') === "7") { - fontElements[i].removeAttribute("size"); - fontElements[i].style.fontSize = $event + "px"; - } - } - })); - }; - /** - * @param {?} $event - * @return {?} - */ - TextMenuComponent.prototype.selectFont = /** - * @param {?} $event - * @return {?} - */ - function ($event) { - event.preventDefault(); - event.stopPropagation(); - this.outFont.emit($event.value); - }; - /** - * @param {?} $event - * @return {?} - */ - TextMenuComponent.prototype.toggleColorPicker = /** - * @param {?} $event - * @return {?} - */ - function ($event) { - $event.preventDefault(); - $event.stopPropagation(); - this.colorPickerShow = !this.colorPickerShow; - }; - /** - * @param {?} $event - * @return {?} - */ - TextMenuComponent.prototype.selectColor = /** - * @param {?} $event - * @return {?} - */ - function ($event) { - this.colorPickerShow = false; - this.outColor.emit($event); - }; - /** - * @param {?} event - * @return {?} - */ - TextMenuComponent.prototype.toggleBold = /** - * @param {?} event - * @return {?} - */ - function (event) { - event.preventDefault(); - event.stopPropagation(); - this.outBold.emit(!this.bold); - }; - /** - * @param {?} event - * @return {?} - */ - TextMenuComponent.prototype.toggleItalic = /** - * @param {?} event - * @return {?} - */ - function (event) { - event.preventDefault(); - event.stopPropagation(); - this.outItalic.emit(!this.italic); - }; - /** - * @param {?} event - * @return {?} - */ - TextMenuComponent.prototype.toggleUnderline = /** - * @param {?} event - * @return {?} - */ - function (event) { - event.preventDefault(); - event.stopPropagation(); - this.outUnderline.emit(!this.underline); - }; - /** - * @param {?} $event - * @return {?} - */ - TextMenuComponent.prototype.closePicker = /** - * @param {?} $event - * @return {?} - */ - function ($event) { - this.colorPickerShow = !$event; - }; - TextMenuComponent.decorators = [ - { type: core.Component, args: [{ - selector: 'gd-text-menu', - template: "
\n \n \n \n \n \n \n
\n
\n \n \n
\n", - styles: ["::ng-deep .active{background-color:#e7e7e7}.gd-text-menu{display:-webkit-box;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;flex-direction:row}.gd-text-menu .format-select{height:37px;display:-webkit-box;display:flex;-webkit-box-pack:center;justify-content:center;-webkit-box-align:center;align-items:center;max-width:80px;margin:0 3px}.gd-text-menu .first-component{margin-left:8px}.gd-text-menu ::ng-deep .dropdown-menu{top:40px!important;height:120px;overflow-y:auto}.gd-text-menu ::ng-deep .icon-button{margin:0!important}.bg-color-pic{border-radius:100%;border:1px solid #ccc;position:absolute;height:8px;width:8px;right:6px;bottom:6px}.palette{position:relative;top:40px;left:-55px;z-index:100}@media (max-width:1037px){.gd-text-menu{position:fixed;left:0;right:0;width:inherit;height:60px;-webkit-box-align:center;align-items:center;padding:0;margin:0;background-color:#fff;border-top:2px solid #707070;-webkit-transform-origin:top left;transform-origin:top left;z-index:1000}.gd-text-menu ::ng-deep .selected-value{white-space:normal!important;word-wrap:break-word}.gd-text-menu .icon{color:#fff;margin:0 9px}.gd-text-menu ::ng-deep .bcPicker-palette{left:-200px;top:-185px}.gd-text-menu .palette{top:unset;bottom:40px;left:unset;right:5px}.gd-text-menu ::ng-deep .dropdown-menu{bottom:40px;top:unset!important}.gd-text-menu ::ng-deep .first-component ::ng-deep .dropdown-menu{left:0}.gd-text-menu ::ng-deep .button{margin:3px!important;font-size:16px}}"] - }] } - ]; - /** @nocollapse */ - TextMenuComponent.ctorParameters = function () { return [ - { type: OnCloseService }, - { type: ZoomService }, - { type: WindowService }, - { type: core.ElementRef }, - { type: core.Renderer2 } - ]; }; - TextMenuComponent.propDecorators = { - blur: [{ type: core.Input }], - fontSize: [{ type: core.Input }], - font: [{ type: core.Input }], - bold: [{ type: core.Input }], - italic: [{ type: core.Input }], - underline: [{ type: core.Input }], - color: [{ type: core.Input }], - decoration: [{ type: core.Input }], - showTooltips: [{ type: core.Input }], - outFontSize: [{ type: core.Output }], - outFont: [{ type: core.Output }], - outBold: [{ type: core.Output }], - outItalic: [{ type: core.Output }], - outUnderline: [{ type: core.Output }], - outColor: [{ type: core.Output }] - }; - return TextMenuComponent; - }()); - if (false) { - /** @type {?} */ - TextMenuComponent.prototype.blur; - /** @type {?} */ - TextMenuComponent.prototype.fontSize; - /** @type {?} */ - TextMenuComponent.prototype.font; - /** @type {?} */ - TextMenuComponent.prototype.bold; - /** @type {?} */ - TextMenuComponent.prototype.italic; - /** @type {?} */ - TextMenuComponent.prototype.underline; - /** @type {?} */ - TextMenuComponent.prototype.color; - /** @type {?} */ - TextMenuComponent.prototype.decoration; - /** @type {?} */ - TextMenuComponent.prototype.showTooltips; - /** @type {?} */ - TextMenuComponent.prototype.outFontSize; - /** @type {?} */ - TextMenuComponent.prototype.outFont; - /** @type {?} */ - TextMenuComponent.prototype.outBold; - /** @type {?} */ - TextMenuComponent.prototype.outItalic; - /** @type {?} */ - TextMenuComponent.prototype.outUnderline; - /** @type {?} */ - TextMenuComponent.prototype.outColor; - /** @type {?} */ - TextMenuComponent.prototype.fontSizeOptions; - /** @type {?} */ - TextMenuComponent.prototype.fontOptions; - /** @type {?} */ - TextMenuComponent.prototype.colorPickerShow; - /** @type {?} */ - TextMenuComponent.prototype.isMobile; - /** - * @type {?} - * @private - */ - TextMenuComponent.prototype._onCloseService; - /** - * @type {?} - * @private - */ - TextMenuComponent.prototype._zoomService; - /** - * @type {?} - * @private - */ - TextMenuComponent.prototype._windowService; - /** - * @type {?} - * @protected - */ - TextMenuComponent.prototype._elementRef; - /** - * @type {?} - * @private - */ - TextMenuComponent.prototype.renderer; + /** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ + /** @type {?} */ + var $$9 = jquery; + var TextMenuComponent = /** @class */ (function () { + function TextMenuComponent(_onCloseService, _zoomService, _windowService, _elementRef, renderer) { + var _this = this; + this._onCloseService = _onCloseService; + this._zoomService = _zoomService; + this._windowService = _windowService; + this._elementRef = _elementRef; + this.renderer = renderer; + this.decoration = true; + this.showTooltips = true; + this.outFontSize = new core.EventEmitter(); + this.outFont = new core.EventEmitter(); + this.outBold = new core.EventEmitter(); + this.outItalic = new core.EventEmitter(); + this.outUnderline = new core.EventEmitter(); + this.outColor = new core.EventEmitter(); + this.fontSizeOptions = FormattingService.getFontSizeOptions(); + this.fontOptions = FormattingService.getFontOptions(); + this.colorPickerShow = false; + _onCloseService.onClose.subscribe((/** + * @return {?} + */ + function () { + _this.colorPickerShow = false; + })); + this.isMobile = _windowService.isMobile(); + _windowService.onResize.subscribe((/** + * @param {?} w + * @return {?} + */ + function (w) { + _this.isMobile = _windowService.isMobile(); + })); + _zoomService.zoomChange.subscribe((/** + * @param {?} val + * @return {?} + */ + function (val) { + if (_this.isMobile) { + _this.changePosition(val); + } + })); + } + /** + * @return {?} + */ + TextMenuComponent.prototype.ngOnInit = /** + * @return {?} + */ + function () { + }; + /** + * @param {?} val + * @return {?} + */ + TextMenuComponent.prototype.changePosition = /** + * @param {?} val + * @return {?} + */ + function (val) { + /** @type {?} */ + var top = (window.innerHeight - 24 - this._elementRef.nativeElement.parentElement.getBoundingClientRect().top - this._elementRef.nativeElement.parentElement.getBoundingClientRect().height); + /** @type {?} */ + var left = this._elementRef.nativeElement.parentElement.getBoundingClientRect().left; + this.renderer.setStyle(this._elementRef.nativeElement.querySelector('.gd-text-menu'), 'width', window.innerWidth + 'px'); + this.renderer.setStyle(this._elementRef.nativeElement.querySelector('.gd-text-menu'), 'top', top + 'px'); + this.renderer.setStyle(this._elementRef.nativeElement.querySelector('.gd-text-menu'), 'left', -left + 'px'); + }; + /** + * @param {?} $event + * @return {?} + */ + TextMenuComponent.prototype.selectFontSize = /** + * @param {?} $event + * @return {?} + */ + function ($event) { + $$9(".gd-wrapper").off("keyup"); + this.outFontSize.emit($event.value); + $$9(".gd-wrapper").on("keyup", (/** + * @return {?} + */ + function () { + /** @type {?} */ + var fontElements = document.getElementsByTagName("font"); + for (var i = 0, len = fontElements.length; i < len; ++i) { + if (fontElements[i].getAttribute('size') === "7") { + fontElements[i].removeAttribute("size"); + fontElements[i].style.fontSize = $event + "px"; + } + } + })); + }; + /** + * @param {?} $event + * @return {?} + */ + TextMenuComponent.prototype.selectFont = /** + * @param {?} $event + * @return {?} + */ + function ($event) { + event.preventDefault(); + event.stopPropagation(); + this.outFont.emit($event.value); + }; + /** + * @param {?} $event + * @return {?} + */ + TextMenuComponent.prototype.toggleColorPicker = /** + * @param {?} $event + * @return {?} + */ + function ($event) { + $event.preventDefault(); + $event.stopPropagation(); + this.colorPickerShow = !this.colorPickerShow; + }; + /** + * @param {?} $event + * @return {?} + */ + TextMenuComponent.prototype.selectColor = /** + * @param {?} $event + * @return {?} + */ + function ($event) { + this.colorPickerShow = false; + this.outColor.emit($event); + }; + /** + * @param {?} event + * @return {?} + */ + TextMenuComponent.prototype.toggleBold = /** + * @param {?} event + * @return {?} + */ + function (event) { + event.preventDefault(); + event.stopPropagation(); + this.outBold.emit(!this.bold); + }; + /** + * @param {?} event + * @return {?} + */ + TextMenuComponent.prototype.toggleItalic = /** + * @param {?} event + * @return {?} + */ + function (event) { + event.preventDefault(); + event.stopPropagation(); + this.outItalic.emit(!this.italic); + }; + /** + * @param {?} event + * @return {?} + */ + TextMenuComponent.prototype.toggleUnderline = /** + * @param {?} event + * @return {?} + */ + function (event) { + event.preventDefault(); + event.stopPropagation(); + this.outUnderline.emit(!this.underline); + }; + /** + * @param {?} $event + * @return {?} + */ + TextMenuComponent.prototype.closePicker = /** + * @param {?} $event + * @return {?} + */ + function ($event) { + this.colorPickerShow = !$event; + }; + TextMenuComponent.decorators = [ + { type: core.Component, args: [{ + selector: 'gd-text-menu', + template: "
\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n", + styles: ["::ng-deep .active{background-color:#e7e7e7}.gd-text-menu{display:-webkit-box;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;flex-direction:row}.gd-text-menu .format-select{height:37px;display:-webkit-box;display:flex;-webkit-box-pack:center;justify-content:center;-webkit-box-align:center;align-items:center;max-width:80px;margin:0 3px}.gd-text-menu .first-component{margin-left:8px}.gd-text-menu ::ng-deep .dropdown-menu{top:40px!important;height:120px;overflow-y:auto}.gd-text-menu ::ng-deep .icon-button{margin:0!important}.bg-color-pic{border-radius:100%;border:1px solid #ccc;position:absolute;height:8px;width:8px;right:6px;bottom:6px}.palette{position:relative;top:40px;left:-55px;z-index:100}@media (max-width:1037px){.gd-text-menu{position:fixed;left:0;right:0;width:inherit;height:60px;-webkit-box-align:center;align-items:center;padding:0;margin:0;background-color:#fff;border-top:2px solid #707070;-webkit-transform-origin:top left;transform-origin:top left;z-index:1000}.gd-text-menu ::ng-deep .selected-value{white-space:normal!important;word-wrap:break-word}.gd-text-menu .icon{color:#fff;margin:0 9px}.gd-text-menu ::ng-deep .bcPicker-palette{left:-200px;top:-185px}.gd-text-menu .palette{top:unset;bottom:40px;left:unset;right:5px}.gd-text-menu ::ng-deep .dropdown-menu{bottom:40px;top:unset!important}.gd-text-menu ::ng-deep .first-component ::ng-deep .dropdown-menu{left:0}.gd-text-menu ::ng-deep .button{margin:3px!important;font-size:16px}}"] + }] } + ]; + /** @nocollapse */ + TextMenuComponent.ctorParameters = function () { return [ + { type: OnCloseService }, + { type: ZoomService }, + { type: WindowService }, + { type: core.ElementRef }, + { type: core.Renderer2 } + ]; }; + TextMenuComponent.propDecorators = { + blur: [{ type: core.Input }], + fontSize: [{ type: core.Input }], + font: [{ type: core.Input }], + bold: [{ type: core.Input }], + italic: [{ type: core.Input }], + underline: [{ type: core.Input }], + color: [{ type: core.Input }], + decoration: [{ type: core.Input }], + showTooltips: [{ type: core.Input }], + outFontSize: [{ type: core.Output }], + outFont: [{ type: core.Output }], + outBold: [{ type: core.Output }], + outItalic: [{ type: core.Output }], + outUnderline: [{ type: core.Output }], + outColor: [{ type: core.Output }] + }; + return TextMenuComponent; + }()); + if (false) { + /** @type {?} */ + TextMenuComponent.prototype.blur; + /** @type {?} */ + TextMenuComponent.prototype.fontSize; + /** @type {?} */ + TextMenuComponent.prototype.font; + /** @type {?} */ + TextMenuComponent.prototype.bold; + /** @type {?} */ + TextMenuComponent.prototype.italic; + /** @type {?} */ + TextMenuComponent.prototype.underline; + /** @type {?} */ + TextMenuComponent.prototype.color; + /** @type {?} */ + TextMenuComponent.prototype.decoration; + /** @type {?} */ + TextMenuComponent.prototype.showTooltips; + /** @type {?} */ + TextMenuComponent.prototype.outFontSize; + /** @type {?} */ + TextMenuComponent.prototype.outFont; + /** @type {?} */ + TextMenuComponent.prototype.outBold; + /** @type {?} */ + TextMenuComponent.prototype.outItalic; + /** @type {?} */ + TextMenuComponent.prototype.outUnderline; + /** @type {?} */ + TextMenuComponent.prototype.outColor; + /** @type {?} */ + TextMenuComponent.prototype.fontSizeOptions; + /** @type {?} */ + TextMenuComponent.prototype.fontOptions; + /** @type {?} */ + TextMenuComponent.prototype.colorPickerShow; + /** @type {?} */ + TextMenuComponent.prototype.isMobile; + /** + * @type {?} + * @private + */ + TextMenuComponent.prototype._onCloseService; + /** + * @type {?} + * @private + */ + TextMenuComponent.prototype._zoomService; + /** + * @type {?} + * @private + */ + TextMenuComponent.prototype._windowService; + /** + * @type {?} + * @protected + */ + TextMenuComponent.prototype._elementRef; + /** + * @type {?} + * @private + */ + TextMenuComponent.prototype.renderer; } - /** - * @fileoverview added by tsickle - * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc - */ - var MenuType = /** @class */ (function () { - function MenuType() { - } - MenuType.FOR_SIGNATURE = "signature"; - MenuType.FOR_ANNOTATION = "annotation"; - return MenuType; - }()); - if (false) { - /** @type {?} */ - MenuType.FOR_SIGNATURE; - /** @type {?} */ - MenuType.FOR_ANNOTATION; - } - var ContextMenuComponent = /** @class */ (function () { - function ContextMenuComponent(_windowService, _zoomService, _elementRef, renderer) { - var _this = this; - this._windowService = _windowService; - this._zoomService = _zoomService; - this._elementRef = _elementRef; - this.renderer = renderer; - this.formatting = Formatting.default(); - this.lock = false; - this.translation = 0; - this.changeFormatting = new core.EventEmitter(); - this.removeItem = new core.EventEmitter(); - this.copySign = new core.EventEmitter(); - this.lockOut = new core.EventEmitter(); - this.comment = new core.EventEmitter(); - this.isMobile = _windowService.isMobile(); - _windowService.onResize.subscribe((/** - * @param {?} w - * @return {?} - */ - function (w) { - _this.isMobile = _windowService.isMobile(); - })); - _zoomService.zoomChange.subscribe((/** - * @param {?} val - * @return {?} - */ - function (val) { - if (_this.isMobile) { - _this.changeScale(val); - } - })); - } - /** - * @return {?} - */ - ContextMenuComponent.prototype.ngOnInit = /** - * @return {?} - */ - function () { - }; - /** - * @param {?} val - * @return {?} - */ - ContextMenuComponent.prototype.changeScale = /** - * @param {?} val - * @return {?} - */ - function (val) { - this.renderer.setStyle(this._elementRef.nativeElement.querySelector('.gd-context-menu'), 'transform', 'scale(' + 1 / (val / 100) + ')'); - }; - /** - * @return {?} - */ - ContextMenuComponent.prototype.saveChanges = /** - * @return {?} - */ - function () { - this.changeFormatting.emit(this.formatting); - }; - /** - * @param {?} $event - * @return {?} - */ - ContextMenuComponent.prototype.selectFontSize = /** - * @param {?} $event - * @return {?} - */ - function ($event) { - this.formatting.fontSize = $event; - this.saveChanges(); - }; - /** - * @param {?} $event - * @return {?} - */ - ContextMenuComponent.prototype.selectFont = /** - * @param {?} $event - * @return {?} - */ - function ($event) { - this.formatting.font = $event; - this.saveChanges(); - }; - /** - * @param {?} $event - * @return {?} - */ - ContextMenuComponent.prototype.selectColor = /** - * @param {?} $event - * @return {?} - */ - function ($event) { - this.formatting.color = $event; - this.saveChanges(); - }; - /** - * @param {?} $event - * @return {?} - */ - ContextMenuComponent.prototype.toggleBold = /** - * @param {?} $event - * @return {?} - */ - function ($event) { - this.formatting.bold = $event; - this.saveChanges(); - }; - /** - * @param {?} $event - * @return {?} - */ - ContextMenuComponent.prototype.toggleItalic = /** - * @param {?} $event - * @return {?} - */ - function ($event) { - this.formatting.italic = $event; - this.saveChanges(); - }; - /** - * @param {?} $event - * @return {?} - */ - ContextMenuComponent.prototype.toggleUnderline = /** - * @param {?} $event - * @return {?} - */ - function ($event) { - this.formatting.underline = $event; - this.saveChanges(); - }; - /** - * @return {?} - */ - ContextMenuComponent.prototype.deleteItem = /** - * @return {?} - */ - function () { - this.removeItem.emit(true); - }; - /** - * @return {?} - */ - ContextMenuComponent.prototype.toggleLock = /** - * @return {?} - */ - function () { - this.lock = !this.lock; - this.lockOut.emit(this.lock); - }; - /** - * @return {?} - */ - ContextMenuComponent.prototype.onCopySign = /** - * @return {?} - */ - function () { - this.copySign.emit(true); - }; - /** - * @return {?} - */ - ContextMenuComponent.prototype.isSignature = /** - * @return {?} - */ - function () { - return this.menuType === MenuType.FOR_SIGNATURE; - }; - /** - * @return {?} - */ - ContextMenuComponent.prototype.isAnnotation = /** - * @return {?} - */ - function () { - return this.menuType === MenuType.FOR_ANNOTATION; - }; - /** - * @return {?} - */ - ContextMenuComponent.prototype.addComment = /** - * @return {?} - */ - function () { - this.comment.emit(true); - }; - ContextMenuComponent.decorators = [ - { type: core.Component, args: [{ - selector: 'gd-context-menu', - template: "
10 ? 'gd-context-menu-top' : 'gd-context-menu-bottom'\">\n \n \n \n \n \n \n
\n", - styles: [".gd-context-menu-top{top:-44px}.gd-context-menu-bottom{bottom:-40px}.gd-context-menu{box-shadow:rgba(0,0,0,.52) 0 0 5px;background-color:#fff;position:absolute;left:0;right:0;margin:auto;cursor:default;width:max-content;width:-moz-max-content;width:-webkit-max-content;display:-webkit-box;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;flex-direction:row;z-index:999}.gd-context-menu .arrows{cursor:move}.gd-context-menu ::ng-deep .active{background-color:#e7e7e7}.gd-context-menu ::ng-deep .icon-button{margin:0!important}@media (max-width:1037px){.gd-context-menu-top{top:-42px;-webkit-transform-origin:bottom center;transform-origin:bottom center}}"] - }] } - ]; - /** @nocollapse */ - ContextMenuComponent.ctorParameters = function () { return [ - { type: WindowService }, - { type: ZoomService }, - { type: core.ElementRef }, - { type: core.Renderer2 } - ]; }; - ContextMenuComponent.propDecorators = { - formatting: [{ type: core.Input }], - textMenu: [{ type: core.Input }], - topPosition: [{ type: core.Input }], - lock: [{ type: core.Input }], - translation: [{ type: core.Input }], - menuType: [{ type: core.Input }], - changeFormatting: [{ type: core.Output }], - removeItem: [{ type: core.Output }], - copySign: [{ type: core.Output }], - lockOut: [{ type: core.Output }], - comment: [{ type: core.Output }] - }; - return ContextMenuComponent; - }()); - if (false) { - /** @type {?} */ - ContextMenuComponent.prototype.formatting; - /** @type {?} */ - ContextMenuComponent.prototype.textMenu; - /** @type {?} */ - ContextMenuComponent.prototype.topPosition; - /** @type {?} */ - ContextMenuComponent.prototype.lock; - /** @type {?} */ - ContextMenuComponent.prototype.translation; - /** @type {?} */ - ContextMenuComponent.prototype.menuType; - /** @type {?} */ - ContextMenuComponent.prototype.changeFormatting; - /** @type {?} */ - ContextMenuComponent.prototype.removeItem; - /** @type {?} */ - ContextMenuComponent.prototype.copySign; - /** @type {?} */ - ContextMenuComponent.prototype.lockOut; - /** @type {?} */ - ContextMenuComponent.prototype.comment; - /** @type {?} */ - ContextMenuComponent.prototype.isMobile; - /** - * @type {?} - * @private - */ - ContextMenuComponent.prototype._windowService; - /** - * @type {?} - * @private - */ - ContextMenuComponent.prototype._zoomService; - /** - * @type {?} - * @protected - */ - ContextMenuComponent.prototype._elementRef; - /** - * @type {?} - * @private - */ - ContextMenuComponent.prototype.renderer; + /** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ + var MenuType = /** @class */ (function () { + function MenuType() { + } + MenuType.FOR_SIGNATURE = "signature"; + MenuType.FOR_ANNOTATION = "annotation"; + return MenuType; + }()); + if (false) { + /** @type {?} */ + MenuType.FOR_SIGNATURE; + /** @type {?} */ + MenuType.FOR_ANNOTATION; + } + var ContextMenuComponent = /** @class */ (function () { + function ContextMenuComponent(_windowService, _zoomService, _elementRef, renderer) { + var _this = this; + this._windowService = _windowService; + this._zoomService = _zoomService; + this._elementRef = _elementRef; + this.renderer = renderer; + this.formatting = Formatting.default(); + this.lock = false; + this.translation = 0; + this.changeFormatting = new core.EventEmitter(); + this.removeItem = new core.EventEmitter(); + this.copySign = new core.EventEmitter(); + this.lockOut = new core.EventEmitter(); + this.comment = new core.EventEmitter(); + this.isMobile = _windowService.isMobile(); + _windowService.onResize.subscribe((/** + * @param {?} w + * @return {?} + */ + function (w) { + _this.isMobile = _windowService.isMobile(); + })); + _zoomService.zoomChange.subscribe((/** + * @param {?} val + * @return {?} + */ + function (val) { + _this.changeScale(val); + })); + } + /** + * @return {?} + */ + ContextMenuComponent.prototype.ngOnInit = /** + * @return {?} + */ + function () { + }; + /** + * @param {?} val + * @return {?} + */ + ContextMenuComponent.prototype.changeScale = /** + * @param {?} val + * @return {?} + */ + function (val) { + this.renderer.setStyle(this._elementRef.nativeElement.querySelector('.gd-context-menu'), 'transform', 'scale(' + 1 / (val / 100) + ')'); + if (!this.isMobile && val && val !== 100) { + this.renderer.setStyle(this._elementRef.nativeElement.querySelector('.gd-context-menu'), 'left', this.translation + 'px'); + } + }; + /** + * @return {?} + */ + ContextMenuComponent.prototype.saveChanges = /** + * @return {?} + */ + function () { + this.changeFormatting.emit(this.formatting); + }; + /** + * @param {?} $event + * @return {?} + */ + ContextMenuComponent.prototype.selectFontSize = /** + * @param {?} $event + * @return {?} + */ + function ($event) { + this.formatting.fontSize = $event; + this.saveChanges(); + }; + /** + * @param {?} $event + * @return {?} + */ + ContextMenuComponent.prototype.selectFont = /** + * @param {?} $event + * @return {?} + */ + function ($event) { + this.formatting.font = $event; + this.saveChanges(); + }; + /** + * @param {?} $event + * @return {?} + */ + ContextMenuComponent.prototype.selectColor = /** + * @param {?} $event + * @return {?} + */ + function ($event) { + this.formatting.color = $event; + this.saveChanges(); + }; + /** + * @param {?} $event + * @return {?} + */ + ContextMenuComponent.prototype.toggleBold = /** + * @param {?} $event + * @return {?} + */ + function ($event) { + this.formatting.bold = $event; + this.saveChanges(); + }; + /** + * @param {?} $event + * @return {?} + */ + ContextMenuComponent.prototype.toggleItalic = /** + * @param {?} $event + * @return {?} + */ + function ($event) { + this.formatting.italic = $event; + this.saveChanges(); + }; + /** + * @param {?} $event + * @return {?} + */ + ContextMenuComponent.prototype.toggleUnderline = /** + * @param {?} $event + * @return {?} + */ + function ($event) { + this.formatting.underline = $event; + this.saveChanges(); + }; + /** + * @return {?} + */ + ContextMenuComponent.prototype.deleteItem = /** + * @return {?} + */ + function () { + this.removeItem.emit(true); + }; + /** + * @return {?} + */ + ContextMenuComponent.prototype.toggleLock = /** + * @return {?} + */ + function () { + this.lock = !this.lock; + this.lockOut.emit(this.lock); + }; + /** + * @return {?} + */ + ContextMenuComponent.prototype.onCopySign = /** + * @return {?} + */ + function () { + this.copySign.emit(true); + }; + /** + * @return {?} + */ + ContextMenuComponent.prototype.isSignature = /** + * @return {?} + */ + function () { + return this.menuType === MenuType.FOR_SIGNATURE; + }; + /** + * @return {?} + */ + ContextMenuComponent.prototype.isAnnotation = /** + * @return {?} + */ + function () { + return this.menuType === MenuType.FOR_ANNOTATION; + }; + /** + * @return {?} + */ + ContextMenuComponent.prototype.addComment = /** + * @return {?} + */ + function () { + this.comment.emit(true); + }; + ContextMenuComponent.decorators = [ + { type: core.Component, args: [{ + selector: 'gd-context-menu', + template: "
10 ? 'gd-context-menu-top' : 'gd-context-menu-bottom'\">\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n", + styles: [".gd-context-menu-top{top:-44px}.gd-context-menu-bottom{bottom:-40px}.gd-context-menu{box-shadow:rgba(0,0,0,.52) 0 0 5px;background-color:#fff;position:absolute;left:0;right:0;margin:auto;cursor:default;width:max-content;width:-moz-max-content;width:-webkit-max-content;display:-webkit-box;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;flex-direction:row;z-index:999}.gd-context-menu .arrows{cursor:move}.gd-context-menu ::ng-deep .active{background-color:#e7e7e7}.gd-context-menu ::ng-deep .icon-button{margin:0!important}@media (max-width:1037px){.gd-context-menu-top{top:-42px;-webkit-transform-origin:bottom center;transform-origin:bottom center}}"] + }] } + ]; + /** @nocollapse */ + ContextMenuComponent.ctorParameters = function () { return [ + { type: WindowService }, + { type: ZoomService }, + { type: core.ElementRef }, + { type: core.Renderer2 } + ]; }; + ContextMenuComponent.propDecorators = { + formatting: [{ type: core.Input }], + textMenu: [{ type: core.Input }], + topPosition: [{ type: core.Input }], + lock: [{ type: core.Input }], + translation: [{ type: core.Input }], + menuType: [{ type: core.Input }], + changeFormatting: [{ type: core.Output }], + removeItem: [{ type: core.Output }], + copySign: [{ type: core.Output }], + lockOut: [{ type: core.Output }], + comment: [{ type: core.Output }] + }; + return ContextMenuComponent; + }()); + if (false) { + /** @type {?} */ + ContextMenuComponent.prototype.formatting; + /** @type {?} */ + ContextMenuComponent.prototype.textMenu; + /** @type {?} */ + ContextMenuComponent.prototype.topPosition; + /** @type {?} */ + ContextMenuComponent.prototype.lock; + /** @type {?} */ + ContextMenuComponent.prototype.translation; + /** @type {?} */ + ContextMenuComponent.prototype.menuType; + /** @type {?} */ + ContextMenuComponent.prototype.changeFormatting; + /** @type {?} */ + ContextMenuComponent.prototype.removeItem; + /** @type {?} */ + ContextMenuComponent.prototype.copySign; + /** @type {?} */ + ContextMenuComponent.prototype.lockOut; + /** @type {?} */ + ContextMenuComponent.prototype.comment; + /** @type {?} */ + ContextMenuComponent.prototype.isMobile; + /** + * @type {?} + * @private + */ + ContextMenuComponent.prototype._windowService; + /** + * @type {?} + * @private + */ + ContextMenuComponent.prototype._zoomService; + /** + * @type {?} + * @protected + */ + ContextMenuComponent.prototype._elementRef; + /** + * @type {?} + * @private + */ + ContextMenuComponent.prototype.renderer; } - /** - * @fileoverview added by tsickle - * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc - */ - /** @type {?} */ - var providers = [ConfigService, - Api, - ModalService, - FileService, - FileModel, - FileUtil, - Utils, - SanitizeHtmlPipe, - SanitizeResourceHtmlPipe, - SanitizeStylePipe, - HighlightSearchPipe, - UploadFilesService, - RenderPrintService, - NavigateService, - PagePreloadService, - ZoomService, - ExceptionMessageService, - PasswordService, - ErrorInterceptorService, - SearchService, - WindowService, - ViewportService, - FormattingService, - BackFormattingService, - OnCloseService, - LoadingMaskInterceptorService, - LoadingMaskService, - TabActivatorService, - AddDynamicComponentService, - HostingDynamicComponentService, - TopTabActivatorService]; - var CommonComponentsModule = /** @class */ (function () { - function CommonComponentsModule() { - fontawesomeSvgCore.library.add(freeSolidSvgIcons.fas, freeRegularSvgIcons.far); - } - CommonComponentsModule.decorators = [ - { type: core.NgModule, args: [{ - imports: [common.CommonModule, angularFontawesome.FontAwesomeModule, ngClickOutside.ClickOutsideModule], - declarations: [ - TopToolbarComponent, - SidePanelComponent, - ButtonComponent, - LogoComponent, - TooltipComponent, - ModalComponent, - BrowseFilesModalComponent, - DocumentComponent, - PageComponent, - SanitizeHtmlPipe, - SanitizeResourceHtmlPipe, - SanitizeStylePipe, - HighlightSearchPipe, - UploadFileZoneComponent, - DndDirective, - ScrollableDirective, - MouseWheelDirective, - ZoomDirective, - SelectComponent, - DisabledCursorDirective, - RotationDirective, - InitStateComponent, - RenderPrintDirective, - ErrorModalComponent, - PasswordRequiredComponent, - SearchComponent, - SearchableDirective, - TabbedToolbarsComponent, - TabComponent, - TabsComponent, - ColorPickerComponent, - FormattingDirective, - SuccessModalComponent, - EditorDirective, - LoadingMaskComponent, - DropDownComponent, - DropDownItemComponent, - DropDownItemsComponent, - DropDownToggleComponent, - LeftSideBarComponent, - TooltipDirective, - HostDynamicDirective, - ResizingComponent, - TopTabComponent, - TextMenuComponent, - ContextMenuComponent - ], - exports: [ - TopToolbarComponent, - SidePanelComponent, - ButtonComponent, - LogoComponent, - TooltipComponent, - ModalComponent, - BrowseFilesModalComponent, - DocumentComponent, - PageComponent, - SanitizeResourceHtmlPipe, - SanitizeStylePipe, - HighlightSearchPipe, - SanitizeHtmlPipe, - UploadFileZoneComponent, - ScrollableDirective, - MouseWheelDirective, - SelectComponent, - RotationDirective, - InitStateComponent, - RenderPrintDirective, - ErrorModalComponent, - PasswordRequiredComponent, - SearchComponent, - SearchableDirective, - TabbedToolbarsComponent, - TabComponent, - TabsComponent, - ColorPickerComponent, - FormattingDirective, - SuccessModalComponent, - LoadingMaskComponent, - DndDirective, - DropDownComponent, - DropDownItemComponent, - DropDownItemsComponent, - DropDownToggleComponent, - ZoomDirective, - DropDownToggleComponent, - LeftSideBarComponent, - TooltipDirective, - HostDynamicDirective, - ResizingComponent, - TopTabComponent, - TextMenuComponent, - ContextMenuComponent - ], - providers: providers - },] } - ]; - /** @nocollapse */ - CommonComponentsModule.ctorParameters = function () { return []; }; - return CommonComponentsModule; + /** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ + /** @type {?} */ + var providers = [ConfigService, + Api, + ModalService, + FileService, + FileModel, + FileUtil, + Utils, + SanitizeHtmlPipe, + SanitizeResourceHtmlPipe, + SanitizeStylePipe, + HighlightSearchPipe, + UploadFilesService, + RenderPrintService, + NavigateService, + PagePreloadService, + ZoomService, + ExceptionMessageService, + PasswordService, + ErrorInterceptorService, + SearchService, + WindowService, + ViewportService, + FormattingService, + BackFormattingService, + OnCloseService, + LoadingMaskInterceptorService, + LoadingMaskService, + TabActivatorService, + AddDynamicComponentService, + HostingDynamicComponentService, + TopTabActivatorService]; + var CommonComponentsModule = /** @class */ (function () { + function CommonComponentsModule() { + fontawesomeSvgCore.library.add(freeSolidSvgIcons.fas, freeRegularSvgIcons.far); + } + CommonComponentsModule.decorators = [ + { type: core.NgModule, args: [{ + imports: [common.CommonModule, angularFontawesome.FontAwesomeModule, ngClickOutside.ClickOutsideModule], + declarations: [ + TopToolbarComponent, + SidePanelComponent, + ButtonComponent, + LogoComponent, + TooltipComponent, + ModalComponent, + BrowseFilesModalComponent, + DocumentComponent, + PageComponent, + SanitizeHtmlPipe, + SanitizeResourceHtmlPipe, + SanitizeStylePipe, + HighlightSearchPipe, + UploadFileZoneComponent, + DndDirective, + ScrollableDirective, + MouseWheelDirective, + ZoomDirective, + SelectComponent, + DisabledCursorDirective, + RotationDirective, + InitStateComponent, + RenderPrintDirective, + ErrorModalComponent, + PasswordRequiredComponent, + SearchComponent, + SearchableDirective, + TabbedToolbarsComponent, + TabComponent, + TabsComponent, + ColorPickerComponent, + FormattingDirective, + SuccessModalComponent, + EditorDirective, + LoadingMaskComponent, + DropDownComponent, + DropDownItemComponent, + DropDownItemsComponent, + DropDownToggleComponent, + LeftSideBarComponent, + TooltipDirective, + HostDynamicDirective, + ResizingComponent, + TopTabComponent, + TextMenuComponent, + ContextMenuComponent + ], + exports: [ + TopToolbarComponent, + SidePanelComponent, + ButtonComponent, + LogoComponent, + TooltipComponent, + ModalComponent, + BrowseFilesModalComponent, + DocumentComponent, + PageComponent, + SanitizeResourceHtmlPipe, + SanitizeStylePipe, + HighlightSearchPipe, + SanitizeHtmlPipe, + UploadFileZoneComponent, + ScrollableDirective, + MouseWheelDirective, + SelectComponent, + RotationDirective, + InitStateComponent, + RenderPrintDirective, + ErrorModalComponent, + PasswordRequiredComponent, + SearchComponent, + SearchableDirective, + TabbedToolbarsComponent, + TabComponent, + TabsComponent, + ColorPickerComponent, + FormattingDirective, + SuccessModalComponent, + LoadingMaskComponent, + DndDirective, + DropDownComponent, + DropDownItemComponent, + DropDownItemsComponent, + DropDownToggleComponent, + ZoomDirective, + DropDownToggleComponent, + LeftSideBarComponent, + TooltipDirective, + HostDynamicDirective, + ResizingComponent, + TopTabComponent, + TextMenuComponent, + ContextMenuComponent + ], + providers: providers + },] } + ]; + /** @nocollapse */ + CommonComponentsModule.ctorParameters = function () { return []; }; + return CommonComponentsModule; }()); exports.AddDynamicComponentService = AddDynamicComponentService; diff --git a/dist/libs/common-components/bundles/groupdocs.examples.angular-common-components.umd.js.map b/dist/libs/common-components/bundles/groupdocs.examples.angular-common-components.umd.js.map index e4e074329..c7400e582 100644 --- a/dist/libs/common-components/bundles/groupdocs.examples.angular-common-components.umd.js.map +++ b/dist/libs/common-components/bundles/groupdocs.examples.angular-common-components.umd.js.map @@ -1 +1 @@ -{"version":3,"file":"groupdocs.examples.angular-common-components.umd.js","sources":["../../../../node_modules/tslib/tslib.es6.js","ng://@groupdocs.examples.angular/common-components/lib/top-toolbar/top-toolbar.component.ts","ng://@groupdocs.examples.angular/common-components/lib/side-panel/side-panel.component.ts","ng://@groupdocs.examples.angular/common-components/lib/window.service.ts","ng://@groupdocs.examples.angular/common-components/lib/button/button.component.ts","ng://@groupdocs.examples.angular/common-components/lib/logo/logo.component.ts","ng://@groupdocs.examples.angular/common-components/lib/tooltip/tooltip.component.ts","ng://@groupdocs.examples.angular/common-components/lib/config.service.ts","ng://@groupdocs.examples.angular/common-components/lib/modal.service.ts","ng://@groupdocs.examples.angular/common-components/lib/modal/modal.component.ts","ng://@groupdocs.examples.angular/common-components/lib/file.service.ts","ng://@groupdocs.examples.angular/common-components/lib/upload-files.service.ts","ng://@groupdocs.examples.angular/common-components/lib/browse-files-modal/browse-files-modal.component.ts","ng://@groupdocs.examples.angular/common-components/lib/zoom.service.ts","ng://@groupdocs.examples.angular/common-components/lib/page-preload.service.ts","ng://@groupdocs.examples.angular/common-components/lib/navigate.service.ts","ng://@groupdocs.examples.angular/common-components/lib/document/document.component.ts","ng://@groupdocs.examples.angular/common-components/lib/page/page.component.ts","ng://@groupdocs.examples.angular/common-components/lib/pipes.ts","ng://@groupdocs.examples.angular/common-components/lib/upload-file-zone/upload-file-zone.component.ts","ng://@groupdocs.examples.angular/common-components/lib/dnd.directive.ts","ng://@groupdocs.examples.angular/common-components/lib/viewport.service.ts","ng://@groupdocs.examples.angular/common-components/lib/scrollable.directive.ts","ng://@groupdocs.examples.angular/common-components/lib/mousewheel.directive.ts","ng://@groupdocs.examples.angular/common-components/lib/zoom.directive.ts","ng://@groupdocs.examples.angular/common-components/lib/on-close.service.ts","ng://@groupdocs.examples.angular/common-components/lib/select/select.component.ts","ng://@groupdocs.examples.angular/common-components/lib/disabled-cursor.directive.ts","ng://@groupdocs.examples.angular/common-components/lib/rotation.directive.ts","ng://@groupdocs.examples.angular/common-components/lib/init-state/init-state.component.ts","ng://@groupdocs.examples.angular/common-components/lib/render-print.service.ts","ng://@groupdocs.examples.angular/common-components/lib/render-print.directive.ts","ng://@groupdocs.examples.angular/common-components/lib/exception-message.service.ts","ng://@groupdocs.examples.angular/common-components/lib/error-modal/error-modal.component.ts","ng://@groupdocs.examples.angular/common-components/lib/password.service.ts","ng://@groupdocs.examples.angular/common-components/lib/password-required/password-required.component.ts","ng://@groupdocs.examples.angular/common-components/lib/error-interceptor.service.ts","ng://@groupdocs.examples.angular/common-components/lib/search.service.ts","ng://@groupdocs.examples.angular/common-components/lib/search/search.component.ts","ng://@groupdocs.examples.angular/common-components/lib/searchable.directive.ts","ng://@groupdocs.examples.angular/common-components/lib/tabbed-toolbars/tabbed-toolbars.component.ts","ng://@groupdocs.examples.angular/common-components/lib/tab-activator.service.ts","ng://@groupdocs.examples.angular/common-components/lib/tab/tab.component.ts","ng://@groupdocs.examples.angular/common-components/lib/tabs/tabs.component.ts","ng://@groupdocs.examples.angular/common-components/lib/formatting.service.ts","ng://@groupdocs.examples.angular/common-components/lib/color-picker/color-picker.component.ts","ng://@groupdocs.examples.angular/common-components/lib/back-formatting.service.ts","ng://@groupdocs.examples.angular/common-components/lib/selection.service.ts","ng://@groupdocs.examples.angular/common-components/lib/formatting.directive.ts","ng://@groupdocs.examples.angular/common-components/lib/success-modal/success-modal.component.ts","ng://@groupdocs.examples.angular/common-components/lib/edit-html.service.ts","ng://@groupdocs.examples.angular/common-components/lib/editor.directive.ts","ng://@groupdocs.examples.angular/common-components/lib/loading-mask.service.ts","ng://@groupdocs.examples.angular/common-components/lib/loading-mask/loading-mask.component.ts","ng://@groupdocs.examples.angular/common-components/lib/loading-mask-interceptor.service.ts","ng://@groupdocs.examples.angular/common-components/lib/drop-down/drop-down.component.ts","ng://@groupdocs.examples.angular/common-components/lib/left-side-bar/left-side-bar.component.ts","ng://@groupdocs.examples.angular/common-components/lib/tooltip.directive.ts","ng://@groupdocs.examples.angular/common-components/lib/add-dynamic-component.service.ts","ng://@groupdocs.examples.angular/common-components/lib/hosting-dynamic-component.service.ts","ng://@groupdocs.examples.angular/common-components/lib/host-dynamic.directive.ts","ng://@groupdocs.examples.angular/common-components/lib/resizing/resizing.component.ts","ng://@groupdocs.examples.angular/common-components/lib/top-tab-activator.service.ts","ng://@groupdocs.examples.angular/common-components/lib/top-tab/top-tab.component.ts","ng://@groupdocs.examples.angular/common-components/lib/text-menu/text-menu.component.ts","ng://@groupdocs.examples.angular/common-components/lib/context-menu/context-menu.component.ts","ng://@groupdocs.examples.angular/common-components/lib/common-components.module.ts"],"sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation. All rights reserved.\r\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\r\nthis file except in compliance with the License. You may obtain a copy of the\r\nLicense at http://www.apache.org/licenses/LICENSE-2.0\r\n\r\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\r\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\r\nMERCHANTABLITY OR NON-INFRINGEMENT.\r\n\r\nSee the Apache Version 2.0 License for specific language governing permissions\r\nand limitations under the License.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator], i = 0;\r\n if (m) return m.call(o);\r\n return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n","import {Component, Input} from '@angular/core';\n\n@Component({\n selector: 'gd-top-toolbar',\n templateUrl: './top-toolbar.component.html',\n styleUrls: ['./top-toolbar.component.less']\n})\nexport class TopToolbarComponent {\n\n constructor() {\n }\n}\n","import {Component, EventEmitter, Input, Output} from '@angular/core';\n\n@Component({\n selector: 'gd-side-panel',\n templateUrl: './side-panel.component.html',\n styleUrls: ['./side-panel.component.less']\n})\n\nexport class SidePanelComponent {\n @Input() title: string;\n @Input() icon: string;\n @Input() closable = true;\n @Input() saveable = true;\n @Output() hideSidePanel = new EventEmitter();\n @Output() saveInSidePanel = new EventEmitter();\n\n onlyTitle = false;\n\n constructor() {\n }\n\n closeSidePanel() {\n this.hideSidePanel.emit(true);\n }\n\n saveBySidePanel() {\n this.saveInSidePanel.emit(true);\n }\n\n toggleTitleMode(){\n if (this.closable && !this.saveable) {\n this.onlyTitle = !this.onlyTitle;\n }\n }\n}\n","import {fromEvent, Observable, Subject} from \"rxjs\";\nimport {debounceTime, distinctUntilChanged, startWith, tap} from \"rxjs/operators\";\n\nconst MOBILE_MAX_WIDTH = 425;\nconst TABLET_MAX_WIDTH = 1024;\n\nexport class WindowService {\n\n private resizeSubject: Subject = new Subject();\n private _resize$;\n private width: number;\n private height: number;\n\n constructor() {\n this.width = window.innerWidth;\n this.height = window.innerHeight;\n\n this._resize$ = fromEvent(window, 'resize')\n .pipe(\n debounceTime(200),\n distinctUntilChanged(),\n startWith({target: {innerWidth: window.innerWidth, innerHeight: window.innerHeight}}),\n tap(event => {\n this.resizeSubject.next(event.target);\n this.width = (event.target as Window).innerWidth;\n this.height = (event.target as Window).innerHeight;\n }),\n );\n this._resize$.subscribe();\n }\n\n get onResize(): Observable {\n return this.resizeSubject.asObservable();\n }\n\n isMobile() {\n return this.width <= MOBILE_MAX_WIDTH;\n }\n\n isTablet() {\n return this.width <= TABLET_MAX_WIDTH;\n }\n\n isDesktop() {\n return !this.isMobile() && !this.isTablet();\n }\n\n getWidth() {\n return this.width;\n }\n\n getHeight() {\n return this.height;\n }\n\n isEdge() {\n return window.navigator.userAgent.toLowerCase().indexOf('edge') > -1;\n }\n\n isFirefox() {\n return navigator.userAgent.toLowerCase().indexOf('firefox') > -1;\n }\n}\n","import {Component, Input} from '@angular/core';\nimport {WindowService} from \"../window.service\";\n\n@Component({\n selector: 'gd-button',\n templateUrl: './button.component.html',\n styleUrls: ['./button.component.less']\n})\nexport class ButtonComponent {\n @Input() iconOnly = true;\n @Input() intent = 'default';\n @Input() disabled = false;\n @Input() icon: string;\n @Input() iconClass: string;\n @Input() tooltip: string;\n @Input() className: string;\n @Input() toggle = false;\n @Input() iconSize: string;\n @Input() iconRegular = false;\n @Input() elementPosition = 0;\n\n showToolTip = false;\n private isDesktop: boolean;\n\n constructor(windowService: WindowService) {\n this.isDesktop = windowService.isDesktop();\n windowService.onResize.subscribe((w) => {\n this.isDesktop = windowService.isDesktop();\n });\n }\n\n iconButtonClass() {\n return this.iconOnly ? 'icon-button' : '';\n }\n\n onHovering() {\n if (this.isDesktop && !this.disabled) {\n this.className += ' active';\n }\n }\n\n onUnhovering() {\n if (this.isDesktop && !this.disabled) {\n this.className = this.cleanAll(this.className, ' active');\n }\n }\n\n private cleanAll(str: string, val: string) {\n while (str && str.indexOf(val) !== -1) {\n str = str.replace(val, '');\n }\n return str;\n }\n}\n","import {Component, Input, OnInit} from '@angular/core';\n\n@Component({\n selector: 'gd-logo',\n templateUrl: './logo.component.html',\n styleUrls: ['./logo.component.less']\n})\nexport class LogoComponent implements OnInit {\n\n @Input() logo;\n @Input() icon;\n\n constructor() { }\n\n ngOnInit() {\n }\n\n}\n","import {Component, Input, OnInit} from '@angular/core';\n\n@Component({\n selector: 'gd-tooltip',\n templateUrl: './tooltip.component.html',\n styleUrls: ['./tooltip.component.less']\n})\nexport class TooltipComponent implements OnInit {\n\n @Input() text: string;\n @Input() position = 0;\n visibility = 'hidden';\n\n constructor() {\n }\n\n getClass() {\n if (this.position === 0) {\n return 'tooltip';\n }\n return 'tooltip ' + (this.position > 0 ? 'last-element' : 'first-element');\n }\n\n @Input()\n set show(value: boolean) {\n this.visibility = value ? 'shown' : 'hidden';\n }\n\n ngOnInit() {\n }\n\n}\n","import {HttpHeaders} from \"@angular/common/http\";\nimport {Injectable} from \"@angular/core\";\n\nexport class Api {\n public static VIEWER_APP = '/viewer';\n public static SIGNATURE_APP = '/signature';\n public static ANNOTATION_APP = '/annotation';\n public static SEARCH_APP = '/search';\n public static EDITOR_APP = '/editor';\n public static COMPARISON_APP = '/comparison';\n public static CONVERSION_APP = '/conversion';\n public static METADATA_APP = '/metadata';\n public static DEFAULT_API_ENDPOINT = window.location.href;\n public static LOAD_FILE_TREE = '/loadFileTree';\n public static LOAD_CONFIG = '/loadConfig';\n public static LOAD_DOCUMENT_DESCRIPTION = '/loadDocumentDescription';\n public static LOAD_DOCUMENT_PAGE = '/loadDocumentPage';\n public static LOAD_DOCUMENT_PROPERTIES = '/loadProperties';\n public static LOAD_DOCUMENT_PROPERTIES_NAMES = '/loadPropertiesNames';\n public static SAVE_PROPERTY = '/saveProperty';\n public static REMOVE_PROPERTY = '/removeProperty';\n public static ROTATE_DOCUMENT_PAGE = '/rotateDocumentPages';\n public static UPLOAD_DOCUMENTS = '/uploadDocument';\n public static DOWNLOAD_DOCUMENTS = '/downloadDocument';\n public static DOWNLOAD_ANNOTATED = '/downloadAnnotated';\n public static LOAD_PRINT = '/loadPrint';\n public static LOAD_PRINT_PDF = '/printPdf';\n public static LOAD_THUMBNAILS = '/loadThumbnails';\n public static LOAD_FORMATS = '/loadFormats';\n public static SAVE_FILE = '/saveFile';\n public static CREATE_FILE = '/createFile';\n public static COMPARE_FILES = '/compare';\n public static CONVERT_FILE = '/convert';\n public static DELETE_SIGNATURE_FILE = '/deleteSignatureFile';\n public static REMOVE_FROM_INDEX = '/removeFromIndex';\n public static GET_FILE_STATUS = '/getFileStatus';\n public static SAVE_OPTICAL_CODE = '/saveOpticalCode';\n public static SAVE_TEXT = '/saveText';\n public static SAVE_IMAGE = '/saveImage';\n public static SAVE_STAMP = '/saveStamp';\n public static SIGN = '/sign';\n public static DOWNLOAD_SIGNED = '/downloadSigned';\n public static LOAD_SIGNATURE_IMAGE = '/loadSignatureImage';\n public static ANNOTATE = '/annotate';\n public static SEARCH = '/search';\n public static ADD_FILES_TO_INDEX = '/addFilesToIndex';\n public static CLEAN_METADATA = '/clean';\n public static EXPORT_METADATA = '/export';\n\n public static httpOptionsJson = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n })\n };\n public static httpOptionsJsonResponseTypeBlob = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n }),\n responseType: 'blob' as 'blob'\n };\n}\n\n@Injectable()\nexport class ConfigService {\n\n private _apiEndpoint: string;\n\n constructor() {\n this.apiEndpoint = Api.DEFAULT_API_ENDPOINT;\n }\n\n set apiEndpoint(url: string) {\n this._apiEndpoint = url && url.trim().endsWith('/') ? url.substring(0, url.length - 1) : url;\n }\n\n getConfigEndpoint(app) {\n return (this.apiEndpoint.endsWith(app) ? this.apiEndpoint : this.apiEndpoint + app) + Api.LOAD_CONFIG;\n }\n\n getViewerApiEndpoint() {\n return this._apiEndpoint.endsWith(Api.VIEWER_APP) ? this._apiEndpoint : this._apiEndpoint + Api.VIEWER_APP;\n }\n\n getEditorApiEndpoint() {\n return this._apiEndpoint.trim().endsWith(Api.EDITOR_APP) ? this._apiEndpoint : this._apiEndpoint + Api.EDITOR_APP;\n }\n\n getComparisonApiEndpoint() {\n return this._apiEndpoint.trim().endsWith(Api.COMPARISON_APP) ? this._apiEndpoint : this._apiEndpoint + Api.COMPARISON_APP;\n }\n\n getConversionApiEndpoint() {\n return this._apiEndpoint.trim().endsWith(Api.CONVERSION_APP) ? this._apiEndpoint : this._apiEndpoint + Api.CONVERSION_APP;\n }\n\n getMetadataApiEndpoint() {\n return this._apiEndpoint.trim().endsWith(Api.METADATA_APP) ? this._apiEndpoint : this._apiEndpoint + Api.METADATA_APP;\n }\n\n get apiEndpoint() {\n return this._apiEndpoint;\n }\n\n getSignatureApiEndpoint() {\n return this._apiEndpoint.endsWith(Api.SIGNATURE_APP) ? this._apiEndpoint : this._apiEndpoint + Api.SIGNATURE_APP;\n }\n\n getAnnotationApiEndpoint() {\n return this._apiEndpoint.endsWith(Api.ANNOTATION_APP) ? this._apiEndpoint : this._apiEndpoint + Api.ANNOTATION_APP;\n }\n\n getSearchApiEndpoint() {\n return this._apiEndpoint.endsWith(Api.SEARCH_APP) ? this._apiEndpoint : this._apiEndpoint + Api.SEARCH_APP;\n }\n}\n","export class CommonModals {\n static PasswordRequired = \"gd-password-required\";\n static ErrorMessage = \"gd-error-message\";\n static BrowseFiles = \"gd-browse-files\";\n static CreateDocument = \"gd-create-document\";\n static OperationSuccess = \"gd-success-modal\";\n static DrawHandSignature = \"gd-draw-hand-signature\";\n static DrawStampSignature = \"gd-draw-stamp-signature\";\n static InformationMessage = \"gd-information-message\";\n}\n\nexport class ModalService {\n private modals: any[] = [];\n\n add(modal: any) {\n this.modals.push(modal);\n }\n\n remove(id: string) {\n this.modals = this.modals.filter(x => x.id !== id);\n }\n\n open(id: string) {\n const modal: any = this.modals.filter(x => x.id === id)[0];\n if (modal) {\n modal.open();\n }\n }\n\n close(id: string) {\n const modal: any = this.modals.filter(x => x.id === id)[0];\n if (modal) {\n modal.close();\n }\n }\n}\n","import {Component, ElementRef, EventEmitter, Input, OnDestroy, OnInit, Output} from '@angular/core';\nimport {ModalService} from \"../modal.service\";\n\n@Component({\n selector: 'gd-modal',\n templateUrl: './modal.component.html',\n styleUrls: ['./modal.component.less']\n})\nexport class ModalComponent implements OnInit, OnDestroy {\n @Input() id: string;\n @Input() title: string;\n @Output() visible = new EventEmitter();\n @Output() cancel = new EventEmitter();\n visibility = false;\n private element: any;\n\n constructor(private modalService: ModalService, el: ElementRef) {\n this.element = el.nativeElement;\n }\n\n ngOnInit(): void {\n if (!this.id) {\n console.error('modal must have an id');\n return;\n }\n\n document.body.appendChild(this.element);\n\n this.modalService.add(this);\n }\n\n ngOnDestroy(): void {\n this.modalService.remove(this.id);\n this.element.remove();\n }\n\n open(): void {\n this.visibility = true;\n this.visible.emit(true);\n }\n\n close(): void {\n event.preventDefault();\n event.stopPropagation();\n this.visibility = false;\n this.visible.emit(false);\n }\n\n onClose($event: MouseEvent) {\n $event.stopPropagation();\n if ($event && $event.target && ($event.target).id === 'modalDialog') {\n this.close();\n }\n }\n\n cancelClose() {\n this.cancel.emit(false);\n this.close();\n }\n}\n","export class PageModel {\n data: string;\n angle: number;\n width: number;\n height: number;\n number: number;\n editable: boolean;\n}\n\nexport class RotatedPage {\n pageNumber: number;\n angle: number;\n}\n\nexport class FileCredentials {\n guid: string;\n password: string;\n\n constructor(guid: string, password: string) {\n this.guid = guid;\n this.password = password;\n }\n}\n\nexport class SaveFile extends FileCredentials {\n content: string;\n\n constructor(guid: string, password: string, content: string) {\n super(guid, password);\n this.content = content;\n }\n}\n\nexport class FileDescription {\n guid: string;\n pages: PageModel[];\n printAllowed = true;\n showGridLines: boolean;\n thumbnails: PageModel[];\n}\n\nexport class FileModel {\n guid: string;\n name: string;\n directory: boolean;\n size: number;\n isDirectory: boolean;\n}\n\nexport class HttpError {\n static BadRequest = 400;\n static Unauthorized = 401;\n static Forbidden = 403;\n static NotFound = 404;\n static TimeOut = 408;\n static Conflict = 409;\n static InternalServerError = 500;\n}\n\nexport class Utils {\n public static getMousePosition(event) {\n const mouse = {\n x: 0,\n y: 0\n };\n const wEvent: DragEvent = window.event;\n const ev = event || wEvent; //Moz || IE\n if (ev.pageX || wEvent.pageX || wEvent.screenX || (ev.touches && ev.touches[0] && ev.touches[0].pageX)) { //Moz\n const pageX = typeof ev.pageX !== \"undefined\" && ev.pageX !== 0 ? ev.pageX : wEvent.pageX;\n const pageY = typeof ev.pageY !== \"undefined\" && ev.pageY !== 0 ? ev.pageY : wEvent.pageY;\n const screenX = typeof wEvent.screenX !== \"undefined\" && wEvent.screenY !== 0;\n const screenY = typeof wEvent.screenY !== \"undefined\" && wEvent.screenY !== 0;\n mouse.x = pageX ? pageX : (screenX ? wEvent.screenX : ev.touches[0].pageX);\n mouse.y = pageY ? pageY : (screenY ? wEvent.screenY : ev.touches[0].pageY);\n } else if (ev.clientX) { //IE\n mouse.x = ev.clientX + document.body.scrollLeft;\n mouse.y = ev.clientY + document.body.scrollTop;\n }\n return mouse;\n }\n\n public static toRgb(color: string) {\n const result = /^#?([a-f\\d]{2})([a-f\\d]{2})([a-f\\d]{2})$/i.exec(color);\n if (result) {\n const r = parseInt(result[1], 16);\n const g = parseInt(result[2], 16);\n const b = parseInt(result[3], 16);\n return result ? 'rgb(' + r + ',' + g + ',' + b + ')' : '';\n }\n return color;\n }\n\n public static toHex(color: string) {\n // check if color is standard hex value\n if (color.match(/[0-9A-F]{6}|[0-9A-F]{3}$/i)) {\n return (color.charAt(0) === \"#\") ? color : (\"#\" + color);\n // check if color is RGB value -> convert to hex\n } else if (color.match(/^rgb\\(\\s*(\\d{1,3})\\s*,\\s*(\\d{1,3})\\s*,\\s*(\\d{1,3})\\s*\\)$/)) {\n const c = ([parseInt(RegExp.$1, 10), parseInt(RegExp.$2, 10), parseInt(RegExp.$3, 10)]),\n pad = function (str) {\n if (str.length < 2) {\n for (let i = 0, len = 2 - str.length; i < len; i++) {\n str = '0' + str;\n }\n }\n return str;\n };\n if (c.length === 3) {\n const r = pad(c[0].toString(16)),\n g = pad(c[1].toString(16)),\n b = pad(c[2].toString(16));\n return '#' + r + g + b;\n }\n // else do nothing\n } else {\n return '';\n }\n }\n}\n\nexport class FileUtil {\n public static map = {\n 'folder': {'format': '', 'icon': 'folder'},\n 'pdf': {'format': 'Portable Document Format', 'icon': 'file-pdf', 'unit': 'pt'},\n 'doc': {'format': 'Microsoft Word', 'icon': 'file-word', 'unit': 'pt'},\n 'docx': {'format': 'Microsoft Word', 'icon': 'file-word', 'unit': 'pt'},\n 'docm': {'format': 'Microsoft Word', 'icon': 'file-word', 'unit': 'pt'},\n 'dot': {'format': 'Microsoft Word', 'icon': 'file-word', 'unit': 'pt'},\n 'dotx': {'format': 'Microsoft Word', 'icon': 'file-word', 'unit': 'pt'},\n 'dotm': {'format': 'Microsoft Word', 'icon': 'file-word', 'unit': 'pt'},\n 'xls': {'format': 'Microsoft Excel', 'icon': 'file-excel', 'unit': 'px'},\n 'xlsx': {'format': 'Microsoft Excel', 'icon': 'file-excel', 'unit': 'px'},\n 'xlsm': {'format': 'Microsoft Excel', 'icon': 'file-excel', 'unit': 'px'},\n 'xlsb': {'format': 'Microsoft Excel', 'icon': 'file-excel', 'unit': 'px'},\n 'xls2003': {'format': 'Microsoft Excel', 'icon': 'file-excel', 'unit': 'px'},\n 'xltx': {'format': 'Microsoft Excel', 'icon': 'file-excel', 'unit': 'px'},\n 'xltm': {'format': 'Microsoft Excel', 'icon': 'file-excel', 'unit': 'px'},\n 'ppt': {'format': 'Microsoft PowerPoint', 'icon': 'file-powerpoint', 'unit': 'pt'},\n 'pptx': {'format': 'Microsoft PowerPoint', 'icon': 'file-powerpoint', 'unit': 'pt'},\n 'pps': {'format': 'Microsoft PowerPoint', 'icon': 'file-powerpoint', 'unit': 'pt'},\n 'ppsx': {'format': 'Microsoft PowerPoint', 'icon': 'file-powerpoint', 'unit': 'pt'},\n 'vsd': {'format': 'Microsoft Visio', 'icon': 'file-code', 'unit': 'px'},\n 'vdx': {'format': 'Microsoft Visio', 'icon': 'file-code', 'unit': 'px'},\n 'vss': {'format': 'Microsoft Visio', 'icon': 'file-code', 'unit': 'px'},\n 'vsx': {'format': 'Microsoft Visio', 'icon': 'file-code', 'unit': 'px'},\n 'vst': {'format': 'Microsoft Visio', 'icon': 'file-code', 'unit': 'px'},\n 'vtx': {'format': 'Microsoft Visio', 'icon': 'file-code', 'unit': 'px'},\n 'vsdx': {'format': 'Microsoft Visio', 'icon': 'file-code', 'unit': 'px'},\n 'vdw': {'format': 'Microsoft Visio', 'icon': 'file-code', 'unit': 'px'},\n 'vstx': {'format': 'Microsoft Visio', 'icon': 'file-code', 'unit': 'px'},\n 'vssx': {'format': 'Microsoft Visio', 'icon': 'file-code', 'unit': 'px'},\n 'mpp': {'format': 'Microsoft Project', 'icon': 'file-alt', 'unit': 'pt'},\n 'mpt': {'format': 'Microsoft Project', 'icon': 'file-alt', 'unit': 'pt'},\n 'msg': {'format': 'Microsoft Outlook', 'icon': 'file-alt', 'unit': 'pt'},\n 'eml': {'format': 'Microsoft Outlook', 'icon': 'file-alt', 'unit': 'pt'},\n 'emlx': {'format': 'Microsoft Outlook', 'icon': 'file-alt', 'unit': 'pt'},\n 'one': {'format': 'Microsoft OneNote', 'icon': 'file-word', 'unit': 'pt'},\n 'odt': {'format': 'Open Document Text', 'icon': 'file-word', 'unit': 'pt'},\n 'ott': {'format': 'Open Document Text Template', 'icon': 'file-word', 'unit': 'pt'},\n 'ods': {'format': 'Open Document Spreadsheet', 'icon': 'file-excel', 'unit': 'px'},\n 'odp': {'format': 'Open Document Presentation', 'icon': 'file-powerpoint', 'unit': 'pt'},\n 'otp': {'format': 'Open Document Presentation', 'icon': 'file-powerpoint', 'unit': 'pt'},\n 'ots': {'format': 'Open Document Presentation', 'icon': 'file-powerpoint', 'unit': 'pt'},\n 'potx': {'format': 'Open Document Presentation', 'icon': 'file-powerpoint', 'unit': 'pt'},\n 'potm': {'format': 'Open Document Presentation', 'icon': 'file-powerpoint', 'unit': 'pt'},\n 'pptm': {'format': 'Open Document Presentation', 'icon': 'file-powerpoint', 'unit': 'pt'},\n 'ppsm': {'format': 'Open Document Presentation', 'icon': 'file-powerpoint', 'unit': 'pt'},\n 'rtf': {'format': 'Rich Text Format', 'icon': 'file-alt', 'unit': 'pt'},\n 'txt': {'format': 'Plain Text File', 'icon': 'file-alt', 'unit': 'pt'},\n 'csv': {'format': 'Comma-Separated Values', 'icon': 'file-excel', 'unit': 'px'},\n 'html': {'format': 'HyperText Markup Language', 'icon': 'file-word', 'unit': 'pt'},\n 'mht': {'format': 'HyperText Markup Language', 'icon': 'file-word', 'unit': 'pt'},\n 'mhtml': {'format': 'HyperText Markup Language', 'icon': 'file-word', 'unit': 'pt'},\n 'xml': {'format': 'Extensible Markup Language', 'icon': 'file-word', 'unit': 'pt'},\n 'xps': {'format': 'XML Paper Specification', 'icon': 'file-word', 'unit': 'pt'},\n 'dxf': {'format': 'AutoCAD Drawing File Format', 'icon': 'file-image', 'unit': 'px'},\n 'dwg': {'format': 'AutoCAD Drawing File Format', 'icon': 'file-image', 'unit': 'px'},\n 'bmp': {'format': 'Bitmap Picture', 'icon': 'file-image', 'unit': 'px'},\n 'gif': {'format': 'Graphics Interchange Format', 'icon': 'file-image', 'unit': 'px'},\n 'jpg': {'format': 'Joint Photographic Experts Group', 'icon': 'file-image', 'unit': 'px'},\n 'jpe': {'format': 'Joint Photographic Experts Group', 'icon': 'file-image', 'unit': 'px'},\n 'jpeg': {'format': 'Joint Photographic Experts Group', 'icon': 'file-image', 'unit': 'px'},\n 'jfif': {'format': 'Joint Photographic Experts Group', 'icon': 'file-image', 'unit': 'px'},\n 'png': {'format': 'Portable Network Graphics', 'icon': 'file-image', 'unit': 'px'},\n 'tiff': {'format': 'Tagged Image File Format', 'icon': 'file-image', 'unit': 'px'},\n 'tif': {'format': 'Tagged Image File Format', 'icon': 'file-image', 'unit': 'px'},\n 'psd': {'format': 'Tagged Image File Format', 'icon': 'file-image', 'unit': 'px'},\n 'svg': {'format': 'Tagged Image File Format', 'icon': 'file-image', 'unit': 'px'},\n 'jp2': {'format': 'Tagged Image File Format', 'icon': 'file-image', 'unit': 'px'},\n 'epub': {'format': 'Electronic Publication', 'icon': 'file-pdf', 'unit': 'pt'},\n 'ico': {'format': 'Windows Icon', 'icon': 'file-image', 'unit': 'px'},\n 'webp': {'format': 'Compressed Image', 'icon': 'file-image', 'unit': 'px'},\n 'mobi': {'format': 'Mobipocket eBook', 'icon': 'file-pdf', 'unit': 'pt'},\n 'tex': {'format': 'LaTeX Source Document', 'icon': 'file-pdf', 'unit': 'pt'},\n 'djvu': {'format': 'Multi-Layer Raster Image', 'icon': 'file-alt', 'unit': 'pt'},\n 'unknown': {'format': 'This format is not supported', 'icon': 'file'},\n };\n\n public static find(filename: string, isDirectory: boolean) {\n if (filename && !isDirectory) {\n const strings = filename.split('.');\n const name = strings.pop().toLowerCase();\n if (typeof FileUtil.map[name] === \"undefined\") {\n return strings.length > 0 ? FileUtil.map['unknown'] : FileUtil.map['folder'];\n } else {\n return FileUtil.map[name];\n }\n } else {\n return FileUtil.map['folder'];\n }\n }\n}\n\nexport class FileService {\n\n constructor() {\n }\n}\n","import {Observable, Observer} from \"rxjs\";\n\nexport class UploadFilesService {\n private _uploadsChange: Observable;\n private _observer: Observer;\n\n constructor() {\n this._uploadsChange = new Observable(observer =>\n this._observer = observer);\n }\n\n get uploadsChange(): Observable {\n return this._uploadsChange;\n }\n\n changeFilesList(filesList: FileList) {\n this._observer.next(filesList);\n }\n}\n","import {Component, EventEmitter, Input, OnInit, Output} from '@angular/core';\nimport {FileModel, FileUtil} from \"../file.service\";\nimport {UploadFilesService} from \"../upload-files.service\";\nimport * as jquery from \"jquery\";\nconst $ = jquery;\n\nconst upload_disc = 'Disc';\n\nconst upload_url = 'URL';\n\nconst uploads_choices = [{name: upload_disc, icon: 'hdd'}, {name: upload_url, icon: 'link'}];\n\n@Component({\n selector: 'gd-browse-files-modal',\n templateUrl: './browse-files-modal.component.html',\n styleUrls: ['./browse-files-modal.component.less']\n})\nexport class BrowseFilesModalComponent implements OnInit {\n uploads = uploads_choices;\n\n @Input() files;\n @Input() uploadConfig;\n @Output() selectedFileGuid = new EventEmitter();\n @Output() selectedDirectory = new EventEmitter();\n @Output() urlForUpload = new EventEmitter();\n @Output() closing = new EventEmitter();\n private selectedFile: FileModel;\n showUploadUrl = false;\n showUploadFile = false;\n\n constructor(private _uploadService: UploadFilesService) {\n }\n\n ngOnInit() {\n }\n\n getSize(size: number) {\n const mb = size / 1024 / 1024;\n if (mb > 1) {\n return (Math.round(mb * 100) / 100) + ' MB';\n } else {\n const kb = size / 1024;\n if (kb > 1) {\n return (Math.round(kb * 100) / 100) + ' KB';\n }\n }\n return size + ' Bytes';\n }\n\n getFormatName(file: FileModel) {\n return FileUtil.find(file.name, file.directory).format;\n }\n\n getFormatIcon(file: FileModel) {\n return FileUtil.find(file.name, file.directory).icon;\n }\n\n choose(file: FileModel) {\n this.selectedFile = file;\n if (file.directory || file.isDirectory) {\n this.selectedDirectory.emit(file.name);\n } else {\n this.selectedFileGuid.emit(file.guid);\n }\n }\n\n goUp() {\n if (this.selectedFile) {\n let guid = this.selectedFile.guid;\n if (guid.length > 0 && guid.indexOf('/') === -1) {\n guid = '';\n } else {\n guid = guid.replace(/\\/[^\\/]+\\/?$/, '');\n }\n this.selectedDirectory.emit(guid);\n }\n }\n\n selectUpload($event: string) {\n if (upload_url === $event) {\n this.showUploadUrl = true;\n } else {\n this.showUploadUrl = false;\n $(\"#gd-upload-input\").trigger('click');\n }\n }\n\n refresh($event) {\n\n if ($event) {\n this.files = null;\n this.selectedDirectory.emit('');\n this.showUploadUrl = false;\n this.selectedFile = null;\n } else {\n this.closing.emit(true);\n }\n }\n\n showSpinner() {\n return !this.files;\n }\n\n uploadUrl(url: string) {\n if (url) {\n this.urlForUpload.emit(url);\n this.cleanUpload();\n }\n }\n\n handleFileInput(files: FileList) {\n this._uploadService.changeFilesList(files);\n }\n\n cleanUpload() {\n this.showUploadFile = false;\n this.showUploadUrl = false;\n }\n}\n","import {Observable, Subject} from \"rxjs\";\n\nexport class ZoomService {\n private _observer: Subject = new Subject();\n private readonly _zoomChange: Observable = this._observer.asObservable();\n private _zoom: number;\n\n constructor() {\n }\n\n get zoom(): number {\n return this._zoom;\n }\n\n get zoomChange(): Observable {\n return this._zoomChange;\n }\n\n changeZoom(zoom: number) {\n this._zoom = zoom;\n this._observer.next(zoom);\n }\n\n private createZoomOption(val: any, name: string, sep: boolean = false) {\n return {value: val, name: name, separator: sep}\n }\n\n zoomOptions(width, height) {\n return [this.createZoomOption(25, '25%'),\n this.createZoomOption(50, '50%'),\n this.createZoomOption(100,'100%'),\n this.createZoomOption(150, '150%'),\n this.createZoomOption(200, '200%'),\n this.createZoomOption(300, '300%'),\n this.createZoomOption(0, '', true),\n this.createZoomOption(width, 'Fit Width'),\n this.createZoomOption(height, 'Fit Height')];\n }\n}\n","import {Observable, Observer} from \"rxjs\";\n\nexport class PagePreloadService {\n private readonly _checkPreload: Observable;\n private _observer: Observer;\n\n constructor() {\n this._checkPreload = new Observable(observer =>\n this._observer = observer);\n }\n\n get checkPreload(): Observable {\n return this._checkPreload;\n }\n\n changeLastPageInView(page: number) {\n if(this._observer) {\n this._observer.next(page);\n }\n }\n}\n","import {BehaviorSubject, Observable, Subject} from \"rxjs\";\nimport {PagePreloadService} from \"./page-preload.service\";\nimport {Injectable} from \"@angular/core\";\n\n@Injectable({\n providedIn: 'root'\n})\nexport class NavigateService {\n private _currentPage = 0;\n private _countPages = 0;\n private _observer: Subject = new Subject();\n private _navigate: Observable = this._observer;\n\n constructor(private _pagePreloadService: PagePreloadService) {\n }\n\n get navigate(): Observable {\n return this._navigate;\n }\n\n get countPages(): number {\n return this._countPages;\n }\n\n set countPages(value: number) {\n this._countPages = value;\n }\n\n get currentPage(): number {\n return this._currentPage;\n }\n\n set currentPage(value: number) {\n this._currentPage = value;\n }\n\n nextPage() {\n if (this._currentPage < this._countPages) {\n this._currentPage++;\n this.navigateTo(this._currentPage);\n }\n }\n\n prevPage() {\n if (this._currentPage > 1) {\n this._currentPage--;\n this.navigateTo(this._currentPage);\n }\n }\n\n toLastPage() {\n this._currentPage = this._countPages;\n this.navigateTo(this._currentPage);\n }\n\n toFirstPage() {\n this._currentPage = 1;\n this.navigateTo(this._currentPage);\n }\n\n navigateTo(page: number) {\n this.currentPage = page;\n this._pagePreloadService.changeLastPageInView(page);\n this._observer.next(page);\n }\n}\n","import {\n AfterViewChecked,\n Component,\n ElementRef,\n Input,\n OnInit,\n AfterViewInit,\n OnChanges\n} from '@angular/core';\nimport {FileDescription, FileUtil} from \"../file.service\";\nimport {ZoomService} from \"../zoom.service\";\nimport * as Hammer from 'hammerjs';\nimport {WindowService} from '../window.service';\nimport * as jquery from 'jquery';\nimport { NavigateService } from '../navigate.service';\n\nconst $ = jquery;\n\n@Component({\n selector: 'gd-document',\n templateUrl: './document.component.html',\n styleUrls: ['./document.component.less']\n})\nexport class DocumentComponent implements OnInit, AfterViewChecked, AfterViewInit, OnChanges {\n\n @Input() mode: boolean;\n @Input() preloadPageCount: number;\n @Input() file: FileDescription;\n @Input() selectedPage: number;\n @Input() showActiveSlide: boolean;\n wait = false;\n zoom: number;\n\n docWidth = null;\n docHeight = null;\n viewportWidth = null;\n viewportHeight = null;\n scale = null;\n lastScale = null;\n container = null;\n doc = null;\n x = 0;\n lastX = 0;\n y = 0;\n lastY = 0;\n pinchCenter = null;\n pinchCenterOffset = null;\n curWidth = 0;\n curHeight = 0;\n isDesktop: boolean;\n\n constructor(protected _elementRef: ElementRef,\n private _zoomService: ZoomService,\n private _windowService: WindowService,\n private _navigateService: NavigateService) {\n _zoomService.zoomChange.subscribe((val: number) => {\n this.zoom = val;\n });\n\n this.isDesktop = _windowService.isDesktop();\n\n this._navigateService.navigate.subscribe(((\n value => {\n this.selectedPage = value;\n })));\n }\n\n ngOnInit() {\n if (this.ifPresentation())\n {\n this.selectedPage = this._navigateService.currentPage;\n }\n }\n\n ngOnChanges() {\n }\n\n ngAfterViewInit() {\n // For current iteration we take .panzoom as a document\n this.doc = this._elementRef.nativeElement.children.item(0).children.item(0);\n // For current iteration we take .gd-document as a container\n this.container = this._elementRef.nativeElement;\n\n this.docWidth = this.doc.clientWidth;\n this.docHeight = this.doc.clientHeight;\n this.viewportWidth = this.doc.offsetWidth;\n\n // For cases where we already have zoom defined we should include it\n this.scale = (this.viewportWidth / this.docWidth) * this._zoomService.zoom / 100;\n\n this.lastScale = this.scale;\n this.viewportHeight = this.container.offsetHeight;\n this.curWidth = this.docWidth * this.scale;\n this.curHeight = this.docHeight * this.scale;\n\n const hammer = new Hammer(this.container);\n }\n\n // TODO: this temporary crutch for Excel files should be documented\n ifExcel() {\n return FileUtil.find(this.file.guid, false).format === \"Microsoft Excel\";\n }\n\n ifPresentation() {\n return FileUtil.find(this.file.guid, false).format === \"Microsoft PowerPoint\";\n }\n\n getDimensionWithUnit(value: number, pageNumber: number) {\n return this.ifPresentation() && this.showActiveSlide && !this.isVisible(pageNumber) ? 0 : value + (this.mode ? FileUtil.find(this.file.guid, false).unit : 'px');\n }\n\n ifEdge() {\n return navigator.userAgent.toLowerCase().indexOf('edge') > -1;\n }\n\n ngAfterViewChecked(): void {\n // for now we are not sure that need this action in current implementation\n // const elementNodeListOf = this._elementRef.nativeElement.querySelectorAll('.gd-wrapper');\n // const element = elementNodeListOf.item(0);\n // if (element) {\n // $(element).trigger('focus');\n // }\n }\n\n isVisible(pageNumber) {\n if (this.ifPresentation()) {\n return pageNumber === this.selectedPage ? true : false;\n }\n else {\n return true;\n }\n }\n}\n","import {Component, Input, OnChanges, OnInit, SimpleChanges} from '@angular/core';\n\n@Component({\n selector: 'gd-page',\n templateUrl: './page.component.html',\n styleUrls: ['./page.component.less']\n})\nexport class PageComponent implements OnInit, OnChanges {\n\n @Input() angle: number;\n @Input() width: number;\n @Input() height: number;\n @Input() number: number;\n @Input() data: string;\n @Input() isHtml: boolean;\n @Input() editable: boolean;\n imgData: string;\n\n constructor() {\n }\n\n ngOnInit() {\n const isIE = /*@cc_on!@*/false || !!/(MSIE|Trident\\/|Edge\\/)/i.test(navigator.userAgent);\n if(isIE && this.number === 0){\n this.editable = false;\n }\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n if(this.isHtml) {\n // TODO: this is temporary needed to remove unneeded spaces and BOM symbol \n // which leads to undesired spaces on the top of the docs pages\n this.data = this.data \n ? this.data.replace(/>\\s+<')\n .replace(/\\uFEFF/g,\"\")\n : null;\n } else {\n this.imgData = 'data:image/png;base64,' + this.data;\n }\n }\n}\n","import {Pipe, PipeTransform} from '@angular/core';\nimport {DomSanitizer, SafeHtml} from '@angular/platform-browser';\n\n@Pipe({name: 'safeHtml'})\nexport class SanitizeHtmlPipe implements PipeTransform{\n constructor(private sanitizer: DomSanitizer) {\n }\n\n transform(html: string): SafeHtml {\n return this.sanitizer.bypassSecurityTrustHtml(html);\n }\n}\n\n@Pipe({name: 'safeResourceHtml'})\nexport class SanitizeResourceHtmlPipe implements PipeTransform{\n constructor(private sanitizer: DomSanitizer) {\n }\n\n transform(html: string): SafeHtml {\n return this.sanitizer.bypassSecurityTrustResourceUrl(html);\n }\n}\n\n@Pipe({name: 'safeStyle'})\nexport class SanitizeStylePipe implements PipeTransform{\n constructor(private sanitizer: DomSanitizer) {\n }\n\n transform(html: string): SafeHtml {\n return this.sanitizer.bypassSecurityTrustStyle(html);\n }\n}\n\n@Pipe({name: 'highlight'})\nexport class HighlightSearchPipe implements PipeTransform {\n\n transform(value: string, args: string): any {\n if (!args) {\n return value;\n }\n const re = new RegExp(args, 'gi'); //'gi' for case insensitive and can use 'g' if you want the search to be case sensitive.\n return value.replace(re, \"$&\");\n }\n}\n","import {Component, EventEmitter, OnInit, Output} from '@angular/core';\nimport {UploadFilesService} from \"../upload-files.service\";\n\n@Component({\n selector: 'gd-upload-file-zone',\n templateUrl: './upload-file-zone.component.html',\n styleUrls: ['./upload-file-zone.component.less']\n})\nexport class UploadFileZoneComponent implements OnInit {\n\n @Output() closeUpload = new EventEmitter();\n\n constructor(private _uploadService: UploadFilesService) { }\n\n ngOnInit() {\n }\n\n handleFileInput(files: FileList) {\n this._uploadService.changeFilesList(files);\n this.onCloseUpload();\n }\n\n onCloseUpload() {\n this.closeUpload.emit(true);\n }\n\n close($event) {\n if ($event.target.id === 'gd-dropZone') {\n this.onCloseUpload();\n }\n }\n}\n","import {Directive, EventEmitter, HostBinding, HostListener, Input, Output} from '@angular/core';\nimport {UploadFilesService} from \"./upload-files.service\";\n\n@Directive({\n selector: '[gdDnd]'\n})\nexport class DndDirective {\n\n @Output() closing = new EventEmitter();\n @Output() opening = new EventEmitter();\n @Output() dropped = new EventEmitter();\n\n @HostBinding('class.active') active = false;\n\n private dragCounter = 0;\n\n constructor(protected _uploadFilesService: UploadFilesService) {\n }\n\n @HostListener('dragenter', ['$event'])\n public onDragEnter(evt) {\n evt.preventDefault();\n evt.stopPropagation();\n this.dragCounter++;\n this.active = true;\n this.opening.emit(true);\n }\n\n @HostListener('dragover', ['$event'])\n public onDragOver(evt) {\n evt.preventDefault();\n evt.stopPropagation();\n return false;\n }\n\n @HostListener('dragleave', ['$event'])\n public onDragLeave(evt) {\n evt.preventDefault();\n evt.stopPropagation();\n this.dragCounter--;\n if (this.dragCounter === 0) {\n this.active = false;\n this.closeArea();\n }\n }\n\n @HostListener('drop', ['$event'])\n public onDrop(evt) {\n evt.preventDefault();\n evt.stopPropagation();\n const files = evt.dataTransfer.files;\n if (files.length > 0) {\n this.active = false;\n this.dropped.emit(true);\n this._uploadFilesService.changeFilesList(files);\n this.closeArea();\n }\n }\n\n @HostListener('click', ['$event'])\n public onClick(event) {\n this.closeArea();\n }\n\n private closeArea() {\n this.closing.emit(true);\n this.opening.emit(false);\n }\n}\n","import {Injectable} from '@angular/core';\nimport * as jquery from \"jquery\";\nconst $ = jquery;\n\n@Injectable({\n providedIn: 'root'\n})\nexport class ViewportService {\n\n constructor() {\n }\n\n checkInViewport(el, zoom: number = 100, leftOffset: number = 0, deltaX: number = 0.5) {\n if (!el) {\n return false;\n }\n const x = deltaX;\n const y = 0.5;\n\n const win = $(window);\n\n const viewport = {\n top: win.scrollTop(),\n left: win.scrollLeft() + leftOffset,\n right: win.scrollLeft() + win.width() - 10,\n bottom: win.scrollTop() + win.height()\n };\n\n\n if (isNaN(zoom)) {\n zoom = 100;\n }\n\n const zoomN = zoom / 100;\n const height = $(el).outerHeight() * (zoomN);\n const width = $(el).outerWidth() * (zoomN);\n\n if (!width || !height) {\n return false;\n }\n\n const bounds = $(el).offset();\n const right = (bounds.left * (zoomN)) + width;\n const bottom = (bounds.top * (zoomN)) + height;\n\n const visible = (!(viewport.right < (bounds.left * (zoomN)) || viewport.left > right || viewport.bottom < (bounds.top * (zoomN)) || viewport.top > bottom));\n\n if (!visible) {\n return false;\n }\n\n const deltas = {\n top: parseFloat(Math.min(1, (bottom - viewport.top) / height).toFixed(2)),\n bottom: parseFloat(Math.min(1, (viewport.bottom - (bounds.top * (zoomN))) / height).toFixed(2)),\n left: parseFloat(Math.min(1, (right - viewport.left) / width).toFixed(2)),\n right: parseFloat(Math.min(1, (viewport.right - (bounds.left * (zoomN))) / width).toFixed(2))\n };\n\n return (deltas.left * deltas.right) >= x && (deltas.top * deltas.bottom) >= y;\n }\n}\n","import {\n AfterViewInit,\n Directive,\n ElementRef,\n HostListener,\n Input,\n OnChanges,\n OnInit,\n SimpleChanges\n} from '@angular/core';\nimport {NavigateService} from \"./navigate.service\";\nimport {PagePreloadService} from \"./page-preload.service\";\nimport {ZoomService} from \"./zoom.service\";\nimport {WindowService} from \"./window.service\";\nimport {ViewportService} from \"./viewport.service\";\nimport * as jquery from \"jquery\";\nconst $ = jquery;\n\n@Directive({\n selector: '[gdScrollable]'\n})\nexport class ScrollableDirective implements AfterViewInit, OnChanges, OnInit {\n @Input() isPresentation: boolean;\n\n private currentPage: number;\n private zoom = 100;\n private loadedPagesSet = new Set();\n\n constructor(private _elementRef: ElementRef,\n private _navigateService: NavigateService,\n private _pagePreloadService: PagePreloadService,\n private _zoomService: ZoomService,\n private _windowService: WindowService,\n private _viewportService: ViewportService) {\n\n this.zoom = _zoomService.zoom ? _zoomService.zoom : this.zoom;\n _zoomService.zoomChange.subscribe((val: number) => {\n this.zoom = val ? val : this.zoom;\n this.refresh();\n });\n }\n\n ngAfterViewInit() {\n this.zoom = this._zoomService.zoom ? this._zoomService.zoom : this.zoom;\n this._navigateService.navigate.subscribe((value => {\n this.currentPage = value;\n this.scrollToPage(value);\n }));\n this.refresh();\n }\n\n @HostListener('scroll') scrolling() {\n this.refresh();\n }\n\n @HostListener('window:resize') resizing() {\n this.refresh();\n }\n\n scrollToPage(pageNumber: number) {\n const el = this._elementRef.nativeElement;\n const page = this.getPage(pageNumber);\n const prev = pageNumber > 0 ? this.getPage(pageNumber - 1) : null;\n const isSameTop = (prev && $(prev).offset().top === $(page).offset().top);\n if (this._viewportService.checkInViewport(page, this.zoom) && isSameTop) {\n return;\n }\n const pagesHeight = this.calculateOffset(pageNumber);\n const options = {\n left: 0,\n top: pagesHeight\n };\n if(el){\n // using polyfill\n el.scroll(options);\n }\n }\n\n private getChildren() {\n const el = this._elementRef ? this._elementRef.nativeElement : null;\n if (el) {\n // here and in the similar line below we getting the document pages\n return el.children.item(0).children.item(0).children;\n }\n }\n\n private getPage(pageNumber: number) {\n const el = this._elementRef ? this._elementRef.nativeElement : null;\n if (el) {\n return el.children.item(0).children.item(0).children.item(pageNumber - 1);\n }\n }\n\n private calculateOffset(pageNumber: number) {\n const count = this._windowService.isFirefox() ? 1 : this.countPagesOnWidth();\n const margin = this._windowService.isDesktop() ? 40 : 10;\n let pagesHeight = 0;\n for (let i = 1; i < pageNumber / count; i++) {\n const item = this.getPage(i);\n const clientHeight = item ? item.clientHeight : 0;\n pagesHeight += clientHeight > 0 ? clientHeight * this.getZoom() + margin : 0;\n }\n return pagesHeight;\n }\n\n private countPagesOnWidth() {\n const pageEl = this.getPage(1);\n const offset = 150;\n if (pageEl) {\n const count = Math.floor((this.getWidth() - offset) / (pageEl.getBoundingClientRect().width * this.getZoom()));\n if (count !== 0) {\n return count;\n }\n }\n return 1;\n }\n\n refresh() {\n let page;\n let currentPageSet = false;\n const pageElem = this.getPage(this.currentPage);\n const currentPageRect = this.currentPage && pageElem ? pageElem.getBoundingClientRect() : null;\n for (page = 1; page < this.getChildren().length + 1; page++) {\n const element = this.getPage(page);\n if (this._viewportService.checkInViewport(element, this.zoom)) {\n if (!currentPageSet) {\n if (!this.currentPage || !pageElem || (this.currentPage && currentPageRect && element.getBoundingClientRect().top !== currentPageRect.top)) {\n this.currentPage = page;\n if ((this.isPresentation && this._navigateService.currentPage === 0) || !this.isPresentation) {\n this._navigateService.currentPage = page;\n }\n }\n currentPageSet = true;\n }\n if (!this.loadedPagesSet.has(page)) {\n this._pagePreloadService.changeLastPageInView(page);\n this.loadedPagesSet.add(page);\n }\n }\n }\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n this.refresh();\n }\n\n ngOnInit(): void {\n this.zoom = this._zoomService.zoom ? this._zoomService.zoom : this.zoom;\n }\n\n\n private getWidth() {\n return this._elementRef ? this._elementRef.nativeElement.offsetWidth : window.innerWidth;\n }\n\n private getZoom() {\n return this.zoom / 100;\n }\n}\n","import {\n Directive,\n EventEmitter,\n HostListener,\n Output} from '@angular/core';\nimport * as jquery from \"jquery\";\nconst $ = jquery;\n\n@Directive({\n selector: '[gdMouseWheel]'\n})\nexport class MouseWheelDirective {\n @Output() mouseWheelUp = new EventEmitter();\n @Output() mouseWheelDown = new EventEmitter();\n\n @HostListener('mousewheel', ['$event']) onMouseWheelChrome(event: any) {\n this.mouseWheelFunc(event);\n }\n\n @HostListener('DOMMouseScroll', ['$event']) onMouseWheelFirefox(event: any) {\n this.mouseWheelFunc(event);\n }\n\n @HostListener('onmousewheel', ['$event']) onMouseWheelIE(event: any) {\n this.mouseWheelFunc(event);\n }\n\n mouseWheelFunc(event: any) {\n event = window.event ;\n const delta = Math.max(-1, Math.min(1, (event.wheelDelta || -event.detail)));\n if(delta > 0) {\n this.mouseWheelUp.emit(event);\n } else if(delta < 0) {\n this.mouseWheelDown.emit(event);\n }\n }\n}\n","import {AfterViewInit, Directive, HostBinding, Input, OnDestroy, OnInit, ElementRef, OnChanges} from '@angular/core';\nimport {ZoomService} from \"./zoom.service\";\nimport {FileUtil} from \"./file.service\";\nimport { WindowService } from './window.service';\n\n@Directive({\n selector: '[gdZoom]'\n})\nexport class ZoomDirective implements OnInit, OnDestroy, AfterViewInit, OnChanges {\n\n @Input() zoomActive = true;\n @Input() file;\n\n @HostBinding('style.zoom') zoomInt: number;\n @HostBinding('style.transform') transform: string;\n @HostBinding('style.transform-origin') transformOrigin: string;\n @HostBinding('style.width') width: string;\n @HostBinding('style.height') height: string;\n @HostBinding('style.min-width') minWidth: string;\n el: ElementRef;\n\n constructor(private _zoomService: ZoomService, private _windowService: WindowService, el: ElementRef) {\n this.el = el;\n }\n\n ngOnDestroy(): void {\n }\n\n ngOnChanges(): void {\n this.setStyles(this._zoomService.zoom);\n this.resizePages(this._zoomService.zoom);\n }\n\n ngOnInit(): void {\n if (! this.zoomActive) {\n return;\n }\n\n this.setStyles(this._zoomService.zoom);\n this._zoomService.zoomChange.subscribe((zoom) => {\n this.setStyles(zoom);\n this.resizePages(zoom);\n });\n }\n\n private setStyles(zoom) {\n if (! this.zoomActive) {\n return;\n }\n\n const zoomInt = zoom === 100 ? 1 : zoom / 100;\n \n if (this._windowService.isEdge()) {\n this.zoomInt = zoomInt;\n }\n else {\n this.zoomInt = null;\n }\n \n if (!this._windowService.isEdge()) {\n this.transform = 'scale(' + zoomInt + ')';\n this.transformOrigin = 'top left';\n }\n else {\n this.transform = \"\";\n this.transformOrigin = \"\";\n }\n\n let maxWidth = 0;\n this.file.pages.forEach(page => {\n {\n if (page.width > maxWidth){\n maxWidth = page.width;\n }\n }\n });\n\n // Images and Excel-related files receiving dimensions in px from server\n this.minWidth = maxWidth + FileUtil.find(this.file.guid, false).unit;\n }\n\n private getScrollWidth(elm){\n return elm.offsetWidth - elm.clientWidth;\n }\n\n private getScrollHeight(elm){\n return elm.offsetHeight - elm.clientHeight;\n }\n\n private resizePages(zoom){\n const zoomInt = zoom === 100 ? 1 : zoom / 100;\n\n const viewPortWidth = this.el.nativeElement.parentElement.offsetWidth;\n const viewPortHeight = this.el.nativeElement.parentElement.offsetHeight;\n const scrollWidth = this.getScrollWidth(this.el.nativeElement.parentElement);\n const scrollHeight = this.getScrollHeight(this.el.nativeElement.parentElement);\n this.width = (viewPortWidth/zoomInt - scrollWidth/zoomInt) + 'px';\n this.height = (viewPortHeight/zoomInt - scrollHeight/zoomInt) + 'px';\n }\n\n ngAfterViewInit(): void {\n this.setStyles(this._zoomService.zoom);\n }\n}\n","import {Injectable} from '@angular/core';\nimport {Observable, Subject} from \"rxjs\";\n\n@Injectable({\n providedIn: 'root'\n})\nexport class OnCloseService {\n private _observer: Subject = new Subject();\n private readonly _onClose: Observable = this._observer.asObservable();\n\n constructor() {\n }\n\n get onClose() {\n return this._onClose;\n }\n\n close(close: boolean) {\n this._observer.next(close)\n }\n}\n","import {Component, EventEmitter, Input, Output} from '@angular/core';\nimport {OnCloseService} from \"../on-close.service\";\n\nexport interface Option {\n name: string;\n value: any;\n separator: boolean;\n}\n\n@Component({\n selector: 'gd-select',\n templateUrl: './select.component.html',\n styleUrls: ['./select.component.less']\n})\nexport class SelectComponent {\n\n @Input() options: Option[];\n @Input() disabled = false;\n @Input() showSelected: Option;\n @Output() selected: EventEmitter = new EventEmitter();\n @Output() opened: EventEmitter = new EventEmitter();\n @Input() isOpen = false;\n @Input() icon: string;\n\n constructor(protected _onCloseService: OnCloseService) {\n _onCloseService.onClose.subscribe(() => {\n this.close();\n });\n }\n\n open() {\n if (!this.disabled) {\n this.isOpen = true;\n }\n }\n\n close() {\n this.isOpen = false;\n }\n\n onClickOutside(event : Event){\n this.close();\n }\n\n toggle($event) {\n // TODO: following lines were uncommented due to needness in signature app\n $event.preventDefault();\n $event.stopPropagation();\n if (!this.disabled) {\n this.isOpen = !this.isOpen;\n if (this.isOpen) this.opened.emit(true);\n }\n }\n\n select($event, value: Option) {\n $event.preventDefault();\n $event.stopPropagation();\n this.selected.emit(value);\n this.close();\n }\n}\n","import {Directive, HostBinding, Input, OnChanges, OnInit, SimpleChanges} from '@angular/core';\n\n@Directive({\n selector: '[gdDisabledCursor]'\n})\nexport class DisabledCursorDirective implements OnInit, OnChanges {\n\n @Input() dis: boolean;\n\n constructor() {\n }\n\n @HostBinding('class.inactive') cursor: boolean;\n\n private updateCursor() {\n this.cursor = this.dis ? true : false;\n }\n\n ngOnInit(): void {\n this.updateCursor();\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n this.updateCursor()\n }\n}\n","import {Directive, HostBinding, Input, OnChanges, OnInit, SimpleChanges} from '@angular/core';\n\n@Directive({\n selector: '[gdRotation]'\n})\nexport class RotationDirective implements OnInit, OnChanges {\n\n @Input() angle: number;\n @Input() isHtmlMode: boolean;\n @Input() width: number;\n @Input() height: number;\n @Input() withMargin = true;\n\n @HostBinding('style.animation') animation: string;\n @HostBinding('style.transition-property') transition: string;\n @HostBinding('style.transform') transform: string;\n\n @HostBinding('style.margin') margin: string;\n\n constructor() {\n }\n\n private updateCursor() {\n if (typeof this.angle === \"string\"){\n this.angle = parseInt(this.angle, 10);\n }\n\n if (this.angle) {\n this.animation = 'none';\n this.transition = 'none';\n this.transform = 'rotate(' + this.angle + 'deg)';\n } else if (this.angle === 0 && this.animation) {\n this.animation = null;\n this.transition = null;\n this.transform = null;\n }\n\n if (this.withMargin) {\n if (this.angle === 90 || this.angle === 270 || this.angle === -90 || this.angle === -270) {\n if (this.isHtmlMode) {\n if (this.isLandscape()) {\n this.margin = '164px 254px';\n } else {\n this.margin = '-111px 254px';\n }\n } else {\n if (this.isLandscape()) {\n this.margin = '129px 100px -79px';\n } else {\n this.margin = '-72px 100px -79px';\n }\n }\n } else if (this.angle === -180 || this.angle === 180) {\n this.margin = '280px';\n } else {\n this.margin = null;\n }\n }\n\n }\n\n isLandscape() {\n return this.width > this.height;\n }\n\n ngOnInit(): void {\n this.updateCursor();\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n this.updateCursor()\n }\n\n}\n","import {Component, Input, Output, EventEmitter, OnInit} from '@angular/core';\n\n@Component({\n selector: 'gd-init-state',\n templateUrl: './init-state.component.html',\n styleUrls: ['./init-state.component.less']\n})\nexport class InitStateComponent implements OnInit {\n @Input() icon: string;\n @Input() text: string;\n @Output() fileDropped = new EventEmitter();\n showUploadFile = false;\n\n constructor() {\n }\n\n ngOnInit() {\n }\n\n dropped($event) {\n if ($event) {\n this.fileDropped.emit($event);\n this.showUploadFile = false;\n }\n }\n}\n","import {Observable, Observer} from \"rxjs\";\nimport {PageModel} from \"./file.service\";\n\nexport class RenderPrintService {\n private _render: Observable;\n private _observer: Observer;\n private _renderBlob: Observable;\n private _observerBlob: Observer;\n\n constructor() {\n this._render = new Observable(observer =>\n this._observer = observer);\n this._renderBlob = new Observable(observer =>\n this._observerBlob = observer);\n }\n\n get renderPrint(): Observable {\n return this._render;\n }\n\n changePages(pages: PageModel[]) {\n this._observer.next(pages);\n }\n\n get renderPrintBlob(): Observable {\n return this._renderBlob;\n }\n\n changeBlob(file: Blob) {\n this._observerBlob.next(file);\n }\n}\n","import {Directive, Input} from '@angular/core';\nimport {PageModel} from \"./file.service\";\nimport {RenderPrintService} from \"./render-print.service\";\n\n@Directive({\n selector: '[gdRenderPrint]'\n})\nexport class RenderPrintDirective {\n @Input() htmlMode: boolean;\n\n constructor(private _renderService: RenderPrintService) {\n _renderService.renderPrint.subscribe(pages => {\n this.renderPrint(pages);\n });\n _renderService.renderPrintBlob.subscribe(file => {\n this.renderPrintBlob(file);\n });\n }\n\n private renderPrint(pages: PageModel[]) {\n let pagesHtml = '';\n\n for (const page of pages) {\n pagesHtml += '
' +\n '
' +\n '
';\n }\n\n this.openWindow(pagesHtml, pages[0].width, pages[0].height);\n }\n\n private openWindow(pagesHtml, width, height) {\n const a4Height = 842;\n const a4Width = 595;\n let imageA4Adjusted = '';\n if(width > a4Width && height > a4Height){\n const zoom = Math.round(height / a4Height) / 100;\n imageA4Adjusted = '.gd-page img { width: 100%; margin: 0; padding: 0;}';\n if(navigator.userAgent.toLowerCase().indexOf('firefox') > -1){\n imageA4Adjusted = '.gd-page img { transform: scale(' + zoom + ');}';\n }\n }\n let cssPrint = '';\n\n const windowObject = window.open('', \"PrintWindow\", \"width=750,height=650,top=50,left=50,toolbars=yes,scrollbars=yes,status=yes,resizable=yes\");\n windowObject.focus();\n windowObject.document.writeln(cssPrint);\n windowObject.document.writeln(pagesHtml);\n windowObject.document.close();\n setTimeout(() => {\n windowObject.focus();\n windowObject.print();\n windowObject.close();\n }, 100);\n }\n\n private renderPrintBlob(file: Blob) {\n const fileURL = URL.createObjectURL(file);\n const windowObject = window.open(fileURL, \"PrintWindow\", \"width=750,height=650,top=50,left=50,toolbars=yes,scrollbars=yes,status=yes,resizable=yes\");\n windowObject.focus();\n windowObject.print();\n windowObject.close();\n }\n}\n","import { HttpEvent } from \"@angular/common/http\";\nimport {BehaviorSubject, Observable} from \"rxjs\";\n\nexport class ExceptionMessageService {\n private _observer: BehaviorSubject = new BehaviorSubject('Server is not available');\n private _messageChange: Observable = this._observer.asObservable();\n\n private _observerHttpEvent: BehaviorSubject> = new BehaviorSubject(null);\n private _httpEventChange: Observable> = this._observerHttpEvent.asObservable();\n\n constructor() {\n }\n\n get messageChange(): Observable {\n return this._messageChange;\n }\n\n get httpEventChange(): Observable> {\n return this._httpEventChange;\n }\n\n changeMessage(message: string) {\n this._observer.next(message);\n }\n\n changeHttpEvent(httpEvent:HttpEvent) {\n this._observerHttpEvent.next(httpEvent);\n }\n}\n","import {Component, OnInit} from '@angular/core';\nimport {ExceptionMessageService} from \"../exception-message.service\";\n\n@Component({\n selector: 'gd-error-modal',\n templateUrl: './error-modal.component.html',\n styleUrls: ['./error-modal.component.less']\n})\nexport class ErrorModalComponent implements OnInit {\n\n message: string;\n\n constructor(messageService: ExceptionMessageService) {\n messageService.messageChange.subscribe(message => this.message = message);\n }\n\n ngOnInit() {\n }\n\n}\n","import {Observable, Subject} from \"rxjs\";\n\nexport class PasswordService {\n private _observer: Subject = new Subject();\n private readonly _passChange: Observable = this._observer.asObservable();\n\n constructor() {\n }\n\n get passChange(): Observable {\n return this._passChange;\n }\n\n setPassword(pass: string) {\n this._observer.next(pass);\n }\n}\n","import {Component, EventEmitter, OnInit, Output} from '@angular/core';\nimport {ExceptionMessageService} from \"../exception-message.service\";\nimport {PasswordService} from \"../password.service\";\nimport * as jquery from \"jquery\";\n\nconst $ = jquery;\n\n@Component({\n selector: 'gd-password-required',\n templateUrl: './password-required.component.html',\n styleUrls: ['./password-required.component.less']\n})\nexport class PasswordRequiredComponent implements OnInit {\n message: string;\n @Output() cancelEvent = new EventEmitter();\n\n constructor(messageService: ExceptionMessageService, private _passwordService: PasswordService) {\n messageService.messageChange.subscribe(message => this.message = message);\n }\n\n ngOnInit() {\n }\n\n setPassword(value: string) {\n this._passwordService.setPassword(value);\n }\n\n onCloseOpen($event: boolean) {\n if ($event) {\n setTimeout(() => {\n const element = $(\"#password\");\n if (element) {\n element.focus();\n }\n }, 100);\n } else {\n $(\"#password\").val(\"\");\n }\n }\n\n cancel($event: boolean) {\n $(\"#password\").val(\"\");\n this.cancelEvent.emit(true);\n }\n}\n","import {Injectable} from '@angular/core';\nimport {HttpErrorResponse, HttpEvent, HttpHandler, HttpInterceptor, HttpRequest} from \"@angular/common/http\";\nimport {Observable, throwError} from \"rxjs\";\nimport {catchError, map} from \"rxjs/operators\";\nimport {ExceptionMessageService} from \"./exception-message.service\";\nimport {HttpError} from \"./file.service\";\nimport {CommonModals, ModalService} from \"./modal.service\";\n\n@Injectable({\n providedIn: 'root'\n})\nexport class ErrorInterceptorService implements HttpInterceptor {\n\n public static ErrorMessageWindowName:string = CommonModals.ErrorMessage;\n\n constructor(private _modalService: ModalService, private _messageService: ExceptionMessageService) {\n }\n\n intercept(req: HttpRequest, next: HttpHandler): Observable> {\n const logFormat = 'background: maroon; color: white';\n\n return next.handle(req)\n .pipe(map(data => {\n return data;\n }),\n catchError((exception: HttpEvent) => {\n if (exception instanceof HttpErrorResponse) {\n switch (exception.status) {\n\n case HttpError.BadRequest:\n console.error('%c Bad Request 400', logFormat);\n break;\n case HttpError.Unauthorized:\n console.error('%c Unauthorized 401', logFormat);\n break;\n case HttpError.NotFound:\n console.error('%c Not Found 404', logFormat);\n break;\n case HttpError.TimeOut:\n console.error('%c TimeOut 408', logFormat);\n break;\n case HttpError.InternalServerError:\n console.error('%c big bad 500', logFormat);\n this._messageService.changeMessage(exception.error.message);\n this._messageService.changeHttpEvent(exception);\n this._modalService.open(ErrorInterceptorService.ErrorMessageWindowName);\n break;\n\n case HttpError.Forbidden:\n console.error('%c Forbidden 403', logFormat);\n this._messageService.changeMessage(exception.error.message);\n this._modalService.open(CommonModals.PasswordRequired);\n break;\n }\n }\n return throwError(exception);\n }));\n }\n}\n","import {Observable, Subject} from \"rxjs\";\n\nexport class SearchService {\n private _observer: Subject = new Subject();\n private readonly _textChange: Observable = this._observer.asObservable();\n\n private _observerCurrent: Subject = new Subject();\n private readonly _currentChange: Observable = this._observerCurrent.asObservable();\n\n private _observerTotal: Subject = new Subject();\n private readonly _totalChange: Observable = this._observerTotal.asObservable();\n\n constructor() {\n }\n\n get textChange(): Observable {\n return this._textChange;\n }\n\n setText(text: string) {\n this._observer.next(text);\n }\n\n get currentChange(): Observable {\n return this._currentChange;\n }\n\n get totalChange(): Observable {\n return this._totalChange;\n }\n\n setCurrent(current: number) {\n this._observerCurrent.next(current);\n }\n\n setTotal(total: number) {\n this._observerTotal.next(total);\n }\n}\n","import {AfterViewInit, Component, ElementRef, EventEmitter, OnInit, Output, ViewChild} from '@angular/core';\nimport {SearchService} from \"../search.service\";\n\n@Component({\n selector: 'gd-search',\n templateUrl: './search.component.html',\n styleUrls: ['./search.component.less']\n})\nexport class SearchComponent implements OnInit, AfterViewInit {\n\n @Output() hidePanel = new EventEmitter(false);\n\n current = 0;\n total = 0;\n\n @ViewChild('text',{\n static : true\n }) textElement: ElementRef;\n\n constructor(private _searchService: SearchService) {\n _searchService.totalChange.subscribe((total: number) => {\n this.total = total;\n if (total !== 0) {\n this.current = 1;\n } else {\n this.current = 0;\n }\n this._searchService.setCurrent(this.current);\n });\n }\n\n ngOnInit() {\n }\n\n setText(text: string) {\n this._searchService.setText(text);\n }\n\n hide() {\n this.setText('');\n this.hidePanel.emit(true);\n }\n\n prev() {\n if (this.current > 1) {\n this.current--;\n this._searchService.setCurrent(this.current);\n }\n }\n\n next() {\n if (this.current < this.total) {\n this.current++;\n this._searchService.setCurrent(this.current);\n }\n }\n\n ngAfterViewInit(): void {\n this.textElement.nativeElement.focus();\n }\n}\n","import {Directive, ElementRef} from '@angular/core';\nimport {SearchService} from \"./search.service\";\nimport {HighlightSearchPipe} from \"./pipes\";\nimport {ZoomService} from \"./zoom.service\";\nimport * as jquery from \"jquery\";\nconst $ = jquery;\n\n@Directive({\n selector: '[gdSearchable]'\n})\nexport class SearchableDirective {\n\n text: string;\n current = 0;\n total = 0;\n private zoom = 100;\n\n constructor(private _elementRef: ElementRef,\n private _searchService: SearchService,\n private _highlight: HighlightSearchPipe,\n private _zoomService: ZoomService) {\n _searchService.currentChange.subscribe((current: number) => {\n this.current = current;\n if (this.current !== 0) {\n this.moveToCurrent();\n }\n });\n\n _searchService.textChange.subscribe((text: string) => {\n this.text = text;\n this.highlightSearch();\n });\n\n this.zoom = _zoomService.zoom ? _zoomService.zoom : this.zoom;\n _zoomService.zoomChange.subscribe((val: number) => {\n this.zoom = val ? val : this.zoom;\n });\n }\n\n private highlightSearch() {\n const el = this._elementRef ? this._elementRef.nativeElement : null;\n if (el) {\n this.cleanHighlight(el);\n if (this.text) {\n this.highlightEl(el);\n const count = el.querySelectorAll('.gd-highlight').length;\n this.total = count;\n } else {\n this.total = 0;\n }\n this._searchService.setTotal(this.total);\n }\n }\n\n private moveToCurrent() {\n if (this.current === 0) {\n return;\n }\n const currentZoom = this.getZoom();\n const el = this._elementRef ? this._elementRef.nativeElement : null;\n if (el) {\n el.querySelectorAll('.gd-highlight-select').forEach(function (value) {\n $(value).removeClass('gd-highlight-select');\n });\n const currentEl = el.querySelectorAll('.gd-highlight')[this.current - 1];\n $(currentEl).addClass('gd-highlight-select');\n if (currentEl) {\n const options = {\n left: 0,\n top: ($(currentEl).offset().top) + el.parentElement.parentElement.scrollTop - 150,\n };\n // using polyfill\n el.parentElement.parentElement.scroll(options);\n }\n }\n }\n\n private highlightEl(el: Element) {\n const textNodes = $(el).find('*').contents().filter(function () {\n const nodeName = this.parentElement.nodeName.toLowerCase();\n const checkClass = (this).classList ? !(this).classList.contains('gd-highlight') : true;\n return this.nodeType === 3 &&\n this.textContent.trim().length !== 0 &&\n nodeName !== 'style' &&\n nodeName !== 'title' &&\n nodeName !== 'body' &&\n nodeName !== 'script' &&\n checkClass;\n });\n const text = this.text;\n const highlight = this._highlight;\n textNodes.each(function () {\n const $this = $(this);\n let content = $this.text();\n content = highlight.transform(content, text);\n $this.replaceWith(content);\n });\n el.normalize();\n }\n\n private cleanHighlight(el: HTMLElement) {\n const nodeListOf = el.querySelectorAll('.gd-highlight');\n for (let i = 0; i < nodeListOf.length; i++) {\n const element = nodeListOf.item(i);\n element.replaceWith((element).innerText);\n }\n el.normalize();\n }\n\n private getZoom() {\n return this.zoom / 100;\n }\n}\n","import {Component, Input, OnInit} from '@angular/core';\n\n@Component({\n selector: 'gd-tabbed-toolbars',\n templateUrl: './tabbed-toolbars.component.html',\n styleUrls: ['./tabbed-toolbars.component.less']\n})\nexport class TabbedToolbarsComponent implements OnInit {\n @Input() logo: string;\n @Input() icon: string;\n\n constructor() {\n }\n\n ngOnInit() {\n }\n\n}\n","import {Observable, Subject} from \"rxjs\";\n\nexport class TabActivatorService {\n private _observer: Subject = new Subject();\n private readonly _activeTabChange: Observable = this._observer.asObservable();\n\n constructor() {\n }\n\n get activeTabChange(): Observable {\n return this._activeTabChange;\n }\n\n changeActiveTab(tabId: string) {\n this._observer.next(tabId);\n }\n}\n","import {Component, Input, OnInit} from '@angular/core';\nimport {TabActivatorService} from \"../tab-activator.service\";\n\n@Component({\n selector: 'gd-tab',\n templateUrl: './tab.component.html',\n styleUrls: ['./tab.component.less']\n})\nexport class TabComponent implements OnInit {\n @Input() id: string;\n @Input() tabTitle: string;\n @Input() icon: string;\n @Input() disabled = false;\n @Input() active = false;\n @Input() content = true;\n\n constructor(private _tabActivatorService: TabActivatorService) {\n this._tabActivatorService.activeTabChange.subscribe((tabId: string) => {\n this.activation(tabId);\n });\n }\n\n private activation(tabId: string) {\n if (this.id === tabId) {\n this.active = true;\n } else {\n this.active = false;\n }\n }\n\n ngOnInit() {\n }\n\n selectTab() {\n if (this.disabled) {\n return;\n }\n this._tabActivatorService.changeActiveTab(this.id);\n }\n}\n","import {Component} from '@angular/core';\n\n@Component({\n selector: 'gd-tabs',\n templateUrl: './tabs.component.html',\n styleUrls: ['./tabs.component.less']\n})\nexport class TabsComponent {\n constructor() {\n }\n\n}\n","import {Observable, Subject} from \"rxjs\";\n\nexport class Formatting {\n constructor(fontSize: number, color: string, bgColor: string, bold: boolean, italic: boolean, underline: boolean, font: string, strikeout: boolean, align: string, list: string) {\n this.fontSize = fontSize;\n this.color = color;\n this.bgColor = bgColor;\n this.bold = bold;\n this.italic = italic;\n this.underline = underline;\n this.font = font;\n this.strikeout = strikeout;\n this.align = align;\n this.list = list;\n }\n\n bold: boolean;\n italic: boolean;\n underline: boolean;\n fontSize: number;\n color: string;\n bgColor: string;\n font: string;\n strikeout: boolean;\n align: string;\n list: string;\n\n public static default(): Formatting {\n return new Formatting(10, '#000000', '#FFFFFF', false, false, false, 'Arial', false, \"\", \"\");\n }\n}\n\nexport class FormattingService {\n private _observerBold: Subject = new Subject();\n private readonly _formatBoldChange: Observable = this._observerBold.asObservable();\n private _observerUnderline: Subject = new Subject();\n private readonly _formatUnderlineChange: Observable = this._observerUnderline.asObservable();\n private _observerUndo: Subject = new Subject();\n private readonly _undo: Observable = this._observerUndo.asObservable();\n private _observerRedo: Subject = new Subject();\n private readonly _redo: Observable = this._observerRedo.asObservable();\n private _observerItalic: Subject = new Subject();\n private readonly _formatItalicChange: Observable = this._observerItalic.asObservable();\n private _observerColor: Subject = new Subject();\n private readonly _formatColorChange: Observable = this._observerColor.asObservable();\n private _observerBgColor: Subject = new Subject();\n private readonly _formatBgColorChange: Observable = this._observerBgColor.asObservable();\n private _observerFontSize: Subject = new Subject();\n private readonly _formatFontSizeChange: Observable = this._observerFontSize.asObservable();\n private _observerFont: Subject = new Subject();\n private readonly _formatFontChange: Observable = this._observerFont.asObservable();\n private _observerStrikeout: Subject = new Subject();\n private readonly _formatStrikeoutChange: Observable = this._observerStrikeout.asObservable();\n private _observerAlign: Subject = new Subject();\n private readonly _formatAlignChange: Observable = this._observerAlign.asObservable();\n private _observerList: Subject = new Subject();\n private readonly _formatListChange: Observable = this._observerList.asObservable();\n\n constructor() {\n }\n\n get formatBoldChange() {\n return this._formatBoldChange;\n }\n\n get formatUnderlineChange() {\n return this._formatUnderlineChange;\n }\n\n get formatColorChange() {\n return this._formatColorChange;\n }\n\n get formatBgColorChange() {\n return this._formatBgColorChange;\n }\n\n get formatFontSizeChange() {\n return this._formatFontSizeChange;\n }\n\n get formatFontChange() {\n return this._formatFontChange;\n }\n\n get undo() {\n return this._undo;\n }\n\n get redo() {\n return this._redo;\n }\n\n get formatItalicChange() {\n return this._formatItalicChange;\n }\n\n get formatStrikeoutChange() {\n return this._formatStrikeoutChange;\n }\n\n get formatAlignChange() {\n return this._formatAlignChange;\n }\n\n get formatListChange() {\n return this._formatListChange;\n }\n\n static createFontSizeOption(val: number) {\n return {value: val, name: val + 'px', separator: false}\n }\n\n static getFontSizeOptions() {\n return [\n FormattingService.createFontSizeOption(8),\n FormattingService.createFontSizeOption(10),\n FormattingService.createFontSizeOption(12),\n FormattingService.createFontSizeOption(14),\n FormattingService.createFontSizeOption(16),\n FormattingService.createFontSizeOption(18),\n FormattingService.createFontSizeOption(20),\n FormattingService.createFontSizeOption(22),\n FormattingService.createFontSizeOption(24),\n ];\n }\n\n static createFontOption(val: string) {\n return {value: val, name: val, separator: false}\n }\n\n static getFontOptions() {\n const fonts = [\"Arial\", \"Calibri\", \"Century Gothic\", \"Comic Sans\", \"Consolas\", \"Courier\", \"Dejavu Sans\", \"Dejavu Serif\", \"Georgia\", \"Gill Sans\", \"Helvetica\", \"Impact\", \"Lucida Sans\",\n \"Myriad Pro\", \"Open Sans\", \"Palatino\", \"Tahoma\", \"Times New Roman\", \"Trebuchet\"];\n const fontOptions = [];\n fonts.forEach(font => {\n fontOptions.push(this.createFontOption(font));\n })\n\n return fontOptions;\n }\n\n changeFormatFontSize($event: number) {\n this._observerFontSize.next($event);\n }\n\n changeFormatBold(bold: boolean) {\n this._observerBold.next(bold);\n }\n\n changeFormatUnderline(underline: boolean) {\n this._observerUnderline.next(underline);\n }\n\n Undo() {\n this._observerUndo.next();\n }\n\n Redo() {\n this._observerRedo.next();\n }\n\n changeFormatItalic(italic: boolean) {\n this._observerItalic.next(italic);\n }\n\n changeFormatColor(color: string) {\n this._observerColor.next(color);\n }\n\n changeFormatBgColor(bgcolor: string) {\n this._observerBgColor.next(bgcolor);\n }\n\n changeFormatFont(font: string) {\n this._observerFont.next(font);\n }\n\n changeFormatStrikeout(strikeout: boolean) {\n this._observerStrikeout.next(strikeout);\n }\n\n changeFormatAlign(align: string) {\n this._observerAlign.next(align);\n }\n\n changeFormatList(list: string) {\n this._observerList.next(list);\n }\n}\n","import {Component, EventEmitter, Input, OnInit, Output} from '@angular/core';\n\nconst DEFAULT_COLORS = [\n '#000000', '#434343', '#666666', '#999999', '#B7B7B7', '#CCCCCC', '#D9D9D9', '#EFEFEF', '#F3F3F3', '#FFFFFF',\n '#980000', '#FF0000', '#FF9900', '#FFFF00', '#00FF00', '#00FFFF', '#4986E8', '#0000FF', '#9900FF', '#FF00FF',\n '#E6B8AF', '#F4CCCC', '#FDE5CD', '#FFF2CC', '#D9EAD3', '#D0E0E2', '#C9DAF8', '#CFE2F3', '#D9D2E9', '#EAD1DC',\n '#DD7E6B', '#EA9899', '#F9CB9C', '#FFE59A', '#B7D7A8', '#A2C4C9', '#A4C2F4', '#9FC5E8', '#B4A7D7', '#D5A6BD',\n '#CC4125', '#E06666', '#F6B26B', '#FFD966', '#92C47D', '#75A5AF', '#6D9EEB', '#6FA9DB', '#8E7CC3', '#C27BA0',\n '#A61C00', '#CC0000', '#E69138', '#F2C131', '#6AA84F', '#45818E', '#3C78D8', '#3C85C6', '#674EA7', '#A64D79',\n '#85200B', '#990000', '#B45F05', '#BF9000', '#37761D', '#144F5C', '#1254CC', '#0A5394', '#351C75', '#741B47',\n '#5B0F00', '#660000', '#783F03', '#7F6000', '#284E13', '#0B343D', '#1B4586', '#063763', '#20124D', '#4C1030',\n];\n\n@Component({\n selector: 'gd-color-picker',\n templateUrl: './color-picker.component.html',\n styleUrls: ['./color-picker.component.less']\n})\nexport class ColorPickerComponent implements OnInit {\n @Input() isOpen = false;\n @Output() selectedColor = new EventEmitter();\n @Output() closeOutside = new EventEmitter();\n colors: any = DEFAULT_COLORS;\n white = '#FFFFFF';\n\n constructor() {\n }\n\n ngOnInit() {\n }\n\n select($event, color: string) {\n $event.preventDefault();\n $event.stopPropagation();\n this.selectedColor.emit(color);\n }\n\n close() {\n this.isOpen = false;\n this.closeOutside.emit(true);\n }\n}\n","import {Injectable} from '@angular/core';\nimport {FormattingService} from \"./formatting.service\";\n\n@Injectable({\n providedIn: 'root'\n})\nexport class BackFormattingService extends FormattingService {\n\n constructor() {\n super();\n }\n}\n","import {Injectable} from '@angular/core';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class SelectionService {\n selection: Range;\n isIE = /*@cc_on!@*/false || !!/(MSIE|Trident\\/|Edge\\/)/i.test(navigator.userAgent);\n\n restoreSelection() {\n if(this.selection && !this.selection.collapsed || this.isIE){\n this.putSelection(this.selection );\n }\n }\n\n captureSelection() {\n const selection = window.getSelection();\n if (selection.rangeCount > 0) {\n this.selection = selection.getRangeAt(0);\n }\n }\n\n private putSelection(selection) {\n const sel = window.getSelection();\n sel.removeAllRanges();\n sel.addRange(selection.cloneRange());\n }\n\n refreshSelection() {\n this.captureSelection();\n this.restoreSelection();\n }\n}\n","import {Directive, HostListener, OnInit} from '@angular/core';\nimport {FormattingService} from \"./formatting.service\";\nimport {BackFormattingService} from \"./back-formatting.service\";\nimport * as jquery from 'jquery';\nconst $ = jquery;\nimport {SelectionService} from './selection.service';\n\n@Directive({\n selector: '[gdFormatting]'\n})\nexport class FormattingDirective implements OnInit {\n\n private bold = false;\n private italic = false;\n private underline = false;\n private color: string;\n private bgColor: string;\n private font: string;\n private strikeout = false;\n private align: string;\n private list: string;\n private isIE = false;\n\n constructor(private _formattingService: FormattingService,\n private _backFormattingService: BackFormattingService,\n private _selectionService: SelectionService) {\n this.isIE = /*@cc_on!@*/false || !!/(MSIE|Trident\\/|Edge\\/)/i.test(navigator.userAgent);\n }\n\n @HostListener('mouseup') mouseup() {\n\n this.bold = document.queryCommandState(\"bold\");\n this.strikeout = document.queryCommandState(\"strikeThrough\");\n this.italic = document.queryCommandState(\"italic\");\n this.bgColor = document.queryCommandValue(\"backColor\");\n this.underline = document.queryCommandState(\"underline\");\n this.align = this.checkJustify();\n this.list = this.checkList();\n\n //fix required by FireFox to get correct background color\n if (this.bgColor === \"transparent\") {\n this.bgColor = $(window.getSelection().focusNode.parentNode).css('background-color').toString();\n }\n this.font = document.queryCommandValue(\"FontName\").replace(/\"/g, '');\n if(this.font.split(\",\").length > 1){\n this.font = this.font.split(\",\")[0];\n }\n this.color = document.queryCommandValue(\"foreColor\");\n this._backFormattingService.changeFormatBold(this.bold);\n this._backFormattingService.changeFormatUnderline(this.underline);\n this._backFormattingService.changeFormatItalic(this.italic);\n this._backFormattingService.changeFormatColor(this.color);\n this._backFormattingService.changeFormatBgColor(this.bgColor);\n this._backFormattingService.changeFormatFontSize(this.reportFontSize());\n this._backFormattingService.changeFormatFont(this.font);\n this._backFormattingService.changeFormatStrikeout(this.strikeout);\n this._backFormattingService.changeFormatAlign(this.align);\n this._backFormattingService.changeFormatList(this.list);\n }\n\n private checkJustify() {\n let align = \"\";\n align = document.queryCommandState(\"justifyCenter\") ? \"center\" : align;\n align = document.queryCommandState(\"justifyFull\") ? \"full\" : align;\n align = document.queryCommandState(\"justifyLeft\") ? \"left\" : align;\n align = document.queryCommandState(\"justifyRight\") ? \"right\" : align;\n return align;\n }\n\n private checkList() {\n let list = \"\";\n list = document.queryCommandState(\"insertUnorderedList\") ? \"unordered\" : list;\n list = document.queryCommandState(\"insertOrderedList\") ? \"ordered\" : list;\n return list;\n }\n\n reportFontSize(): number {\n let containerEl, sel;\n if (window.getSelection) {\n sel = window.getSelection();\n if (sel.rangeCount) {\n containerEl = sel.getRangeAt(0).commonAncestorContainer;\n // Make sure we have an element rather than a text node\n if (containerEl.nodeType === 3) {\n containerEl = containerEl.parentNode;\n }\n }\n } else if ((sel = document.getSelection()) && sel.type !== \"Control\") {\n containerEl = sel.createRange().parentElement();\n }\n\n if (containerEl) {\n return parseInt(this.getComputedStyleProperty(containerEl, \"fontSize\").replace(\"px\", \"\"), 10);\n }\n }\n\n getComputedStyleProperty(el, propName) {\n if (window.getComputedStyle) {\n return window.getComputedStyle(el, null)[propName];\n } else if (el.currentStyle) {\n return el.currentStyle[propName];\n }\n }\n\n ngOnInit(): void {\n this._formattingService.undo.subscribe(() => {\n this.toggleUndo();\n });\n this._formattingService.redo.subscribe(() => {\n this.toggleRedo();\n });\n this._formattingService.formatBoldChange.subscribe((bold: boolean) => {\n this.bold = bold;\n this.toggleBold();\n });\n this._formattingService.formatUnderlineChange.subscribe((underline: boolean) => {\n this.underline = underline;\n this.toggleUnderline();\n });\n this._formattingService.formatItalicChange.subscribe((italic: boolean) => {\n this.italic = italic;\n this.toggleItalic();\n });\n this._formattingService.formatColorChange.subscribe(((color: string) => {\n this.color = color;\n this.setColor(color);\n }));\n this._formattingService.formatBgColorChange.subscribe(((bgcolor: string) => {\n this.bgColor = bgcolor;\n this.setBgColor(bgcolor);\n }));\n this._formattingService.formatFontSizeChange.subscribe(((fontSize: number) => {\n this.setFontSize(fontSize);\n }));\n\n this._formattingService.formatFontChange.subscribe(((font: string) => {\n this.font = font;\n this.setFont(font);\n }));\n this._formattingService.formatStrikeoutChange.subscribe((strikeout: boolean) => {\n this.strikeout = strikeout;\n this.toggleStrikeout();\n });\n this._formattingService.formatAlignChange.subscribe((align: string) => {\n this.align = align;\n this.toggleAlign(this.align);\n });\n this._formattingService.formatListChange.subscribe((list: string) => {\n const remove = this.list === list;\n this.list = list;\n this.toggleList(this.list, remove);\n });\n }\n\n private toggleBold() {\n document.execCommand(\"bold\");\n this._selectionService.refreshSelection();\n }\n\n private toggleUnderline() {\n document.execCommand(\"underline\");\n this._selectionService.refreshSelection();\n }\n\n private toggleItalic() {\n document.execCommand(\"italic\");\n this._selectionService.refreshSelection();\n }\n\n private setBgColor(bgColor: string) {\n document.execCommand(\"backColor\", false, bgColor);\n this._selectionService.refreshSelection();\n }\n\n private setColor(color: string) {\n document.execCommand(\"foreColor\", false, color);\n this._selectionService.refreshSelection();\n }\n\n private setFontSize(fontSize: number) {\n if (document.getSelection().toString()) {\n let spanString = \"\" +\n document.getSelection() + \"\";\n if (this.bold) {\n spanString = \"\" + spanString + \"\";\n }\n if (this.italic) {\n spanString = \"\" + spanString + \"\";\n }\n if (this.underline) {\n spanString = \"\" + spanString + \"\";\n }\n if (this.strikeout) {\n spanString = \"\" + spanString + \"\";\n }\n document.execCommand('insertHTML', false, spanString);\n } else {\n document.execCommand(\"fontsize\", false, \"7\");\n }\n this._selectionService.refreshSelection();\n }\n\n private toggleUndo() {\n document.execCommand(\"undo\");\n }\n\n private toggleRedo() {\n document.execCommand(\"redo\");\n }\n\n private setFont(font: string) {\n document.execCommand(\"fontName\", false, font);\n this._selectionService.refreshSelection();\n }\n\n private toggleStrikeout() {\n document.execCommand(\"strikeThrough\");\n this._selectionService.refreshSelection();\n }\n\n private toggleAlign(align: string) {\n if(this.isIE) {\n this.toggleAlignIE(align);\n return;\n }\n document.execCommand(\"styleWithCSS\", false, 'true');\n switch (align) {\n case 'center':\n document.execCommand('justifyCenter');\n break;\n case 'full':\n document.execCommand('justifyFull');\n break;\n case 'left':\n document.execCommand('justifyLeft');\n break;\n case 'right':\n document.execCommand('justifyRight');\n break;\n }\n this._selectionService.refreshSelection();\n }\n\n private toggleAlignIE(align: string) {\n this._selectionService.restoreSelection()\n this._selectionService.captureSelection()\n const selection = window.getSelection().focusNode.parentNode.parentNode;\n if(align === \"full\"){\n align = \"justify\";\n }\n $(selection).css(\"text-align\", align);\n this._selectionService.refreshSelection()\n }\n\n private toggleList(list: string, remove: boolean) {\n switch (list) {\n case 'unordered':\n document.execCommand('insertUnorderedList', remove);\n break;\n case 'ordered':\n document.execCommand('insertOrderedList', remove);\n break;\n }\n this._selectionService.refreshSelection();\n }\n}\n","import { Component, OnInit } from '@angular/core';\n\n@Component({\n selector: 'gd-success-modal',\n templateUrl: './success-modal.component.html',\n styleUrls: ['./success-modal.component.less']\n})\nexport class SuccessModalComponent implements OnInit {\n\n constructor() { }\n\n ngOnInit() {\n }\n\n}\n","import {Injectable} from '@angular/core';\nimport {Observable, Subject} from \"rxjs\";\n\n@Injectable({\n providedIn: 'root'\n})\nexport class EditHtmlService {\n private _observer: Subject = new Subject();\n private readonly _htmlContent: Observable = this._observer.asObservable();\n\n constructor() {\n }\n\n get observer(): Subject {\n return this._observer;\n }\n\n get htmlContent(): Observable {\n return this._htmlContent;\n }\n\n}\n","import {Directive, HostListener, Input} from '@angular/core';\nimport {SelectionService} from './selection.service';\nimport {EditHtmlService} from \"./edit-html.service\";\n\n@Directive({\n selector: '[gdEditor]'\n})\nexport class EditorDirective {\n @Input() text: any;\n\n private isIE: boolean = /*@cc_on!@*/false || !!/(MSIE|Trident\\/|Edge\\/)/i.test(navigator.userAgent);\n\n constructor(private _selectionService: SelectionService, private _htmlService: EditHtmlService) {\n }\n\n @HostListener('keyup', ['$event'])\n public onInput(event) {\n this.text = event.target;\n if(this.isIE){\n if (this.text.innerHTML) {\n const html = this.text.innerHTML.toString();\n this._htmlService.observer.next(html);\n }\n }\n }\n\n @HostListener('mouseleave', ['$event'])\n public onMouseleave(event) {\n this._selectionService.captureSelection();\n // this code is required to fix IE11 issue - it doesn't trigger blur event, since that we need to save updated HTML here\n if(this.isIE){\n this._htmlService.observer.next(event.target.innerHTML.toString());\n }\n }\n\n @HostListener('blur', ['$event'])\n public onBlur(event) {\n event.preventDefault();\n this._selectionService.restoreSelection();\n if (this.text.innerHTML) {\n const html = this.text.innerHTML.toString();\n this._htmlService.observer.next(html);\n } else {\n this._htmlService.observer.next(event.target.innerHTML.toString());\n }\n }\n}\n","import {EventEmitter, Injectable} from '@angular/core'\nimport {HttpRequest} from '@angular/common/http';\nimport {Api} from \"./config.service\";\n\n@Injectable()\nexport class LoadingMaskService {\n onLoadingChanged: EventEmitter = new EventEmitter();\n\n private stopList = [];\n private requests: HttpRequest[] = [];\n\n constructor() {\n this.stopList.push(Api.SAVE_TEXT);\n this.stopList.push(Api.SAVE_OPTICAL_CODE);\n this.stopList.push(Api.LOAD_DOCUMENT_PAGE);\n this.stopList.push(Api.LOAD_THUMBNAILS);\n this.stopList.push(Api.GET_FILE_STATUS);\n this.stopList.push(Api.LOAD_PRINT);\n }\n\n onRequestStart(req: HttpRequest): void {\n const stop = this.stopList.find(x => req.url.includes(x));\n if (!stop) {\n this.requests.push(req);\n this.notify();\n }\n }\n\n onRequestFinish(req: HttpRequest): void {\n const index = this.requests.indexOf(req);\n if (index !== -1) {\n this.requests.splice(index, 1);\n }\n this.notify();\n }\n\n addStopUrl(url: string) {\n this.stopList.push(url);\n }\n\n private notify(): void {\n this.onLoadingChanged.emit(this.requests.length !== 0);\n }\n}\n","import {AfterViewInit, Component, Input, OnInit} from '@angular/core';\nimport {LoadingMaskService} from \"../loading-mask.service\";\n\n@Component({\n selector: 'gd-loading-mask',\n templateUrl: './loading-mask.component.html',\n styleUrls: ['./loading-mask.component.less']\n})\n\nexport class LoadingMaskComponent implements OnInit, AfterViewInit {\n @Input() loadingMask = false;\n\n constructor(private _loadingMaskService: LoadingMaskService) {\n }\n\n ngOnInit() {\n }\n\n ngAfterViewInit() {\n this._loadingMaskService\n .onLoadingChanged\n .subscribe((loading: boolean) => this.loadingMask = loading);\n }\n}\n","import {Injectable} from '@angular/core';\nimport {HttpEvent, HttpHandler, HttpInterceptor, HttpRequest} from \"@angular/common/http\";\nimport {Observable} from \"rxjs\";\nimport {finalize} from 'rxjs/operators'\nimport {LoadingMaskService} from \"./loading-mask.service\";\n\n@Injectable({\n providedIn: 'root'\n})\nexport class LoadingMaskInterceptorService implements HttpInterceptor {\n\n constructor(private _loadingMaskService: LoadingMaskService) {\n }\n\n intercept(req: HttpRequest, next: HttpHandler): Observable> {\n this._loadingMaskService.onRequestStart(req);\n const callback = () => this._loadingMaskService.onRequestFinish(req);\n return next.handle(req).pipe( finalize( callback));\n }\n}\n","import {\n Component,\n EventEmitter,\n forwardRef,\n HostBinding,\n HostListener,\n Inject,\n Input,\n Output,\n ViewEncapsulation\n} from '@angular/core';\n\n\nconst horizontalAlignment = {\n center : {\n right: 'auto'\n },\n left : {\n right: '100%'\n },\n right : {\n right: '-100%'\n }\n};\n\nconst verticalAlignment = {\n center : {\n top : '0px',\n },\n top : {\n top : '-100%',\n right: '100%'\n },\n bottom : {\n top: 'autos'\n }\n};\n\n/**\n * DropDownToggleComponent\n */\n@Component({\n selector: 'gd-drop-down-toggle',\n template: '',\n styleUrls: ['./drop-down.component.less'],\n encapsulation : ViewEncapsulation.None\n})\nexport class DropDownToggleComponent{\n @HostListener('click',['$event'])\n click = (event: any) => this.dropdown.toggle(event);\n constructor(@Inject(forwardRef(() => DropDownComponent)) public dropdown) {}\n}\n\n/**\n * DropDownItemsComponent\n */\n@Component({\n selector: 'gd-drop-down-items',\n template: '
',\n styleUrls: ['./drop-down.component.less'],\n encapsulation : ViewEncapsulation.None\n})\nexport class DropDownItemsComponent{\n\n get horizontalAlign(){\n return horizontalAlignment[this.dropdown.getPlacement().h].right;\n }\n\n get verticalAlign(){\n return verticalAlignment[this.dropdown.getPlacement().v].top;\n }\n\n get isOpen(){\n return this.dropdown.open;\n }\n\n constructor(@Inject(forwardRef(() => DropDownComponent)) public dropdown) {}\n\n onClickOutside(event : Event ){\n this.dropdown.close();\n }\n}\n\n/**\n * DropDownItemComponent\n */\n@Component({\n selector: 'gd-drop-down-item',\n template: '
',\n styleUrls: ['./drop-down.component.less'],\n})\nexport class DropDownItemComponent{\n @HostBinding('class')\n class = 'drop-down-item';\n\n @Output()\n selected = new EventEmitter();\n\n @HostListener('click')\n click = () => this.selectEntry();\n\n constructor(@Inject(forwardRef(() => DropDownComponent)) public dropdown) {}\n\n selectEntry(){\n this.selected.next();\n this.dropdown.close();\n }\n}\n\n/**\n * DropDownComponent\n */\n@Component({\n selector: 'gd-drop-down',\n template: '
',\n styleUrls: ['./drop-down.component.less'],\n encapsulation : ViewEncapsulation.None\n})\nexport class DropDownComponent{\n @Input()\n placement = {\n h: \"center\",\n v: \"bottom\"\n };\n\n\n @Input()\n @HostBinding('class.show')\n open = false;\n\n @HostBinding('class')\n class = 'drop-down';\n\n close(){\n this.open = false;\n }\n\n toggle(event : MouseEvent){\n event.stopPropagation();\n this.open = !this.open;\n document.body.click();\n }\n\n getPlacement(){\n return this.placement;\n }\n}\n","import {Component, Input, OnInit} from '@angular/core';\n\n@Component({\n selector: 'gd-left-side-bar',\n templateUrl: './left-side-bar.component.html',\n styleUrls: ['./left-side-bar.component.less']\n})\nexport class LeftSideBarComponent implements OnInit {\n @Input() showSpinner = false;\n\n constructor() {\n }\n\n ngOnInit() {\n }\n\n}\n","import {Directive, EventEmitter, HostListener, Input, Output} from '@angular/core';\n\n@Directive({\n selector: '[gdTooltip]'\n})\nexport class TooltipDirective {\n\n @Output() showToolTip = new EventEmitter();\n\n constructor() {\n }\n\n @HostListener('mouseenter')\n public onHovering() {\n this.showToolTip.emit(true);\n }\n\n @HostListener('mouseleave')\n public onUnhovering() {\n this.showToolTip.emit(false);\n }\n\n}\n","import {\n ApplicationRef,\n ComponentFactoryResolver,\n Injectable,\n ViewContainerRef\n} from '@angular/core';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class AddDynamicComponentService {\n\n constructor(private _factoryResolver: ComponentFactoryResolver,\n private _appRef: ApplicationRef) {\n }\n\n addDynamicComponent(viewContainerRef: ViewContainerRef, component: any) {\n const factory = this._factoryResolver.resolveComponentFactory(component);\n const componentRef = viewContainerRef.createComponent(factory);\n\n componentRef.onDestroy(() => {\n this._appRef.detachView(componentRef.hostView);\n });\n\n return componentRef;\n }\n\n}\n","import {HostDynamicDirective} from \"./host-dynamic.directive\";\n\nexport class HostingDynamicComponentService {\n private hosts: HostDynamicDirective[];\n\n constructor() {\n this.hosts = [];\n }\n\n add(host: HostDynamicDirective) {\n this.hosts = this.hosts.filter(function (h) {\n return h.ident !== host.ident;\n });\n this.hosts.push(host);\n }\n\n remove(host: HostDynamicDirective) {\n this.hosts = this.hosts.filter(function (h) {\n return h.ident !== host.ident;\n });\n }\n\n find(ident: number) {\n return this.hosts.find(function (h) {\n return h.ident === ident;\n });\n }\n}\n","import {AfterViewInit, Directive, Input, OnDestroy, ViewContainerRef} from '@angular/core';\nimport {HostingDynamicComponentService} from \"./hosting-dynamic-component.service\";\n\n@Directive({\n selector: '[gdHostDynamic]'\n})\nexport class HostDynamicDirective implements AfterViewInit, OnDestroy {\n @Input() ident: number;\n\n constructor(public viewContainerRef: ViewContainerRef,\n private _hostingService: HostingDynamicComponentService) {\n }\n\n ngAfterViewInit(): void {\n this._hostingService.add(this);\n }\n\n ngOnDestroy(): void {\n this._hostingService.remove(this);\n this.viewContainerRef.clear();\n }\n\n}\n","import {AfterViewInit, Component, EventEmitter, Input, OnInit, Output} from '@angular/core';\nimport * as jquery from \"jquery\";\nimport {Utils} from \"../file.service\";\n\nconst $ = jquery;\n\n@Component({\n selector: 'gd-resizing',\n templateUrl: './resizing.component.html',\n styleUrls: ['./resizing.component.less']\n})\nexport class ResizingComponent implements OnInit, AfterViewInit {\n\n @Input() init: boolean;\n @Input() id: number;\n @Input() se = false;\n @Input() ne = false;\n @Input() sw = false;\n @Input() nw = false;\n @Input() pageWidth: number;\n @Input() pageHeight: number;\n SE = 'se';\n NE = 'ne';\n SW = 'sw';\n NW = 'nw';\n\n @Output() offsetX = new EventEmitter();\n @Output() offsetY = new EventEmitter();\n @Output() offsetTop = new EventEmitter();\n @Output() offsetLeft = new EventEmitter();\n @Output() release = new EventEmitter();\n\n private grab = false;\n private oldPosition: { x: number, y: number };\n\n constructor() {\n }\n\n ngAfterViewInit(): void {\n const elSE = $(this.getElementId(this.SE));\n const elNW = $(this.getElementId(this.NW));\n if (this.init && elSE && elNW && elSE.offset() && elNW.offset()) {\n let width = elSE.offset().left - elNW.offset().left;\n let height = elSE.offset().top - elNW.offset().top;\n while (width >= this.pageWidth || height >= this.pageHeight) {\n width = width / 2;\n height = height / 2;\n }\n setTimeout(() => {\n this.offsetX.emit(width);\n this.offsetY.emit(height);\n }, 100);\n }\n }\n\n ngOnInit() {\n }\n\n catchUp($event: DragEvent) {\n // ff\n $event.preventDefault();\n if ($event.dataTransfer) { // ff\n $event.dataTransfer.setData('text', 'foo');\n }\n this.grab = true;\n this.oldPosition = Utils.getMousePosition($event);\n }\n\n resize($event: DragEvent, el: string) {\n if (!this.grab) {\n return;\n }\n const position = Utils.getMousePosition($event);\n if (position.x === 0 && position.y === 0) {\n return;\n }\n const notSW = this.NE === el || this.NW === el;\n const notNE = this.SW === el || this.NW === el;\n this.setOffsets(position, notNE, notSW);\n if (notSW) {\n this.offsetTop.emit(position.y - this.oldPosition.y);\n }\n if (notNE) {\n this.offsetLeft.emit(position.x - this.oldPosition.x);\n }\n this.oldPosition = position;\n }\n\n private setOffsets(position, x: boolean, y: boolean) {\n const offsetX = x ? this.oldPosition.x - position.x : position.x - this.oldPosition.x;\n const offsetY = y ? this.oldPosition.y - position.y : position.y - this.oldPosition.y;\n this.offsetX.emit(offsetX);\n this.offsetY.emit(offsetY);\n }\n\n end($event: DragEvent, el: string) {\n // ff\n this.resize($event, el);\n this.release.emit(true);\n this.grab = false;\n }\n\n start($event: DragEvent) {\n this.drop($event);\n }\n\n drop($event: DragEvent) {\n $event.stopPropagation();\n $event.preventDefault();\n }\n\n private getElementId(el: string) {\n return \"#\" + el + \"-\" + this.id;\n }\n}\n","import {TabActivatorService} from \"./tab-activator.service\";\n\nexport class TopTabActivatorService extends TabActivatorService {\n\n constructor() {\n super();\n }\n}\n","import {Component, EventEmitter, Input, OnInit, Output} from '@angular/core';\nimport {ExceptionMessageService} from \"../exception-message.service\";\nimport {TopTabActivatorService} from \"../top-tab-activator.service\";\nimport {ModalService, CommonModals} from \"../modal.service\";\n\n@Component({\n selector: 'gd-top-tab',\n templateUrl: './top-tab.component.html',\n styleUrls: ['./top-tab.component.less']\n})\nexport class TopTabComponent implements OnInit {\n @Input() id: string;\n @Input() icon: string;\n @Input() disabled = false;\n @Input() tooltip: string;\n @Output() activeTab = new EventEmitter();\n @Input() elementPosition = 0;\n public active = false;\n public showToolTip = false;\n\n constructor(private _tabActivatorService: TopTabActivatorService,\n private _modalService: ModalService,\n private _excMessageService: ExceptionMessageService) {\n this._tabActivatorService.activeTabChange.subscribe((tabId: string) => {\n this.activation(tabId);\n if (tabId === null) {\n this.activeTab.emit(\"\");\n }\n });\n }\n\n private activation(tabId: string) {\n if (this.id === tabId) {\n this.active = !this.active;\n if (this.active) {\n this.activeTab.emit(this.id);\n } else {\n this.activeTab.emit(\"\");\n }\n } else {\n this.active = false;\n }\n }\n\n ngOnInit() {\n }\n\n toggleTab() {\n if (this.disabled) {\n this._modalService.open(CommonModals.ErrorMessage);\n this._excMessageService.changeMessage(\"Please open document first\");\n return;\n }\n this._tabActivatorService.changeActiveTab(this.id);\n }\n\n}\n","import {Component, EventEmitter, Input, OnInit, Output, ElementRef, Renderer2} from '@angular/core';\nimport * as jquery from 'jquery';\nimport {FormattingService} from \"../formatting.service\";\nimport {OnCloseService} from \"../on-close.service\";\nimport {Option} from \"../select/select.component\";\nimport { ZoomService } from '../zoom.service';\nimport { WindowService } from '../window.service';\n\nconst $ = jquery;\n\n@Component({\n selector: 'gd-text-menu',\n templateUrl: './text-menu.component.html',\n styleUrls: ['./text-menu.component.less']\n})\nexport class TextMenuComponent implements OnInit {\n @Input() blur: boolean;\n @Input() fontSize: number;\n @Input() font: string;\n @Input() bold: boolean;\n @Input() italic: boolean;\n @Input() underline: boolean;\n @Input() color: string;\n @Input() decoration = true;\n @Input() showTooltips = true;\n\n @Output() outFontSize = new EventEmitter();\n @Output() outFont = new EventEmitter();\n @Output() outBold = new EventEmitter();\n @Output() outItalic = new EventEmitter();\n @Output() outUnderline = new EventEmitter();\n @Output() outColor = new EventEmitter();\n\n fontSizeOptions = FormattingService.getFontSizeOptions();\n fontOptions = FormattingService.getFontOptions();\n colorPickerShow = false;\n\n isMobile: boolean;\n\n constructor(private _onCloseService: OnCloseService,\n private _zoomService: ZoomService,\n private _windowService: WindowService,\n protected _elementRef: ElementRef,\n private renderer: Renderer2) {\n \n _onCloseService.onClose.subscribe(() => {\n this.colorPickerShow = false;\n });\n\n this.isMobile = _windowService.isMobile();\n _windowService.onResize.subscribe((w) => {\n this.isMobile = _windowService.isMobile();\n });\n\n _zoomService.zoomChange.subscribe((val: number) => {\n if (this.isMobile)\n {\n this.changePosition(val);\n }\n });\n }\n\n ngOnInit() {\n }\n\n changePosition(val: number) {\n const top = (window.innerHeight - 24 - this._elementRef.nativeElement.parentElement.getBoundingClientRect().top - this._elementRef.nativeElement.parentElement.getBoundingClientRect().height);\n const left = this._elementRef.nativeElement.parentElement.getBoundingClientRect().left;\n this.renderer.setStyle(this._elementRef.nativeElement.querySelector('.gd-text-menu'), 'width', window.innerWidth + 'px');\n this.renderer.setStyle(this._elementRef.nativeElement.querySelector('.gd-text-menu'), 'top', top + 'px');\n this.renderer.setStyle(this._elementRef.nativeElement.querySelector('.gd-text-menu'), 'left', -left + 'px');\n }\n\n selectFontSize($event: Option) {\n $(\".gd-wrapper\").off(\"keyup\");\n this.outFontSize.emit($event.value);\n $(\".gd-wrapper\").on(\"keyup\", () => {\n const fontElements = document.getElementsByTagName(\"font\");\n for (let i = 0, len = fontElements.length; i < len; ++i) {\n if (fontElements[i].getAttribute('size') === \"7\") {\n fontElements[i].removeAttribute(\"size\");\n fontElements[i].style.fontSize = $event + \"px\";\n }\n }\n });\n }\n\n selectFont($event: Option) {\n event.preventDefault();\n event.stopPropagation();\n this.outFont.emit($event.value);\n }\n\n toggleColorPicker($event) {\n $event.preventDefault();\n $event.stopPropagation();\n this.colorPickerShow = !this.colorPickerShow;\n }\n\n selectColor($event: string) {\n this.colorPickerShow = false;\n this.outColor.emit($event);\n }\n\n toggleBold(event) {\n event.preventDefault();\n event.stopPropagation();\n this.outBold.emit(!this.bold);\n }\n\n toggleItalic(event) {\n event.preventDefault();\n event.stopPropagation();\n this.outItalic.emit(!this.italic);\n }\n\n toggleUnderline(event) {\n event.preventDefault();\n event.stopPropagation();\n this.outUnderline.emit(!this.underline);\n }\n\n closePicker($event) {\n this.colorPickerShow = !$event;\n }\n}\n","import {Component, EventEmitter, Input, OnInit, Output, Renderer2, ElementRef} from '@angular/core';\nimport {Formatting} from \"../formatting.service\";\nimport {WindowService} from \"../window.service\";\nimport { ZoomService } from '../zoom.service';\n\nexport class MenuType {\n public static FOR_SIGNATURE = \"signature\";\n public static FOR_ANNOTATION = \"annotation\";\n}\n\n@Component({\n selector: 'gd-context-menu',\n templateUrl: './context-menu.component.html',\n styleUrls: ['./context-menu.component.less']\n})\nexport class ContextMenuComponent implements OnInit {\n @Input() formatting: Formatting = Formatting.default();\n @Input() textMenu: boolean;\n @Input() topPosition: number;\n @Input() lock = false;\n @Input() translation = 0;\n @Input() menuType: string;\n @Output() changeFormatting = new EventEmitter();\n @Output() removeItem = new EventEmitter();\n @Output() copySign = new EventEmitter();\n @Output() lockOut = new EventEmitter();\n @Output() comment = new EventEmitter();\n\n isMobile: boolean;\n\n constructor(private _windowService: WindowService,\n private _zoomService: ZoomService,\n protected _elementRef: ElementRef,\n private renderer: Renderer2) {\n this.isMobile = _windowService.isMobile();\n _windowService.onResize.subscribe((w) => {\n this.isMobile = _windowService.isMobile();\n });\n\n _zoomService.zoomChange.subscribe((val: number) => {\n if (this.isMobile)\n {\n this.changeScale(val);\n }\n });\n }\n\n ngOnInit() {\n }\n\n changeScale(val: number){\n this.renderer.setStyle(this._elementRef.nativeElement.querySelector('.gd-context-menu'), 'transform', 'scale(' + 1/(val/100) + ')');\n }\n\n saveChanges() {\n this.changeFormatting.emit(this.formatting);\n }\n\n selectFontSize($event: number) {\n this.formatting.fontSize = $event;\n this.saveChanges();\n }\n\n selectFont($event: string) {\n this.formatting.font = $event;\n this.saveChanges();\n }\n\n selectColor($event: string) {\n this.formatting.color = $event;\n this.saveChanges();\n }\n\n toggleBold($event) {\n this.formatting.bold = $event;\n this.saveChanges();\n }\n\n toggleItalic($event) {\n this.formatting.italic = $event;\n this.saveChanges();\n }\n\n toggleUnderline($event) {\n this.formatting.underline = $event;\n this.saveChanges();\n }\n\n deleteItem() {\n this.removeItem.emit(true);\n }\n\n toggleLock() {\n this.lock = !this.lock;\n this.lockOut.emit(this.lock);\n }\n\n onCopySign() {\n this.copySign.emit(true);\n }\n\n isSignature() {\n return this.menuType === MenuType.FOR_SIGNATURE;\n }\n\n isAnnotation() {\n return this.menuType === MenuType.FOR_ANNOTATION;\n }\n\n addComment() {\n this.comment.emit(true);\n }\n}\n","import {NgModule} from '@angular/core';\nimport {CommonModule} from '@angular/common';\nimport {TopToolbarComponent} from './top-toolbar/top-toolbar.component';\nimport {SidePanelComponent} from './side-panel/side-panel.component';\nimport {ButtonComponent} from './button/button.component';\nimport {LogoComponent} from './logo/logo.component';\nimport {TooltipComponent} from './tooltip/tooltip.component';\nimport {FontAwesomeModule} from '@fortawesome/angular-fontawesome';\nimport {library} from '@fortawesome/fontawesome-svg-core';\nimport {fas} from '@fortawesome/free-solid-svg-icons';\nimport {far} from '@fortawesome/free-regular-svg-icons';\nimport {Api, ConfigService,} from \"./config.service\";\nimport {ModalService} from \"./modal.service\";\nimport {ModalComponent} from './modal/modal.component';\nimport {BrowseFilesModalComponent} from './browse-files-modal/browse-files-modal.component';\nimport {FileModel, FileService, FileUtil, Utils} from \"./file.service\";\nimport {DocumentComponent} from './document/document.component';\nimport {PageComponent} from './page/page.component';\nimport {HighlightSearchPipe, SanitizeHtmlPipe, SanitizeResourceHtmlPipe, SanitizeStylePipe} from \"./pipes\";\nimport {UploadFileZoneComponent} from './upload-file-zone/upload-file-zone.component';\nimport {UploadFilesService} from \"./upload-files.service\";\nimport {DndDirective} from './dnd.directive';\nimport {ScrollableDirective} from './scrollable.directive';\nimport {MouseWheelDirective} from './mousewheel.directive';\nimport {NavigateService} from \"./navigate.service\";\nimport {PagePreloadService} from \"./page-preload.service\";\nimport {ZoomDirective} from './zoom.directive';\nimport {ZoomService} from \"./zoom.service\";\nimport {SelectComponent} from './select/select.component';\nimport {DisabledCursorDirective} from './disabled-cursor.directive';\nimport {RotationDirective} from './rotation.directive';\nimport {InitStateComponent} from './init-state/init-state.component';\nimport {RenderPrintService} from \"./render-print.service\";\nimport {RenderPrintDirective} from './render-print.directive';\nimport {ErrorModalComponent} from './error-modal/error-modal.component';\nimport {PasswordRequiredComponent} from './password-required/password-required.component';\nimport {ExceptionMessageService} from \"./exception-message.service\";\nimport {PasswordService} from \"./password.service\";\nimport {ErrorInterceptorService} from \"./error-interceptor.service\";\nimport {SearchComponent} from './search/search.component';\nimport {SearchableDirective} from './searchable.directive';\nimport {SearchService} from \"./search.service\";\nimport {WindowService} from \"./window.service\";\nimport {ViewportService} from \"./viewport.service\";\nimport {TabbedToolbarsComponent} from './tabbed-toolbars/tabbed-toolbars.component';\nimport {TabComponent} from \"./tab/tab.component\";\nimport {TabsComponent} from \"./tabs/tabs.component\";\nimport {FormattingService} from \"./formatting.service\";\nimport {ColorPickerComponent} from './color-picker/color-picker.component';\nimport {FormattingDirective} from './formatting.directive';\nimport {BackFormattingService} from \"./back-formatting.service\";\nimport {OnCloseService} from \"./on-close.service\";\nimport {SuccessModalComponent} from './success-modal/success-modal.component';\nimport {EditorDirective} from './editor.directive';\nimport {LoadingMaskComponent} from './loading-mask/loading-mask.component';\nimport {LoadingMaskService} from './loading-mask.service';\nimport {LoadingMaskInterceptorService} from \"./loading-mask-interceptor.service\";\nimport {TabActivatorService} from \"./tab-activator.service\";\nimport {\n DropDownComponent,\n DropDownItemComponent,\n DropDownItemsComponent,\n DropDownToggleComponent\n} from './drop-down/drop-down.component';\nimport {ClickOutsideModule} from 'ng-click-outside';\nimport {LeftSideBarComponent} from './left-side-bar/left-side-bar.component';\nimport {TooltipDirective} from './tooltip.directive';\nimport {AddDynamicComponentService} from \"./add-dynamic-component.service\";\nimport {HostDynamicDirective} from './host-dynamic.directive';\nimport {HostingDynamicComponentService} from \"./hosting-dynamic-component.service\";\nimport {ResizingComponent} from './resizing/resizing.component';\nimport {TopTabComponent} from './top-tab/top-tab.component';\nimport {TopTabActivatorService} from \"./top-tab-activator.service\";\nimport {TextMenuComponent} from './text-menu/text-menu.component';\nimport {ContextMenuComponent} from './context-menu/context-menu.component';\n\nconst providers = [ConfigService,\n Api,\n ModalService,\n FileService,\n FileModel,\n FileUtil,\n Utils,\n SanitizeHtmlPipe,\n SanitizeResourceHtmlPipe,\n SanitizeStylePipe,\n HighlightSearchPipe,\n UploadFilesService,\n RenderPrintService,\n NavigateService,\n PagePreloadService,\n ZoomService,\n ExceptionMessageService,\n PasswordService,\n ErrorInterceptorService,\n SearchService,\n WindowService,\n ViewportService,\n FormattingService,\n BackFormattingService,\n OnCloseService,\n LoadingMaskInterceptorService,\n LoadingMaskService,\n TabActivatorService,\n AddDynamicComponentService,\n HostingDynamicComponentService,\n TopTabActivatorService];\n\n@NgModule({\n imports: [CommonModule, FontAwesomeModule, ClickOutsideModule],\n declarations: [\n TopToolbarComponent,\n SidePanelComponent,\n ButtonComponent,\n LogoComponent,\n TooltipComponent,\n ModalComponent,\n BrowseFilesModalComponent,\n DocumentComponent,\n PageComponent,\n SanitizeHtmlPipe,\n SanitizeResourceHtmlPipe,\n SanitizeStylePipe,\n HighlightSearchPipe,\n UploadFileZoneComponent,\n DndDirective,\n ScrollableDirective,\n MouseWheelDirective,\n ZoomDirective,\n SelectComponent,\n DisabledCursorDirective,\n RotationDirective,\n InitStateComponent,\n RenderPrintDirective,\n ErrorModalComponent,\n PasswordRequiredComponent,\n SearchComponent,\n SearchableDirective,\n TabbedToolbarsComponent,\n TabComponent,\n TabsComponent,\n ColorPickerComponent,\n FormattingDirective,\n SuccessModalComponent,\n EditorDirective,\n LoadingMaskComponent,\n DropDownComponent,\n DropDownItemComponent,\n DropDownItemsComponent,\n DropDownToggleComponent,\n LeftSideBarComponent,\n TooltipDirective,\n HostDynamicDirective,\n ResizingComponent,\n TopTabComponent,\n TextMenuComponent,\n ContextMenuComponent\n ],\n exports: [\n TopToolbarComponent,\n SidePanelComponent,\n ButtonComponent,\n LogoComponent,\n TooltipComponent,\n ModalComponent,\n BrowseFilesModalComponent,\n DocumentComponent,\n PageComponent,\n SanitizeResourceHtmlPipe,\n SanitizeStylePipe,\n HighlightSearchPipe,\n SanitizeHtmlPipe,\n UploadFileZoneComponent,\n ScrollableDirective,\n MouseWheelDirective,\n SelectComponent,\n RotationDirective,\n InitStateComponent,\n RenderPrintDirective,\n ErrorModalComponent,\n PasswordRequiredComponent,\n SearchComponent,\n SearchableDirective,\n TabbedToolbarsComponent,\n TabComponent,\n TabsComponent,\n ColorPickerComponent,\n FormattingDirective,\n SuccessModalComponent,\n LoadingMaskComponent,\n DndDirective,\n DropDownComponent,\n DropDownItemComponent,\n DropDownItemsComponent,\n DropDownToggleComponent,\n ZoomDirective,\n DropDownToggleComponent,\n LeftSideBarComponent,\n TooltipDirective,\n HostDynamicDirective,\n ResizingComponent,\n TopTabComponent,\n TextMenuComponent,\n ContextMenuComponent\n ],\n providers: providers\n})\nexport class CommonComponentsModule {\n constructor() {\n library.add(fas, far);\n }\n}\n"],"names":["Component","EventEmitter","Input","Output","Subject","fromEvent","debounceTime","distinctUntilChanged","startWith","tap","HttpHeaders","Injectable","ElementRef","tslib_1.__extends","Observable","$","Pipe","DomSanitizer","Directive","HostBinding","HostListener","tslib_1.__values","BehaviorSubject","map","catchError","HttpErrorResponse","throwError","ViewChild","finalize","ViewEncapsulation","Inject","forwardRef","ComponentFactoryResolver","ApplicationRef","ViewContainerRef","Renderer2","library","fas","far","NgModule","CommonModule","FontAwesomeModule","ClickOutsideModule"],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"groupdocs.examples.angular-common-components.umd.js","sources":["../../../../node_modules/tslib/tslib.es6.js","ng://@groupdocs.examples.angular/common-components/lib/top-toolbar/top-toolbar.component.ts","ng://@groupdocs.examples.angular/common-components/lib/side-panel/side-panel.component.ts","ng://@groupdocs.examples.angular/common-components/lib/window.service.ts","ng://@groupdocs.examples.angular/common-components/lib/button/button.component.ts","ng://@groupdocs.examples.angular/common-components/lib/logo/logo.component.ts","ng://@groupdocs.examples.angular/common-components/lib/tooltip/tooltip.component.ts","ng://@groupdocs.examples.angular/common-components/lib/config.service.ts","ng://@groupdocs.examples.angular/common-components/lib/modal.service.ts","ng://@groupdocs.examples.angular/common-components/lib/modal/modal.component.ts","ng://@groupdocs.examples.angular/common-components/lib/file.service.ts","ng://@groupdocs.examples.angular/common-components/lib/upload-files.service.ts","ng://@groupdocs.examples.angular/common-components/lib/browse-files-modal/browse-files-modal.component.ts","ng://@groupdocs.examples.angular/common-components/lib/zoom.service.ts","ng://@groupdocs.examples.angular/common-components/lib/page-preload.service.ts","ng://@groupdocs.examples.angular/common-components/lib/navigate.service.ts","ng://@groupdocs.examples.angular/common-components/lib/document/document.component.ts","ng://@groupdocs.examples.angular/common-components/lib/page/page.component.ts","ng://@groupdocs.examples.angular/common-components/lib/pipes.ts","ng://@groupdocs.examples.angular/common-components/lib/upload-file-zone/upload-file-zone.component.ts","ng://@groupdocs.examples.angular/common-components/lib/dnd.directive.ts","ng://@groupdocs.examples.angular/common-components/lib/viewport.service.ts","ng://@groupdocs.examples.angular/common-components/lib/scrollable.directive.ts","ng://@groupdocs.examples.angular/common-components/lib/mousewheel.directive.ts","ng://@groupdocs.examples.angular/common-components/lib/zoom.directive.ts","ng://@groupdocs.examples.angular/common-components/lib/on-close.service.ts","ng://@groupdocs.examples.angular/common-components/lib/select/select.component.ts","ng://@groupdocs.examples.angular/common-components/lib/disabled-cursor.directive.ts","ng://@groupdocs.examples.angular/common-components/lib/rotation.directive.ts","ng://@groupdocs.examples.angular/common-components/lib/init-state/init-state.component.ts","ng://@groupdocs.examples.angular/common-components/lib/render-print.service.ts","ng://@groupdocs.examples.angular/common-components/lib/render-print.directive.ts","ng://@groupdocs.examples.angular/common-components/lib/exception-message.service.ts","ng://@groupdocs.examples.angular/common-components/lib/error-modal/error-modal.component.ts","ng://@groupdocs.examples.angular/common-components/lib/password.service.ts","ng://@groupdocs.examples.angular/common-components/lib/password-required/password-required.component.ts","ng://@groupdocs.examples.angular/common-components/lib/error-interceptor.service.ts","ng://@groupdocs.examples.angular/common-components/lib/search.service.ts","ng://@groupdocs.examples.angular/common-components/lib/search/search.component.ts","ng://@groupdocs.examples.angular/common-components/lib/searchable.directive.ts","ng://@groupdocs.examples.angular/common-components/lib/tabbed-toolbars/tabbed-toolbars.component.ts","ng://@groupdocs.examples.angular/common-components/lib/tab-activator.service.ts","ng://@groupdocs.examples.angular/common-components/lib/tab/tab.component.ts","ng://@groupdocs.examples.angular/common-components/lib/tabs/tabs.component.ts","ng://@groupdocs.examples.angular/common-components/lib/formatting.service.ts","ng://@groupdocs.examples.angular/common-components/lib/color-picker/color-picker.component.ts","ng://@groupdocs.examples.angular/common-components/lib/back-formatting.service.ts","ng://@groupdocs.examples.angular/common-components/lib/selection.service.ts","ng://@groupdocs.examples.angular/common-components/lib/formatting.directive.ts","ng://@groupdocs.examples.angular/common-components/lib/success-modal/success-modal.component.ts","ng://@groupdocs.examples.angular/common-components/lib/edit-html.service.ts","ng://@groupdocs.examples.angular/common-components/lib/editor.directive.ts","ng://@groupdocs.examples.angular/common-components/lib/loading-mask.service.ts","ng://@groupdocs.examples.angular/common-components/lib/loading-mask/loading-mask.component.ts","ng://@groupdocs.examples.angular/common-components/lib/loading-mask-interceptor.service.ts","ng://@groupdocs.examples.angular/common-components/lib/drop-down/drop-down.component.ts","ng://@groupdocs.examples.angular/common-components/lib/left-side-bar/left-side-bar.component.ts","ng://@groupdocs.examples.angular/common-components/lib/tooltip.directive.ts","ng://@groupdocs.examples.angular/common-components/lib/add-dynamic-component.service.ts","ng://@groupdocs.examples.angular/common-components/lib/hosting-dynamic-component.service.ts","ng://@groupdocs.examples.angular/common-components/lib/host-dynamic.directive.ts","ng://@groupdocs.examples.angular/common-components/lib/resizing/resizing.component.ts","ng://@groupdocs.examples.angular/common-components/lib/top-tab-activator.service.ts","ng://@groupdocs.examples.angular/common-components/lib/top-tab/top-tab.component.ts","ng://@groupdocs.examples.angular/common-components/lib/text-menu/text-menu.component.ts","ng://@groupdocs.examples.angular/common-components/lib/context-menu/context-menu.component.ts","ng://@groupdocs.examples.angular/common-components/lib/common-components.module.ts"],"sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation. All rights reserved.\r\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\r\nthis file except in compliance with the License. You may obtain a copy of the\r\nLicense at http://www.apache.org/licenses/LICENSE-2.0\r\n\r\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\r\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\r\nMERCHANTABLITY OR NON-INFRINGEMENT.\r\n\r\nSee the Apache Version 2.0 License for specific language governing permissions\r\nand limitations under the License.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator], i = 0;\r\n if (m) return m.call(o);\r\n return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n","import {Component, Input} from '@angular/core';\r\n\r\n@Component({\r\n selector: 'gd-top-toolbar',\r\n templateUrl: './top-toolbar.component.html',\r\n styleUrls: ['./top-toolbar.component.less']\r\n})\r\nexport class TopToolbarComponent {\r\n\r\n constructor() {\r\n }\r\n}\r\n","import {Component, EventEmitter, Input, Output} from '@angular/core';\r\n\r\n@Component({\r\n selector: 'gd-side-panel',\r\n templateUrl: './side-panel.component.html',\r\n styleUrls: ['./side-panel.component.less']\r\n})\r\n\r\nexport class SidePanelComponent {\r\n @Input() title: string;\r\n @Input() icon: string;\r\n @Input() closable = true;\r\n @Input() saveable = true;\r\n @Output() hideSidePanel = new EventEmitter();\r\n @Output() saveInSidePanel = new EventEmitter();\r\n\r\n onlyTitle = false;\r\n\r\n constructor() {\r\n }\r\n\r\n closeSidePanel() {\r\n this.hideSidePanel.emit(true);\r\n }\r\n\r\n saveBySidePanel() {\r\n this.saveInSidePanel.emit(true);\r\n }\r\n\r\n toggleTitleMode(){\r\n if (this.closable && !this.saveable) {\r\n this.onlyTitle = !this.onlyTitle;\r\n }\r\n }\r\n}\r\n","import {fromEvent, Observable, Subject} from \"rxjs\";\r\nimport {debounceTime, distinctUntilChanged, startWith, tap} from \"rxjs/operators\";\r\n\r\nconst MOBILE_MAX_WIDTH = 425;\r\nconst TABLET_MAX_WIDTH = 1024;\r\n\r\nexport class WindowService {\r\n\r\n private resizeSubject: Subject = new Subject();\r\n private _resize$;\r\n private width: number;\r\n private height: number;\r\n\r\n constructor() {\r\n this.width = window.innerWidth;\r\n this.height = window.innerHeight;\r\n\r\n this._resize$ = fromEvent(window, 'resize')\r\n .pipe(\r\n debounceTime(200),\r\n distinctUntilChanged(),\r\n startWith({target: {innerWidth: window.innerWidth, innerHeight: window.innerHeight}}),\r\n tap(event => {\r\n this.resizeSubject.next(event.target);\r\n this.width = (event.target as Window).innerWidth;\r\n this.height = (event.target as Window).innerHeight;\r\n }),\r\n );\r\n this._resize$.subscribe();\r\n }\r\n\r\n get onResize(): Observable {\r\n return this.resizeSubject.asObservable();\r\n }\r\n\r\n isMobile() {\r\n return this.width <= MOBILE_MAX_WIDTH;\r\n }\r\n\r\n isTablet() {\r\n return this.width <= TABLET_MAX_WIDTH;\r\n }\r\n\r\n isDesktop() {\r\n return !this.isMobile() && !this.isTablet();\r\n }\r\n\r\n getWidth() {\r\n return this.width;\r\n }\r\n\r\n getHeight() {\r\n return this.height;\r\n }\r\n\r\n isEdge() {\r\n return window.navigator.userAgent.toLowerCase().indexOf('edge') > -1;\r\n }\r\n\r\n isFirefox() {\r\n return navigator.userAgent.toLowerCase().indexOf('firefox') > -1;\r\n }\r\n}\r\n","import {Component, Input} from '@angular/core';\r\nimport {WindowService} from \"../window.service\";\r\n\r\n@Component({\r\n selector: 'gd-button',\r\n templateUrl: './button.component.html',\r\n styleUrls: ['./button.component.less']\r\n})\r\nexport class ButtonComponent {\r\n @Input() iconOnly = true;\r\n @Input() intent = 'default';\r\n @Input() disabled = false;\r\n @Input() icon: string;\r\n @Input() iconClass: string;\r\n @Input() tooltip: string;\r\n @Input() className: string;\r\n @Input() toggle = false;\r\n @Input() iconSize: string;\r\n @Input() iconRegular = false;\r\n @Input() elementPosition = 0;\r\n\r\n showToolTip = false;\r\n private isDesktop: boolean;\r\n\r\n constructor(windowService: WindowService) {\r\n this.isDesktop = windowService.isDesktop();\r\n windowService.onResize.subscribe((w) => {\r\n this.isDesktop = windowService.isDesktop();\r\n });\r\n }\r\n\r\n iconButtonClass() {\r\n return this.iconOnly ? 'icon-button' : '';\r\n }\r\n\r\n onHovering() {\r\n if (this.isDesktop && !this.disabled) {\r\n this.className += ' active';\r\n }\r\n }\r\n\r\n onUnhovering() {\r\n if (this.isDesktop && !this.disabled) {\r\n this.className = this.cleanAll(this.className, ' active');\r\n }\r\n }\r\n\r\n private cleanAll(str: string, val: string) {\r\n while (str && str.indexOf(val) !== -1) {\r\n str = str.replace(val, '');\r\n }\r\n return str;\r\n }\r\n}\r\n","import {Component, Input, OnInit} from '@angular/core';\r\n\r\n@Component({\r\n selector: 'gd-logo',\r\n templateUrl: './logo.component.html',\r\n styleUrls: ['./logo.component.less']\r\n})\r\nexport class LogoComponent implements OnInit {\r\n\r\n @Input() logo;\r\n @Input() icon;\r\n\r\n constructor() { }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n}\r\n","import {Component, Input, OnInit} from '@angular/core';\r\n\r\n@Component({\r\n selector: 'gd-tooltip',\r\n templateUrl: './tooltip.component.html',\r\n styleUrls: ['./tooltip.component.less']\r\n})\r\nexport class TooltipComponent implements OnInit {\r\n\r\n @Input() text: string;\r\n @Input() position = 0;\r\n visibility = 'hidden';\r\n\r\n constructor() {\r\n }\r\n\r\n getClass() {\r\n if (this.position === 0) {\r\n return 'tooltip';\r\n }\r\n return 'tooltip ' + (this.position > 0 ? 'last-element' : 'first-element');\r\n }\r\n\r\n @Input()\r\n set show(value: boolean) {\r\n this.visibility = value ? 'shown' : 'hidden';\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n}\r\n","import {HttpHeaders} from \"@angular/common/http\";\r\nimport {Injectable} from \"@angular/core\";\r\n\r\nexport class Api {\r\n public static VIEWER_APP = '/viewer';\r\n public static SIGNATURE_APP = '/signature';\r\n public static ANNOTATION_APP = '/annotation';\r\n public static SEARCH_APP = '/search';\r\n public static EDITOR_APP = '/editor';\r\n public static COMPARISON_APP = '/comparison';\r\n public static CONVERSION_APP = '/conversion';\r\n public static METADATA_APP = '/metadata';\r\n public static DEFAULT_API_ENDPOINT = window.location.href;\r\n public static LOAD_FILE_TREE = '/loadFileTree';\r\n public static LOAD_CONFIG = '/loadConfig';\r\n public static LOAD_DOCUMENT_DESCRIPTION = '/loadDocumentDescription';\r\n public static LOAD_DOCUMENT_PAGE = '/loadDocumentPage';\r\n public static LOAD_DOCUMENT_PROPERTIES = '/loadProperties';\r\n public static LOAD_DOCUMENT_PROPERTIES_NAMES = '/loadPropertiesNames';\r\n public static SAVE_PROPERTY = '/saveProperty';\r\n public static REMOVE_PROPERTY = '/removeProperty';\r\n public static ROTATE_DOCUMENT_PAGE = '/rotateDocumentPages';\r\n public static UPLOAD_DOCUMENTS = '/uploadDocument';\r\n public static DOWNLOAD_DOCUMENTS = '/downloadDocument';\r\n public static DOWNLOAD_ANNOTATED = '/downloadAnnotated';\r\n public static LOAD_PRINT = '/loadPrint';\r\n public static LOAD_PRINT_PDF = '/printPdf';\r\n public static LOAD_THUMBNAILS = '/loadThumbnails';\r\n public static LOAD_FORMATS = '/loadFormats';\r\n public static SAVE_FILE = '/saveFile';\r\n public static CREATE_FILE = '/createFile';\r\n public static COMPARE_FILES = '/compare';\r\n public static CONVERT_FILE = '/convert';\r\n public static DELETE_SIGNATURE_FILE = '/deleteSignatureFile';\r\n public static REMOVE_FROM_INDEX = '/removeFromIndex';\r\n public static GET_FILE_STATUS = '/getFileStatus';\r\n public static SAVE_OPTICAL_CODE = '/saveOpticalCode';\r\n public static SAVE_TEXT = '/saveText';\r\n public static SAVE_IMAGE = '/saveImage';\r\n public static SAVE_STAMP = '/saveStamp';\r\n public static SIGN = '/sign';\r\n public static DOWNLOAD_SIGNED = '/downloadSigned';\r\n public static LOAD_SIGNATURE_IMAGE = '/loadSignatureImage';\r\n public static ANNOTATE = '/annotate';\r\n public static SEARCH = '/search';\r\n public static ADD_FILES_TO_INDEX = '/addFilesToIndex';\r\n public static CLEAN_METADATA = '/clean';\r\n public static EXPORT_METADATA = '/export';\r\n\r\n public static httpOptionsJson = {\r\n headers: new HttpHeaders({\r\n 'Content-Type': 'application/json',\r\n })\r\n };\r\n public static httpOptionsJsonResponseTypeBlob = {\r\n headers: new HttpHeaders({\r\n 'Content-Type': 'application/json',\r\n }),\r\n responseType: 'blob' as 'blob'\r\n };\r\n}\r\n\r\n@Injectable()\r\nexport class ConfigService {\r\n\r\n private _apiEndpoint: string;\r\n\r\n constructor() {\r\n this.apiEndpoint = Api.DEFAULT_API_ENDPOINT;\r\n }\r\n\r\n set apiEndpoint(url: string) {\r\n this._apiEndpoint = url && url.trim().endsWith('/') ? url.substring(0, url.length - 1) : url;\r\n }\r\n\r\n getConfigEndpoint(app) {\r\n return (this.apiEndpoint.endsWith(app) ? this.apiEndpoint : this.apiEndpoint + app) + Api.LOAD_CONFIG;\r\n }\r\n\r\n getViewerApiEndpoint() {\r\n return this._apiEndpoint.endsWith(Api.VIEWER_APP) ? this._apiEndpoint : this._apiEndpoint + Api.VIEWER_APP;\r\n }\r\n\r\n getEditorApiEndpoint() {\r\n return this._apiEndpoint.trim().endsWith(Api.EDITOR_APP) ? this._apiEndpoint : this._apiEndpoint + Api.EDITOR_APP;\r\n }\r\n\r\n getComparisonApiEndpoint() {\r\n return this._apiEndpoint.trim().endsWith(Api.COMPARISON_APP) ? this._apiEndpoint : this._apiEndpoint + Api.COMPARISON_APP;\r\n }\r\n\r\n getConversionApiEndpoint() {\r\n return this._apiEndpoint.trim().endsWith(Api.CONVERSION_APP) ? this._apiEndpoint : this._apiEndpoint + Api.CONVERSION_APP;\r\n }\r\n\r\n getMetadataApiEndpoint() {\r\n return this._apiEndpoint.trim().endsWith(Api.METADATA_APP) ? this._apiEndpoint : this._apiEndpoint + Api.METADATA_APP;\r\n }\r\n\r\n get apiEndpoint() {\r\n return this._apiEndpoint;\r\n }\r\n\r\n getSignatureApiEndpoint() {\r\n return this._apiEndpoint.endsWith(Api.SIGNATURE_APP) ? this._apiEndpoint : this._apiEndpoint + Api.SIGNATURE_APP;\r\n }\r\n\r\n getAnnotationApiEndpoint() {\r\n return this._apiEndpoint.endsWith(Api.ANNOTATION_APP) ? this._apiEndpoint : this._apiEndpoint + Api.ANNOTATION_APP;\r\n }\r\n\r\n getSearchApiEndpoint() {\r\n return this._apiEndpoint.endsWith(Api.SEARCH_APP) ? this._apiEndpoint : this._apiEndpoint + Api.SEARCH_APP;\r\n }\r\n}\r\n","export class CommonModals {\r\n static PasswordRequired = \"gd-password-required\";\r\n static ErrorMessage = \"gd-error-message\";\r\n static BrowseFiles = \"gd-browse-files\";\r\n static CreateDocument = \"gd-create-document\";\r\n static OperationSuccess = \"gd-success-modal\";\r\n static DrawHandSignature = \"gd-draw-hand-signature\";\r\n static DrawStampSignature = \"gd-draw-stamp-signature\";\r\n static InformationMessage = \"gd-information-message\";\r\n}\r\n\r\nexport class ModalService {\r\n private modals: any[] = [];\r\n\r\n add(modal: any) {\r\n this.modals.push(modal);\r\n }\r\n\r\n remove(id: string) {\r\n this.modals = this.modals.filter(x => x.id !== id);\r\n }\r\n\r\n open(id: string) {\r\n const modal: any = this.modals.filter(x => x.id === id)[0];\r\n if (modal) {\r\n modal.open();\r\n }\r\n }\r\n\r\n close(id: string) {\r\n const modal: any = this.modals.filter(x => x.id === id)[0];\r\n if (modal) {\r\n modal.close();\r\n }\r\n }\r\n}\r\n","import {Component, ElementRef, EventEmitter, Input, OnDestroy, OnInit, Output} from '@angular/core';\r\nimport {ModalService} from \"../modal.service\";\r\n\r\n@Component({\r\n selector: 'gd-modal',\r\n templateUrl: './modal.component.html',\r\n styleUrls: ['./modal.component.less']\r\n})\r\nexport class ModalComponent implements OnInit, OnDestroy {\r\n @Input() id: string;\r\n @Input() title: string;\r\n @Output() visible = new EventEmitter();\r\n @Output() cancel = new EventEmitter();\r\n visibility = false;\r\n private element: any;\r\n\r\n constructor(private modalService: ModalService, el: ElementRef) {\r\n this.element = el.nativeElement;\r\n }\r\n\r\n ngOnInit(): void {\r\n if (!this.id) {\r\n console.error('modal must have an id');\r\n return;\r\n }\r\n\r\n document.body.appendChild(this.element);\r\n\r\n this.modalService.add(this);\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.modalService.remove(this.id);\r\n this.element.remove();\r\n }\r\n\r\n open(): void {\r\n this.visibility = true;\r\n this.visible.emit(true);\r\n }\r\n\r\n close(): void {\r\n event.preventDefault();\r\n event.stopPropagation();\r\n this.visibility = false;\r\n this.visible.emit(false);\r\n }\r\n\r\n onClose($event: MouseEvent) {\r\n $event.stopPropagation();\r\n if ($event && $event.target && ($event.target).id === 'modalDialog') {\r\n this.close();\r\n }\r\n }\r\n\r\n cancelClose() {\r\n this.cancel.emit(false);\r\n this.close();\r\n }\r\n}\r\n","export class PageModel {\r\n data: string;\r\n angle: number;\r\n width: number;\r\n height: number;\r\n number: number;\r\n editable: boolean;\r\n}\r\n\r\nexport class RotatedPage {\r\n pageNumber: number;\r\n angle: number;\r\n}\r\n\r\nexport class FileCredentials {\r\n guid: string;\r\n password: string;\r\n\r\n constructor(guid: string, password: string) {\r\n this.guid = guid;\r\n this.password = password;\r\n }\r\n}\r\n\r\nexport class SaveFile extends FileCredentials {\r\n content: string;\r\n\r\n constructor(guid: string, password: string, content: string) {\r\n super(guid, password);\r\n this.content = content;\r\n }\r\n}\r\n\r\nexport class FileDescription {\r\n guid: string;\r\n pages: PageModel[];\r\n printAllowed = true;\r\n showGridLines: boolean;\r\n thumbnails: PageModel[];\r\n}\r\n\r\nexport class FileModel {\r\n guid: string;\r\n name: string;\r\n directory: boolean;\r\n size: number;\r\n isDirectory: boolean;\r\n}\r\n\r\nexport class HttpError {\r\n static BadRequest = 400;\r\n static Unauthorized = 401;\r\n static Forbidden = 403;\r\n static NotFound = 404;\r\n static TimeOut = 408;\r\n static Conflict = 409;\r\n static InternalServerError = 500;\r\n}\r\n\r\nexport class Utils {\r\n public static getMousePosition(event) {\r\n const mouse = {\r\n x: 0,\r\n y: 0\r\n };\r\n const wEvent: DragEvent = window.event;\r\n const ev = event || wEvent; //Moz || IE\r\n if (ev.pageX || wEvent.pageX || wEvent.screenX || (ev.touches && ev.touches[0] && ev.touches[0].pageX)) { //Moz\r\n const pageX = typeof ev.pageX !== \"undefined\" && ev.pageX !== 0 ? ev.pageX : wEvent.pageX;\r\n const pageY = typeof ev.pageY !== \"undefined\" && ev.pageY !== 0 ? ev.pageY : wEvent.pageY;\r\n const screenX = typeof wEvent.screenX !== \"undefined\" && wEvent.screenY !== 0;\r\n const screenY = typeof wEvent.screenY !== \"undefined\" && wEvent.screenY !== 0;\r\n mouse.x = pageX ? pageX : (screenX ? wEvent.screenX : ev.touches[0].pageX);\r\n mouse.y = pageY ? pageY : (screenY ? wEvent.screenY : ev.touches[0].pageY);\r\n } else if (ev.clientX) { //IE\r\n mouse.x = ev.clientX + document.body.scrollLeft;\r\n mouse.y = ev.clientY + document.body.scrollTop;\r\n }\r\n return mouse;\r\n }\r\n\r\n public static toRgb(color: string) {\r\n const result = /^#?([a-f\\d]{2})([a-f\\d]{2})([a-f\\d]{2})$/i.exec(color);\r\n if (result) {\r\n const r = parseInt(result[1], 16);\r\n const g = parseInt(result[2], 16);\r\n const b = parseInt(result[3], 16);\r\n return result ? 'rgb(' + r + ',' + g + ',' + b + ')' : '';\r\n }\r\n return color;\r\n }\r\n\r\n public static toHex(color: string) {\r\n // check if color is standard hex value\r\n if (color.match(/[0-9A-F]{6}|[0-9A-F]{3}$/i)) {\r\n return (color.charAt(0) === \"#\") ? color : (\"#\" + color);\r\n // check if color is RGB value -> convert to hex\r\n } else if (color.match(/^rgb\\(\\s*(\\d{1,3})\\s*,\\s*(\\d{1,3})\\s*,\\s*(\\d{1,3})\\s*\\)$/)) {\r\n const c = ([parseInt(RegExp.$1, 10), parseInt(RegExp.$2, 10), parseInt(RegExp.$3, 10)]),\r\n pad = function (str) {\r\n if (str.length < 2) {\r\n for (let i = 0, len = 2 - str.length; i < len; i++) {\r\n str = '0' + str;\r\n }\r\n }\r\n return str;\r\n };\r\n if (c.length === 3) {\r\n const r = pad(c[0].toString(16)),\r\n g = pad(c[1].toString(16)),\r\n b = pad(c[2].toString(16));\r\n return '#' + r + g + b;\r\n }\r\n // else do nothing\r\n } else {\r\n return '';\r\n }\r\n }\r\n}\r\n\r\nexport class FileUtil {\r\n public static map = {\r\n 'folder': {'format': '', 'icon': 'folder'},\r\n 'pdf': {'format': 'Portable Document Format', 'icon': 'file-pdf', 'unit': 'pt'},\r\n 'doc': {'format': 'Microsoft Word', 'icon': 'file-word', 'unit': 'pt'},\r\n 'docx': {'format': 'Microsoft Word', 'icon': 'file-word', 'unit': 'pt'},\r\n 'docm': {'format': 'Microsoft Word', 'icon': 'file-word', 'unit': 'pt'},\r\n 'dot': {'format': 'Microsoft Word', 'icon': 'file-word', 'unit': 'pt'},\r\n 'dotx': {'format': 'Microsoft Word', 'icon': 'file-word', 'unit': 'pt'},\r\n 'dotm': {'format': 'Microsoft Word', 'icon': 'file-word', 'unit': 'pt'},\r\n 'xls': {'format': 'Microsoft Excel', 'icon': 'file-excel', 'unit': 'px'},\r\n 'xlsx': {'format': 'Microsoft Excel', 'icon': 'file-excel', 'unit': 'px'},\r\n 'xlsm': {'format': 'Microsoft Excel', 'icon': 'file-excel', 'unit': 'px'},\r\n 'xlsb': {'format': 'Microsoft Excel', 'icon': 'file-excel', 'unit': 'px'},\r\n 'xls2003': {'format': 'Microsoft Excel', 'icon': 'file-excel', 'unit': 'px'},\r\n 'xltx': {'format': 'Microsoft Excel', 'icon': 'file-excel', 'unit': 'px'},\r\n 'xltm': {'format': 'Microsoft Excel', 'icon': 'file-excel', 'unit': 'px'},\r\n 'ppt': {'format': 'Microsoft PowerPoint', 'icon': 'file-powerpoint', 'unit': 'pt'},\r\n 'pptx': {'format': 'Microsoft PowerPoint', 'icon': 'file-powerpoint', 'unit': 'pt'},\r\n 'pps': {'format': 'Microsoft PowerPoint', 'icon': 'file-powerpoint', 'unit': 'pt'},\r\n 'ppsx': {'format': 'Microsoft PowerPoint', 'icon': 'file-powerpoint', 'unit': 'pt'},\r\n 'vsd': {'format': 'Microsoft Visio', 'icon': 'file-code', 'unit': 'px'},\r\n 'vdx': {'format': 'Microsoft Visio', 'icon': 'file-code', 'unit': 'px'},\r\n 'vss': {'format': 'Microsoft Visio', 'icon': 'file-code', 'unit': 'px'},\r\n 'vsx': {'format': 'Microsoft Visio', 'icon': 'file-code', 'unit': 'px'},\r\n 'vst': {'format': 'Microsoft Visio', 'icon': 'file-code', 'unit': 'px'},\r\n 'vtx': {'format': 'Microsoft Visio', 'icon': 'file-code', 'unit': 'px'},\r\n 'vsdx': {'format': 'Microsoft Visio', 'icon': 'file-code', 'unit': 'px'},\r\n 'vdw': {'format': 'Microsoft Visio', 'icon': 'file-code', 'unit': 'px'},\r\n 'vstx': {'format': 'Microsoft Visio', 'icon': 'file-code', 'unit': 'px'},\r\n 'vssx': {'format': 'Microsoft Visio', 'icon': 'file-code', 'unit': 'px'},\r\n 'mpp': {'format': 'Microsoft Project', 'icon': 'file-alt', 'unit': 'pt'},\r\n 'mpt': {'format': 'Microsoft Project', 'icon': 'file-alt', 'unit': 'pt'},\r\n 'msg': {'format': 'Microsoft Outlook', 'icon': 'file-alt', 'unit': 'pt'},\r\n 'eml': {'format': 'Microsoft Outlook', 'icon': 'file-alt', 'unit': 'pt'},\r\n 'emlx': {'format': 'Microsoft Outlook', 'icon': 'file-alt', 'unit': 'pt'},\r\n 'one': {'format': 'Microsoft OneNote', 'icon': 'file-word', 'unit': 'pt'},\r\n 'odt': {'format': 'Open Document Text', 'icon': 'file-word', 'unit': 'pt'},\r\n 'ott': {'format': 'Open Document Text Template', 'icon': 'file-word', 'unit': 'pt'},\r\n 'ods': {'format': 'Open Document Spreadsheet', 'icon': 'file-excel', 'unit': 'px'},\r\n 'odp': {'format': 'Open Document Presentation', 'icon': 'file-powerpoint', 'unit': 'pt'},\r\n 'otp': {'format': 'Open Document Presentation', 'icon': 'file-powerpoint', 'unit': 'pt'},\r\n 'ots': {'format': 'Open Document Presentation', 'icon': 'file-powerpoint', 'unit': 'pt'},\r\n 'potx': {'format': 'Open Document Presentation', 'icon': 'file-powerpoint', 'unit': 'pt'},\r\n 'potm': {'format': 'Open Document Presentation', 'icon': 'file-powerpoint', 'unit': 'pt'},\r\n 'pptm': {'format': 'Open Document Presentation', 'icon': 'file-powerpoint', 'unit': 'pt'},\r\n 'ppsm': {'format': 'Open Document Presentation', 'icon': 'file-powerpoint', 'unit': 'pt'},\r\n 'rtf': {'format': 'Rich Text Format', 'icon': 'file-alt', 'unit': 'pt'},\r\n 'txt': {'format': 'Plain Text File', 'icon': 'file-alt', 'unit': 'pt'},\r\n 'csv': {'format': 'Comma-Separated Values', 'icon': 'file-excel', 'unit': 'px'},\r\n 'html': {'format': 'HyperText Markup Language', 'icon': 'file-word', 'unit': 'pt'},\r\n 'mht': {'format': 'HyperText Markup Language', 'icon': 'file-word', 'unit': 'pt'},\r\n 'mhtml': {'format': 'HyperText Markup Language', 'icon': 'file-word', 'unit': 'pt'},\r\n 'xml': {'format': 'Extensible Markup Language', 'icon': 'file-word', 'unit': 'pt'},\r\n 'xps': {'format': 'XML Paper Specification', 'icon': 'file-word', 'unit': 'pt'},\r\n 'dxf': {'format': 'AutoCAD Drawing File Format', 'icon': 'file-image', 'unit': 'px'},\r\n 'dwg': {'format': 'AutoCAD Drawing File Format', 'icon': 'file-image', 'unit': 'px'},\r\n 'bmp': {'format': 'Bitmap Picture', 'icon': 'file-image', 'unit': 'px'},\r\n 'gif': {'format': 'Graphics Interchange Format', 'icon': 'file-image', 'unit': 'px'},\r\n 'jpg': {'format': 'Joint Photographic Experts Group', 'icon': 'file-image', 'unit': 'px'},\r\n 'jpe': {'format': 'Joint Photographic Experts Group', 'icon': 'file-image', 'unit': 'px'},\r\n 'jpeg': {'format': 'Joint Photographic Experts Group', 'icon': 'file-image', 'unit': 'px'},\r\n 'jfif': {'format': 'Joint Photographic Experts Group', 'icon': 'file-image', 'unit': 'px'},\r\n 'png': {'format': 'Portable Network Graphics', 'icon': 'file-image', 'unit': 'px'},\r\n 'tiff': {'format': 'Tagged Image File Format', 'icon': 'file-image', 'unit': 'px'},\r\n 'tif': {'format': 'Tagged Image File Format', 'icon': 'file-image', 'unit': 'px'},\r\n 'psd': {'format': 'Tagged Image File Format', 'icon': 'file-image', 'unit': 'px'},\r\n 'svg': {'format': 'Tagged Image File Format', 'icon': 'file-image', 'unit': 'px'},\r\n 'jp2': {'format': 'Tagged Image File Format', 'icon': 'file-image', 'unit': 'px'},\r\n 'epub': {'format': 'Electronic Publication', 'icon': 'file-pdf', 'unit': 'pt'},\r\n 'ico': {'format': 'Windows Icon', 'icon': 'file-image', 'unit': 'px'},\r\n 'webp': {'format': 'Compressed Image', 'icon': 'file-image', 'unit': 'px'},\r\n 'mobi': {'format': 'Mobipocket eBook', 'icon': 'file-pdf', 'unit': 'pt'},\r\n 'tex': {'format': 'LaTeX Source Document', 'icon': 'file-pdf', 'unit': 'pt'},\r\n 'djvu': {'format': 'Multi-Layer Raster Image', 'icon': 'file-alt', 'unit': 'pt'},\r\n 'unknown': {'format': 'This format is not supported', 'icon': 'file'},\r\n };\r\n\r\n public static find(filename: string, isDirectory: boolean) {\r\n if (filename && !isDirectory) {\r\n const strings = filename.split('.');\r\n const name = strings.pop().toLowerCase();\r\n if (typeof FileUtil.map[name] === \"undefined\") {\r\n return strings.length > 0 ? FileUtil.map['unknown'] : FileUtil.map['folder'];\r\n } else {\r\n return FileUtil.map[name];\r\n }\r\n } else {\r\n return FileUtil.map['folder'];\r\n }\r\n }\r\n}\r\n\r\nexport class FileService {\r\n\r\n constructor() {\r\n }\r\n}\r\n","import {Observable, Observer} from \"rxjs\";\r\n\r\nexport class UploadFilesService {\r\n private _uploadsChange: Observable;\r\n private _observer: Observer;\r\n\r\n constructor() {\r\n this._uploadsChange = new Observable(observer =>\r\n this._observer = observer);\r\n }\r\n\r\n get uploadsChange(): Observable {\r\n return this._uploadsChange;\r\n }\r\n\r\n changeFilesList(filesList: FileList) {\r\n this._observer.next(filesList);\r\n }\r\n}\r\n","import {Component, EventEmitter, Input, OnInit, Output} from '@angular/core';\r\nimport {FileModel, FileUtil} from \"../file.service\";\r\nimport {UploadFilesService} from \"../upload-files.service\";\r\nimport * as jquery from \"jquery\";\r\nconst $ = jquery;\r\n\r\nconst upload_disc = 'Disc';\r\n\r\nconst upload_url = 'URL';\r\n\r\nconst uploads_choices = [{name: upload_disc, icon: 'hdd'}, {name: upload_url, icon: 'link'}];\r\n\r\n@Component({\r\n selector: 'gd-browse-files-modal',\r\n templateUrl: './browse-files-modal.component.html',\r\n styleUrls: ['./browse-files-modal.component.less']\r\n})\r\nexport class BrowseFilesModalComponent implements OnInit {\r\n uploads = uploads_choices;\r\n\r\n @Input() files;\r\n @Input() uploadConfig;\r\n @Output() selectedFileGuid = new EventEmitter();\r\n @Output() selectedDirectory = new EventEmitter();\r\n @Output() urlForUpload = new EventEmitter();\r\n @Output() closing = new EventEmitter();\r\n private selectedFile: FileModel;\r\n showUploadUrl = false;\r\n showUploadFile = false;\r\n\r\n constructor(private _uploadService: UploadFilesService) {\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n getSize(size: number) {\r\n const mb = size / 1024 / 1024;\r\n if (mb > 1) {\r\n return (Math.round(mb * 100) / 100) + ' MB';\r\n } else {\r\n const kb = size / 1024;\r\n if (kb > 1) {\r\n return (Math.round(kb * 100) / 100) + ' KB';\r\n }\r\n }\r\n return size + ' Bytes';\r\n }\r\n\r\n getFormatName(file: FileModel) {\r\n return FileUtil.find(file.name, file.directory).format;\r\n }\r\n\r\n getFormatIcon(file: FileModel) {\r\n return FileUtil.find(file.name, file.directory).icon;\r\n }\r\n\r\n choose(file: FileModel) {\r\n this.selectedFile = file;\r\n if (file.directory || file.isDirectory) {\r\n this.selectedDirectory.emit(file.name);\r\n } else {\r\n this.selectedFileGuid.emit(file.guid);\r\n }\r\n }\r\n\r\n goUp() {\r\n if (this.selectedFile) {\r\n let guid = this.selectedFile.guid;\r\n if (guid.length > 0 && guid.indexOf('/') === -1) {\r\n guid = '';\r\n } else {\r\n guid = guid.replace(/\\/[^\\/]+\\/?$/, '');\r\n }\r\n this.selectedDirectory.emit(guid);\r\n }\r\n }\r\n\r\n selectUpload($event: string) {\r\n if (upload_url === $event) {\r\n this.showUploadUrl = true;\r\n } else {\r\n this.showUploadUrl = false;\r\n $(\"#gd-upload-input\").trigger('click');\r\n }\r\n }\r\n\r\n refresh($event) {\r\n\r\n if ($event) {\r\n this.files = null;\r\n this.selectedDirectory.emit('');\r\n this.showUploadUrl = false;\r\n this.selectedFile = null;\r\n } else {\r\n this.closing.emit(true);\r\n }\r\n }\r\n\r\n showSpinner() {\r\n return !this.files;\r\n }\r\n\r\n uploadUrl(url: string) {\r\n if (url) {\r\n this.urlForUpload.emit(url);\r\n this.cleanUpload();\r\n }\r\n }\r\n\r\n handleFileInput(files: FileList) {\r\n this._uploadService.changeFilesList(files);\r\n }\r\n\r\n cleanUpload() {\r\n this.showUploadFile = false;\r\n this.showUploadUrl = false;\r\n }\r\n}\r\n","import {Observable, Subject} from \"rxjs\";\r\n\r\nexport class ZoomService {\r\n private _observer: Subject = new Subject();\r\n private readonly _zoomChange: Observable = this._observer.asObservable();\r\n private _zoom: number;\r\n\r\n constructor() {\r\n }\r\n\r\n get zoom(): number {\r\n return this._zoom;\r\n }\r\n\r\n get zoomChange(): Observable {\r\n return this._zoomChange;\r\n }\r\n\r\n changeZoom(zoom: number) {\r\n this._zoom = zoom;\r\n this._observer.next(zoom);\r\n }\r\n\r\n private createZoomOption(val: any, name: string, sep: boolean = false) {\r\n return {value: val, name: name, separator: sep}\r\n }\r\n\r\n zoomOptions(width, height) {\r\n return [this.createZoomOption(25, '25%'),\r\n this.createZoomOption(50, '50%'),\r\n this.createZoomOption(100,'100%'),\r\n this.createZoomOption(150, '150%'),\r\n this.createZoomOption(200, '200%'),\r\n this.createZoomOption(300, '300%'),\r\n this.createZoomOption(0, '', true),\r\n this.createZoomOption(width, 'Fit Width'),\r\n this.createZoomOption(height, 'Fit Height')];\r\n }\r\n}\r\n","import {Observable, Observer} from \"rxjs\";\r\n\r\nexport class PagePreloadService {\r\n private readonly _checkPreload: Observable;\r\n private _observer: Observer;\r\n\r\n constructor() {\r\n this._checkPreload = new Observable(observer =>\r\n this._observer = observer);\r\n }\r\n\r\n get checkPreload(): Observable {\r\n return this._checkPreload;\r\n }\r\n\r\n changeLastPageInView(page: number) {\r\n if(this._observer) {\r\n this._observer.next(page);\r\n }\r\n }\r\n}\r\n","import {BehaviorSubject, Observable, Subject} from \"rxjs\";\r\nimport {PagePreloadService} from \"./page-preload.service\";\r\nimport {Injectable} from \"@angular/core\";\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class NavigateService {\r\n private _currentPage = 0;\r\n private _countPages = 0;\r\n private _observer: Subject = new Subject();\r\n private _navigate: Observable = this._observer;\r\n\r\n constructor(private _pagePreloadService: PagePreloadService) {\r\n }\r\n\r\n get navigate(): Observable {\r\n return this._navigate;\r\n }\r\n\r\n get countPages(): number {\r\n return this._countPages;\r\n }\r\n\r\n set countPages(value: number) {\r\n this._countPages = value;\r\n }\r\n\r\n get currentPage(): number {\r\n return this._currentPage;\r\n }\r\n\r\n set currentPage(value: number) {\r\n this._currentPage = value;\r\n }\r\n\r\n nextPage() {\r\n if (this._currentPage < this._countPages) {\r\n this._currentPage++;\r\n this.navigateTo(this._currentPage);\r\n }\r\n }\r\n\r\n prevPage() {\r\n if (this._currentPage > 1) {\r\n this._currentPage--;\r\n this.navigateTo(this._currentPage);\r\n }\r\n }\r\n\r\n toLastPage() {\r\n this._currentPage = this._countPages;\r\n this.navigateTo(this._currentPage);\r\n }\r\n\r\n toFirstPage() {\r\n this._currentPage = 1;\r\n this.navigateTo(this._currentPage);\r\n }\r\n\r\n navigateTo(page: number) {\r\n this.currentPage = page;\r\n this._pagePreloadService.changeLastPageInView(page);\r\n this._observer.next(page);\r\n }\r\n}\r\n","import {\r\n AfterViewChecked,\r\n Component,\r\n ElementRef,\r\n Input,\r\n OnInit,\r\n AfterViewInit,\r\n OnChanges\r\n} from '@angular/core';\r\nimport {FileDescription, FileUtil} from \"../file.service\";\r\nimport {ZoomService} from \"../zoom.service\";\r\nimport * as Hammer from 'hammerjs';\r\nimport {WindowService} from '../window.service';\r\nimport * as jquery from 'jquery';\r\nimport { NavigateService } from '../navigate.service';\r\n\r\nconst $ = jquery;\r\n\r\n@Component({\r\n selector: 'gd-document',\r\n templateUrl: './document.component.html',\r\n styleUrls: ['./document.component.less']\r\n})\r\nexport class DocumentComponent implements OnInit, AfterViewChecked, AfterViewInit, OnChanges {\r\n\r\n @Input() mode: boolean;\r\n @Input() preloadPageCount: number;\r\n @Input() file: FileDescription;\r\n @Input() selectedPage: number;\r\n @Input() showActiveSlide: boolean;\r\n wait = false;\r\n zoom: number;\r\n\r\n docWidth = null;\r\n docHeight = null;\r\n viewportWidth = null;\r\n viewportHeight = null;\r\n scale = null;\r\n lastScale = null;\r\n container = null;\r\n doc = null;\r\n x = 0;\r\n lastX = 0;\r\n y = 0;\r\n lastY = 0;\r\n pinchCenter = null;\r\n pinchCenterOffset = null;\r\n curWidth = 0;\r\n curHeight = 0;\r\n isDesktop: boolean;\r\n\r\n constructor(protected _elementRef: ElementRef,\r\n private _zoomService: ZoomService,\r\n private _windowService: WindowService,\r\n private _navigateService: NavigateService) {\r\n _zoomService.zoomChange.subscribe((val: number) => {\r\n this.zoom = val;\r\n });\r\n\r\n this.isDesktop = _windowService.isDesktop();\r\n\r\n this._navigateService.navigate.subscribe(((\r\n value => {\r\n this.selectedPage = value;\r\n })));\r\n }\r\n\r\n ngOnInit() {\r\n if (this.ifPresentation())\r\n {\r\n this.selectedPage = this._navigateService.currentPage;\r\n }\r\n }\r\n\r\n ngOnChanges() {\r\n }\r\n\r\n ngAfterViewInit() {\r\n // For current iteration we take .panzoom as a document\r\n this.doc = this._elementRef.nativeElement.children.item(0).children.item(0);\r\n // For current iteration we take .gd-document as a container\r\n this.container = this._elementRef.nativeElement;\r\n\r\n this.docWidth = this.doc.clientWidth;\r\n this.docHeight = this.doc.clientHeight;\r\n this.viewportWidth = this.doc.offsetWidth;\r\n\r\n // For cases where we already have zoom defined we should include it\r\n this.scale = (this.viewportWidth / this.docWidth) * this._zoomService.zoom / 100;\r\n\r\n this.lastScale = this.scale;\r\n this.viewportHeight = this.container.offsetHeight;\r\n this.curWidth = this.docWidth * this.scale;\r\n this.curHeight = this.docHeight * this.scale;\r\n\r\n const hammer = new Hammer(this.container);\r\n }\r\n\r\n // TODO: this temporary crutch for Excel files should be documented\r\n ifExcel() {\r\n return FileUtil.find(this.file.guid, false).format === \"Microsoft Excel\";\r\n }\r\n\r\n ifPresentation() {\r\n return FileUtil.find(this.file.guid, false).format === \"Microsoft PowerPoint\";\r\n }\r\n\r\n getDimensionWithUnit(value: number, pageNumber: number) {\r\n return this.ifPresentation() && this.showActiveSlide && !this.isVisible(pageNumber) ? 0 : value + (this.mode ? FileUtil.find(this.file.guid, false).unit : 'px');\r\n }\r\n\r\n ifEdge() {\r\n return navigator.userAgent.toLowerCase().indexOf('edge') > -1;\r\n }\r\n\r\n ngAfterViewChecked(): void {\r\n // for now we are not sure that need this action in current implementation\r\n // const elementNodeListOf = this._elementRef.nativeElement.querySelectorAll('.gd-wrapper');\r\n // const element = elementNodeListOf.item(0);\r\n // if (element) {\r\n // $(element).trigger('focus');\r\n // }\r\n }\r\n\r\n isVisible(pageNumber) {\r\n if (this.ifPresentation()) {\r\n return pageNumber === this.selectedPage ? true : false;\r\n }\r\n else {\r\n return true;\r\n }\r\n }\r\n}\r\n","import {Component, Input, OnChanges, OnInit, SimpleChanges} from '@angular/core';\r\n\r\n@Component({\r\n selector: 'gd-page',\r\n templateUrl: './page.component.html',\r\n styleUrls: ['./page.component.less']\r\n})\r\nexport class PageComponent implements OnInit, OnChanges {\r\n\r\n @Input() angle: number;\r\n @Input() width: number;\r\n @Input() height: number;\r\n @Input() number: number;\r\n @Input() data: string;\r\n @Input() isHtml: boolean;\r\n @Input() editable: boolean;\r\n imgData: string;\r\n\r\n constructor() {\r\n }\r\n\r\n ngOnInit() {\r\n const isIE = /*@cc_on!@*/false || !!/(MSIE|Trident\\/|Edge\\/)/i.test(navigator.userAgent);\r\n if(isIE && this.number === 0){\r\n this.editable = false;\r\n }\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n if(this.isHtml) {\r\n // TODO: this is temporary needed to remove unneeded spaces and BOM symbol \r\n // which leads to undesired spaces on the top of the docs pages\r\n this.data = this.data \r\n ? this.data.replace(/>\\s+<')\r\n .replace(/\\uFEFF/g,\"\")\r\n : null;\r\n } else {\r\n this.imgData = 'data:image/png;base64,' + this.data;\r\n }\r\n }\r\n}\r\n","import {Pipe, PipeTransform} from '@angular/core';\r\nimport {DomSanitizer, SafeHtml} from '@angular/platform-browser';\r\n\r\n@Pipe({name: 'safeHtml'})\r\nexport class SanitizeHtmlPipe implements PipeTransform{\r\n constructor(private sanitizer: DomSanitizer) {\r\n }\r\n\r\n transform(html: string): SafeHtml {\r\n return this.sanitizer.bypassSecurityTrustHtml(html);\r\n }\r\n}\r\n\r\n@Pipe({name: 'safeResourceHtml'})\r\nexport class SanitizeResourceHtmlPipe implements PipeTransform{\r\n constructor(private sanitizer: DomSanitizer) {\r\n }\r\n\r\n transform(html: string): SafeHtml {\r\n return this.sanitizer.bypassSecurityTrustResourceUrl(html);\r\n }\r\n}\r\n\r\n@Pipe({name: 'safeStyle'})\r\nexport class SanitizeStylePipe implements PipeTransform{\r\n constructor(private sanitizer: DomSanitizer) {\r\n }\r\n\r\n transform(html: string): SafeHtml {\r\n return this.sanitizer.bypassSecurityTrustStyle(html);\r\n }\r\n}\r\n\r\n@Pipe({name: 'highlight'})\r\nexport class HighlightSearchPipe implements PipeTransform {\r\n\r\n transform(value: string, args: string): any {\r\n if (!args) {\r\n return value;\r\n }\r\n const re = new RegExp(args, 'gi'); //'gi' for case insensitive and can use 'g' if you want the search to be case sensitive.\r\n return value.replace(re, \"$&\");\r\n }\r\n}\r\n","import {Component, EventEmitter, OnInit, Output} from '@angular/core';\r\nimport {UploadFilesService} from \"../upload-files.service\";\r\n\r\n@Component({\r\n selector: 'gd-upload-file-zone',\r\n templateUrl: './upload-file-zone.component.html',\r\n styleUrls: ['./upload-file-zone.component.less']\r\n})\r\nexport class UploadFileZoneComponent implements OnInit {\r\n\r\n @Output() closeUpload = new EventEmitter();\r\n\r\n constructor(private _uploadService: UploadFilesService) { }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n handleFileInput(files: FileList) {\r\n this._uploadService.changeFilesList(files);\r\n this.onCloseUpload();\r\n }\r\n\r\n onCloseUpload() {\r\n this.closeUpload.emit(true);\r\n }\r\n\r\n close($event) {\r\n if ($event.target.id === 'gd-dropZone') {\r\n this.onCloseUpload();\r\n }\r\n }\r\n}\r\n","import {Directive, EventEmitter, HostBinding, HostListener, Input, Output} from '@angular/core';\r\nimport {UploadFilesService} from \"./upload-files.service\";\r\n\r\n@Directive({\r\n selector: '[gdDnd]'\r\n})\r\nexport class DndDirective {\r\n\r\n @Output() closing = new EventEmitter();\r\n @Output() opening = new EventEmitter();\r\n @Output() dropped = new EventEmitter();\r\n\r\n @HostBinding('class.active') active = false;\r\n\r\n private dragCounter = 0;\r\n\r\n constructor(protected _uploadFilesService: UploadFilesService) {\r\n }\r\n\r\n @HostListener('dragenter', ['$event'])\r\n public onDragEnter(evt) {\r\n evt.preventDefault();\r\n evt.stopPropagation();\r\n this.dragCounter++;\r\n this.active = true;\r\n this.opening.emit(true);\r\n }\r\n\r\n @HostListener('dragover', ['$event'])\r\n public onDragOver(evt) {\r\n evt.preventDefault();\r\n evt.stopPropagation();\r\n return false;\r\n }\r\n\r\n @HostListener('dragleave', ['$event'])\r\n public onDragLeave(evt) {\r\n evt.preventDefault();\r\n evt.stopPropagation();\r\n this.dragCounter--;\r\n if (this.dragCounter === 0) {\r\n this.active = false;\r\n this.closeArea();\r\n }\r\n }\r\n\r\n @HostListener('drop', ['$event'])\r\n public onDrop(evt) {\r\n evt.preventDefault();\r\n evt.stopPropagation();\r\n const files = evt.dataTransfer.files;\r\n if (files.length > 0) {\r\n this.active = false;\r\n this.dropped.emit(true);\r\n this._uploadFilesService.changeFilesList(files);\r\n this.closeArea();\r\n }\r\n }\r\n\r\n @HostListener('click', ['$event'])\r\n public onClick(event) {\r\n this.closeArea();\r\n }\r\n\r\n private closeArea() {\r\n this.closing.emit(true);\r\n this.opening.emit(false);\r\n }\r\n}\r\n","import {Injectable} from '@angular/core';\r\nimport * as jquery from \"jquery\";\r\nconst $ = jquery;\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ViewportService {\r\n\r\n constructor() {\r\n }\r\n\r\n checkInViewport(el, zoom: number = 100, leftOffset: number = 0, deltaX: number = 0.5) {\r\n if (!el) {\r\n return false;\r\n }\r\n const x = deltaX;\r\n const y = 0.5;\r\n\r\n const win = $(window);\r\n\r\n const viewport = {\r\n top: win.scrollTop(),\r\n left: win.scrollLeft() + leftOffset,\r\n right: win.scrollLeft() + win.width() - 10,\r\n bottom: win.scrollTop() + win.height()\r\n };\r\n\r\n\r\n if (isNaN(zoom)) {\r\n zoom = 100;\r\n }\r\n\r\n const zoomN = zoom / 100;\r\n const height = $(el).outerHeight() * (zoomN);\r\n const width = $(el).outerWidth() * (zoomN);\r\n\r\n if (!width || !height) {\r\n return false;\r\n }\r\n\r\n const bounds = $(el).offset();\r\n const right = (bounds.left * (zoomN)) + width;\r\n const bottom = (bounds.top * (zoomN)) + height;\r\n\r\n const visible = (!(viewport.right < (bounds.left * (zoomN)) || viewport.left > right || viewport.bottom < (bounds.top * (zoomN)) || viewport.top > bottom));\r\n\r\n if (!visible) {\r\n return false;\r\n }\r\n\r\n const deltas = {\r\n top: parseFloat(Math.min(1, (bottom - viewport.top) / height).toFixed(2)),\r\n bottom: parseFloat(Math.min(1, (viewport.bottom - (bounds.top * (zoomN))) / height).toFixed(2)),\r\n left: parseFloat(Math.min(1, (right - viewport.left) / width).toFixed(2)),\r\n right: parseFloat(Math.min(1, (viewport.right - (bounds.left * (zoomN))) / width).toFixed(2))\r\n };\r\n\r\n return (deltas.left * deltas.right) >= x && (deltas.top * deltas.bottom) >= y;\r\n }\r\n}\r\n","import {\r\n AfterViewInit,\r\n Directive,\r\n ElementRef,\r\n HostListener,\r\n Input,\r\n OnChanges,\r\n OnInit,\r\n SimpleChanges\r\n} from '@angular/core';\r\nimport {NavigateService} from \"./navigate.service\";\r\nimport {PagePreloadService} from \"./page-preload.service\";\r\nimport {ZoomService} from \"./zoom.service\";\r\nimport {WindowService} from \"./window.service\";\r\nimport {ViewportService} from \"./viewport.service\";\r\nimport * as jquery from \"jquery\";\r\nconst $ = jquery;\r\n\r\n@Directive({\r\n selector: '[gdScrollable]'\r\n})\r\nexport class ScrollableDirective implements AfterViewInit, OnChanges, OnInit {\r\n @Input() isPresentation: boolean;\r\n\r\n private currentPage: number;\r\n private zoom = 100;\r\n private loadedPagesSet = new Set();\r\n\r\n constructor(private _elementRef: ElementRef,\r\n private _navigateService: NavigateService,\r\n private _pagePreloadService: PagePreloadService,\r\n private _zoomService: ZoomService,\r\n private _windowService: WindowService,\r\n private _viewportService: ViewportService) {\r\n\r\n this.zoom = _zoomService.zoom ? _zoomService.zoom : this.zoom;\r\n _zoomService.zoomChange.subscribe((val: number) => {\r\n this.zoom = val ? val : this.zoom;\r\n this.refresh();\r\n });\r\n }\r\n\r\n ngAfterViewInit() {\r\n this.zoom = this._zoomService.zoom ? this._zoomService.zoom : this.zoom;\r\n this._navigateService.navigate.subscribe((value => {\r\n this.currentPage = value;\r\n this.scrollToPage(value);\r\n }));\r\n this.refresh();\r\n }\r\n\r\n @HostListener('scroll') scrolling() {\r\n this.refresh();\r\n }\r\n\r\n @HostListener('window:resize') resizing() {\r\n this.refresh();\r\n }\r\n\r\n scrollToPage(pageNumber: number) {\r\n const el = this._elementRef.nativeElement;\r\n const page = this.getPage(pageNumber);\r\n const prev = pageNumber > 0 ? this.getPage(pageNumber - 1) : null;\r\n const isSameTop = (prev && $(prev).offset().top === $(page).offset().top);\r\n if (this._viewportService.checkInViewport(page, this.zoom) && isSameTop) {\r\n return;\r\n }\r\n const pagesHeight = this.calculateOffset(pageNumber);\r\n const options = {\r\n left: 0,\r\n top: pagesHeight\r\n };\r\n if(el){\r\n // using polyfill\r\n el.scroll(options);\r\n }\r\n }\r\n\r\n private getChildren() {\r\n const el = this._elementRef ? this._elementRef.nativeElement : null;\r\n if (el) {\r\n // here and in the similar line below we getting the document pages\r\n return el.children.item(0).children.item(0).children;\r\n }\r\n }\r\n\r\n private getPage(pageNumber: number) {\r\n const el = this._elementRef ? this._elementRef.nativeElement : null;\r\n if (el) {\r\n return el.children.item(0).children.item(0).children.item(pageNumber - 1);\r\n }\r\n }\r\n\r\n private calculateOffset(pageNumber: number) {\r\n const count = this._windowService.isFirefox() ? 1 : this.countPagesOnWidth();\r\n const margin = this._windowService.isDesktop() ? 40 : 10;\r\n let pagesHeight = 0;\r\n for (let i = 1; i < pageNumber / count; i++) {\r\n const item = this.getPage(i);\r\n const clientHeight = item ? item.clientHeight : 0;\r\n pagesHeight += clientHeight > 0 ? clientHeight * this.getZoom() + margin : 0;\r\n }\r\n return pagesHeight;\r\n }\r\n\r\n private countPagesOnWidth() {\r\n const pageEl = this.getPage(1);\r\n const offset = 150;\r\n if (pageEl) {\r\n const count = Math.floor((this.getWidth() - offset) / (pageEl.getBoundingClientRect().width * this.getZoom()));\r\n if (count !== 0) {\r\n return count;\r\n }\r\n }\r\n return 1;\r\n }\r\n\r\n refresh() {\r\n let page;\r\n let currentPageSet = false;\r\n const pageElem = this.getPage(this.currentPage);\r\n const currentPageRect = this.currentPage && pageElem ? pageElem.getBoundingClientRect() : null;\r\n for (page = 1; page < this.getChildren().length + 1; page++) {\r\n const element = this.getPage(page);\r\n if (this._viewportService.checkInViewport(element, this.zoom)) {\r\n if (!currentPageSet) {\r\n if (!this.currentPage || !pageElem || (this.currentPage && currentPageRect && element.getBoundingClientRect().top !== currentPageRect.top)) {\r\n this.currentPage = page;\r\n if ((this.isPresentation && this._navigateService.currentPage === 0) || !this.isPresentation) {\r\n this._navigateService.currentPage = page;\r\n }\r\n }\r\n currentPageSet = true;\r\n }\r\n if (!this.loadedPagesSet.has(page)) {\r\n this._pagePreloadService.changeLastPageInView(page);\r\n this.loadedPagesSet.add(page);\r\n }\r\n }\r\n }\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n this.refresh();\r\n }\r\n\r\n ngOnInit(): void {\r\n this.zoom = this._zoomService.zoom ? this._zoomService.zoom : this.zoom;\r\n }\r\n\r\n\r\n private getWidth() {\r\n return this._elementRef ? this._elementRef.nativeElement.offsetWidth : window.innerWidth;\r\n }\r\n\r\n private getZoom() {\r\n return this.zoom / 100;\r\n }\r\n}\r\n","import {\r\n Directive,\r\n EventEmitter,\r\n HostListener,\r\n Output} from '@angular/core';\r\nimport * as jquery from \"jquery\";\r\nconst $ = jquery;\r\n\r\n@Directive({\r\n selector: '[gdMouseWheel]'\r\n})\r\nexport class MouseWheelDirective {\r\n @Output() mouseWheelUp = new EventEmitter();\r\n @Output() mouseWheelDown = new EventEmitter();\r\n\r\n @HostListener('mousewheel', ['$event']) onMouseWheelChrome(event: any) {\r\n this.mouseWheelFunc(event);\r\n }\r\n\r\n @HostListener('DOMMouseScroll', ['$event']) onMouseWheelFirefox(event: any) {\r\n this.mouseWheelFunc(event);\r\n }\r\n\r\n @HostListener('onmousewheel', ['$event']) onMouseWheelIE(event: any) {\r\n this.mouseWheelFunc(event);\r\n }\r\n\r\n mouseWheelFunc(event: any) {\r\n event = window.event ;\r\n const delta = Math.max(-1, Math.min(1, (event.wheelDelta || -event.detail)));\r\n if(delta > 0) {\r\n this.mouseWheelUp.emit(event);\r\n } else if(delta < 0) {\r\n this.mouseWheelDown.emit(event);\r\n }\r\n }\r\n}\r\n","import {AfterViewInit, Directive, HostBinding, Input, OnDestroy, OnInit, ElementRef, OnChanges} from '@angular/core';\r\nimport {ZoomService} from \"./zoom.service\";\r\nimport {FileUtil} from \"./file.service\";\r\nimport { WindowService } from './window.service';\r\n\r\n@Directive({\r\n selector: '[gdZoom]'\r\n})\r\nexport class ZoomDirective implements OnInit, OnDestroy, AfterViewInit, OnChanges {\r\n\r\n @Input() zoomActive = true;\r\n @Input() file;\r\n\r\n @HostBinding('style.zoom') zoomInt: number;\r\n @HostBinding('style.transform') transform: string;\r\n @HostBinding('style.transform-origin') transformOrigin: string;\r\n @HostBinding('style.width') width: string;\r\n @HostBinding('style.height') height: string;\r\n @HostBinding('style.min-width') minWidth: string;\r\n el: ElementRef;\r\n\r\n constructor(private _zoomService: ZoomService, private _windowService: WindowService, el: ElementRef) {\r\n this.el = el;\r\n }\r\n\r\n ngOnDestroy(): void {\r\n }\r\n\r\n ngOnChanges(): void {\r\n this.setStyles(this._zoomService.zoom);\r\n this.resizePages(this._zoomService.zoom);\r\n }\r\n\r\n ngOnInit(): void {\r\n if (! this.zoomActive) {\r\n return;\r\n }\r\n\r\n this.setStyles(this._zoomService.zoom);\r\n this._zoomService.zoomChange.subscribe((zoom) => {\r\n this.setStyles(zoom);\r\n this.resizePages(zoom);\r\n });\r\n }\r\n\r\n private setStyles(zoom) {\r\n if (! this.zoomActive) {\r\n return;\r\n }\r\n\r\n const zoomInt = zoom === 100 ? 1 : zoom / 100;\r\n \r\n if (this._windowService.isEdge()) {\r\n this.zoomInt = zoomInt;\r\n }\r\n else {\r\n this.zoomInt = null;\r\n }\r\n \r\n if (!this._windowService.isEdge()) {\r\n this.transform = 'scale(' + zoomInt + ')';\r\n this.transformOrigin = 'top left';\r\n }\r\n else {\r\n this.transform = \"\";\r\n this.transformOrigin = \"\";\r\n }\r\n\r\n let maxWidth = 0;\r\n this.file.pages.forEach(page => {\r\n {\r\n if (page.width > maxWidth){\r\n maxWidth = page.width;\r\n }\r\n }\r\n });\r\n\r\n // Images and Excel-related files receiving dimensions in px from server\r\n this.minWidth = maxWidth + FileUtil.find(this.file.guid, false).unit;\r\n }\r\n\r\n private getScrollWidth(elm){\r\n return elm.offsetWidth - elm.clientWidth;\r\n }\r\n\r\n private getScrollHeight(elm){\r\n return elm.offsetHeight - elm.clientHeight;\r\n }\r\n\r\n private resizePages(zoom){\r\n const zoomInt = zoom === 100 ? 1 : zoom / 100;\r\n\r\n const viewPortWidth = this.el.nativeElement.parentElement.offsetWidth;\r\n const viewPortHeight = this.el.nativeElement.parentElement.offsetHeight;\r\n const scrollWidth = this.getScrollWidth(this.el.nativeElement.parentElement);\r\n const scrollHeight = this.getScrollHeight(this.el.nativeElement.parentElement);\r\n this.width = (viewPortWidth/zoomInt - scrollWidth/zoomInt) + 'px';\r\n this.height = (viewPortHeight/zoomInt - scrollHeight/zoomInt) + 'px';\r\n }\r\n\r\n ngAfterViewInit(): void {\r\n this.setStyles(this._zoomService.zoom);\r\n }\r\n}\r\n","import {Injectable} from '@angular/core';\r\nimport {Observable, Subject} from \"rxjs\";\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class OnCloseService {\r\n private _observer: Subject = new Subject();\r\n private readonly _onClose: Observable = this._observer.asObservable();\r\n\r\n constructor() {\r\n }\r\n\r\n get onClose() {\r\n return this._onClose;\r\n }\r\n\r\n close(close: boolean) {\r\n this._observer.next(close)\r\n }\r\n}\r\n","import {Component, EventEmitter, Input, Output} from '@angular/core';\r\nimport {OnCloseService} from \"../on-close.service\";\r\n\r\nexport interface Option {\r\n name: string;\r\n value: any;\r\n separator: boolean;\r\n}\r\n\r\n@Component({\r\n selector: 'gd-select',\r\n templateUrl: './select.component.html',\r\n styleUrls: ['./select.component.less']\r\n})\r\nexport class SelectComponent {\r\n\r\n @Input() options: Option[];\r\n @Input() disabled = false;\r\n @Input() showSelected: Option;\r\n @Output() selected: EventEmitter = new EventEmitter();\r\n @Output() opened: EventEmitter = new EventEmitter();\r\n @Input() isOpen = false;\r\n @Input() icon: string;\r\n\r\n constructor(protected _onCloseService: OnCloseService) {\r\n _onCloseService.onClose.subscribe(() => {\r\n this.close();\r\n });\r\n }\r\n\r\n open() {\r\n if (!this.disabled) {\r\n this.isOpen = true;\r\n }\r\n }\r\n\r\n close() {\r\n this.isOpen = false;\r\n }\r\n\r\n onClickOutside(event : Event){\r\n this.close();\r\n }\r\n\r\n toggle($event) {\r\n // TODO: following lines were uncommented due to needness in signature app\r\n $event.preventDefault();\r\n $event.stopPropagation();\r\n if (!this.disabled) {\r\n this.isOpen = !this.isOpen;\r\n if (this.isOpen) this.opened.emit(true);\r\n }\r\n }\r\n\r\n select($event, value: Option) {\r\n $event.preventDefault();\r\n $event.stopPropagation();\r\n this.selected.emit(value);\r\n this.close();\r\n }\r\n}\r\n","import {Directive, HostBinding, Input, OnChanges, OnInit, SimpleChanges} from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[gdDisabledCursor]'\r\n})\r\nexport class DisabledCursorDirective implements OnInit, OnChanges {\r\n\r\n @Input() dis: boolean;\r\n\r\n constructor() {\r\n }\r\n\r\n @HostBinding('class.inactive') cursor: boolean;\r\n\r\n private updateCursor() {\r\n this.cursor = this.dis ? true : false;\r\n }\r\n\r\n ngOnInit(): void {\r\n this.updateCursor();\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n this.updateCursor()\r\n }\r\n}\r\n","import {Directive, HostBinding, Input, OnChanges, OnInit, SimpleChanges} from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[gdRotation]'\r\n})\r\nexport class RotationDirective implements OnInit, OnChanges {\r\n\r\n @Input() angle: number;\r\n @Input() isHtmlMode: boolean;\r\n @Input() width: number;\r\n @Input() height: number;\r\n @Input() withMargin = true;\r\n\r\n @HostBinding('style.animation') animation: string;\r\n @HostBinding('style.transition-property') transition: string;\r\n @HostBinding('style.transform') transform: string;\r\n\r\n @HostBinding('style.margin') margin: string;\r\n\r\n constructor() {\r\n }\r\n\r\n private updateCursor() {\r\n if (typeof this.angle === \"string\"){\r\n this.angle = parseInt(this.angle, 10);\r\n }\r\n\r\n if (this.angle) {\r\n this.animation = 'none';\r\n this.transition = 'none';\r\n this.transform = 'rotate(' + this.angle + 'deg)';\r\n } else if (this.angle === 0 && this.animation) {\r\n this.animation = null;\r\n this.transition = null;\r\n this.transform = null;\r\n }\r\n\r\n if (this.withMargin) {\r\n if (this.angle === 90 || this.angle === 270 || this.angle === -90 || this.angle === -270) {\r\n if (this.isHtmlMode) {\r\n if (this.isLandscape()) {\r\n this.margin = '164px 254px';\r\n } else {\r\n this.margin = '-111px 254px';\r\n }\r\n } else {\r\n if (this.isLandscape()) {\r\n this.margin = '129px 100px -79px';\r\n } else {\r\n this.margin = '-72px 100px -79px';\r\n }\r\n }\r\n } else if (this.angle === -180 || this.angle === 180) {\r\n this.margin = '280px';\r\n } else {\r\n this.margin = null;\r\n }\r\n }\r\n\r\n }\r\n\r\n isLandscape() {\r\n return this.width > this.height;\r\n }\r\n\r\n ngOnInit(): void {\r\n this.updateCursor();\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n this.updateCursor()\r\n }\r\n\r\n}\r\n","import {Component, Input, Output, EventEmitter, OnInit} from '@angular/core';\r\n\r\n@Component({\r\n selector: 'gd-init-state',\r\n templateUrl: './init-state.component.html',\r\n styleUrls: ['./init-state.component.less']\r\n})\r\nexport class InitStateComponent implements OnInit {\r\n @Input() icon: string;\r\n @Input() text: string;\r\n @Output() fileDropped = new EventEmitter();\r\n showUploadFile = false;\r\n\r\n constructor() {\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n dropped($event) {\r\n if ($event) {\r\n this.fileDropped.emit($event);\r\n this.showUploadFile = false;\r\n }\r\n }\r\n}\r\n","import {Observable, Observer} from \"rxjs\";\r\nimport {PageModel} from \"./file.service\";\r\n\r\nexport class RenderPrintService {\r\n private _render: Observable;\r\n private _observer: Observer;\r\n private _renderBlob: Observable;\r\n private _observerBlob: Observer;\r\n\r\n constructor() {\r\n this._render = new Observable(observer =>\r\n this._observer = observer);\r\n this._renderBlob = new Observable(observer =>\r\n this._observerBlob = observer);\r\n }\r\n\r\n get renderPrint(): Observable {\r\n return this._render;\r\n }\r\n\r\n changePages(pages: PageModel[]) {\r\n this._observer.next(pages);\r\n }\r\n\r\n get renderPrintBlob(): Observable {\r\n return this._renderBlob;\r\n }\r\n\r\n changeBlob(file: Blob) {\r\n this._observerBlob.next(file);\r\n }\r\n}\r\n","import {Directive, Input} from '@angular/core';\r\nimport {PageModel} from \"./file.service\";\r\nimport {RenderPrintService} from \"./render-print.service\";\r\n\r\n@Directive({\r\n selector: '[gdRenderPrint]'\r\n})\r\nexport class RenderPrintDirective {\r\n @Input() htmlMode: boolean;\r\n\r\n constructor(private _renderService: RenderPrintService) {\r\n _renderService.renderPrint.subscribe(pages => {\r\n this.renderPrint(pages);\r\n });\r\n _renderService.renderPrintBlob.subscribe(file => {\r\n this.renderPrintBlob(file);\r\n });\r\n }\r\n\r\n private renderPrint(pages: PageModel[]) {\r\n let pagesHtml = '';\r\n\r\n for (const page of pages) {\r\n pagesHtml += '
' +\r\n '
' +\r\n '
';\r\n }\r\n\r\n this.openWindow(pagesHtml, pages[0].width, pages[0].height);\r\n }\r\n\r\n private openWindow(pagesHtml, width, height) {\r\n const a4Height = 842;\r\n const a4Width = 595;\r\n let imageA4Adjusted = '';\r\n if(width > a4Width && height > a4Height){\r\n const zoom = Math.round(height / a4Height) / 100;\r\n imageA4Adjusted = '.gd-page img { width: 100%; margin: 0; padding: 0;}';\r\n if(navigator.userAgent.toLowerCase().indexOf('firefox') > -1){\r\n imageA4Adjusted = '.gd-page img { transform: scale(' + zoom + ');}';\r\n }\r\n }\r\n let cssPrint = '';\r\n\r\n const windowObject = window.open('', \"PrintWindow\", \"width=750,height=650,top=50,left=50,toolbars=yes,scrollbars=yes,status=yes,resizable=yes\");\r\n windowObject.focus();\r\n windowObject.document.writeln(cssPrint);\r\n windowObject.document.writeln(pagesHtml);\r\n windowObject.document.close();\r\n setTimeout(() => {\r\n windowObject.focus();\r\n windowObject.print();\r\n windowObject.close();\r\n }, 100);\r\n }\r\n\r\n private renderPrintBlob(file: Blob) {\r\n const fileURL = URL.createObjectURL(file);\r\n const windowObject = window.open(fileURL, \"PrintWindow\", \"width=750,height=650,top=50,left=50,toolbars=yes,scrollbars=yes,status=yes,resizable=yes\");\r\n windowObject.focus();\r\n windowObject.print();\r\n windowObject.close();\r\n }\r\n}\r\n","import { HttpEvent } from \"@angular/common/http\";\r\nimport {BehaviorSubject, Observable} from \"rxjs\";\r\n\r\nexport class ExceptionMessageService {\r\n private _observer: BehaviorSubject = new BehaviorSubject('Server is not available');\r\n private _messageChange: Observable = this._observer.asObservable();\r\n\r\n private _observerHttpEvent: BehaviorSubject> = new BehaviorSubject(null);\r\n private _httpEventChange: Observable> = this._observerHttpEvent.asObservable();\r\n\r\n constructor() {\r\n }\r\n\r\n get messageChange(): Observable {\r\n return this._messageChange;\r\n }\r\n\r\n get httpEventChange(): Observable> {\r\n return this._httpEventChange;\r\n }\r\n\r\n changeMessage(message: string) {\r\n this._observer.next(message);\r\n }\r\n\r\n changeHttpEvent(httpEvent:HttpEvent) {\r\n this._observerHttpEvent.next(httpEvent);\r\n }\r\n}\r\n","import {Component, OnInit} from '@angular/core';\r\nimport {ExceptionMessageService} from \"../exception-message.service\";\r\n\r\n@Component({\r\n selector: 'gd-error-modal',\r\n templateUrl: './error-modal.component.html',\r\n styleUrls: ['./error-modal.component.less']\r\n})\r\nexport class ErrorModalComponent implements OnInit {\r\n\r\n message: string;\r\n\r\n constructor(messageService: ExceptionMessageService) {\r\n messageService.messageChange.subscribe(message => this.message = message);\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n}\r\n","import {Observable, Subject} from \"rxjs\";\r\n\r\nexport class PasswordService {\r\n private _observer: Subject = new Subject();\r\n private readonly _passChange: Observable = this._observer.asObservable();\r\n\r\n constructor() {\r\n }\r\n\r\n get passChange(): Observable {\r\n return this._passChange;\r\n }\r\n\r\n setPassword(pass: string) {\r\n this._observer.next(pass);\r\n }\r\n}\r\n","import {Component, EventEmitter, OnInit, Output} from '@angular/core';\r\nimport {ExceptionMessageService} from \"../exception-message.service\";\r\nimport {PasswordService} from \"../password.service\";\r\nimport * as jquery from \"jquery\";\r\n\r\nconst $ = jquery;\r\n\r\n@Component({\r\n selector: 'gd-password-required',\r\n templateUrl: './password-required.component.html',\r\n styleUrls: ['./password-required.component.less']\r\n})\r\nexport class PasswordRequiredComponent implements OnInit {\r\n message: string;\r\n @Output() cancelEvent = new EventEmitter();\r\n\r\n constructor(messageService: ExceptionMessageService, private _passwordService: PasswordService) {\r\n messageService.messageChange.subscribe(message => this.message = message);\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n setPassword(value: string) {\r\n this._passwordService.setPassword(value);\r\n }\r\n\r\n onCloseOpen($event: boolean) {\r\n if ($event) {\r\n setTimeout(() => {\r\n const element = $(\"#password\");\r\n if (element) {\r\n element.focus();\r\n }\r\n }, 100);\r\n } else {\r\n $(\"#password\").val(\"\");\r\n }\r\n }\r\n\r\n cancel($event: boolean) {\r\n $(\"#password\").val(\"\");\r\n this.cancelEvent.emit(true);\r\n }\r\n}\r\n","import {Injectable} from '@angular/core';\r\nimport {HttpErrorResponse, HttpEvent, HttpHandler, HttpInterceptor, HttpRequest} from \"@angular/common/http\";\r\nimport {Observable, throwError} from \"rxjs\";\r\nimport {catchError, map} from \"rxjs/operators\";\r\nimport {ExceptionMessageService} from \"./exception-message.service\";\r\nimport {HttpError} from \"./file.service\";\r\nimport {CommonModals, ModalService} from \"./modal.service\";\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ErrorInterceptorService implements HttpInterceptor {\r\n\r\n public static ErrorMessageWindowName:string = CommonModals.ErrorMessage;\r\n\r\n constructor(private _modalService: ModalService, private _messageService: ExceptionMessageService) {\r\n }\r\n\r\n intercept(req: HttpRequest, next: HttpHandler): Observable> {\r\n const logFormat = 'background: maroon; color: white';\r\n\r\n return next.handle(req)\r\n .pipe(map(data => {\r\n return data;\r\n }),\r\n catchError((exception: HttpEvent) => {\r\n if (exception instanceof HttpErrorResponse) {\r\n switch (exception.status) {\r\n\r\n case HttpError.BadRequest:\r\n console.error('%c Bad Request 400', logFormat);\r\n break;\r\n case HttpError.Unauthorized:\r\n console.error('%c Unauthorized 401', logFormat);\r\n break;\r\n case HttpError.NotFound:\r\n console.error('%c Not Found 404', logFormat);\r\n break;\r\n case HttpError.TimeOut:\r\n console.error('%c TimeOut 408', logFormat);\r\n break;\r\n case HttpError.InternalServerError:\r\n console.error('%c big bad 500', logFormat);\r\n this._messageService.changeMessage(exception.error.message);\r\n this._messageService.changeHttpEvent(exception);\r\n this._modalService.open(ErrorInterceptorService.ErrorMessageWindowName);\r\n break;\r\n\r\n case HttpError.Forbidden:\r\n console.error('%c Forbidden 403', logFormat);\r\n this._messageService.changeMessage(exception.error.message);\r\n this._modalService.open(CommonModals.PasswordRequired);\r\n break;\r\n }\r\n }\r\n return throwError(exception);\r\n }));\r\n }\r\n}\r\n","import {Observable, Subject} from \"rxjs\";\r\n\r\nexport class SearchService {\r\n private _observer: Subject = new Subject();\r\n private readonly _textChange: Observable = this._observer.asObservable();\r\n\r\n private _observerCurrent: Subject = new Subject();\r\n private readonly _currentChange: Observable = this._observerCurrent.asObservable();\r\n\r\n private _observerTotal: Subject = new Subject();\r\n private readonly _totalChange: Observable = this._observerTotal.asObservable();\r\n\r\n constructor() {\r\n }\r\n\r\n get textChange(): Observable {\r\n return this._textChange;\r\n }\r\n\r\n setText(text: string) {\r\n this._observer.next(text);\r\n }\r\n\r\n get currentChange(): Observable {\r\n return this._currentChange;\r\n }\r\n\r\n get totalChange(): Observable {\r\n return this._totalChange;\r\n }\r\n\r\n setCurrent(current: number) {\r\n this._observerCurrent.next(current);\r\n }\r\n\r\n setTotal(total: number) {\r\n this._observerTotal.next(total);\r\n }\r\n}\r\n","import {AfterViewInit, Component, ElementRef, EventEmitter, OnInit, Output, ViewChild} from '@angular/core';\r\nimport {SearchService} from \"../search.service\";\r\n\r\n@Component({\r\n selector: 'gd-search',\r\n templateUrl: './search.component.html',\r\n styleUrls: ['./search.component.less']\r\n})\r\nexport class SearchComponent implements OnInit, AfterViewInit {\r\n\r\n @Output() hidePanel = new EventEmitter(false);\r\n\r\n current = 0;\r\n total = 0;\r\n\r\n @ViewChild('text',{\r\n static : true\r\n }) textElement: ElementRef;\r\n\r\n constructor(private _searchService: SearchService) {\r\n _searchService.totalChange.subscribe((total: number) => {\r\n this.total = total;\r\n if (total !== 0) {\r\n this.current = 1;\r\n } else {\r\n this.current = 0;\r\n }\r\n this._searchService.setCurrent(this.current);\r\n });\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n setText(text: string) {\r\n this._searchService.setText(text);\r\n }\r\n\r\n hide() {\r\n this.setText('');\r\n this.hidePanel.emit(true);\r\n }\r\n\r\n prev() {\r\n if (this.current > 1) {\r\n this.current--;\r\n this._searchService.setCurrent(this.current);\r\n }\r\n }\r\n\r\n next() {\r\n if (this.current < this.total) {\r\n this.current++;\r\n this._searchService.setCurrent(this.current);\r\n }\r\n }\r\n\r\n ngAfterViewInit(): void {\r\n this.textElement.nativeElement.focus();\r\n }\r\n}\r\n","import {Directive, ElementRef} from '@angular/core';\r\nimport {SearchService} from \"./search.service\";\r\nimport {HighlightSearchPipe} from \"./pipes\";\r\nimport {ZoomService} from \"./zoom.service\";\r\nimport * as jquery from \"jquery\";\r\nconst $ = jquery;\r\n\r\n@Directive({\r\n selector: '[gdSearchable]'\r\n})\r\nexport class SearchableDirective {\r\n\r\n text: string;\r\n current = 0;\r\n total = 0;\r\n private zoom = 100;\r\n\r\n constructor(private _elementRef: ElementRef,\r\n private _searchService: SearchService,\r\n private _highlight: HighlightSearchPipe,\r\n private _zoomService: ZoomService) {\r\n _searchService.currentChange.subscribe((current: number) => {\r\n this.current = current;\r\n if (this.current !== 0) {\r\n this.moveToCurrent();\r\n }\r\n });\r\n\r\n _searchService.textChange.subscribe((text: string) => {\r\n this.text = text;\r\n this.highlightSearch();\r\n });\r\n\r\n this.zoom = _zoomService.zoom ? _zoomService.zoom : this.zoom;\r\n _zoomService.zoomChange.subscribe((val: number) => {\r\n this.zoom = val ? val : this.zoom;\r\n });\r\n }\r\n\r\n private highlightSearch() {\r\n const el = this._elementRef ? this._elementRef.nativeElement : null;\r\n if (el) {\r\n this.cleanHighlight(el);\r\n if (this.text) {\r\n this.highlightEl(el);\r\n const count = el.querySelectorAll('.gd-highlight').length;\r\n this.total = count;\r\n } else {\r\n this.total = 0;\r\n }\r\n this._searchService.setTotal(this.total);\r\n }\r\n }\r\n\r\n private moveToCurrent() {\r\n if (this.current === 0) {\r\n return;\r\n }\r\n const currentZoom = this.getZoom();\r\n const el = this._elementRef ? this._elementRef.nativeElement : null;\r\n if (el) {\r\n el.querySelectorAll('.gd-highlight-select').forEach(function (value) {\r\n $(value).removeClass('gd-highlight-select');\r\n });\r\n const currentEl = el.querySelectorAll('.gd-highlight')[this.current - 1];\r\n $(currentEl).addClass('gd-highlight-select');\r\n if (currentEl) {\r\n const options = {\r\n left: 0,\r\n top: ($(currentEl).offset().top) + el.parentElement.parentElement.scrollTop - 150,\r\n };\r\n // using polyfill\r\n el.parentElement.parentElement.scroll(options);\r\n }\r\n }\r\n }\r\n\r\n private highlightEl(el: Element) {\r\n const textNodes = $(el).find('*').contents().filter(function () {\r\n const nodeName = this.parentElement.nodeName.toLowerCase();\r\n const checkClass = (this).classList ? !(this).classList.contains('gd-highlight') : true;\r\n return this.nodeType === 3 &&\r\n this.textContent.trim().length !== 0 &&\r\n nodeName !== 'style' &&\r\n nodeName !== 'title' &&\r\n nodeName !== 'body' &&\r\n nodeName !== 'script' &&\r\n checkClass;\r\n });\r\n const text = this.text;\r\n const highlight = this._highlight;\r\n textNodes.each(function () {\r\n const $this = $(this);\r\n let content = $this.text();\r\n content = highlight.transform(content, text);\r\n $this.replaceWith(content);\r\n });\r\n el.normalize();\r\n }\r\n\r\n private cleanHighlight(el: HTMLElement) {\r\n const nodeListOf = el.querySelectorAll('.gd-highlight');\r\n for (let i = 0; i < nodeListOf.length; i++) {\r\n const element = nodeListOf.item(i);\r\n element.replaceWith((element).innerText);\r\n }\r\n el.normalize();\r\n }\r\n\r\n private getZoom() {\r\n return this.zoom / 100;\r\n }\r\n}\r\n","import {Component, Input, OnInit} from '@angular/core';\r\n\r\n@Component({\r\n selector: 'gd-tabbed-toolbars',\r\n templateUrl: './tabbed-toolbars.component.html',\r\n styleUrls: ['./tabbed-toolbars.component.less']\r\n})\r\nexport class TabbedToolbarsComponent implements OnInit {\r\n @Input() logo: string;\r\n @Input() icon: string;\r\n\r\n constructor() {\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n}\r\n","import {Observable, Subject} from \"rxjs\";\r\n\r\nexport class TabActivatorService {\r\n private _observer: Subject = new Subject();\r\n private readonly _activeTabChange: Observable = this._observer.asObservable();\r\n\r\n constructor() {\r\n }\r\n\r\n get activeTabChange(): Observable {\r\n return this._activeTabChange;\r\n }\r\n\r\n changeActiveTab(tabId: string) {\r\n this._observer.next(tabId);\r\n }\r\n}\r\n","import {Component, Input, OnInit} from '@angular/core';\r\nimport {TabActivatorService} from \"../tab-activator.service\";\r\n\r\n@Component({\r\n selector: 'gd-tab',\r\n templateUrl: './tab.component.html',\r\n styleUrls: ['./tab.component.less']\r\n})\r\nexport class TabComponent implements OnInit {\r\n @Input() id: string;\r\n @Input() tabTitle: string;\r\n @Input() icon: string;\r\n @Input() disabled = false;\r\n @Input() active = false;\r\n @Input() content = true;\r\n\r\n constructor(private _tabActivatorService: TabActivatorService) {\r\n this._tabActivatorService.activeTabChange.subscribe((tabId: string) => {\r\n this.activation(tabId);\r\n });\r\n }\r\n\r\n private activation(tabId: string) {\r\n if (this.id === tabId) {\r\n this.active = true;\r\n } else {\r\n this.active = false;\r\n }\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n selectTab() {\r\n if (this.disabled) {\r\n return;\r\n }\r\n this._tabActivatorService.changeActiveTab(this.id);\r\n }\r\n}\r\n","import {Component} from '@angular/core';\r\n\r\n@Component({\r\n selector: 'gd-tabs',\r\n templateUrl: './tabs.component.html',\r\n styleUrls: ['./tabs.component.less']\r\n})\r\nexport class TabsComponent {\r\n constructor() {\r\n }\r\n\r\n}\r\n","import {Observable, Subject} from \"rxjs\";\r\n\r\nexport class Formatting {\r\n constructor(fontSize: number, color: string, bgColor: string, bold: boolean, italic: boolean, underline: boolean, font: string, strikeout: boolean, align: string, list: string) {\r\n this.fontSize = fontSize;\r\n this.color = color;\r\n this.bgColor = bgColor;\r\n this.bold = bold;\r\n this.italic = italic;\r\n this.underline = underline;\r\n this.font = font;\r\n this.strikeout = strikeout;\r\n this.align = align;\r\n this.list = list;\r\n }\r\n\r\n bold: boolean;\r\n italic: boolean;\r\n underline: boolean;\r\n fontSize: number;\r\n color: string;\r\n bgColor: string;\r\n font: string;\r\n strikeout: boolean;\r\n align: string;\r\n list: string;\r\n\r\n public static default(): Formatting {\r\n return new Formatting(10, '#000000', '#FFFFFF', false, false, false, 'Arial', false, \"\", \"\");\r\n }\r\n}\r\n\r\nexport class FormattingService {\r\n private _observerBold: Subject = new Subject();\r\n private readonly _formatBoldChange: Observable = this._observerBold.asObservable();\r\n private _observerUnderline: Subject = new Subject();\r\n private readonly _formatUnderlineChange: Observable = this._observerUnderline.asObservable();\r\n private _observerUndo: Subject = new Subject();\r\n private readonly _undo: Observable = this._observerUndo.asObservable();\r\n private _observerRedo: Subject = new Subject();\r\n private readonly _redo: Observable = this._observerRedo.asObservable();\r\n private _observerItalic: Subject = new Subject();\r\n private readonly _formatItalicChange: Observable = this._observerItalic.asObservable();\r\n private _observerColor: Subject = new Subject();\r\n private readonly _formatColorChange: Observable = this._observerColor.asObservable();\r\n private _observerBgColor: Subject = new Subject();\r\n private readonly _formatBgColorChange: Observable = this._observerBgColor.asObservable();\r\n private _observerFontSize: Subject = new Subject();\r\n private readonly _formatFontSizeChange: Observable = this._observerFontSize.asObservable();\r\n private _observerFont: Subject = new Subject();\r\n private readonly _formatFontChange: Observable = this._observerFont.asObservable();\r\n private _observerStrikeout: Subject = new Subject();\r\n private readonly _formatStrikeoutChange: Observable = this._observerStrikeout.asObservable();\r\n private _observerAlign: Subject = new Subject();\r\n private readonly _formatAlignChange: Observable = this._observerAlign.asObservable();\r\n private _observerList: Subject = new Subject();\r\n private readonly _formatListChange: Observable = this._observerList.asObservable();\r\n\r\n constructor() {\r\n }\r\n\r\n get formatBoldChange() {\r\n return this._formatBoldChange;\r\n }\r\n\r\n get formatUnderlineChange() {\r\n return this._formatUnderlineChange;\r\n }\r\n\r\n get formatColorChange() {\r\n return this._formatColorChange;\r\n }\r\n\r\n get formatBgColorChange() {\r\n return this._formatBgColorChange;\r\n }\r\n\r\n get formatFontSizeChange() {\r\n return this._formatFontSizeChange;\r\n }\r\n\r\n get formatFontChange() {\r\n return this._formatFontChange;\r\n }\r\n\r\n get undo() {\r\n return this._undo;\r\n }\r\n\r\n get redo() {\r\n return this._redo;\r\n }\r\n\r\n get formatItalicChange() {\r\n return this._formatItalicChange;\r\n }\r\n\r\n get formatStrikeoutChange() {\r\n return this._formatStrikeoutChange;\r\n }\r\n\r\n get formatAlignChange() {\r\n return this._formatAlignChange;\r\n }\r\n\r\n get formatListChange() {\r\n return this._formatListChange;\r\n }\r\n\r\n static createFontSizeOption(val: number) {\r\n return {value: val, name: val + 'px', separator: false}\r\n }\r\n\r\n static getFontSizeOptions() {\r\n return [\r\n FormattingService.createFontSizeOption(8),\r\n FormattingService.createFontSizeOption(10),\r\n FormattingService.createFontSizeOption(12),\r\n FormattingService.createFontSizeOption(14),\r\n FormattingService.createFontSizeOption(16),\r\n FormattingService.createFontSizeOption(18),\r\n FormattingService.createFontSizeOption(20),\r\n FormattingService.createFontSizeOption(22),\r\n FormattingService.createFontSizeOption(24),\r\n ];\r\n }\r\n\r\n static createFontOption(val: string) {\r\n return {value: val, name: val, separator: false}\r\n }\r\n\r\n static getFontOptions() {\r\n const fonts = [\"Arial\", \"Calibri\", \"Century Gothic\", \"Comic Sans\", \"Consolas\", \"Courier\", \"Dejavu Sans\", \"Dejavu Serif\", \"Georgia\", \"Gill Sans\", \"Helvetica\", \"Impact\", \"Lucida Sans\",\r\n \"Myriad Pro\", \"Open Sans\", \"Palatino\", \"Tahoma\", \"Times New Roman\", \"Trebuchet\"];\r\n const fontOptions = [];\r\n fonts.forEach(font => {\r\n fontOptions.push(this.createFontOption(font));\r\n })\r\n\r\n return fontOptions;\r\n }\r\n\r\n changeFormatFontSize($event: number) {\r\n this._observerFontSize.next($event);\r\n }\r\n\r\n changeFormatBold(bold: boolean) {\r\n this._observerBold.next(bold);\r\n }\r\n\r\n changeFormatUnderline(underline: boolean) {\r\n this._observerUnderline.next(underline);\r\n }\r\n\r\n Undo() {\r\n this._observerUndo.next();\r\n }\r\n\r\n Redo() {\r\n this._observerRedo.next();\r\n }\r\n\r\n changeFormatItalic(italic: boolean) {\r\n this._observerItalic.next(italic);\r\n }\r\n\r\n changeFormatColor(color: string) {\r\n this._observerColor.next(color);\r\n }\r\n\r\n changeFormatBgColor(bgcolor: string) {\r\n this._observerBgColor.next(bgcolor);\r\n }\r\n\r\n changeFormatFont(font: string) {\r\n this._observerFont.next(font);\r\n }\r\n\r\n changeFormatStrikeout(strikeout: boolean) {\r\n this._observerStrikeout.next(strikeout);\r\n }\r\n\r\n changeFormatAlign(align: string) {\r\n this._observerAlign.next(align);\r\n }\r\n\r\n changeFormatList(list: string) {\r\n this._observerList.next(list);\r\n }\r\n}\r\n","import {Component, EventEmitter, Input, OnInit, Output} from '@angular/core';\r\n\r\nconst DEFAULT_COLORS = [\r\n '#000000', '#434343', '#666666', '#999999', '#B7B7B7', '#CCCCCC', '#D9D9D9', '#EFEFEF', '#F3F3F3', '#FFFFFF',\r\n '#980000', '#FF0000', '#FF9900', '#FFFF00', '#00FF00', '#00FFFF', '#4986E8', '#0000FF', '#9900FF', '#FF00FF',\r\n '#E6B8AF', '#F4CCCC', '#FDE5CD', '#FFF2CC', '#D9EAD3', '#D0E0E2', '#C9DAF8', '#CFE2F3', '#D9D2E9', '#EAD1DC',\r\n '#DD7E6B', '#EA9899', '#F9CB9C', '#FFE59A', '#B7D7A8', '#A2C4C9', '#A4C2F4', '#9FC5E8', '#B4A7D7', '#D5A6BD',\r\n '#CC4125', '#E06666', '#F6B26B', '#FFD966', '#92C47D', '#75A5AF', '#6D9EEB', '#6FA9DB', '#8E7CC3', '#C27BA0',\r\n '#A61C00', '#CC0000', '#E69138', '#F2C131', '#6AA84F', '#45818E', '#3C78D8', '#3C85C6', '#674EA7', '#A64D79',\r\n '#85200B', '#990000', '#B45F05', '#BF9000', '#37761D', '#144F5C', '#1254CC', '#0A5394', '#351C75', '#741B47',\r\n '#5B0F00', '#660000', '#783F03', '#7F6000', '#284E13', '#0B343D', '#1B4586', '#063763', '#20124D', '#4C1030',\r\n];\r\n\r\n@Component({\r\n selector: 'gd-color-picker',\r\n templateUrl: './color-picker.component.html',\r\n styleUrls: ['./color-picker.component.less']\r\n})\r\nexport class ColorPickerComponent implements OnInit {\r\n @Input() isOpen = false;\r\n @Output() selectedColor = new EventEmitter();\r\n @Output() closeOutside = new EventEmitter();\r\n colors: any = DEFAULT_COLORS;\r\n white = '#FFFFFF';\r\n\r\n constructor() {\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n select($event, color: string) {\r\n $event.preventDefault();\r\n $event.stopPropagation();\r\n this.selectedColor.emit(color);\r\n }\r\n\r\n close() {\r\n this.isOpen = false;\r\n this.closeOutside.emit(true);\r\n }\r\n}\r\n","import {Injectable} from '@angular/core';\r\nimport {FormattingService} from \"./formatting.service\";\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class BackFormattingService extends FormattingService {\r\n\r\n constructor() {\r\n super();\r\n }\r\n}\r\n","import {Injectable} from '@angular/core';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class SelectionService {\r\n selection: Range;\r\n isIE = /*@cc_on!@*/false || !!/(MSIE|Trident\\/|Edge\\/)/i.test(navigator.userAgent);\r\n\r\n restoreSelection() {\r\n if(this.selection && !this.selection.collapsed || this.isIE){\r\n this.putSelection(this.selection );\r\n }\r\n }\r\n\r\n captureSelection() {\r\n const selection = window.getSelection();\r\n if (selection.rangeCount > 0) {\r\n this.selection = selection.getRangeAt(0);\r\n }\r\n }\r\n\r\n private putSelection(selection) {\r\n const sel = window.getSelection();\r\n sel.removeAllRanges();\r\n sel.addRange(selection.cloneRange());\r\n }\r\n\r\n refreshSelection() {\r\n this.captureSelection();\r\n this.restoreSelection();\r\n }\r\n}\r\n","import {Directive, HostListener, OnInit} from '@angular/core';\r\nimport {FormattingService} from \"./formatting.service\";\r\nimport {BackFormattingService} from \"./back-formatting.service\";\r\nimport * as jquery from 'jquery';\r\nconst $ = jquery;\r\nimport {SelectionService} from './selection.service';\r\n\r\n@Directive({\r\n selector: '[gdFormatting]'\r\n})\r\nexport class FormattingDirective implements OnInit {\r\n\r\n private bold = false;\r\n private italic = false;\r\n private underline = false;\r\n private color: string;\r\n private bgColor: string;\r\n private font: string;\r\n private strikeout = false;\r\n private align: string;\r\n private list: string;\r\n private isIE = false;\r\n\r\n constructor(private _formattingService: FormattingService,\r\n private _backFormattingService: BackFormattingService,\r\n private _selectionService: SelectionService) {\r\n this.isIE = /*@cc_on!@*/false || !!/(MSIE|Trident\\/|Edge\\/)/i.test(navigator.userAgent);\r\n }\r\n\r\n @HostListener('mouseup') mouseup() {\r\n\r\n this.bold = document.queryCommandState(\"bold\");\r\n this.strikeout = document.queryCommandState(\"strikeThrough\");\r\n this.italic = document.queryCommandState(\"italic\");\r\n this.bgColor = document.queryCommandValue(\"backColor\");\r\n this.underline = document.queryCommandState(\"underline\");\r\n this.align = this.checkJustify();\r\n this.list = this.checkList();\r\n\r\n //fix required by FireFox to get correct background color\r\n if (this.bgColor === \"transparent\") {\r\n this.bgColor = $(window.getSelection().focusNode.parentNode).css('background-color').toString();\r\n }\r\n this.font = document.queryCommandValue(\"FontName\").replace(/\"/g, '');\r\n if(this.font.split(\",\").length > 1){\r\n this.font = this.font.split(\",\")[0];\r\n }\r\n this.color = document.queryCommandValue(\"foreColor\");\r\n this._backFormattingService.changeFormatBold(this.bold);\r\n this._backFormattingService.changeFormatUnderline(this.underline);\r\n this._backFormattingService.changeFormatItalic(this.italic);\r\n this._backFormattingService.changeFormatColor(this.color);\r\n this._backFormattingService.changeFormatBgColor(this.bgColor);\r\n this._backFormattingService.changeFormatFontSize(this.reportFontSize());\r\n this._backFormattingService.changeFormatFont(this.font);\r\n this._backFormattingService.changeFormatStrikeout(this.strikeout);\r\n this._backFormattingService.changeFormatAlign(this.align);\r\n this._backFormattingService.changeFormatList(this.list);\r\n }\r\n\r\n private checkJustify() {\r\n let align = \"\";\r\n align = document.queryCommandState(\"justifyCenter\") ? \"center\" : align;\r\n align = document.queryCommandState(\"justifyFull\") ? \"full\" : align;\r\n align = document.queryCommandState(\"justifyLeft\") ? \"left\" : align;\r\n align = document.queryCommandState(\"justifyRight\") ? \"right\" : align;\r\n return align;\r\n }\r\n\r\n private checkList() {\r\n let list = \"\";\r\n list = document.queryCommandState(\"insertUnorderedList\") ? \"unordered\" : list;\r\n list = document.queryCommandState(\"insertOrderedList\") ? \"ordered\" : list;\r\n return list;\r\n }\r\n\r\n reportFontSize(): number {\r\n let containerEl, sel;\r\n if (window.getSelection) {\r\n sel = window.getSelection();\r\n if (sel.rangeCount) {\r\n containerEl = sel.getRangeAt(0).commonAncestorContainer;\r\n // Make sure we have an element rather than a text node\r\n if (containerEl.nodeType === 3) {\r\n containerEl = containerEl.parentNode;\r\n }\r\n }\r\n } else if ((sel = document.getSelection()) && sel.type !== \"Control\") {\r\n containerEl = sel.createRange().parentElement();\r\n }\r\n\r\n if (containerEl) {\r\n return parseInt(this.getComputedStyleProperty(containerEl, \"fontSize\").replace(\"px\", \"\"), 10);\r\n }\r\n }\r\n\r\n getComputedStyleProperty(el, propName) {\r\n if (window.getComputedStyle) {\r\n return window.getComputedStyle(el, null)[propName];\r\n } else if (el.currentStyle) {\r\n return el.currentStyle[propName];\r\n }\r\n }\r\n\r\n ngOnInit(): void {\r\n this._formattingService.undo.subscribe(() => {\r\n this.toggleUndo();\r\n });\r\n this._formattingService.redo.subscribe(() => {\r\n this.toggleRedo();\r\n });\r\n this._formattingService.formatBoldChange.subscribe((bold: boolean) => {\r\n this.bold = bold;\r\n this.toggleBold();\r\n });\r\n this._formattingService.formatUnderlineChange.subscribe((underline: boolean) => {\r\n this.underline = underline;\r\n this.toggleUnderline();\r\n });\r\n this._formattingService.formatItalicChange.subscribe((italic: boolean) => {\r\n this.italic = italic;\r\n this.toggleItalic();\r\n });\r\n this._formattingService.formatColorChange.subscribe(((color: string) => {\r\n this.color = color;\r\n this.setColor(color);\r\n }));\r\n this._formattingService.formatBgColorChange.subscribe(((bgcolor: string) => {\r\n this.bgColor = bgcolor;\r\n this.setBgColor(bgcolor);\r\n }));\r\n this._formattingService.formatFontSizeChange.subscribe(((fontSize: number) => {\r\n this.setFontSize(fontSize);\r\n }));\r\n\r\n this._formattingService.formatFontChange.subscribe(((font: string) => {\r\n this.font = font;\r\n this.setFont(font);\r\n }));\r\n this._formattingService.formatStrikeoutChange.subscribe((strikeout: boolean) => {\r\n this.strikeout = strikeout;\r\n this.toggleStrikeout();\r\n });\r\n this._formattingService.formatAlignChange.subscribe((align: string) => {\r\n this.align = align;\r\n this.toggleAlign(this.align);\r\n });\r\n this._formattingService.formatListChange.subscribe((list: string) => {\r\n const remove = this.list === list;\r\n this.list = list;\r\n this.toggleList(this.list, remove);\r\n });\r\n }\r\n\r\n private toggleBold() {\r\n document.execCommand(\"bold\");\r\n this._selectionService.refreshSelection();\r\n }\r\n\r\n private toggleUnderline() {\r\n document.execCommand(\"underline\");\r\n this._selectionService.refreshSelection();\r\n }\r\n\r\n private toggleItalic() {\r\n document.execCommand(\"italic\");\r\n this._selectionService.refreshSelection();\r\n }\r\n\r\n private setBgColor(bgColor: string) {\r\n document.execCommand(\"backColor\", false, bgColor);\r\n this._selectionService.refreshSelection();\r\n }\r\n\r\n private setColor(color: string) {\r\n document.execCommand(\"foreColor\", false, color);\r\n this._selectionService.refreshSelection();\r\n }\r\n\r\n private setFontSize(fontSize: number) {\r\n if (document.getSelection().toString()) {\r\n let spanString = \"\" +\r\n document.getSelection() + \"\";\r\n if (this.bold) {\r\n spanString = \"\" + spanString + \"\";\r\n }\r\n if (this.italic) {\r\n spanString = \"\" + spanString + \"\";\r\n }\r\n if (this.underline) {\r\n spanString = \"\" + spanString + \"\";\r\n }\r\n if (this.strikeout) {\r\n spanString = \"\" + spanString + \"\";\r\n }\r\n document.execCommand('insertHTML', false, spanString);\r\n } else {\r\n document.execCommand(\"fontsize\", false, \"7\");\r\n }\r\n this._selectionService.refreshSelection();\r\n }\r\n\r\n private toggleUndo() {\r\n document.execCommand(\"undo\");\r\n }\r\n\r\n private toggleRedo() {\r\n document.execCommand(\"redo\");\r\n }\r\n\r\n private setFont(font: string) {\r\n document.execCommand(\"fontName\", false, font);\r\n this._selectionService.refreshSelection();\r\n }\r\n\r\n private toggleStrikeout() {\r\n document.execCommand(\"strikeThrough\");\r\n this._selectionService.refreshSelection();\r\n }\r\n\r\n private toggleAlign(align: string) {\r\n if(this.isIE) {\r\n this.toggleAlignIE(align);\r\n return;\r\n }\r\n document.execCommand(\"styleWithCSS\", false, 'true');\r\n switch (align) {\r\n case 'center':\r\n document.execCommand('justifyCenter');\r\n break;\r\n case 'full':\r\n document.execCommand('justifyFull');\r\n break;\r\n case 'left':\r\n document.execCommand('justifyLeft');\r\n break;\r\n case 'right':\r\n document.execCommand('justifyRight');\r\n break;\r\n }\r\n this._selectionService.refreshSelection();\r\n }\r\n\r\n private toggleAlignIE(align: string) {\r\n this._selectionService.restoreSelection()\r\n this._selectionService.captureSelection()\r\n const selection = window.getSelection().focusNode.parentNode.parentNode;\r\n if(align === \"full\"){\r\n align = \"justify\";\r\n }\r\n $(selection).css(\"text-align\", align);\r\n this._selectionService.refreshSelection()\r\n }\r\n\r\n private toggleList(list: string, remove: boolean) {\r\n switch (list) {\r\n case 'unordered':\r\n document.execCommand('insertUnorderedList', remove);\r\n break;\r\n case 'ordered':\r\n document.execCommand('insertOrderedList', remove);\r\n break;\r\n }\r\n this._selectionService.refreshSelection();\r\n }\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'gd-success-modal',\r\n templateUrl: './success-modal.component.html',\r\n styleUrls: ['./success-modal.component.less']\r\n})\r\nexport class SuccessModalComponent implements OnInit {\r\n\r\n constructor() { }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n}\r\n","import {Injectable} from '@angular/core';\r\nimport {Observable, Subject} from \"rxjs\";\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class EditHtmlService {\r\n private _observer: Subject = new Subject();\r\n private readonly _htmlContent: Observable = this._observer.asObservable();\r\n\r\n constructor() {\r\n }\r\n\r\n get observer(): Subject {\r\n return this._observer;\r\n }\r\n\r\n get htmlContent(): Observable {\r\n return this._htmlContent;\r\n }\r\n\r\n}\r\n","import {Directive, HostListener, Input} from '@angular/core';\r\nimport {SelectionService} from './selection.service';\r\nimport {EditHtmlService} from \"./edit-html.service\";\r\n\r\n@Directive({\r\n selector: '[gdEditor]'\r\n})\r\nexport class EditorDirective {\r\n @Input() text: any;\r\n\r\n private isIE: boolean = /*@cc_on!@*/false || !!/(MSIE|Trident\\/|Edge\\/)/i.test(navigator.userAgent);\r\n\r\n constructor(private _selectionService: SelectionService, private _htmlService: EditHtmlService) {\r\n }\r\n\r\n @HostListener('keyup', ['$event'])\r\n public onInput(event) {\r\n this.text = event.target;\r\n if(this.isIE){\r\n if (this.text.innerHTML) {\r\n const html = this.text.innerHTML.toString();\r\n this._htmlService.observer.next(html);\r\n }\r\n }\r\n }\r\n\r\n @HostListener('mouseleave', ['$event'])\r\n public onMouseleave(event) {\r\n this._selectionService.captureSelection();\r\n // this code is required to fix IE11 issue - it doesn't trigger blur event, since that we need to save updated HTML here\r\n if(this.isIE){\r\n this._htmlService.observer.next(event.target.innerHTML.toString());\r\n }\r\n }\r\n\r\n @HostListener('blur', ['$event'])\r\n public onBlur(event) {\r\n event.preventDefault();\r\n this._selectionService.restoreSelection();\r\n if (this.text.innerHTML) {\r\n const html = this.text.innerHTML.toString();\r\n this._htmlService.observer.next(html);\r\n } else {\r\n this._htmlService.observer.next(event.target.innerHTML.toString());\r\n }\r\n }\r\n}\r\n","import {EventEmitter, Injectable} from '@angular/core'\r\nimport {HttpRequest} from '@angular/common/http';\r\nimport {Api} from \"./config.service\";\r\n\r\n@Injectable()\r\nexport class LoadingMaskService {\r\n onLoadingChanged: EventEmitter = new EventEmitter();\r\n\r\n private stopList = [];\r\n private requests: HttpRequest[] = [];\r\n\r\n constructor() {\r\n this.stopList.push(Api.SAVE_TEXT);\r\n this.stopList.push(Api.SAVE_OPTICAL_CODE);\r\n this.stopList.push(Api.LOAD_DOCUMENT_PAGE);\r\n this.stopList.push(Api.LOAD_THUMBNAILS);\r\n this.stopList.push(Api.GET_FILE_STATUS);\r\n this.stopList.push(Api.LOAD_PRINT);\r\n }\r\n\r\n onRequestStart(req: HttpRequest): void {\r\n const stop = this.stopList.find(x => req.url.includes(x));\r\n if (!stop) {\r\n this.requests.push(req);\r\n this.notify();\r\n }\r\n }\r\n\r\n onRequestFinish(req: HttpRequest): void {\r\n const index = this.requests.indexOf(req);\r\n if (index !== -1) {\r\n this.requests.splice(index, 1);\r\n }\r\n this.notify();\r\n }\r\n\r\n addStopUrl(url: string) {\r\n this.stopList.push(url);\r\n }\r\n\r\n private notify(): void {\r\n this.onLoadingChanged.emit(this.requests.length !== 0);\r\n }\r\n}\r\n","import {AfterViewInit, Component, Input, OnInit} from '@angular/core';\r\nimport {LoadingMaskService} from \"../loading-mask.service\";\r\n\r\n@Component({\r\n selector: 'gd-loading-mask',\r\n templateUrl: './loading-mask.component.html',\r\n styleUrls: ['./loading-mask.component.less']\r\n})\r\n\r\nexport class LoadingMaskComponent implements OnInit, AfterViewInit {\r\n @Input() loadingMask = false;\r\n\r\n constructor(private _loadingMaskService: LoadingMaskService) {\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n ngAfterViewInit() {\r\n this._loadingMaskService\r\n .onLoadingChanged\r\n .subscribe((loading: boolean) => this.loadingMask = loading);\r\n }\r\n}\r\n","import {Injectable} from '@angular/core';\r\nimport {HttpEvent, HttpHandler, HttpInterceptor, HttpRequest} from \"@angular/common/http\";\r\nimport {Observable} from \"rxjs\";\r\nimport {finalize} from 'rxjs/operators'\r\nimport {LoadingMaskService} from \"./loading-mask.service\";\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class LoadingMaskInterceptorService implements HttpInterceptor {\r\n\r\n constructor(private _loadingMaskService: LoadingMaskService) {\r\n }\r\n\r\n intercept(req: HttpRequest, next: HttpHandler): Observable> {\r\n this._loadingMaskService.onRequestStart(req);\r\n const callback = () => this._loadingMaskService.onRequestFinish(req);\r\n return next.handle(req).pipe( finalize( callback));\r\n }\r\n}\r\n","import {\r\n Component,\r\n EventEmitter,\r\n forwardRef,\r\n HostBinding,\r\n HostListener,\r\n Inject,\r\n Input,\r\n Output,\r\n ViewEncapsulation\r\n} from '@angular/core';\r\n\r\n\r\nconst horizontalAlignment = {\r\n center : {\r\n right: 'auto'\r\n },\r\n left : {\r\n right: '100%'\r\n },\r\n right : {\r\n right: '-100%'\r\n }\r\n};\r\n\r\nconst verticalAlignment = {\r\n center : {\r\n top : '0px',\r\n },\r\n top : {\r\n top : '-100%',\r\n right: '100%'\r\n },\r\n bottom : {\r\n top: 'autos'\r\n }\r\n};\r\n\r\n/**\r\n * DropDownToggleComponent\r\n */\r\n@Component({\r\n selector: 'gd-drop-down-toggle',\r\n template: '',\r\n styleUrls: ['./drop-down.component.less'],\r\n encapsulation : ViewEncapsulation.None\r\n})\r\nexport class DropDownToggleComponent{\r\n @HostListener('click',['$event'])\r\n click = (event: any) => this.dropdown.toggle(event);\r\n constructor(@Inject(forwardRef(() => DropDownComponent)) public dropdown) {}\r\n}\r\n\r\n/**\r\n * DropDownItemsComponent\r\n */\r\n@Component({\r\n selector: 'gd-drop-down-items',\r\n template: '
',\r\n styleUrls: ['./drop-down.component.less'],\r\n encapsulation : ViewEncapsulation.None\r\n})\r\nexport class DropDownItemsComponent{\r\n\r\n get horizontalAlign(){\r\n return horizontalAlignment[this.dropdown.getPlacement().h].right;\r\n }\r\n\r\n get verticalAlign(){\r\n return verticalAlignment[this.dropdown.getPlacement().v].top;\r\n }\r\n\r\n get isOpen(){\r\n return this.dropdown.open;\r\n }\r\n\r\n constructor(@Inject(forwardRef(() => DropDownComponent)) public dropdown) {}\r\n\r\n onClickOutside(event : Event ){\r\n this.dropdown.close();\r\n }\r\n}\r\n\r\n/**\r\n * DropDownItemComponent\r\n */\r\n@Component({\r\n selector: 'gd-drop-down-item',\r\n template: '
',\r\n styleUrls: ['./drop-down.component.less'],\r\n})\r\nexport class DropDownItemComponent{\r\n @HostBinding('class')\r\n class = 'drop-down-item';\r\n\r\n @Output()\r\n selected = new EventEmitter();\r\n\r\n @HostListener('click')\r\n click = () => this.selectEntry();\r\n\r\n constructor(@Inject(forwardRef(() => DropDownComponent)) public dropdown) {}\r\n\r\n selectEntry(){\r\n this.selected.next();\r\n this.dropdown.close();\r\n }\r\n}\r\n\r\n/**\r\n * DropDownComponent\r\n */\r\n@Component({\r\n selector: 'gd-drop-down',\r\n template: '
',\r\n styleUrls: ['./drop-down.component.less'],\r\n encapsulation : ViewEncapsulation.None\r\n})\r\nexport class DropDownComponent{\r\n @Input()\r\n placement = {\r\n h: \"center\",\r\n v: \"bottom\"\r\n };\r\n\r\n\r\n @Input()\r\n @HostBinding('class.show')\r\n open = false;\r\n\r\n @HostBinding('class')\r\n class = 'drop-down';\r\n\r\n close(){\r\n this.open = false;\r\n }\r\n\r\n toggle(event : MouseEvent){\r\n event.stopPropagation();\r\n this.open = !this.open;\r\n document.body.click();\r\n }\r\n\r\n getPlacement(){\r\n return this.placement;\r\n }\r\n}\r\n","import {Component, Input, OnInit} from '@angular/core';\r\n\r\n@Component({\r\n selector: 'gd-left-side-bar',\r\n templateUrl: './left-side-bar.component.html',\r\n styleUrls: ['./left-side-bar.component.less']\r\n})\r\nexport class LeftSideBarComponent implements OnInit {\r\n @Input() showSpinner = false;\r\n\r\n constructor() {\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n}\r\n","import {Directive, EventEmitter, HostListener, Input, Output} from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[gdTooltip]'\r\n})\r\nexport class TooltipDirective {\r\n\r\n @Output() showToolTip = new EventEmitter();\r\n\r\n constructor() {\r\n }\r\n\r\n @HostListener('mouseenter')\r\n public onHovering() {\r\n this.showToolTip.emit(true);\r\n }\r\n\r\n @HostListener('mouseleave')\r\n public onUnhovering() {\r\n this.showToolTip.emit(false);\r\n }\r\n\r\n}\r\n","import {\r\n ApplicationRef,\r\n ComponentFactoryResolver,\r\n Injectable,\r\n ViewContainerRef\r\n} from '@angular/core';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class AddDynamicComponentService {\r\n\r\n constructor(private _factoryResolver: ComponentFactoryResolver,\r\n private _appRef: ApplicationRef) {\r\n }\r\n\r\n addDynamicComponent(viewContainerRef: ViewContainerRef, component: any) {\r\n const factory = this._factoryResolver.resolveComponentFactory(component);\r\n const componentRef = viewContainerRef.createComponent(factory);\r\n\r\n componentRef.onDestroy(() => {\r\n this._appRef.detachView(componentRef.hostView);\r\n });\r\n\r\n return componentRef;\r\n }\r\n\r\n}\r\n","import {HostDynamicDirective} from \"./host-dynamic.directive\";\r\n\r\nexport class HostingDynamicComponentService {\r\n private hosts: HostDynamicDirective[];\r\n\r\n constructor() {\r\n this.hosts = [];\r\n }\r\n\r\n add(host: HostDynamicDirective) {\r\n this.hosts = this.hosts.filter(function (h) {\r\n return h.ident !== host.ident;\r\n });\r\n this.hosts.push(host);\r\n }\r\n\r\n remove(host: HostDynamicDirective) {\r\n this.hosts = this.hosts.filter(function (h) {\r\n return h.ident !== host.ident;\r\n });\r\n }\r\n\r\n find(ident: number) {\r\n return this.hosts.find(function (h) {\r\n return h.ident === ident;\r\n });\r\n }\r\n}\r\n","import {AfterViewInit, Directive, Input, OnDestroy, ViewContainerRef} from '@angular/core';\r\nimport {HostingDynamicComponentService} from \"./hosting-dynamic-component.service\";\r\n\r\n@Directive({\r\n selector: '[gdHostDynamic]'\r\n})\r\nexport class HostDynamicDirective implements AfterViewInit, OnDestroy {\r\n @Input() ident: number;\r\n\r\n constructor(public viewContainerRef: ViewContainerRef,\r\n private _hostingService: HostingDynamicComponentService) {\r\n }\r\n\r\n ngAfterViewInit(): void {\r\n this._hostingService.add(this);\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this._hostingService.remove(this);\r\n this.viewContainerRef.clear();\r\n }\r\n\r\n}\r\n","import {AfterViewInit, Component, EventEmitter, Input, OnInit, Output} from '@angular/core';\r\nimport * as jquery from \"jquery\";\r\nimport {Utils} from \"../file.service\";\r\n\r\nconst $ = jquery;\r\n\r\n@Component({\r\n selector: 'gd-resizing',\r\n templateUrl: './resizing.component.html',\r\n styleUrls: ['./resizing.component.less']\r\n})\r\nexport class ResizingComponent implements OnInit, AfterViewInit {\r\n\r\n @Input() init: boolean;\r\n @Input() id: number;\r\n @Input() se = false;\r\n @Input() ne = false;\r\n @Input() sw = false;\r\n @Input() nw = false;\r\n @Input() pageWidth: number;\r\n @Input() pageHeight: number;\r\n SE = 'se';\r\n NE = 'ne';\r\n SW = 'sw';\r\n NW = 'nw';\r\n\r\n @Output() offsetX = new EventEmitter();\r\n @Output() offsetY = new EventEmitter();\r\n @Output() offsetTop = new EventEmitter();\r\n @Output() offsetLeft = new EventEmitter();\r\n @Output() release = new EventEmitter();\r\n\r\n private grab = false;\r\n private oldPosition: { x: number, y: number };\r\n\r\n constructor() {\r\n }\r\n\r\n ngAfterViewInit(): void {\r\n const elSE = $(this.getElementId(this.SE));\r\n const elNW = $(this.getElementId(this.NW));\r\n if (this.init && elSE && elNW && elSE.offset() && elNW.offset()) {\r\n let width = elSE.offset().left - elNW.offset().left;\r\n let height = elSE.offset().top - elNW.offset().top;\r\n while (width >= this.pageWidth || height >= this.pageHeight) {\r\n width = width / 2;\r\n height = height / 2;\r\n }\r\n setTimeout(() => {\r\n this.offsetX.emit(width);\r\n this.offsetY.emit(height);\r\n }, 100);\r\n }\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n catchUp($event: DragEvent) {\r\n // ff\r\n $event.preventDefault();\r\n if ($event.dataTransfer) { // ff\r\n $event.dataTransfer.setData('text', 'foo');\r\n }\r\n this.grab = true;\r\n this.oldPosition = Utils.getMousePosition($event);\r\n }\r\n\r\n resize($event: DragEvent, el: string) {\r\n if (!this.grab) {\r\n return;\r\n }\r\n const position = Utils.getMousePosition($event);\r\n if (position.x === 0 && position.y === 0) {\r\n return;\r\n }\r\n const notSW = this.NE === el || this.NW === el;\r\n const notNE = this.SW === el || this.NW === el;\r\n this.setOffsets(position, notNE, notSW);\r\n if (notSW) {\r\n this.offsetTop.emit(position.y - this.oldPosition.y);\r\n }\r\n if (notNE) {\r\n this.offsetLeft.emit(position.x - this.oldPosition.x);\r\n }\r\n this.oldPosition = position;\r\n }\r\n\r\n private setOffsets(position, x: boolean, y: boolean) {\r\n const offsetX = x ? this.oldPosition.x - position.x : position.x - this.oldPosition.x;\r\n const offsetY = y ? this.oldPosition.y - position.y : position.y - this.oldPosition.y;\r\n this.offsetX.emit(offsetX);\r\n this.offsetY.emit(offsetY);\r\n }\r\n\r\n end($event: DragEvent, el: string) {\r\n // ff\r\n this.resize($event, el);\r\n this.release.emit(true);\r\n this.grab = false;\r\n }\r\n\r\n start($event: DragEvent) {\r\n this.drop($event);\r\n }\r\n\r\n drop($event: DragEvent) {\r\n $event.stopPropagation();\r\n $event.preventDefault();\r\n }\r\n\r\n private getElementId(el: string) {\r\n return \"#\" + el + \"-\" + this.id;\r\n }\r\n}\r\n","import {TabActivatorService} from \"./tab-activator.service\";\r\n\r\nexport class TopTabActivatorService extends TabActivatorService {\r\n\r\n constructor() {\r\n super();\r\n }\r\n}\r\n","import {Component, EventEmitter, Input, OnInit, Output} from '@angular/core';\r\nimport {ExceptionMessageService} from \"../exception-message.service\";\r\nimport {TopTabActivatorService} from \"../top-tab-activator.service\";\r\nimport {ModalService, CommonModals} from \"../modal.service\";\r\n\r\n@Component({\r\n selector: 'gd-top-tab',\r\n templateUrl: './top-tab.component.html',\r\n styleUrls: ['./top-tab.component.less']\r\n})\r\nexport class TopTabComponent implements OnInit {\r\n @Input() id: string;\r\n @Input() icon: string;\r\n @Input() disabled = false;\r\n @Input() tooltip: string;\r\n @Output() activeTab = new EventEmitter();\r\n @Input() elementPosition = 0;\r\n public active = false;\r\n public showToolTip = false;\r\n\r\n constructor(private _tabActivatorService: TopTabActivatorService,\r\n private _modalService: ModalService,\r\n private _excMessageService: ExceptionMessageService) {\r\n this._tabActivatorService.activeTabChange.subscribe((tabId: string) => {\r\n this.activation(tabId);\r\n if (tabId === null) {\r\n this.activeTab.emit(\"\");\r\n }\r\n });\r\n }\r\n\r\n private activation(tabId: string) {\r\n if (this.id === tabId) {\r\n this.active = !this.active;\r\n if (this.active) {\r\n this.activeTab.emit(this.id);\r\n } else {\r\n this.activeTab.emit(\"\");\r\n }\r\n } else {\r\n this.active = false;\r\n }\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n toggleTab() {\r\n if (this.disabled) {\r\n this._modalService.open(CommonModals.ErrorMessage);\r\n this._excMessageService.changeMessage(\"Please open document first\");\r\n return;\r\n }\r\n this._tabActivatorService.changeActiveTab(this.id);\r\n }\r\n\r\n}\r\n","import {Component, EventEmitter, Input, OnInit, Output, ElementRef, Renderer2} from '@angular/core';\r\nimport * as jquery from 'jquery';\r\nimport {FormattingService} from \"../formatting.service\";\r\nimport {OnCloseService} from \"../on-close.service\";\r\nimport {Option} from \"../select/select.component\";\r\nimport { ZoomService } from '../zoom.service';\r\nimport { WindowService } from '../window.service';\r\n\r\nconst $ = jquery;\r\n\r\n@Component({\r\n selector: 'gd-text-menu',\r\n templateUrl: './text-menu.component.html',\r\n styleUrls: ['./text-menu.component.less']\r\n})\r\nexport class TextMenuComponent implements OnInit {\r\n @Input() blur: boolean;\r\n @Input() fontSize: number;\r\n @Input() font: string;\r\n @Input() bold: boolean;\r\n @Input() italic: boolean;\r\n @Input() underline: boolean;\r\n @Input() color: string;\r\n @Input() decoration = true;\r\n @Input() showTooltips = true;\r\n\r\n @Output() outFontSize = new EventEmitter();\r\n @Output() outFont = new EventEmitter();\r\n @Output() outBold = new EventEmitter();\r\n @Output() outItalic = new EventEmitter();\r\n @Output() outUnderline = new EventEmitter();\r\n @Output() outColor = new EventEmitter();\r\n\r\n fontSizeOptions = FormattingService.getFontSizeOptions();\r\n fontOptions = FormattingService.getFontOptions();\r\n colorPickerShow = false;\r\n\r\n isMobile: boolean;\r\n\r\n constructor(private _onCloseService: OnCloseService,\r\n private _zoomService: ZoomService,\r\n private _windowService: WindowService,\r\n protected _elementRef: ElementRef,\r\n private renderer: Renderer2) {\r\n \r\n _onCloseService.onClose.subscribe(() => {\r\n this.colorPickerShow = false;\r\n });\r\n\r\n this.isMobile = _windowService.isMobile();\r\n _windowService.onResize.subscribe((w) => {\r\n this.isMobile = _windowService.isMobile();\r\n });\r\n\r\n _zoomService.zoomChange.subscribe((val: number) => {\r\n if (this.isMobile)\r\n {\r\n this.changePosition(val);\r\n }\r\n });\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n changePosition(val: number) {\r\n const top = (window.innerHeight - 24 - this._elementRef.nativeElement.parentElement.getBoundingClientRect().top - this._elementRef.nativeElement.parentElement.getBoundingClientRect().height);\r\n const left = this._elementRef.nativeElement.parentElement.getBoundingClientRect().left;\r\n this.renderer.setStyle(this._elementRef.nativeElement.querySelector('.gd-text-menu'), 'width', window.innerWidth + 'px');\r\n this.renderer.setStyle(this._elementRef.nativeElement.querySelector('.gd-text-menu'), 'top', top + 'px');\r\n this.renderer.setStyle(this._elementRef.nativeElement.querySelector('.gd-text-menu'), 'left', -left + 'px');\r\n }\r\n\r\n selectFontSize($event: Option) {\r\n $(\".gd-wrapper\").off(\"keyup\");\r\n this.outFontSize.emit($event.value);\r\n $(\".gd-wrapper\").on(\"keyup\", () => {\r\n const fontElements = document.getElementsByTagName(\"font\");\r\n for (let i = 0, len = fontElements.length; i < len; ++i) {\r\n if (fontElements[i].getAttribute('size') === \"7\") {\r\n fontElements[i].removeAttribute(\"size\");\r\n fontElements[i].style.fontSize = $event + \"px\";\r\n }\r\n }\r\n });\r\n }\r\n\r\n selectFont($event: Option) {\r\n event.preventDefault();\r\n event.stopPropagation();\r\n this.outFont.emit($event.value);\r\n }\r\n\r\n toggleColorPicker($event) {\r\n $event.preventDefault();\r\n $event.stopPropagation();\r\n this.colorPickerShow = !this.colorPickerShow;\r\n }\r\n\r\n selectColor($event: string) {\r\n this.colorPickerShow = false;\r\n this.outColor.emit($event);\r\n }\r\n\r\n toggleBold(event) {\r\n event.preventDefault();\r\n event.stopPropagation();\r\n this.outBold.emit(!this.bold);\r\n }\r\n\r\n toggleItalic(event) {\r\n event.preventDefault();\r\n event.stopPropagation();\r\n this.outItalic.emit(!this.italic);\r\n }\r\n\r\n toggleUnderline(event) {\r\n event.preventDefault();\r\n event.stopPropagation();\r\n this.outUnderline.emit(!this.underline);\r\n }\r\n\r\n closePicker($event) {\r\n this.colorPickerShow = !$event;\r\n }\r\n}\r\n","import {Component, EventEmitter, Input, OnInit, Output, Renderer2, ElementRef} from '@angular/core';\r\nimport {Formatting} from \"../formatting.service\";\r\nimport {WindowService} from \"../window.service\";\r\nimport { ZoomService } from '../zoom.service';\r\n\r\nexport class MenuType {\r\n public static FOR_SIGNATURE = \"signature\";\r\n public static FOR_ANNOTATION = \"annotation\";\r\n}\r\n\r\n@Component({\r\n selector: 'gd-context-menu',\r\n templateUrl: './context-menu.component.html',\r\n styleUrls: ['./context-menu.component.less']\r\n})\r\nexport class ContextMenuComponent implements OnInit {\r\n @Input() formatting: Formatting = Formatting.default();\r\n @Input() textMenu: boolean;\r\n @Input() topPosition: number;\r\n @Input() lock = false;\r\n @Input() translation = 0;\r\n @Input() menuType: string;\r\n @Output() changeFormatting = new EventEmitter();\r\n @Output() removeItem = new EventEmitter();\r\n @Output() copySign = new EventEmitter();\r\n @Output() lockOut = new EventEmitter();\r\n @Output() comment = new EventEmitter();\r\n\r\n isMobile: boolean;\r\n\r\n constructor(private _windowService: WindowService,\r\n private _zoomService: ZoomService,\r\n protected _elementRef: ElementRef,\r\n private renderer: Renderer2) {\r\n this.isMobile = _windowService.isMobile();\r\n _windowService.onResize.subscribe((w) => {\r\n this.isMobile = _windowService.isMobile();\r\n });\r\n\r\n _zoomService.zoomChange.subscribe((val: number) => {\r\n this.changeScale(val);\r\n });\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n changeScale(val: number){\r\n this.renderer.setStyle(this._elementRef.nativeElement.querySelector('.gd-context-menu'), 'transform', 'scale(' + 1/(val/100) + ')');\r\n if (!this.isMobile && val && val !== 100) {\r\n this.renderer.setStyle(this._elementRef.nativeElement.querySelector('.gd-context-menu'), 'left', this.translation + 'px');\r\n }\r\n }\r\n\r\n saveChanges() {\r\n this.changeFormatting.emit(this.formatting);\r\n }\r\n\r\n selectFontSize($event: number) {\r\n this.formatting.fontSize = $event;\r\n this.saveChanges();\r\n }\r\n\r\n selectFont($event: string) {\r\n this.formatting.font = $event;\r\n this.saveChanges();\r\n }\r\n\r\n selectColor($event: string) {\r\n this.formatting.color = $event;\r\n this.saveChanges();\r\n }\r\n\r\n toggleBold($event) {\r\n this.formatting.bold = $event;\r\n this.saveChanges();\r\n }\r\n\r\n toggleItalic($event) {\r\n this.formatting.italic = $event;\r\n this.saveChanges();\r\n }\r\n\r\n toggleUnderline($event) {\r\n this.formatting.underline = $event;\r\n this.saveChanges();\r\n }\r\n\r\n deleteItem() {\r\n this.removeItem.emit(true);\r\n }\r\n\r\n toggleLock() {\r\n this.lock = !this.lock;\r\n this.lockOut.emit(this.lock);\r\n }\r\n\r\n onCopySign() {\r\n this.copySign.emit(true);\r\n }\r\n\r\n isSignature() {\r\n return this.menuType === MenuType.FOR_SIGNATURE;\r\n }\r\n\r\n isAnnotation() {\r\n return this.menuType === MenuType.FOR_ANNOTATION;\r\n }\r\n\r\n addComment() {\r\n this.comment.emit(true);\r\n }\r\n}\r\n","import {NgModule} from '@angular/core';\r\nimport {CommonModule} from '@angular/common';\r\nimport {TopToolbarComponent} from './top-toolbar/top-toolbar.component';\r\nimport {SidePanelComponent} from './side-panel/side-panel.component';\r\nimport {ButtonComponent} from './button/button.component';\r\nimport {LogoComponent} from './logo/logo.component';\r\nimport {TooltipComponent} from './tooltip/tooltip.component';\r\nimport {FontAwesomeModule} from '@fortawesome/angular-fontawesome';\r\nimport {library} from '@fortawesome/fontawesome-svg-core';\r\nimport {fas} from '@fortawesome/free-solid-svg-icons';\r\nimport {far} from '@fortawesome/free-regular-svg-icons';\r\nimport {Api, ConfigService,} from \"./config.service\";\r\nimport {ModalService} from \"./modal.service\";\r\nimport {ModalComponent} from './modal/modal.component';\r\nimport {BrowseFilesModalComponent} from './browse-files-modal/browse-files-modal.component';\r\nimport {FileModel, FileService, FileUtil, Utils} from \"./file.service\";\r\nimport {DocumentComponent} from './document/document.component';\r\nimport {PageComponent} from './page/page.component';\r\nimport {HighlightSearchPipe, SanitizeHtmlPipe, SanitizeResourceHtmlPipe, SanitizeStylePipe} from \"./pipes\";\r\nimport {UploadFileZoneComponent} from './upload-file-zone/upload-file-zone.component';\r\nimport {UploadFilesService} from \"./upload-files.service\";\r\nimport {DndDirective} from './dnd.directive';\r\nimport {ScrollableDirective} from './scrollable.directive';\r\nimport {MouseWheelDirective} from './mousewheel.directive';\r\nimport {NavigateService} from \"./navigate.service\";\r\nimport {PagePreloadService} from \"./page-preload.service\";\r\nimport {ZoomDirective} from './zoom.directive';\r\nimport {ZoomService} from \"./zoom.service\";\r\nimport {SelectComponent} from './select/select.component';\r\nimport {DisabledCursorDirective} from './disabled-cursor.directive';\r\nimport {RotationDirective} from './rotation.directive';\r\nimport {InitStateComponent} from './init-state/init-state.component';\r\nimport {RenderPrintService} from \"./render-print.service\";\r\nimport {RenderPrintDirective} from './render-print.directive';\r\nimport {ErrorModalComponent} from './error-modal/error-modal.component';\r\nimport {PasswordRequiredComponent} from './password-required/password-required.component';\r\nimport {ExceptionMessageService} from \"./exception-message.service\";\r\nimport {PasswordService} from \"./password.service\";\r\nimport {ErrorInterceptorService} from \"./error-interceptor.service\";\r\nimport {SearchComponent} from './search/search.component';\r\nimport {SearchableDirective} from './searchable.directive';\r\nimport {SearchService} from \"./search.service\";\r\nimport {WindowService} from \"./window.service\";\r\nimport {ViewportService} from \"./viewport.service\";\r\nimport {TabbedToolbarsComponent} from './tabbed-toolbars/tabbed-toolbars.component';\r\nimport {TabComponent} from \"./tab/tab.component\";\r\nimport {TabsComponent} from \"./tabs/tabs.component\";\r\nimport {FormattingService} from \"./formatting.service\";\r\nimport {ColorPickerComponent} from './color-picker/color-picker.component';\r\nimport {FormattingDirective} from './formatting.directive';\r\nimport {BackFormattingService} from \"./back-formatting.service\";\r\nimport {OnCloseService} from \"./on-close.service\";\r\nimport {SuccessModalComponent} from './success-modal/success-modal.component';\r\nimport {EditorDirective} from './editor.directive';\r\nimport {LoadingMaskComponent} from './loading-mask/loading-mask.component';\r\nimport {LoadingMaskService} from './loading-mask.service';\r\nimport {LoadingMaskInterceptorService} from \"./loading-mask-interceptor.service\";\r\nimport {TabActivatorService} from \"./tab-activator.service\";\r\nimport {\r\n DropDownComponent,\r\n DropDownItemComponent,\r\n DropDownItemsComponent,\r\n DropDownToggleComponent\r\n} from './drop-down/drop-down.component';\r\nimport {ClickOutsideModule} from 'ng-click-outside';\r\nimport {LeftSideBarComponent} from './left-side-bar/left-side-bar.component';\r\nimport {TooltipDirective} from './tooltip.directive';\r\nimport {AddDynamicComponentService} from \"./add-dynamic-component.service\";\r\nimport {HostDynamicDirective} from './host-dynamic.directive';\r\nimport {HostingDynamicComponentService} from \"./hosting-dynamic-component.service\";\r\nimport {ResizingComponent} from './resizing/resizing.component';\r\nimport {TopTabComponent} from './top-tab/top-tab.component';\r\nimport {TopTabActivatorService} from \"./top-tab-activator.service\";\r\nimport {TextMenuComponent} from './text-menu/text-menu.component';\r\nimport {ContextMenuComponent} from './context-menu/context-menu.component';\r\n\r\nconst providers = [ConfigService,\r\n Api,\r\n ModalService,\r\n FileService,\r\n FileModel,\r\n FileUtil,\r\n Utils,\r\n SanitizeHtmlPipe,\r\n SanitizeResourceHtmlPipe,\r\n SanitizeStylePipe,\r\n HighlightSearchPipe,\r\n UploadFilesService,\r\n RenderPrintService,\r\n NavigateService,\r\n PagePreloadService,\r\n ZoomService,\r\n ExceptionMessageService,\r\n PasswordService,\r\n ErrorInterceptorService,\r\n SearchService,\r\n WindowService,\r\n ViewportService,\r\n FormattingService,\r\n BackFormattingService,\r\n OnCloseService,\r\n LoadingMaskInterceptorService,\r\n LoadingMaskService,\r\n TabActivatorService,\r\n AddDynamicComponentService,\r\n HostingDynamicComponentService,\r\n TopTabActivatorService];\r\n\r\n@NgModule({\r\n imports: [CommonModule, FontAwesomeModule, ClickOutsideModule],\r\n declarations: [\r\n TopToolbarComponent,\r\n SidePanelComponent,\r\n ButtonComponent,\r\n LogoComponent,\r\n TooltipComponent,\r\n ModalComponent,\r\n BrowseFilesModalComponent,\r\n DocumentComponent,\r\n PageComponent,\r\n SanitizeHtmlPipe,\r\n SanitizeResourceHtmlPipe,\r\n SanitizeStylePipe,\r\n HighlightSearchPipe,\r\n UploadFileZoneComponent,\r\n DndDirective,\r\n ScrollableDirective,\r\n MouseWheelDirective,\r\n ZoomDirective,\r\n SelectComponent,\r\n DisabledCursorDirective,\r\n RotationDirective,\r\n InitStateComponent,\r\n RenderPrintDirective,\r\n ErrorModalComponent,\r\n PasswordRequiredComponent,\r\n SearchComponent,\r\n SearchableDirective,\r\n TabbedToolbarsComponent,\r\n TabComponent,\r\n TabsComponent,\r\n ColorPickerComponent,\r\n FormattingDirective,\r\n SuccessModalComponent,\r\n EditorDirective,\r\n LoadingMaskComponent,\r\n DropDownComponent,\r\n DropDownItemComponent,\r\n DropDownItemsComponent,\r\n DropDownToggleComponent,\r\n LeftSideBarComponent,\r\n TooltipDirective,\r\n HostDynamicDirective,\r\n ResizingComponent,\r\n TopTabComponent,\r\n TextMenuComponent,\r\n ContextMenuComponent\r\n ],\r\n exports: [\r\n TopToolbarComponent,\r\n SidePanelComponent,\r\n ButtonComponent,\r\n LogoComponent,\r\n TooltipComponent,\r\n ModalComponent,\r\n BrowseFilesModalComponent,\r\n DocumentComponent,\r\n PageComponent,\r\n SanitizeResourceHtmlPipe,\r\n SanitizeStylePipe,\r\n HighlightSearchPipe,\r\n SanitizeHtmlPipe,\r\n UploadFileZoneComponent,\r\n ScrollableDirective,\r\n MouseWheelDirective,\r\n SelectComponent,\r\n RotationDirective,\r\n InitStateComponent,\r\n RenderPrintDirective,\r\n ErrorModalComponent,\r\n PasswordRequiredComponent,\r\n SearchComponent,\r\n SearchableDirective,\r\n TabbedToolbarsComponent,\r\n TabComponent,\r\n TabsComponent,\r\n ColorPickerComponent,\r\n FormattingDirective,\r\n SuccessModalComponent,\r\n LoadingMaskComponent,\r\n DndDirective,\r\n DropDownComponent,\r\n DropDownItemComponent,\r\n DropDownItemsComponent,\r\n DropDownToggleComponent,\r\n ZoomDirective,\r\n DropDownToggleComponent,\r\n LeftSideBarComponent,\r\n TooltipDirective,\r\n HostDynamicDirective,\r\n ResizingComponent,\r\n TopTabComponent,\r\n TextMenuComponent,\r\n ContextMenuComponent\r\n ],\r\n providers: providers\r\n})\r\nexport class CommonComponentsModule {\r\n constructor() {\r\n library.add(fas, far);\r\n }\r\n}\r\n"],"names":["Component","EventEmitter","Input","Output","Subject","fromEvent","debounceTime","distinctUntilChanged","startWith","tap","HttpHeaders","Injectable","ElementRef","tslib_1.__extends","Observable","$","Pipe","DomSanitizer","Directive","HostBinding","HostListener","tslib_1.__values","BehaviorSubject","map","catchError","HttpErrorResponse","throwError","ViewChild","finalize","ViewEncapsulation","Inject","forwardRef","ComponentFactoryResolver","ApplicationRef","ViewContainerRef","Renderer2","library","fas","far","NgModule","CommonModule","FontAwesomeModule","ClickOutsideModule"],"mappings":"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"} \ No newline at end of file diff --git a/dist/libs/common-components/bundles/groupdocs.examples.angular-common-components.umd.min.js b/dist/libs/common-components/bundles/groupdocs.examples.angular-common-components.umd.min.js index 2b5c6f338..a5cbc7b0d 100644 --- a/dist/libs/common-components/bundles/groupdocs.examples.angular-common-components.umd.min.js +++ b/dist/libs/common-components/bundles/groupdocs.examples.angular-common-components.umd.min.js @@ -12,5 +12,5 @@ See the Apache Version 2.0 License for specific language governing permissions and limitations under the License. - ***************************************************************************** */var h=function(t,e){return(h=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var o in e)e.hasOwnProperty(o)&&(t[o]=e[o])})(t,e)};function f(t,e){function o(){this.constructor=t}h(t,e),t.prototype=null===e?Object.create(e):(o.prototype=e.prototype,new o)}function m(t){var e="function"==typeof Symbol&&t[Symbol.iterator],o=0;return e?e.call(t):{next:function(){return t&&o>=t.length&&(t=void 0),{value:t&&t[o++],done:!t}}}}var b=function(){function t(){}return t.decorators=[{type:e.Component,args:[{selector:"gd-top-toolbar",template:'
\n
\n \n
\n
\n',styles:[".top-toolbar{width:100%;height:60px;z-index:999;display:-webkit-box;display:flex;-webkit-box-align:center;align-items:center}.tools{width:100%;height:100%;display:-webkit-box;display:flex;-webkit-box-align:center;align-items:center}@media (max-width:1037px){.top-toolbar{height:60px}.tools{height:100%;overflow-x:auto;overflow-scrolling:touch;display:-webkit-box;display:flex;-webkit-box-align:center;align-items:center;-webkit-transition:.3s ease-in-out;transition:.3s ease-in-out;scroll-behavior:smooth;-webkit-overflow-scrolling:touch}.tools::-webkit-scrollbar{width:0;height:0;background-color:#3e4e5a}}"]}]}],t.ctorParameters=function(){return[]},t}(),v=function(){function t(){this.closable=!0,this.saveable=!0,this.hideSidePanel=new e.EventEmitter,this.saveInSidePanel=new e.EventEmitter,this.onlyTitle=!1}return t.prototype.closeSidePanel=function(){this.hideSidePanel.emit(!0)},t.prototype.saveBySidePanel=function(){this.saveInSidePanel.emit(!0)},t.prototype.toggleTitleMode=function(){this.closable&&!this.saveable&&(this.onlyTitle=!this.onlyTitle)},t.decorators=[{type:e.Component,args:[{selector:"gd-side-panel",template:'
\n
\n \n
{{title}}
\n
\n \n
\n
\n \n
\n
\n
\n \n
\n
\n',styles:[".gd-side-panel-wrapper{margin-right:0;width:334px;z-index:999;background-color:#fff;-webkit-transition:margin-right .2s;transition:margin-right .2s;display:-webkit-box;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-flow:column;height:100vh}.gd-side-panel-wrapper .gd-side-panel-header{height:60px;background-color:#222e35;display:-webkit-box;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;flex-direction:row;flex-wrap:nowrap}.gd-side-panel-wrapper .gd-side-panel-header .icon{font-size:24px;color:#959da5;margin:18px;line-height:24px}.gd-side-panel-wrapper .gd-side-panel-header .title{font-size:13px;font-weight:700;color:#edf0f2;opacity:.57;margin-top:20px;width:100%}.gd-side-panel-wrapper .gd-side-panel-header .close,.gd-side-panel-wrapper .gd-side-panel-header .save{display:-webkit-box;display:flex;-webkit-box-align:center;align-items:center}.gd-side-panel-wrapper .gd-side-panel-header ::ng-deep gd-button .text{padding:0}.gd-side-panel-wrapper .gd-side-panel-body{display:-webkit-box;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-flow:column;overflow:visible;overflow-y:auto;overflow-x:hidden;height:100%}@media (max-width:1037px){.gd-side-panel-wrapper{width:100%;position:absolute;left:0;right:0;top:0;bottom:0}.gd-side-panel-wrapper.only-title{height:60px!important}}"]}]}],t.ctorParameters=function(){return[]},t.propDecorators={title:[{type:e.Input}],icon:[{type:e.Input}],closable:[{type:e.Input}],saveable:[{type:e.Input}],hideSidePanel:[{type:e.Output}],saveInSidePanel:[{type:e.Output}]},t}();var x=function(){function t(){var t=this;this.resizeSubject=new n.Subject,this.width=window.innerWidth,this.height=window.innerHeight,this._resize$=n.fromEvent(window,"resize").pipe(i.debounceTime(200),i.distinctUntilChanged(),i.startWith({target:{innerWidth:window.innerWidth,innerHeight:window.innerHeight}}),i.tap((function(e){t.resizeSubject.next(e.target),t.width=e.target.innerWidth,t.height=e.target.innerHeight}))),this._resize$.subscribe()}return Object.defineProperty(t.prototype,"onResize",{get:function(){return this.resizeSubject.asObservable()},enumerable:!0,configurable:!0}),t.prototype.isMobile=function(){return this.width<=425},t.prototype.isTablet=function(){return this.width<=1024},t.prototype.isDesktop=function(){return!this.isMobile()&&!this.isTablet()},t.prototype.getWidth=function(){return this.width},t.prototype.getHeight=function(){return this.height},t.prototype.isEdge=function(){return window.navigator.userAgent.toLowerCase().indexOf("edge")>-1},t.prototype.isFirefox=function(){return navigator.userAgent.toLowerCase().indexOf("firefox")>-1},t}();var w=function(){function t(t){var e=this;this.iconOnly=!0,this.intent="default",this.disabled=!1,this.toggle=!1,this.iconRegular=!1,this.elementPosition=0,this.showToolTip=!1,this.isDesktop=t.isDesktop(),t.onResize.subscribe((function(o){e.isDesktop=t.isDesktop()}))}return t.prototype.iconButtonClass=function(){return this.iconOnly?"icon-button":""},t.prototype.onHovering=function(){this.isDesktop&&!this.disabled&&(this.className+=" active")},t.prototype.onUnhovering=function(){this.isDesktop&&!this.disabled&&(this.className=this.cleanAll(this.className," active"))},t.prototype.cleanAll=function(t,e){for(;t&&-1!==t.indexOf(e);)t=t.replace(e,"");return t},t.decorators=[{type:e.Component,args:[{selector:"gd-button",template:'
\n \n \n
\n \n
\n
\n',styles:[".icon-button{padding:0!important;margin:0 7px}.button{padding:0 10px;font-size:14px;color:#959da5;cursor:pointer;display:-webkit-box;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column;-webkit-box-align:center;align-items:center;align-content:center;-webkit-box-pack:center;justify-content:center;min-width:37px;height:37px;text-align:center;position:relative;white-space:nowrap}.button.inactive{cursor:not-allowed;opacity:.4}.button.active *{color:#ccd0d4}.button.primary{background-color:#3e4e5a;color:#fff}.button.primary.active{color:#fff;background-color:#688296}.button.brand{background-color:#25c2d4;color:#fff}.button.brand.active{color:#fff;background-color:#688296}.button .text{font-size:13px;padding-left:10px}.button .button-tooltip{display:-webkit-box;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column}@media (max-width:1037px){.button{font-size:22px}.arrow-button{margin:5px}}"]}]}],t.ctorParameters=function(){return[{type:x}]},t.propDecorators={iconOnly:[{type:e.Input}],intent:[{type:e.Input}],disabled:[{type:e.Input}],icon:[{type:e.Input}],iconClass:[{type:e.Input}],tooltip:[{type:e.Input}],className:[{type:e.Input}],toggle:[{type:e.Input}],iconSize:[{type:e.Input}],iconRegular:[{type:e.Input}],elementPosition:[{type:e.Input}]},t}();var y=function(){function t(){}return t.prototype.ngOnInit=function(){},t.decorators=[{type:e.Component,args:[{selector:"gd-logo",template:'\n\n',styles:[".logo{background-color:#25c2d4;height:60px;display:-webkit-box;display:flex;-webkit-box-align:center;align-items:center;-webkit-box-pack:center;justify-content:center}.text{color:#fff;font-size:15px;text-transform:uppercase;margin:0 14px}.icon{display:none;font-size:32px;color:rgba(255,255,255,.5);margin:14px}@media (max-width:1037px){.logo{width:60px;height:60px}.logo .text{display:none}.logo .icon{display:block}}"]}]}],t.ctorParameters=function(){return[]},t.propDecorators={logo:[{type:e.Input}],icon:[{type:e.Input}]},t}();var S=function(){function t(){this.position=0,this.visibility="hidden"}return t.prototype.getClass=function(){return 0===this.position?"tooltip":"tooltip "+(this.position>0?"last-element":"first-element")},Object.defineProperty(t.prototype,"show",{set:function(t){this.visibility=t?"shown":"hidden"},enumerable:!0,configurable:!0}),t.prototype.ngOnInit=function(){},t.decorators=[{type:e.Component,args:[{selector:"gd-tooltip",template:'\n',styles:['.tooltip{position:absolute;width:-webkit-fit-content;width:-moz-fit-content;width:fit-content;background-color:#000;color:#fff;text-align:center;border-radius:0;padding:5px;z-index:1;font-size:10px;height:11px;line-height:11px;-ms-grid-row-align:center;align-self:center;margin:8px!important}.first-element{margin-left:10px!important}.last-element{margin-left:-10px!important}.tooltip.hidden{visibility:hidden}.tooltip.shown{visibility:visible}.shown:after{content:" ";position:absolute;bottom:100%;left:50%;margin-left:-5px;border:5px solid transparent;border-bottom-color:#000}']}]}],t.ctorParameters=function(){return[]},t.propDecorators={text:[{type:e.Input}],position:[{type:e.Input}],show:[{type:e.Input}]},t}();var k=function(){function t(){}return t.VIEWER_APP="/viewer",t.SIGNATURE_APP="/signature",t.ANNOTATION_APP="/annotation",t.SEARCH_APP="/search",t.EDITOR_APP="/editor",t.COMPARISON_APP="/comparison",t.CONVERSION_APP="/conversion",t.METADATA_APP="/metadata",t.DEFAULT_API_ENDPOINT=window.location.href,t.LOAD_FILE_TREE="/loadFileTree",t.LOAD_CONFIG="/loadConfig",t.LOAD_DOCUMENT_DESCRIPTION="/loadDocumentDescription",t.LOAD_DOCUMENT_PAGE="/loadDocumentPage",t.LOAD_DOCUMENT_PROPERTIES="/loadProperties",t.LOAD_DOCUMENT_PROPERTIES_NAMES="/loadPropertiesNames",t.SAVE_PROPERTY="/saveProperty",t.REMOVE_PROPERTY="/removeProperty",t.ROTATE_DOCUMENT_PAGE="/rotateDocumentPages",t.UPLOAD_DOCUMENTS="/uploadDocument",t.DOWNLOAD_DOCUMENTS="/downloadDocument",t.DOWNLOAD_ANNOTATED="/downloadAnnotated",t.LOAD_PRINT="/loadPrint",t.LOAD_PRINT_PDF="/printPdf",t.LOAD_THUMBNAILS="/loadThumbnails",t.LOAD_FORMATS="/loadFormats",t.SAVE_FILE="/saveFile",t.CREATE_FILE="/createFile",t.COMPARE_FILES="/compare",t.CONVERT_FILE="/convert",t.DELETE_SIGNATURE_FILE="/deleteSignatureFile",t.REMOVE_FROM_INDEX="/removeFromIndex",t.GET_FILE_STATUS="/getFileStatus",t.SAVE_OPTICAL_CODE="/saveOpticalCode",t.SAVE_TEXT="/saveText",t.SAVE_IMAGE="/saveImage",t.SAVE_STAMP="/saveStamp",t.SIGN="/sign",t.DOWNLOAD_SIGNED="/downloadSigned",t.LOAD_SIGNATURE_IMAGE="/loadSignatureImage",t.ANNOTATE="/annotate",t.SEARCH="/search",t.ADD_FILES_TO_INDEX="/addFilesToIndex",t.CLEAN_METADATA="/clean",t.EXPORT_METADATA="/export",t.httpOptionsJson={headers:new p.HttpHeaders({"Content-Type":"application/json"})},t.httpOptionsJsonResponseTypeBlob={headers:new p.HttpHeaders({"Content-Type":"application/json"}),responseType:"blob"},t}();var C=function(){function t(){this.apiEndpoint=k.DEFAULT_API_ENDPOINT}return Object.defineProperty(t.prototype,"apiEndpoint",{get:function(){return this._apiEndpoint},set:function(t){this._apiEndpoint=t&&t.trim().endsWith("/")?t.substring(0,t.length-1):t},enumerable:!0,configurable:!0}),t.prototype.getConfigEndpoint=function(t){return(this.apiEndpoint.endsWith(t)?this.apiEndpoint:this.apiEndpoint+t)+k.LOAD_CONFIG},t.prototype.getViewerApiEndpoint=function(){return this._apiEndpoint.endsWith(k.VIEWER_APP)?this._apiEndpoint:this._apiEndpoint+k.VIEWER_APP},t.prototype.getEditorApiEndpoint=function(){return this._apiEndpoint.trim().endsWith(k.EDITOR_APP)?this._apiEndpoint:this._apiEndpoint+k.EDITOR_APP},t.prototype.getComparisonApiEndpoint=function(){return this._apiEndpoint.trim().endsWith(k.COMPARISON_APP)?this._apiEndpoint:this._apiEndpoint+k.COMPARISON_APP},t.prototype.getConversionApiEndpoint=function(){return this._apiEndpoint.trim().endsWith(k.CONVERSION_APP)?this._apiEndpoint:this._apiEndpoint+k.CONVERSION_APP},t.prototype.getMetadataApiEndpoint=function(){return this._apiEndpoint.trim().endsWith(k.METADATA_APP)?this._apiEndpoint:this._apiEndpoint+k.METADATA_APP},t.prototype.getSignatureApiEndpoint=function(){return this._apiEndpoint.endsWith(k.SIGNATURE_APP)?this._apiEndpoint:this._apiEndpoint+k.SIGNATURE_APP},t.prototype.getAnnotationApiEndpoint=function(){return this._apiEndpoint.endsWith(k.ANNOTATION_APP)?this._apiEndpoint:this._apiEndpoint+k.ANNOTATION_APP},t.prototype.getSearchApiEndpoint=function(){return this._apiEndpoint.endsWith(k.SEARCH_APP)?this._apiEndpoint:this._apiEndpoint+k.SEARCH_APP},t.decorators=[{type:e.Injectable}],t.ctorParameters=function(){return[]},t}();var _=function(){function t(){}return t.PasswordRequired="gd-password-required",t.ErrorMessage="gd-error-message",t.BrowseFiles="gd-browse-files",t.CreateDocument="gd-create-document",t.OperationSuccess="gd-success-modal",t.DrawHandSignature="gd-draw-hand-signature",t.DrawStampSignature="gd-draw-stamp-signature",t.InformationMessage="gd-information-message",t}();var P=function(){function t(){this.modals=[]}return t.prototype.add=function(t){this.modals.push(t)},t.prototype.remove=function(t){this.modals=this.modals.filter((function(e){return e.id!==t}))},t.prototype.open=function(t){var e=this.modals.filter((function(e){return e.id===t}))[0];e&&e.open()},t.prototype.close=function(t){var e=this.modals.filter((function(e){return e.id===t}))[0];e&&e.close()},t}();var E=function(){function t(t,o){this.modalService=t,this.visible=new e.EventEmitter,this.cancel=new e.EventEmitter,this.visibility=!1,this.element=o.nativeElement}return t.prototype.ngOnInit=function(){this.id?(document.body.appendChild(this.element),this.modalService.add(this)):console.error("modal must have an id")},t.prototype.ngOnDestroy=function(){this.modalService.remove(this.id),this.element.remove()},t.prototype.open=function(){this.visibility=!0,this.visible.emit(!0)},t.prototype.close=function(){event.preventDefault(),event.stopPropagation(),this.visibility=!1,this.visible.emit(!1)},t.prototype.onClose=function(t){t.stopPropagation(),t&&t.target&&"modalDialog"===t.target.id&&this.close()},t.prototype.cancelClose=function(){this.cancel.emit(!1),this.close()},t.decorators=[{type:e.Component,args:[{selector:"gd-modal",template:'
\n
\n
\n
\n\n
\n
×
\n

{{title}}

\n
\n\n
\n \n
\n\n \n
\n
\n\n\n',styles:["@import url(https://fonts.googleapis.com/css?family=Montserrat&display=swap);:host *{font-family:'Open Sans',Arial,Helvetica,sans-serif}.gd-modal{overflow:hidden;position:fixed;top:0;right:0;bottom:0;left:0;z-index:1050;-webkit-overflow-scrolling:touch;outline:0;background-color:rgba(0,0,0,.5)}.gd-modal-dialog{box-shadow:#0005 0 0 10px;position:fixed;left:50%;top:50%;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%);z-index:1051}.gd-modal-dialog ::ng-deep .button{-webkit-box-orient:unset!important;-webkit-box-direction:unset!important;flex-direction:unset!important}.gd-modal-content{background-color:#fff;height:100%;display:-webkit-box;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column}.gd-modal-header{height:60px;padding:0 12px 0 24px;background-color:#3e4e5a}.gd-modal-close{position:absolute;right:12px;top:12px;cursor:pointer;color:#fff;width:37px;height:37px;text-align:center}.gd-modal-close span{font-size:18px;font-weight:900;height:19px;width:10px;line-height:36px}.gd-modal-title{font-size:16px;font-weight:400;padding-top:17px;padding-bottom:22px;margin:0;color:#fff}.gd-modal-body{background-color:#fff;overflow:hidden;overflow-y:auto;height:calc(100% - 75px)}.gd-modal-footer{height:auto}.gd-modal-footer>.btn{float:right;margin:20px 15px;padding:10px 20px;cursor:pointer;font-size:12px}@media (max-width:1037px){.gd-modal-dialog{width:100%;height:100%}.gd-modal-body{height:100%}}"]}]}],t.ctorParameters=function(){return[{type:P},{type:e.ElementRef}]},t.propDecorators={id:[{type:e.Input}],title:[{type:e.Input}],visible:[{type:e.Output}],cancel:[{type:e.Output}]},t}();var I=function(){};var O=function(){};var z=function(t,e){this.guid=t,this.password=e};var F=function(t){function e(e,o,n){var i=t.call(this,e,o)||this;return i.content=n,i}return f(e,t),e}(z);var D=function(){this.printAllowed=!0};var T=function(){};var A=function(){function t(){}return t.BadRequest=400,t.Unauthorized=401,t.Forbidden=403,t.NotFound=404,t.TimeOut=408,t.Conflict=409,t.InternalServerError=500,t}();var M=function(){function t(){}return t.getMousePosition=function(t){var e={x:0,y:0},o=window.event,n=t||o;if(n.pageX||o.pageX||o.screenX||n.touches&&n.touches[0]&&n.touches[0].pageX){var i=void 0!==n.pageX&&0!==n.pageX?n.pageX:o.pageX,r=void 0!==n.pageY&&0!==n.pageY?n.pageY:o.pageY,s=void 0!==o.screenX&&0!==o.screenY,a=void 0!==o.screenY&&0!==o.screenY;e.x=i||(s?o.screenX:n.touches[0].pageX),e.y=r||(a?o.screenY:n.touches[0].pageY)}else n.clientX&&(e.x=n.clientX+document.body.scrollLeft,e.y=n.clientY+document.body.scrollTop);return e},t.toRgb=function(t){var e=/^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(t);if(e){var o=parseInt(e[1],16),n=parseInt(e[2],16),i=parseInt(e[3],16);return e?"rgb("+o+","+n+","+i+")":""}return t},t.toHex=function(t){if(t.match(/[0-9A-F]{6}|[0-9A-F]{3}$/i))return"#"===t.charAt(0)?t:"#"+t;if(!t.match(/^rgb\(\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(\d{1,3})\s*\)$/))return"";var e=[parseInt(RegExp.$1,10),parseInt(RegExp.$2,10),parseInt(RegExp.$3,10)],o=function(t){if(t.length<2)for(var e=0,o=2-t.length;e0?t.map.unknown:t.map.folder:t.map[i]}return t.map.folder},t.map={folder:{format:"",icon:"folder"},pdf:{format:"Portable Document Format",icon:"file-pdf",unit:"pt"},doc:{format:"Microsoft Word",icon:"file-word",unit:"pt"},docx:{format:"Microsoft Word",icon:"file-word",unit:"pt"},docm:{format:"Microsoft Word",icon:"file-word",unit:"pt"},dot:{format:"Microsoft Word",icon:"file-word",unit:"pt"},dotx:{format:"Microsoft Word",icon:"file-word",unit:"pt"},dotm:{format:"Microsoft Word",icon:"file-word",unit:"pt"},xls:{format:"Microsoft Excel",icon:"file-excel",unit:"px"},xlsx:{format:"Microsoft Excel",icon:"file-excel",unit:"px"},xlsm:{format:"Microsoft Excel",icon:"file-excel",unit:"px"},xlsb:{format:"Microsoft Excel",icon:"file-excel",unit:"px"},xls2003:{format:"Microsoft Excel",icon:"file-excel",unit:"px"},xltx:{format:"Microsoft Excel",icon:"file-excel",unit:"px"},xltm:{format:"Microsoft Excel",icon:"file-excel",unit:"px"},ppt:{format:"Microsoft PowerPoint",icon:"file-powerpoint",unit:"pt"},pptx:{format:"Microsoft PowerPoint",icon:"file-powerpoint",unit:"pt"},pps:{format:"Microsoft PowerPoint",icon:"file-powerpoint",unit:"pt"},ppsx:{format:"Microsoft PowerPoint",icon:"file-powerpoint",unit:"pt"},vsd:{format:"Microsoft Visio",icon:"file-code",unit:"px"},vdx:{format:"Microsoft Visio",icon:"file-code",unit:"px"},vss:{format:"Microsoft Visio",icon:"file-code",unit:"px"},vsx:{format:"Microsoft Visio",icon:"file-code",unit:"px"},vst:{format:"Microsoft Visio",icon:"file-code",unit:"px"},vtx:{format:"Microsoft Visio",icon:"file-code",unit:"px"},vsdx:{format:"Microsoft Visio",icon:"file-code",unit:"px"},vdw:{format:"Microsoft Visio",icon:"file-code",unit:"px"},vstx:{format:"Microsoft Visio",icon:"file-code",unit:"px"},vssx:{format:"Microsoft Visio",icon:"file-code",unit:"px"},mpp:{format:"Microsoft Project",icon:"file-alt",unit:"pt"},mpt:{format:"Microsoft Project",icon:"file-alt",unit:"pt"},msg:{format:"Microsoft Outlook",icon:"file-alt",unit:"pt"},eml:{format:"Microsoft Outlook",icon:"file-alt",unit:"pt"},emlx:{format:"Microsoft Outlook",icon:"file-alt",unit:"pt"},one:{format:"Microsoft OneNote",icon:"file-word",unit:"pt"},odt:{format:"Open Document Text",icon:"file-word",unit:"pt"},ott:{format:"Open Document Text Template",icon:"file-word",unit:"pt"},ods:{format:"Open Document Spreadsheet",icon:"file-excel",unit:"px"},odp:{format:"Open Document Presentation",icon:"file-powerpoint",unit:"pt"},otp:{format:"Open Document Presentation",icon:"file-powerpoint",unit:"pt"},ots:{format:"Open Document Presentation",icon:"file-powerpoint",unit:"pt"},potx:{format:"Open Document Presentation",icon:"file-powerpoint",unit:"pt"},potm:{format:"Open Document Presentation",icon:"file-powerpoint",unit:"pt"},pptm:{format:"Open Document Presentation",icon:"file-powerpoint",unit:"pt"},ppsm:{format:"Open Document Presentation",icon:"file-powerpoint",unit:"pt"},rtf:{format:"Rich Text Format",icon:"file-alt",unit:"pt"},txt:{format:"Plain Text File",icon:"file-alt",unit:"pt"},csv:{format:"Comma-Separated Values",icon:"file-excel",unit:"px"},html:{format:"HyperText Markup Language",icon:"file-word",unit:"pt"},mht:{format:"HyperText Markup Language",icon:"file-word",unit:"pt"},mhtml:{format:"HyperText Markup Language",icon:"file-word",unit:"pt"},xml:{format:"Extensible Markup Language",icon:"file-word",unit:"pt"},xps:{format:"XML Paper Specification",icon:"file-word",unit:"pt"},dxf:{format:"AutoCAD Drawing File Format",icon:"file-image",unit:"px"},dwg:{format:"AutoCAD Drawing File Format",icon:"file-image",unit:"px"},bmp:{format:"Bitmap Picture",icon:"file-image",unit:"px"},gif:{format:"Graphics Interchange Format",icon:"file-image",unit:"px"},jpg:{format:"Joint Photographic Experts Group",icon:"file-image",unit:"px"},jpe:{format:"Joint Photographic Experts Group",icon:"file-image",unit:"px"},jpeg:{format:"Joint Photographic Experts Group",icon:"file-image",unit:"px"},jfif:{format:"Joint Photographic Experts Group",icon:"file-image",unit:"px"},png:{format:"Portable Network Graphics",icon:"file-image",unit:"px"},tiff:{format:"Tagged Image File Format",icon:"file-image",unit:"px"},tif:{format:"Tagged Image File Format",icon:"file-image",unit:"px"},psd:{format:"Tagged Image File Format",icon:"file-image",unit:"px"},svg:{format:"Tagged Image File Format",icon:"file-image",unit:"px"},jp2:{format:"Tagged Image File Format",icon:"file-image",unit:"px"},epub:{format:"Electronic Publication",icon:"file-pdf",unit:"pt"},ico:{format:"Windows Icon",icon:"file-image",unit:"px"},webp:{format:"Compressed Image",icon:"file-image",unit:"px"},mobi:{format:"Mobipocket eBook",icon:"file-pdf",unit:"pt"},tex:{format:"LaTeX Source Document",icon:"file-pdf",unit:"pt"},djvu:{format:"Multi-Layer Raster Image",icon:"file-alt",unit:"pt"},unknown:{format:"This format is not supported",icon:"file"}},t}();var R=function(){},L=function(){function t(){var t=this;this._uploadsChange=new n.Observable((function(e){return t._observer=e}))}return Object.defineProperty(t.prototype,"uploadsChange",{get:function(){return this._uploadsChange},enumerable:!0,configurable:!0}),t.prototype.changeFilesList=function(t){this._observer.next(t)},t}();var U=l,H=[{name:"Disc",icon:"hdd"},{name:"URL",icon:"link"}],N=function(){function t(t){this._uploadService=t,this.uploads=H,this.selectedFileGuid=new e.EventEmitter,this.selectedDirectory=new e.EventEmitter,this.urlForUpload=new e.EventEmitter,this.closing=new e.EventEmitter,this.showUploadUrl=!1,this.showUploadFile=!1}return t.prototype.ngOnInit=function(){},t.prototype.getSize=function(t){var e=t/1024/1024;if(e>1)return Math.round(100*e)/100+" MB";var o=t/1024;return o>1?Math.round(100*o)/100+" KB":t+" Bytes"},t.prototype.getFormatName=function(t){return j.find(t.name,t.directory).format},t.prototype.getFormatIcon=function(t){return j.find(t.name,t.directory).icon},t.prototype.choose=function(t){this.selectedFile=t,t.directory||t.isDirectory?this.selectedDirectory.emit(t.name):this.selectedFileGuid.emit(t.guid)},t.prototype.goUp=function(){if(this.selectedFile){var t=this.selectedFile.guid;t=t.length>0&&-1===t.indexOf("/")?"":t.replace(/\/[^\/]+\/?$/,""),this.selectedDirectory.emit(t)}},t.prototype.selectUpload=function(t){"URL"===t?this.showUploadUrl=!0:(this.showUploadUrl=!1,U("#gd-upload-input").trigger("click"))},t.prototype.refresh=function(t){t?(this.files=null,this.selectedDirectory.emit(""),this.showUploadUrl=!1,this.selectedFile=null):this.closing.emit(!0)},t.prototype.showSpinner=function(){return!this.files},t.prototype.uploadUrl=function(t){t&&(this.urlForUpload.emit(t),this.cleanUpload())},t.prototype.handleFileInput=function(t){this._uploadService.changeFilesList(t)},t.prototype.cleanUpload=function(){this.showUploadFile=!1,this.showUploadUrl=!1},t.decorators=[{type:e.Component,args:[{selector:"gd-browse-files-modal",template:'\n
\n
\n \n Drop file here to upload\n
\n
\n
\n \n
\n
\n \n \n \n Upload file\n \n \n \n \n \n
{{item.name}}
\n
\n
\n
\n
\n
\n
\n \n
\n \n
\n
\n
\n
\n
\n
\n
FILE
\n
SIZE
\n
\n
\n
\n
\n
\n
\n \n
\n
..
\n
\n
\n
\n \n
\n
{{file?.name}}
\n
{{getFormatName(file)}}
\n
\n
\n
\n {{getSize(file?.size)}}\n
\n
\n
\n
\n
\n \n  Loading... Please wait.\n
\n
\n
\n',styles:[".gd-modal-table{width:100%;text-align:left}#gd-browse-section{width:1036px;height:561px;overflow-y:auto}.list-files-header{height:60px;color:#6e6e6e;font-size:13px;font-weight:700;background-color:#f4f4f4;margin-top:24px}.list-files-header.upload-url{margin-top:20px}.header-name{padding-left:24px;width:90%;line-height:60px}.header-size{padding-right:27px;line-height:60px}.file-size,.header-size{width:10%;color:#777;text-align:right}.file-description{display:-webkit-box;display:flex;width:90%;padding:18px 0 18px 24px;font-size:14px;-webkit-box-flex:1;flex:1;cursor:pointer;overflow:hidden}.file-size{font-size:12px;padding:0 27px 0 0;width:10%;line-height:79px}.list-files-header,.list-files-lines{display:-webkit-box;display:flex;width:100%;-webkit-box-pack:justify;justify-content:space-between}.gd-modal-spinner{background-color:#fff;width:100%;height:20px;text-align:center;font-size:16px}.gd-cancel-button{padding:7px;background:0 0;width:28px;overflow:hidden}.gd-cancel-button i{font-size:21px}.gd-file-name{white-space:nowrap;overflow:hidden;width:100%;text-overflow:ellipsis}.go-up{display:-webkit-box;display:flex;font-size:26px;cursor:pointer;color:#4b566c;height:79px}.go-up-dots{margin-left:20px;margin-top:22px;font-size:16px}.go-up-icon{display:block;padding:18px 0 18px 24px}.upload-panel{display:-webkit-box;display:flex;position:relative;width:100%}.upload-panel .context{display:-webkit-box;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column;width:100%;margin-left:24px;margin-top:24px;margin-right:24px}.upload-panel .context .context-actions{display:-webkit-box;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;flex-direction:row;width:100%}.upload-panel .context .context-actions :last-child{margin-right:0}.upload-panel .context .context-actions ::ng-deep .button{height:37px;width:96px;padding:0;-webkit-box-pack:center;justify-content:center}.upload-panel .context .context-actions ::ng-deep .button ::ng-deep .text{font-size:10px}.upload-panel .context .context-panel{display:-webkit-box;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;flex-direction:row;width:100%;margin-top:20px}.upload-panel .context .context-panel .upload-url{display:-webkit-box;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;flex-direction:row;width:100%}.upload-panel .context .context-panel .upload-url .url-input{width:100%;height:27px;border:1px solid #25c2d4;font-size:14px;padding-left:6px}.upload-panel .context .context-panel .upload-url .url-check{width:31px;height:31px;color:#fff;font-size:15px;background-color:#25c2d4}.upload-panel .context .context-panel .upload-url .url-check .ng-fa-icon{display:block;padding:8px}.upload-panel gd-drop-down{margin-right:10px}.file-description .ng-fa-icon.fa-file-pdf{color:#e04e4e}.file-description .ng-fa-icon.fa-file-word{color:#539cf0}.file-description .ng-fa-icon.fa-file-powerpoint{color:#e29e1e}.file-description .ng-fa-icon.fa-file-excel{color:#7cbc46}.file-description .ng-fa-icon.fa-file-image{color:#c375ed}.file-description .ng-fa-icon.fa-file,.file-description .ng-fa-icon.fa-file-alt,.file-description .ng-fa-icon.fa-file-text .fa-folder{color:#4b566c}.file-description .ng-fa-icon{font-size:32px}.file-name{font-size:16px;color:#6e6e6e;overflow:hidden;text-overflow:ellipsis}.file-name-format{padding-left:11px;overflow:hidden}.file-format{font-size:10px;padding-top:3px;color:#acacac}.go-up,.list-files-lines{border-bottom:1px solid #e7e7e7}.list-files-lines:hover{background-color:#e5e5e5}.gd-dnd-wrap{background-color:#fff;cursor:default;position:absolute;width:100%;height:calc(100% - 60px);background:rgba(255,255,255,.7);z-index:1;display:-webkit-box;display:flex;-webkit-box-pack:center;justify-content:center;-webkit-box-align:center;align-items:center}.dnd-wrapper{display:-webkit-box;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column;-webkit-box-align:center;align-items:center;-webkit-box-pack:center;justify-content:center;top:259px;position:absolute}.dnd-wrapper .text{color:#6e6e6e;font-size:14px}.dnd-wrapper .icon{display:-webkit-box;display:flex;width:113px;height:90px;font-size:90px;color:#3e4e5a;margin-bottom:30px}@media (max-width:1037px){.file-size,.header-size{width:18%}.gd-dnd-wrap{width:95%}#gd-browse-section{width:100%;height:calc(100% - 146px)}}"]}]}],t.ctorParameters=function(){return[{type:L}]},t.propDecorators={files:[{type:e.Input}],uploadConfig:[{type:e.Input}],selectedFileGuid:[{type:e.Output}],selectedDirectory:[{type:e.Output}],urlForUpload:[{type:e.Output}],closing:[{type:e.Output}]},t}();var B=function(){function t(){this._observer=new n.Subject,this._zoomChange=this._observer.asObservable()}return Object.defineProperty(t.prototype,"zoom",{get:function(){return this._zoom},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"zoomChange",{get:function(){return this._zoomChange},enumerable:!0,configurable:!0}),t.prototype.changeZoom=function(t){this._zoom=t,this._observer.next(t)},t.prototype.createZoomOption=function(t,e,o){return void 0===o&&(o=!1),{value:t,name:e,separator:o}},t.prototype.zoomOptions=function(t,e){return[this.createZoomOption(25,"25%"),this.createZoomOption(50,"50%"),this.createZoomOption(100,"100%"),this.createZoomOption(150,"150%"),this.createZoomOption(200,"200%"),this.createZoomOption(300,"300%"),this.createZoomOption(0,"",!0),this.createZoomOption(t,"Fit Width"),this.createZoomOption(e,"Fit Height")]},t}();var W=function(){function t(){var t=this;this._checkPreload=new n.Observable((function(e){return t._observer=e}))}return Object.defineProperty(t.prototype,"checkPreload",{get:function(){return this._checkPreload},enumerable:!0,configurable:!0}),t.prototype.changeLastPageInView=function(t){this._observer&&this._observer.next(t)},t}();var $=function(){function t(t){this._pagePreloadService=t,this._currentPage=0,this._countPages=0,this._observer=new n.Subject,this._navigate=this._observer}return Object.defineProperty(t.prototype,"navigate",{get:function(){return this._navigate},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"countPages",{get:function(){return this._countPages},set:function(t){this._countPages=t},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"currentPage",{get:function(){return this._currentPage},set:function(t){this._currentPage=t},enumerable:!0,configurable:!0}),t.prototype.nextPage=function(){this._currentPage1&&(this._currentPage--,this.navigateTo(this._currentPage))},t.prototype.toLastPage=function(){this._currentPage=this._countPages,this.navigateTo(this._currentPage)},t.prototype.toFirstPage=function(){this._currentPage=1,this.navigateTo(this._currentPage)},t.prototype.navigateTo=function(t){this.currentPage=t,this._pagePreloadService.changeLastPageInView(t),this._observer.next(t)},t.decorators=[{type:e.Injectable,args:[{providedIn:"root"}]}],t.ctorParameters=function(){return[{type:W}]},t.ngInjectableDef=e.ɵɵdefineInjectable({factory:function(){return new t(e.ɵɵinject(W))},token:t,providedIn:"root"}),t}();var V=function(){function t(t,e,o,n){var i=this;this._elementRef=t,this._zoomService=e,this._windowService=o,this._navigateService=n,this.wait=!1,this.docWidth=null,this.docHeight=null,this.viewportWidth=null,this.viewportHeight=null,this.scale=null,this.lastScale=null,this.container=null,this.doc=null,this.x=0,this.lastX=0,this.y=0,this.lastY=0,this.pinchCenter=null,this.pinchCenterOffset=null,this.curWidth=0,this.curHeight=0,e.zoomChange.subscribe((function(t){i.zoom=t})),this.isDesktop=o.isDesktop(),this._navigateService.navigate.subscribe((function(t){i.selectedPage=t}))}return t.prototype.ngOnInit=function(){this.ifPresentation()&&(this.selectedPage=this._navigateService.currentPage)},t.prototype.ngOnChanges=function(){},t.prototype.ngAfterViewInit=function(){this.doc=this._elementRef.nativeElement.children.item(0).children.item(0),this.container=this._elementRef.nativeElement,this.docWidth=this.doc.clientWidth,this.docHeight=this.doc.clientHeight,this.viewportWidth=this.doc.offsetWidth,this.scale=this.viewportWidth/this.docWidth*this._zoomService.zoom/100,this.lastScale=this.scale,this.viewportHeight=this.container.offsetHeight,this.curWidth=this.docWidth*this.scale,this.curHeight=this.docHeight*this.scale;new d(this.container)},t.prototype.ifExcel=function(){return"Microsoft Excel"===j.find(this.file.guid,!1).format},t.prototype.ifPresentation=function(){return"Microsoft PowerPoint"===j.find(this.file.guid,!1).format},t.prototype.getDimensionWithUnit=function(t,e){return this.ifPresentation()&&this.showActiveSlide&&!this.isVisible(e)?0:t+(this.mode?j.find(this.file.guid,!1).unit:"px")},t.prototype.ifEdge=function(){return navigator.userAgent.toLowerCase().indexOf("edge")>-1},t.prototype.ngAfterViewChecked=function(){},t.prototype.isVisible=function(t){return!this.ifPresentation()||t===this.selectedPage},t.decorators=[{type:e.Component,args:[{selector:"gd-document",template:'
Please wait...
\n
\n
\n
\n \n
\n
\n \n
\n',styles:[":host{-webkit-box-flex:1;flex:1;-webkit-transition:.4s;transition:.4s;background-color:#e7e7e7;height:100%;overflow:scroll;touch-action:auto!important}:host .document{-webkit-user-select:text!important;-moz-user-select:text!important;-ms-user-select:text!important;user-select:text!important;touch-action:auto!important}.page{display:inline-block;background-color:#fff;margin:20px;box-shadow:0 3px 6px rgba(0,0,0,.16);-webkit-transition:.3s;transition:.3s}.page.excel{overflow:auto}.page.presentation{margin:0;-webkit-transition:unset;transition:unset}.page.presentation.active{margin:20px}.wait{position:absolute;top:55px;left:Calc(30%)}.panzoom{display:-webkit-box;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;flex-direction:row;flex-wrap:wrap;-webkit-box-pack:center;justify-content:center;align-content:flex-start}@media (max-width:1037px){.page{min-width:unset!important;min-height:unset!important;margin:5px 0}}"]}]}],t.ctorParameters=function(){return[{type:e.ElementRef},{type:B},{type:x},{type:$}]},t.propDecorators={mode:[{type:e.Input}],preloadPageCount:[{type:e.Input}],file:[{type:e.Input}],selectedPage:[{type:e.Input}],showActiveSlide:[{type:e.Input}]},t}();var q=function(){function t(){}return t.prototype.ngOnInit=function(){!!/(MSIE|Trident\/|Edge\/)/i.test(navigator.userAgent)&&0===this.number&&(this.editable=!1)},t.prototype.ngOnChanges=function(t){this.isHtml?this.data=this.data?this.data.replace(/>\s+<").replace(/\uFEFF/g,""):null:this.imgData="data:image/png;base64,"+this.data},t.decorators=[{type:e.Component,args:[{selector:"gd-page",template:'
\n
\n \n
\n \n  Loading... Please wait.\n
\n
\n',styles:[".gd-page-spinner{margin-top:150px;text-align:center}.gd-wrapper{width:inherit;height:inherit}.gd-wrapper div{width:100%}::ng-deep .gd-highlight{background-color:#ff0}::ng-deep .gd-highlight-select{background-color:#ff9b00}"]}]}],t.ctorParameters=function(){return[]},t.propDecorators={angle:[{type:e.Input}],width:[{type:e.Input}],height:[{type:e.Input}],number:[{type:e.Input}],data:[{type:e.Input}],isHtml:[{type:e.Input}],editable:[{type:e.Input}]},t}();var G=function(){function t(t){this.sanitizer=t}return t.prototype.transform=function(t){return this.sanitizer.bypassSecurityTrustHtml(t)},t.decorators=[{type:e.Pipe,args:[{name:"safeHtml"}]}],t.ctorParameters=function(){return[{type:u.DomSanitizer}]},t}();var X=function(){function t(t){this.sanitizer=t}return t.prototype.transform=function(t){return this.sanitizer.bypassSecurityTrustResourceUrl(t)},t.decorators=[{type:e.Pipe,args:[{name:"safeResourceHtml"}]}],t.ctorParameters=function(){return[{type:u.DomSanitizer}]},t}();var Z=function(){function t(t){this.sanitizer=t}return t.prototype.transform=function(t){return this.sanitizer.bypassSecurityTrustStyle(t)},t.decorators=[{type:e.Pipe,args:[{name:"safeStyle"}]}],t.ctorParameters=function(){return[{type:u.DomSanitizer}]},t}();var Y=function(){function t(){}return t.prototype.transform=function(t,e){if(!e)return t;var o=new RegExp(e,"gi");return t.replace(o,"$&")},t.decorators=[{type:e.Pipe,args:[{name:"highlight"}]}],t}(),J=function(){function t(t){this._uploadService=t,this.closeUpload=new e.EventEmitter}return t.prototype.ngOnInit=function(){},t.prototype.handleFileInput=function(t){this._uploadService.changeFilesList(t),this.onCloseUpload()},t.prototype.onCloseUpload=function(){this.closeUpload.emit(!0)},t.prototype.close=function(t){"gd-dropZone"===t.target.id&&this.onCloseUpload()},t.decorators=[{type:e.Component,args:[{selector:"gd-upload-file-zone",template:'
\n
\n \n
\n

Drag & Drop your files here

\n

OR

\n
\n \n
\n
\n',styles:[".gd-drag-n-drop-wrap{border:2px dashed #ccc;background-color:#f8f8f8;text-align:center;cursor:default;position:absolute;width:-webkit-fill-available;left:1px;display:-webkit-box;display:flex;align-content:center;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column;-webkit-box-pack:center;justify-content:center;opacity:.9;z-index:1}.gd-drag-n-drop-wrap h2{color:#959da5;margin:5px 0;font-size:15px;font-weight:300}.gd-drag-n-drop-wrap h4{color:#cacaca;font-weight:300;font-size:12px;margin:10px 0 15px}.gd-drag-n-drop-icon .fa-cloud-download-alt{color:#d1d1d1;font-size:110px}.gd-drag-n-drop-buttons i{margin-right:5px}.gd-drag-n-drop-buttons .btn{width:134px;height:35px;margin:0 10px;font-size:12px;font-weight:400}.gd-drag-n-drop-wrap.hover{background:#ddd;border-color:#aaa}"]}]}],t.ctorParameters=function(){return[{type:L}]},t.propDecorators={closeUpload:[{type:e.Output}]},t}();var K=function(){function t(t){this._uploadFilesService=t,this.closing=new e.EventEmitter,this.opening=new e.EventEmitter,this.dropped=new e.EventEmitter,this.active=!1,this.dragCounter=0}return t.prototype.onDragEnter=function(t){t.preventDefault(),t.stopPropagation(),this.dragCounter++,this.active=!0,this.opening.emit(!0)},t.prototype.onDragOver=function(t){return t.preventDefault(),t.stopPropagation(),!1},t.prototype.onDragLeave=function(t){t.preventDefault(),t.stopPropagation(),this.dragCounter--,0===this.dragCounter&&(this.active=!1,this.closeArea())},t.prototype.onDrop=function(t){t.preventDefault(),t.stopPropagation();var e=t.dataTransfer.files;e.length>0&&(this.active=!1,this.dropped.emit(!0),this._uploadFilesService.changeFilesList(e),this.closeArea())},t.prototype.onClick=function(t){this.closeArea()},t.prototype.closeArea=function(){this.closing.emit(!0),this.opening.emit(!1)},t.decorators=[{type:e.Directive,args:[{selector:"[gdDnd]"}]}],t.ctorParameters=function(){return[{type:L}]},t.propDecorators={closing:[{type:e.Output}],opening:[{type:e.Output}],dropped:[{type:e.Output}],active:[{type:e.HostBinding,args:["class.active"]}],onDragEnter:[{type:e.HostListener,args:["dragenter",["$event"]]}],onDragOver:[{type:e.HostListener,args:["dragover",["$event"]]}],onDragLeave:[{type:e.HostListener,args:["dragleave",["$event"]]}],onDrop:[{type:e.HostListener,args:["drop",["$event"]]}],onClick:[{type:e.HostListener,args:["click",["$event"]]}]},t}();var Q=l,tt=function(){function t(){}return t.prototype.checkInViewport=function(t,e,o,n){if(void 0===e&&(e=100),void 0===o&&(o=0),void 0===n&&(n=.5),!t)return!1;var i=n,r=Q(window),s=r.scrollTop(),a=r.scrollLeft()+o,c=r.scrollLeft()+r.width()-10,p=r.scrollTop()+r.height();isNaN(e)&&(e=100);var l=e/100,d=Q(t).outerHeight()*l,u=Q(t).outerWidth()*l;if(!u||!d)return!1;var g=Q(t).offset(),h=g.left*l+u,f=g.top*l+d;if(!!(ch||pf))return!1;var m=parseFloat(Math.min(1,(f-s)/d).toFixed(2)),b=parseFloat(Math.min(1,(p-g.top*l)/d).toFixed(2));return parseFloat(Math.min(1,(h-a)/u).toFixed(2))*parseFloat(Math.min(1,(c-g.left*l)/u).toFixed(2))>=i&&m*b>=.5},t.decorators=[{type:e.Injectable,args:[{providedIn:"root"}]}],t.ctorParameters=function(){return[]},t.ngInjectableDef=e.ɵɵdefineInjectable({factory:function(){return new t},token:t,providedIn:"root"}),t}(),et=l,ot=function(){function t(t,e,o,n,i,r){var s=this;this._elementRef=t,this._navigateService=e,this._pagePreloadService=o,this._zoomService=n,this._windowService=i,this._viewportService=r,this.zoom=100,this.loadedPagesSet=new Set,this.zoom=n.zoom?n.zoom:this.zoom,n.zoomChange.subscribe((function(t){s.zoom=t||s.zoom,s.refresh()}))}return t.prototype.ngAfterViewInit=function(){var t=this;this.zoom=this._zoomService.zoom?this._zoomService.zoom:this.zoom,this._navigateService.navigate.subscribe((function(e){t.currentPage=e,t.scrollToPage(e)})),this.refresh()},t.prototype.scrolling=function(){this.refresh()},t.prototype.resizing=function(){this.refresh()},t.prototype.scrollToPage=function(t){var e=this._elementRef.nativeElement,o=this.getPage(t),n=t>0?this.getPage(t-1):null,i=n&&et(n).offset().top===et(o).offset().top;if(!this._viewportService.checkInViewport(o,this.zoom)||!i){var r={left:0,top:this.calculateOffset(t)};e&&e.scroll(r)}},t.prototype.getChildren=function(){var t=this._elementRef?this._elementRef.nativeElement:null;if(t)return t.children.item(0).children.item(0).children},t.prototype.getPage=function(t){var e=this._elementRef?this._elementRef.nativeElement:null;if(e)return e.children.item(0).children.item(0).children.item(t-1)},t.prototype.calculateOffset=function(t){for(var e=this._windowService.isFirefox()?1:this.countPagesOnWidth(),o=this._windowService.isDesktop()?40:10,n=0,i=1;i0?s*this.getZoom()+o:0}return n},t.prototype.countPagesOnWidth=function(){var t=this.getPage(1);if(t){var e=Math.floor((this.getWidth()-150)/(t.getBoundingClientRect().width*this.getZoom()));if(0!==e)return e}return 1},t.prototype.refresh=function(){var t,e=!1,o=this.getPage(this.currentPage),n=this.currentPage&&o?o.getBoundingClientRect():null;for(t=1;t0?this.mouseWheelUp.emit(t):e<0&&this.mouseWheelDown.emit(t)},t.decorators=[{type:e.Directive,args:[{selector:"[gdMouseWheel]"}]}],t.propDecorators={mouseWheelUp:[{type:e.Output}],mouseWheelDown:[{type:e.Output}],onMouseWheelChrome:[{type:e.HostListener,args:["mousewheel",["$event"]]}],onMouseWheelFirefox:[{type:e.HostListener,args:["DOMMouseScroll",["$event"]]}],onMouseWheelIE:[{type:e.HostListener,args:["onmousewheel",["$event"]]}]},t}();var it=function(){function t(t,e,o){this._zoomService=t,this._windowService=e,this.zoomActive=!0,this.el=o}return t.prototype.ngOnDestroy=function(){},t.prototype.ngOnChanges=function(){this.setStyles(this._zoomService.zoom),this.resizePages(this._zoomService.zoom)},t.prototype.ngOnInit=function(){var t=this;this.zoomActive&&(this.setStyles(this._zoomService.zoom),this._zoomService.zoomChange.subscribe((function(e){t.setStyles(e),t.resizePages(e)})))},t.prototype.setStyles=function(t){if(this.zoomActive){var e=100===t?1:t/100;this._windowService.isEdge()?this.zoomInt=e:this.zoomInt=null,this._windowService.isEdge()?(this.transform="",this.transformOrigin=""):(this.transform="scale("+e+")",this.transformOrigin="top left");var o=0;this.file.pages.forEach((function(t){t.width>o&&(o=t.width)})),this.minWidth=o+j.find(this.file.guid,!1).unit}},t.prototype.getScrollWidth=function(t){return t.offsetWidth-t.clientWidth},t.prototype.getScrollHeight=function(t){return t.offsetHeight-t.clientHeight},t.prototype.resizePages=function(t){var e=100===t?1:t/100,o=this.el.nativeElement.parentElement.offsetWidth,n=this.el.nativeElement.parentElement.offsetHeight,i=this.getScrollWidth(this.el.nativeElement.parentElement),r=this.getScrollHeight(this.el.nativeElement.parentElement);this.width=o/e-i/e+"px",this.height=n/e-r/e+"px"},t.prototype.ngAfterViewInit=function(){this.setStyles(this._zoomService.zoom)},t.decorators=[{type:e.Directive,args:[{selector:"[gdZoom]"}]}],t.ctorParameters=function(){return[{type:B},{type:x},{type:e.ElementRef}]},t.propDecorators={zoomActive:[{type:e.Input}],file:[{type:e.Input}],zoomInt:[{type:e.HostBinding,args:["style.zoom"]}],transform:[{type:e.HostBinding,args:["style.transform"]}],transformOrigin:[{type:e.HostBinding,args:["style.transform-origin"]}],width:[{type:e.HostBinding,args:["style.width"]}],height:[{type:e.HostBinding,args:["style.height"]}],minWidth:[{type:e.HostBinding,args:["style.min-width"]}]},t}();var rt=function(){function t(){this._observer=new n.Subject,this._onClose=this._observer.asObservable()}return Object.defineProperty(t.prototype,"onClose",{get:function(){return this._onClose},enumerable:!0,configurable:!0}),t.prototype.close=function(t){this._observer.next(t)},t.decorators=[{type:e.Injectable,args:[{providedIn:"root"}]}],t.ctorParameters=function(){return[]},t.ngInjectableDef=e.ɵɵdefineInjectable({factory:function(){return new t},token:t,providedIn:"root"}),t}();var st=function(){function t(t){var o=this;this._onCloseService=t,this.disabled=!1,this.selected=new e.EventEmitter,this.opened=new e.EventEmitter,this.isOpen=!1,t.onClose.subscribe((function(){o.close()}))}return t.prototype.open=function(){this.disabled||(this.isOpen=!0)},t.prototype.close=function(){this.isOpen=!1},t.prototype.onClickOutside=function(t){this.close()},t.prototype.toggle=function(t){t.preventDefault(),t.stopPropagation(),this.disabled||(this.isOpen=!this.isOpen,this.isOpen&&this.opened.emit(!0))},t.prototype.select=function(t,e){t.preventDefault(),t.stopPropagation(),this.selected.emit(e),this.close()},t.decorators=[{type:e.Component,args:[{selector:"gd-select",template:'
\n
\n {{showSelected?.name}}\n
\n \n \n \n
\n',styles:[".select{min-width:50px;display:-webkit-box;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;flex-direction:row;-webkit-box-pack:center;justify-content:center;-webkit-box-align:center;align-items:center;color:#959da5}.selected-value{font-size:14px;cursor:pointer;white-space:nowrap;overflow:hidden;text-overflow:clip;max-width:70px}.selected-value.inactive{cursor:not-allowed;color:#ccc}.nav-caret{display:inline-block;width:0;height:0;margin-left:2px;vertical-align:middle;border-top:4px dashed;border-right:4px solid transparent;border-left:4px solid transparent;cursor:pointer}.nav-caret.inactive{cursor:not-allowed;color:#ccc}.dropdown-menu{position:absolute;top:49px;z-index:1000;float:left;min-width:96px;list-style:none;font-size:13px;text-align:left;background-color:#fff;box-shadow:0 3px 6px rgba(0,0,0,.3);background-clip:padding-box}.dropdown-menu .option{display:block;padding:7px 0 7px 7px;clear:both;font-weight:400;line-height:1.42857143;white-space:nowrap;cursor:pointer;font-size:10px}.dropdown-menu .option:hover{background-color:#25c2d4;color:#fff!important}.dropdown-menu-separator{height:1px;overflow:hidden;background-color:#f4f4f4;padding:0!important}"]}]}],t.ctorParameters=function(){return[{type:rt}]},t.propDecorators={options:[{type:e.Input}],disabled:[{type:e.Input}],showSelected:[{type:e.Input}],selected:[{type:e.Output}],opened:[{type:e.Output}],isOpen:[{type:e.Input}],icon:[{type:e.Input}]},t}();var at=function(){function t(){}return t.prototype.updateCursor=function(){this.cursor=!!this.dis},t.prototype.ngOnInit=function(){this.updateCursor()},t.prototype.ngOnChanges=function(t){this.updateCursor()},t.decorators=[{type:e.Directive,args:[{selector:"[gdDisabledCursor]"}]}],t.ctorParameters=function(){return[]},t.propDecorators={dis:[{type:e.Input}],cursor:[{type:e.HostBinding,args:["class.inactive"]}]},t}();var ct=function(){function t(){this.withMargin=!0}return t.prototype.updateCursor=function(){"string"==typeof this.angle&&(this.angle=parseInt(this.angle,10)),this.angle?(this.animation="none",this.transition="none",this.transform="rotate("+this.angle+"deg)"):0===this.angle&&this.animation&&(this.animation=null,this.transition=null,this.transform=null),this.withMargin&&(90===this.angle||270===this.angle||-90===this.angle||-270===this.angle?this.isHtmlMode?this.isLandscape()?this.margin="164px 254px":this.margin="-111px 254px":this.isLandscape()?this.margin="129px 100px -79px":this.margin="-72px 100px -79px":-180===this.angle||180===this.angle?this.margin="280px":this.margin=null)},t.prototype.isLandscape=function(){return this.width>this.height},t.prototype.ngOnInit=function(){this.updateCursor()},t.prototype.ngOnChanges=function(t){this.updateCursor()},t.decorators=[{type:e.Directive,args:[{selector:"[gdRotation]"}]}],t.ctorParameters=function(){return[]},t.propDecorators={angle:[{type:e.Input}],isHtmlMode:[{type:e.Input}],width:[{type:e.Input}],height:[{type:e.Input}],withMargin:[{type:e.Input}],animation:[{type:e.HostBinding,args:["style.animation"]}],transition:[{type:e.HostBinding,args:["style.transition-property"]}],transform:[{type:e.HostBinding,args:["style.transform"]}],margin:[{type:e.HostBinding,args:["style.margin"]}]},t}();var pt=function(){function t(){this.fileDropped=new e.EventEmitter,this.showUploadFile=!1}return t.prototype.ngOnInit=function(){},t.prototype.dropped=function(t){t&&(this.fileDropped.emit(t),this.showUploadFile=!1)},t.decorators=[{type:e.Component,args:[{selector:"gd-init-state",template:'
\n
\n \n \n \n \n
\n
\n \n {{text}}\n
\n
\n',styles:[".wrapper{color:#959da5;background-color:#e7e7e7;display:-webkit-box;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column;-webkit-box-pack:center;justify-content:center;-webkit-box-align:center;align-items:center;width:100%;height:100%}.icon{font-size:65px;margin-bottom:43px;display:-webkit-box;display:flex;color:#959da5}.start{font-size:15px;text-align:center;color:#959da5}.gd-drag-n-drop-wrap.active{background-color:#fff;position:fixed;top:0;background:rgba(255,255,255,.8)}.gd-drag-n-drop-wrap.active .init-state-wrapper{position:absolute;opacity:.2;top:unset}.gd-drag-n-drop-wrap.active .init-state-dnd-wrapper{top:0;z-index:999}.gd-drag-n-drop-wrap.active .init-state-dnd-wrapper .icon{width:113px;height:90px;font-size:90px;color:#3e4e5a;margin-bottom:30px}.gd-drag-n-drop-wrap.active .text{color:#6e6e6e;font-size:14px}.init-state-dnd-wrapper,.init-state-wrapper{display:-webkit-box;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column;width:250px;height:250px;-webkit-box-align:center;align-items:center;-webkit-box-pack:center;justify-content:center}.init-state-wrapper{top:-60px;position:relative}"]}]}],t.ctorParameters=function(){return[]},t.propDecorators={icon:[{type:e.Input}],text:[{type:e.Input}],fileDropped:[{type:e.Output}]},t}();var lt=function(){function t(){var t=this;this._render=new n.Observable((function(e){return t._observer=e})),this._renderBlob=new n.Observable((function(e){return t._observerBlob=e}))}return Object.defineProperty(t.prototype,"renderPrint",{get:function(){return this._render},enumerable:!0,configurable:!0}),t.prototype.changePages=function(t){this._observer.next(t)},Object.defineProperty(t.prototype,"renderPrintBlob",{get:function(){return this._renderBlob},enumerable:!0,configurable:!0}),t.prototype.changeBlob=function(t){this._observerBlob.next(t)},t}();var dt=function(){function t(t){var e=this;this._renderService=t,t.renderPrint.subscribe((function(t){e.renderPrint(t)})),t.renderPrintBlob.subscribe((function(t){e.renderPrintBlob(t)}))}return t.prototype.renderPrint=function(t){var e,o,n="";try{for(var i=m(t),r=i.next();!r.done;r=i.next()){var s=r.value;n+='
'}}catch(t){e={error:t}}finally{try{r&&!r.done&&(o=i.return)&&o.call(i)}finally{if(e)throw e.error}}this.openWindow(n,t[0].width,t[0].height)},t.prototype.openWindow=function(t,e,o){var n="";if(e>595&&o>842){var i=Math.round(o/842)/100;n=".gd-page img { width: 100%; margin: 0; padding: 0;}",navigator.userAgent.toLowerCase().indexOf("firefox")>-1&&(n=".gd-page img { transform: scale("+i+");}")}var r="";var s=window.open("","PrintWindow","width=750,height=650,top=50,left=50,toolbars=yes,scrollbars=yes,status=yes,resizable=yes");s.focus(),s.document.writeln(r),s.document.writeln(t),s.document.close(),setTimeout((function(){s.focus(),s.print(),s.close()}),100)},t.prototype.renderPrintBlob=function(t){var e=URL.createObjectURL(t),o=window.open(e,"PrintWindow","width=750,height=650,top=50,left=50,toolbars=yes,scrollbars=yes,status=yes,resizable=yes");o.focus(),o.print(),o.close()},t.decorators=[{type:e.Directive,args:[{selector:"[gdRenderPrint]"}]}],t.ctorParameters=function(){return[{type:lt}]},t.propDecorators={htmlMode:[{type:e.Input}]},t}();var ut=function(){function t(){this._observer=new n.BehaviorSubject("Server is not available"),this._messageChange=this._observer.asObservable(),this._observerHttpEvent=new n.BehaviorSubject(null),this._httpEventChange=this._observerHttpEvent.asObservable()}return Object.defineProperty(t.prototype,"messageChange",{get:function(){return this._messageChange},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"httpEventChange",{get:function(){return this._httpEventChange},enumerable:!0,configurable:!0}),t.prototype.changeMessage=function(t){this._observer.next(t)},t.prototype.changeHttpEvent=function(t){this._observerHttpEvent.next(t)},t}();var gt=function(){function t(t){var e=this;t.messageChange.subscribe((function(t){return e.message=t}))}return t.prototype.ngOnInit=function(){},t.decorators=[{type:e.Component,args:[{selector:"gd-error-modal",template:'\n
\n \n
\n
Something went wrong
\n
{{message ? message : \'Server is not available\'}}
\n
\n
\n
\n',styles:[".gd-modal-error{display:-webkit-inline-box;display:inline-flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column;-webkit-box-flex:1;flex:1}.gd-modal-error .gd-modal-error-message{font-size:12px;margin:0 24px 24px 0;word-break:break-word}.gd-modal-error .gd-modal-error-title{font-size:16px;font-weight:700;margin:14px 0 10px}#gd-error-section{max-width:468px;max-height:204px;display:-webkit-box;display:flex}#gd-error-section fa-icon{-webkit-box-flex:1;flex:1;color:#e04e4e;font-size:40px;margin:13px 23px 90px;text-align:center;max-width:46px}"]}]}],t.ctorParameters=function(){return[{type:ut}]},t}();var ht=function(){function t(){this._observer=new n.Subject,this._passChange=this._observer.asObservable()}return Object.defineProperty(t.prototype,"passChange",{get:function(){return this._passChange},enumerable:!0,configurable:!0}),t.prototype.setPassword=function(t){this._observer.next(t)},t}();var ft=l,mt=function(){function t(t,o){var n=this;this._passwordService=o,this.cancelEvent=new e.EventEmitter,t.messageChange.subscribe((function(t){return n.message=t}))}return t.prototype.ngOnInit=function(){},t.prototype.setPassword=function(t){this._passwordService.setPassword(t)},t.prototype.onCloseOpen=function(t){t?setTimeout((function(){var t=ft("#password");t&&t.focus()}),100):ft("#password").val("")},t.prototype.cancel=function(t){ft("#password").val(""),this.cancelEvent.emit(!0)},t.decorators=[{type:e.Component,args:[{selector:"gd-password-required",template:'\n
\n
\n \n \n {{message}}\n \n Open\n \n
\n
\n
\n',styles:["#gd-password-section{width:375px;height:164px}.gd-password-wrap{display:-webkit-box;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column;margin:24px}.gd-password-wrap label{font-size:14px;color:#acacac;padding-bottom:12px}.gd-password-wrap input{height:30px;border:1px solid #25c2d4}.gd-password-wrap input.error{border-color:#e04e4e}.gd-password-wrap gd-button{align-self:flex-end}.gd-password-wrap ::ng-deep .button{height:37px;width:72px;padding:0;-webkit-box-pack:center;justify-content:center}.gd-password-wrap ::ng-deep .button ::ng-deep .text{font-size:10px!important}.gd-password-error{color:#e04e4e;padding:10px 0 12px;height:12px;line-height:12px;font-size:12px}@media (max-width:1037px){#gd-password-section{min-width:375px}}"]}]}],t.ctorParameters=function(){return[{type:ut},{type:ht}]},t.propDecorators={cancelEvent:[{type:e.Output}]},t}();var bt=function(){function t(t,e){this._modalService=t,this._messageService=e}return t.prototype.intercept=function(e,o){var r=this,s="background: maroon; color: white";return o.handle(e).pipe(i.map((function(t){return t})),i.catchError((function(e){if(e instanceof p.HttpErrorResponse)switch(e.status){case A.BadRequest:console.error("%c Bad Request 400",s);break;case A.Unauthorized:console.error("%c Unauthorized 401",s);break;case A.NotFound:console.error("%c Not Found 404",s);break;case A.TimeOut:console.error("%c TimeOut 408",s);break;case A.InternalServerError:console.error("%c big bad 500",s),r._messageService.changeMessage(e.error.message),r._messageService.changeHttpEvent(e),r._modalService.open(t.ErrorMessageWindowName);break;case A.Forbidden:console.error("%c Forbidden 403",s),r._messageService.changeMessage(e.error.message),r._modalService.open(_.PasswordRequired)}return n.throwError(e)})))},t.ErrorMessageWindowName=_.ErrorMessage,t.decorators=[{type:e.Injectable,args:[{providedIn:"root"}]}],t.ctorParameters=function(){return[{type:P},{type:ut}]},t.ngInjectableDef=e.ɵɵdefineInjectable({factory:function(){return new t(e.ɵɵinject(P),e.ɵɵinject(ut))},token:t,providedIn:"root"}),t}();var vt=function(){function t(){this._observer=new n.Subject,this._textChange=this._observer.asObservable(),this._observerCurrent=new n.Subject,this._currentChange=this._observerCurrent.asObservable(),this._observerTotal=new n.Subject,this._totalChange=this._observerTotal.asObservable()}return Object.defineProperty(t.prototype,"textChange",{get:function(){return this._textChange},enumerable:!0,configurable:!0}),t.prototype.setText=function(t){this._observer.next(t)},Object.defineProperty(t.prototype,"currentChange",{get:function(){return this._currentChange},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"totalChange",{get:function(){return this._totalChange},enumerable:!0,configurable:!0}),t.prototype.setCurrent=function(t){this._observerCurrent.next(t)},t.prototype.setTotal=function(t){this._observerTotal.next(t)},t}();var xt=function(){function t(t){var o=this;this._searchService=t,this.hidePanel=new e.EventEmitter(!1),this.current=0,this.total=0,t.totalChange.subscribe((function(t){o.total=t,o.current=0!==t?1:0,o._searchService.setCurrent(o.current)}))}return t.prototype.ngOnInit=function(){},t.prototype.setText=function(t){this._searchService.setText(t)},t.prototype.hide=function(){this.setText(""),this.hidePanel.emit(!0)},t.prototype.prev=function(){this.current>1&&(this.current--,this._searchService.setCurrent(this.current))},t.prototype.next=function(){this.current\n \n
{{current}} of {{total}}
\n \n \n \n \n \n \n\n',styles:[".gd-nav-search-btn{margin:3px 0 4px}.gd-nav-search-cancel{color:#fff;font-size:14px;width:37px}.gd-search-count{color:#959da5;font-size:12px;position:absolute;right:148px;top:14px}.gd-nav-search-container{background-color:#3e4e5a;width:410px;position:fixed;left:50%;top:60px;z-index:2;-webkit-transform:translate(-50%,0);transform:translate(-50%,0);display:-webkit-box;display:flex}.gd-search-input{float:left;height:30px;width:267px;font-size:14px;color:#6e6e6e;border:1px solid #25c2d4;margin:7px 0 7px 7px;box-sizing:border-box;padding:6px 0 5px 9px}input[type=text]::-ms-clear{display:none}@media (max-width:1037px){.gd-search-input{width:231px;height:30px;margin:7px 0 7px 5px}.gd-search-count{position:absolute;left:193px;top:15px}.gd-nav-search-container{width:100%}}"]}]}],t.ctorParameters=function(){return[{type:vt}]},t.propDecorators={hidePanel:[{type:e.Output}],textElement:[{type:e.ViewChild,args:["text",{static:!0}]}]},t}();var wt=l,yt=function(){function t(t,e,o,n){var i=this;this._elementRef=t,this._searchService=e,this._highlight=o,this._zoomService=n,this.current=0,this.total=0,this.zoom=100,e.currentChange.subscribe((function(t){i.current=t,0!==i.current&&i.moveToCurrent()})),e.textChange.subscribe((function(t){i.text=t,i.highlightSearch()})),this.zoom=n.zoom?n.zoom:this.zoom,n.zoomChange.subscribe((function(t){i.zoom=t||i.zoom}))}return t.prototype.highlightSearch=function(){var t=this._elementRef?this._elementRef.nativeElement:null;if(t){if(this.cleanHighlight(t),this.text){this.highlightEl(t);var e=t.querySelectorAll(".gd-highlight").length;this.total=e}else this.total=0;this._searchService.setTotal(this.total)}},t.prototype.moveToCurrent=function(){if(0!==this.current){this.getZoom();var t=this._elementRef?this._elementRef.nativeElement:null;if(t){t.querySelectorAll(".gd-highlight-select").forEach((function(t){wt(t).removeClass("gd-highlight-select")}));var e=t.querySelectorAll(".gd-highlight")[this.current-1];if(wt(e).addClass("gd-highlight-select"),e){var o={left:0,top:wt(e).offset().top+t.parentElement.parentElement.scrollTop-150};t.parentElement.parentElement.scroll(o)}}}},t.prototype.highlightEl=function(t){var e=wt(t).find("*").contents().filter((function(){var t=this.parentElement.nodeName.toLowerCase(),e=!this.classList||!this.classList.contains("gd-highlight");return 3===this.nodeType&&0!==this.textContent.trim().length&&"style"!==t&&"title"!==t&&"body"!==t&&"script"!==t&&e})),o=this.text,n=this._highlight;e.each((function(){var t=wt(this),e=t.text();e=n.transform(e,o),t.replaceWith(e)})),t.normalize()},t.prototype.cleanHighlight=function(t){for(var e=t.querySelectorAll(".gd-highlight"),o=0;o\n \n \n\n',styles:[".top-panel{background:#3e4e5a;display:-webkit-box;display:flex;width:100%;height:90px}.top-panel ::ng-deep .logo{height:30px;font-size:16px}@media (max-width:1037px){.top-panel{height:60px}.top-panel ::ng-deep .logo{height:60px}}"]}]}],t.ctorParameters=function(){return[]},t.propDecorators={logo:[{type:e.Input}],icon:[{type:e.Input}]},t}();var kt=function(){function t(){this._observer=new n.Subject,this._activeTabChange=this._observer.asObservable()}return Object.defineProperty(t.prototype,"activeTabChange",{get:function(){return this._activeTabChange},enumerable:!0,configurable:!0}),t.prototype.changeActiveTab=function(t){this._observer.next(t)},t}();var Ct=function(){function t(t){var e=this;this._tabActivatorService=t,this.disabled=!1,this.active=!1,this.content=!0,this._tabActivatorService.activeTabChange.subscribe((function(t){e.activation(t)}))}return t.prototype.activation=function(t){this.id===t?this.active=!0:this.active=!1},t.prototype.ngOnInit=function(){},t.prototype.selectTab=function(){this.disabled||this._tabActivatorService.changeActiveTab(this.id)},t.decorators=[{type:e.Component,args:[{selector:"gd-tab",template:'
\n
{{tabTitle}}
\n \n
\n
\n \n
\n',styles:[".tab-content{height:60px;position:absolute;background-color:#fff;width:100%;left:0;line-height:60px;display:none;z-index:9}.tab-content ::ng-deep .toolbar-panel{height:60px}.tab-content.active{display:-webkit-box;display:flex}.gd-tab{text-align:center;font-size:11px;color:#e5e5e5;height:30px;line-height:30px;cursor:pointer;display:-webkit-box;display:flex;-webkit-box-align:center;align-items:center;-webkit-box-pack:center;justify-content:center}.gd-tab .icon{display:none;font-size:14px}.gd-tab .smp-tab-title{margin:auto 23px}.gd-tab.active{background-color:#fff;color:#3e4e5a;font-weight:700}@media (max-width:1037px){.gd-tab{height:60px;line-height:60px;width:60px}.gd-tab .title{display:none}.gd-tab .icon{display:block;font-size:22px}}"]}]}],t.ctorParameters=function(){return[{type:kt}]},t.propDecorators={id:[{type:e.Input}],tabTitle:[{type:e.Input}],icon:[{type:e.Input}],disabled:[{type:e.Input}],active:[{type:e.Input}],content:[{type:e.Input}]},t}();var _t=function(){function t(){}return t.decorators=[{type:e.Component,args:[{selector:"gd-tabs",template:'
\n \n
\n',styles:[".gd-tabs{display:-webkit-box;display:flex}"]}]}],t.ctorParameters=function(){return[]},t}(),Pt=function(){function t(t,e,o,n,i,r,s,a,c,p){this.fontSize=t,this.color=e,this.bgColor=o,this.bold=n,this.italic=i,this.underline=r,this.font=s,this.strikeout=a,this.align=c,this.list=p}return t.default=function(){return new t(10,"#000000","#FFFFFF",!1,!1,!1,"Arial",!1,"","")},t}();var Et=function(){function t(){this._observerBold=new n.Subject,this._formatBoldChange=this._observerBold.asObservable(),this._observerUnderline=new n.Subject,this._formatUnderlineChange=this._observerUnderline.asObservable(),this._observerUndo=new n.Subject,this._undo=this._observerUndo.asObservable(),this._observerRedo=new n.Subject,this._redo=this._observerRedo.asObservable(),this._observerItalic=new n.Subject,this._formatItalicChange=this._observerItalic.asObservable(),this._observerColor=new n.Subject,this._formatColorChange=this._observerColor.asObservable(),this._observerBgColor=new n.Subject,this._formatBgColorChange=this._observerBgColor.asObservable(),this._observerFontSize=new n.Subject,this._formatFontSizeChange=this._observerFontSize.asObservable(),this._observerFont=new n.Subject,this._formatFontChange=this._observerFont.asObservable(),this._observerStrikeout=new n.Subject,this._formatStrikeoutChange=this._observerStrikeout.asObservable(),this._observerAlign=new n.Subject,this._formatAlignChange=this._observerAlign.asObservable(),this._observerList=new n.Subject,this._formatListChange=this._observerList.asObservable()}return Object.defineProperty(t.prototype,"formatBoldChange",{get:function(){return this._formatBoldChange},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"formatUnderlineChange",{get:function(){return this._formatUnderlineChange},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"formatColorChange",{get:function(){return this._formatColorChange},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"formatBgColorChange",{get:function(){return this._formatBgColorChange},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"formatFontSizeChange",{get:function(){return this._formatFontSizeChange},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"formatFontChange",{get:function(){return this._formatFontChange},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"undo",{get:function(){return this._undo},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"redo",{get:function(){return this._redo},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"formatItalicChange",{get:function(){return this._formatItalicChange},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"formatStrikeoutChange",{get:function(){return this._formatStrikeoutChange},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"formatAlignChange",{get:function(){return this._formatAlignChange},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"formatListChange",{get:function(){return this._formatListChange},enumerable:!0,configurable:!0}),t.createFontSizeOption=function(t){return{value:t,name:t+"px",separator:!1}},t.getFontSizeOptions=function(){return[t.createFontSizeOption(8),t.createFontSizeOption(10),t.createFontSizeOption(12),t.createFontSizeOption(14),t.createFontSizeOption(16),t.createFontSizeOption(18),t.createFontSizeOption(20),t.createFontSizeOption(22),t.createFontSizeOption(24)]},t.createFontOption=function(t){return{value:t,name:t,separator:!1}},t.getFontOptions=function(){var t=this,e=[];return["Arial","Calibri","Century Gothic","Comic Sans","Consolas","Courier","Dejavu Sans","Dejavu Serif","Georgia","Gill Sans","Helvetica","Impact","Lucida Sans","Myriad Pro","Open Sans","Palatino","Tahoma","Times New Roman","Trebuchet"].forEach((function(o){e.push(t.createFontOption(o))})),e},t.prototype.changeFormatFontSize=function(t){this._observerFontSize.next(t)},t.prototype.changeFormatBold=function(t){this._observerBold.next(t)},t.prototype.changeFormatUnderline=function(t){this._observerUnderline.next(t)},t.prototype.Undo=function(){this._observerUndo.next()},t.prototype.Redo=function(){this._observerRedo.next()},t.prototype.changeFormatItalic=function(t){this._observerItalic.next(t)},t.prototype.changeFormatColor=function(t){this._observerColor.next(t)},t.prototype.changeFormatBgColor=function(t){this._observerBgColor.next(t)},t.prototype.changeFormatFont=function(t){this._observerFont.next(t)},t.prototype.changeFormatStrikeout=function(t){this._observerStrikeout.next(t)},t.prototype.changeFormatAlign=function(t){this._observerAlign.next(t)},t.prototype.changeFormatList=function(t){this._observerList.next(t)},t}();var It=["#000000","#434343","#666666","#999999","#B7B7B7","#CCCCCC","#D9D9D9","#EFEFEF","#F3F3F3","#FFFFFF","#980000","#FF0000","#FF9900","#FFFF00","#00FF00","#00FFFF","#4986E8","#0000FF","#9900FF","#FF00FF","#E6B8AF","#F4CCCC","#FDE5CD","#FFF2CC","#D9EAD3","#D0E0E2","#C9DAF8","#CFE2F3","#D9D2E9","#EAD1DC","#DD7E6B","#EA9899","#F9CB9C","#FFE59A","#B7D7A8","#A2C4C9","#A4C2F4","#9FC5E8","#B4A7D7","#D5A6BD","#CC4125","#E06666","#F6B26B","#FFD966","#92C47D","#75A5AF","#6D9EEB","#6FA9DB","#8E7CC3","#C27BA0","#A61C00","#CC0000","#E69138","#F2C131","#6AA84F","#45818E","#3C78D8","#3C85C6","#674EA7","#A64D79","#85200B","#990000","#B45F05","#BF9000","#37761D","#144F5C","#1254CC","#0A5394","#351C75","#741B47","#5B0F00","#660000","#783F03","#7F6000","#284E13","#0B343D","#1B4586","#063763","#20124D","#4C1030"],Ot=function(){function t(){this.isOpen=!1,this.selectedColor=new e.EventEmitter,this.closeOutside=new e.EventEmitter,this.colors=It,this.white="#FFFFFF"}return t.prototype.ngOnInit=function(){},t.prototype.select=function(t,e){t.preventDefault(),t.stopPropagation(),this.selectedColor.emit(e)},t.prototype.close=function(){this.isOpen=!1,this.closeOutside.emit(!0)},t.decorators=[{type:e.Component,args:[{selector:"gd-color-picker",template:'
\n
\n
\n
\n
\n',styles:[".bcPicker-picker{border:1px;border-radius:100%}.bcPicker-palette{width:250px;background-color:#fdfdfd;z-index:999;box-shadow:0 0 5px #efefef;display:-webkit-box;display:flex;flex-wrap:wrap;-webkit-box-pack:center;justify-content:center}.bcPicker-palette>.bcPicker-color{width:18px;height:18px;margin:2px;cursor:pointer}"]}]}],t.ctorParameters=function(){return[]},t.propDecorators={isOpen:[{type:e.Input}],selectedColor:[{type:e.Output}],closeOutside:[{type:e.Output}]},t}();var zt=function(t){function o(){return t.call(this)||this}return f(o,t),o.decorators=[{type:e.Injectable,args:[{providedIn:"root"}]}],o.ctorParameters=function(){return[]},o.ngInjectableDef=e.ɵɵdefineInjectable({factory:function(){return new o},token:o,providedIn:"root"}),o}(Et),Ft=function(){function t(){this.isIE=!!/(MSIE|Trident\/|Edge\/)/i.test(navigator.userAgent)}return t.prototype.restoreSelection=function(){(this.selection&&!this.selection.collapsed||this.isIE)&&this.putSelection(this.selection)},t.prototype.captureSelection=function(){var t=window.getSelection();t.rangeCount>0&&(this.selection=t.getRangeAt(0))},t.prototype.putSelection=function(t){var e=window.getSelection();e.removeAllRanges(),e.addRange(t.cloneRange())},t.prototype.refreshSelection=function(){this.captureSelection(),this.restoreSelection()},t.decorators=[{type:e.Injectable,args:[{providedIn:"root"}]}],t.ngInjectableDef=e.ɵɵdefineInjectable({factory:function(){return new t},token:t,providedIn:"root"}),t}();var Dt=l,Tt=function(){function t(t,e,o){this._formattingService=t,this._backFormattingService=e,this._selectionService=o,this.bold=!1,this.italic=!1,this.underline=!1,this.strikeout=!1,this.isIE=!1,this.isIE=!!/(MSIE|Trident\/|Edge\/)/i.test(navigator.userAgent)}return t.prototype.mouseup=function(){this.bold=document.queryCommandState("bold"),this.strikeout=document.queryCommandState("strikeThrough"),this.italic=document.queryCommandState("italic"),this.bgColor=document.queryCommandValue("backColor"),this.underline=document.queryCommandState("underline"),this.align=this.checkJustify(),this.list=this.checkList(),"transparent"===this.bgColor&&(this.bgColor=Dt(window.getSelection().focusNode.parentNode).css("background-color").toString()),this.font=document.queryCommandValue("FontName").replace(/"/g,""),this.font.split(",").length>1&&(this.font=this.font.split(",")[0]),this.color=document.queryCommandValue("foreColor"),this._backFormattingService.changeFormatBold(this.bold),this._backFormattingService.changeFormatUnderline(this.underline),this._backFormattingService.changeFormatItalic(this.italic),this._backFormattingService.changeFormatColor(this.color),this._backFormattingService.changeFormatBgColor(this.bgColor),this._backFormattingService.changeFormatFontSize(this.reportFontSize()),this._backFormattingService.changeFormatFont(this.font),this._backFormattingService.changeFormatStrikeout(this.strikeout),this._backFormattingService.changeFormatAlign(this.align),this._backFormattingService.changeFormatList(this.list)},t.prototype.checkJustify=function(){var t="";return t=document.queryCommandState("justifyCenter")?"center":t,t=document.queryCommandState("justifyFull")?"full":t,t=document.queryCommandState("justifyLeft")?"left":t,t=document.queryCommandState("justifyRight")?"right":t},t.prototype.checkList=function(){var t="";return t=document.queryCommandState("insertUnorderedList")?"unordered":t,t=document.queryCommandState("insertOrderedList")?"ordered":t},t.prototype.reportFontSize=function(){var t,e;if(window.getSelection?(e=window.getSelection()).rangeCount&&3===(t=e.getRangeAt(0).commonAncestorContainer).nodeType&&(t=t.parentNode):(e=document.getSelection())&&"Control"!==e.type&&(t=e.createRange().parentElement()),t)return parseInt(this.getComputedStyleProperty(t,"fontSize").replace("px",""),10)},t.prototype.getComputedStyleProperty=function(t,e){return window.getComputedStyle?window.getComputedStyle(t,null)[e]:t.currentStyle?t.currentStyle[e]:void 0},t.prototype.ngOnInit=function(){var t=this;this._formattingService.undo.subscribe((function(){t.toggleUndo()})),this._formattingService.redo.subscribe((function(){t.toggleRedo()})),this._formattingService.formatBoldChange.subscribe((function(e){t.bold=e,t.toggleBold()})),this._formattingService.formatUnderlineChange.subscribe((function(e){t.underline=e,t.toggleUnderline()})),this._formattingService.formatItalicChange.subscribe((function(e){t.italic=e,t.toggleItalic()})),this._formattingService.formatColorChange.subscribe((function(e){t.color=e,t.setColor(e)})),this._formattingService.formatBgColorChange.subscribe((function(e){t.bgColor=e,t.setBgColor(e)})),this._formattingService.formatFontSizeChange.subscribe((function(e){t.setFontSize(e)})),this._formattingService.formatFontChange.subscribe((function(e){t.font=e,t.setFont(e)})),this._formattingService.formatStrikeoutChange.subscribe((function(e){t.strikeout=e,t.toggleStrikeout()})),this._formattingService.formatAlignChange.subscribe((function(e){t.align=e,t.toggleAlign(t.align)})),this._formattingService.formatListChange.subscribe((function(e){var o=t.list===e;t.list=e,t.toggleList(t.list,o)}))},t.prototype.toggleBold=function(){document.execCommand("bold"),this._selectionService.refreshSelection()},t.prototype.toggleUnderline=function(){document.execCommand("underline"),this._selectionService.refreshSelection()},t.prototype.toggleItalic=function(){document.execCommand("italic"),this._selectionService.refreshSelection()},t.prototype.setBgColor=function(t){document.execCommand("backColor",!1,t),this._selectionService.refreshSelection()},t.prototype.setColor=function(t){document.execCommand("foreColor",!1,t),this._selectionService.refreshSelection()},t.prototype.setFontSize=function(t){if(document.getSelection().toString()){var e=""+document.getSelection()+"";this.bold&&(e=""+e+""),this.italic&&(e=""+e+""),this.underline&&(e=""+e+""),this.strikeout&&(e=""+e+""),document.execCommand("insertHTML",!1,e)}else document.execCommand("fontsize",!1,"7");this._selectionService.refreshSelection()},t.prototype.toggleUndo=function(){document.execCommand("undo")},t.prototype.toggleRedo=function(){document.execCommand("redo")},t.prototype.setFont=function(t){document.execCommand("fontName",!1,t),this._selectionService.refreshSelection()},t.prototype.toggleStrikeout=function(){document.execCommand("strikeThrough"),this._selectionService.refreshSelection()},t.prototype.toggleAlign=function(t){if(this.isIE)this.toggleAlignIE(t);else{switch(document.execCommand("styleWithCSS",!1,"true"),t){case"center":document.execCommand("justifyCenter");break;case"full":document.execCommand("justifyFull");break;case"left":document.execCommand("justifyLeft");break;case"right":document.execCommand("justifyRight")}this._selectionService.refreshSelection()}},t.prototype.toggleAlignIE=function(t){this._selectionService.restoreSelection(),this._selectionService.captureSelection();var e=window.getSelection().focusNode.parentNode.parentNode;"full"===t&&(t="justify"),Dt(e).css("text-align",t),this._selectionService.refreshSelection()},t.prototype.toggleList=function(t,e){switch(t){case"unordered":document.execCommand("insertUnorderedList",e);break;case"ordered":document.execCommand("insertOrderedList",e)}this._selectionService.refreshSelection()},t.decorators=[{type:e.Directive,args:[{selector:"[gdFormatting]"}]}],t.ctorParameters=function(){return[{type:Et},{type:zt},{type:Ft}]},t.propDecorators={mouseup:[{type:e.HostListener,args:["mouseup"]}]},t}();var At=function(){function t(){}return t.prototype.ngOnInit=function(){},t.decorators=[{type:e.Component,args:[{selector:"gd-success-modal",template:'\n
\n
\n \n \n
\n
\n
\n
\n
\n',styles:[".check_mark{margin:47px auto}.sa-icon{width:80px;height:80px;border:4px solid gray;border-radius:50%;padding:0;position:relative;box-sizing:content-box}#gd-modal-success{display:-webkit-box;display:flex;overflow:hidden;width:469px;height:183px}.sa-icon.sa-success{border-color:#4caf50;-webkit-transform:scale(1.18);transform:scale(1.18)}.sa-icon.sa-success::after,.sa-icon.sa-success::before{content:'';position:absolute;width:60px;height:120px;background:#fff}.sa-icon.sa-success::before{border-radius:120px 0 0 120px;top:-7px;left:-33px;-webkit-transform:rotate(-45deg);transform:rotate(-45deg);-webkit-transform-origin:60px 60px;transform-origin:60px 60px}.sa-icon.sa-success::after{border-radius:0 120px 120px 0;top:-11px;left:30px;-webkit-transform:rotate(-45deg);transform:rotate(-45deg);-webkit-transform-origin:0 60px;transform-origin:0 60px}.sa-icon.sa-success .sa-placeholder{width:80px;height:80px;border:4px solid rgba(76,175,80,.5);border-radius:50%;box-sizing:content-box;position:absolute;left:-4px;top:-4px;z-index:2}.sa-icon.sa-success .sa-fix{width:5px;height:90px;background-color:#fff;position:absolute;left:28px;top:8px;z-index:1;-webkit-transform:rotate(-45deg);transform:rotate(-45deg)}.sa-icon.sa-success.animate::after{-webkit-animation:4.25s ease-in rotatePlaceholder;animation:4.25s ease-in rotatePlaceholder}.animateSuccessTip{-webkit-animation:.75s animateSuccessTip;animation:.75s animateSuccessTip}.animateSuccessLong{-webkit-animation:.75s animateSuccessLong;animation:.75s animateSuccessLong}@-webkit-keyframes animateSuccessLong{0%,65%{width:0;right:46px;top:54px}84%{width:55px;right:0;top:35px}100%{width:47px;right:8px;top:38px}}@-webkit-keyframes animateSuccessTip{0%,54%{width:0;left:1px;top:19px}70%{width:50px;left:-8px;top:37px}84%{width:17px;left:21px;top:48px}100%{width:25px;left:14px;top:45px}}@keyframes animateSuccessTip{0%,54%{width:0;left:1px;top:19px}70%{width:50px;left:-8px;top:37px}84%{width:17px;left:21px;top:48px}100%{width:25px;left:14px;top:45px}}@keyframes animateSuccessLong{0%,65%{width:0;right:46px;top:54px}84%{width:55px;right:0;top:35px}100%{width:47px;right:8px;top:38px}}.sa-icon.sa-success .sa-line{height:5px;background-color:#4caf50;display:block;border-radius:2px;position:absolute;z-index:2}.sa-icon.sa-success .sa-line.sa-tip{width:25px;left:14px;top:46px;-webkit-transform:rotate(45deg);transform:rotate(45deg)}.sa-icon.sa-success .sa-line.sa-long{width:47px;right:8px;top:38px;-webkit-transform:rotate(-45deg);transform:rotate(-45deg)}@-webkit-keyframes rotatePlaceholder{0%,5%{transform:rotate(-45deg);-webkit-transform:rotate(-45deg)}100%,12%{transform:rotate(-405deg);-webkit-transform:rotate(-405deg)}}@keyframes rotatePlaceholder{0%,5%{transform:rotate(-45deg);-webkit-transform:rotate(-45deg)}100%,12%{transform:rotate(-405deg);-webkit-transform:rotate(-405deg)}}@media (max-width:1037px){#gd-modal-success{left:50%;top:50%;position:relative;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%)}}"]}]}],t.ctorParameters=function(){return[]},t}(),Mt=function(){function t(){this._observer=new n.Subject,this._htmlContent=this._observer.asObservable()}return Object.defineProperty(t.prototype,"observer",{get:function(){return this._observer},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"htmlContent",{get:function(){return this._htmlContent},enumerable:!0,configurable:!0}),t.decorators=[{type:e.Injectable,args:[{providedIn:"root"}]}],t.ctorParameters=function(){return[]},t.ngInjectableDef=e.ɵɵdefineInjectable({factory:function(){return new t},token:t,providedIn:"root"}),t}();var jt=function(){function t(t,e){this._selectionService=t,this._htmlService=e,this.isIE=!!/(MSIE|Trident\/|Edge\/)/i.test(navigator.userAgent)}return t.prototype.onInput=function(t){if(this.text=t.target,this.isIE&&this.text.innerHTML){var e=this.text.innerHTML.toString();this._htmlService.observer.next(e)}},t.prototype.onMouseleave=function(t){this._selectionService.captureSelection(),this.isIE&&this._htmlService.observer.next(t.target.innerHTML.toString())},t.prototype.onBlur=function(t){if(t.preventDefault(),this._selectionService.restoreSelection(),this.text.innerHTML){var e=this.text.innerHTML.toString();this._htmlService.observer.next(e)}else this._htmlService.observer.next(t.target.innerHTML.toString())},t.decorators=[{type:e.Directive,args:[{selector:"[gdEditor]"}]}],t.ctorParameters=function(){return[{type:Ft},{type:Mt}]},t.propDecorators={text:[{type:e.Input}],onInput:[{type:e.HostListener,args:["keyup",["$event"]]}],onMouseleave:[{type:e.HostListener,args:["mouseleave",["$event"]]}],onBlur:[{type:e.HostListener,args:["blur",["$event"]]}]},t}();var Rt=function(){function t(){this.onLoadingChanged=new e.EventEmitter,this.stopList=[],this.requests=[],this.stopList.push(k.SAVE_TEXT),this.stopList.push(k.SAVE_OPTICAL_CODE),this.stopList.push(k.LOAD_DOCUMENT_PAGE),this.stopList.push(k.LOAD_THUMBNAILS),this.stopList.push(k.GET_FILE_STATUS),this.stopList.push(k.LOAD_PRINT)}return t.prototype.onRequestStart=function(t){this.stopList.find((function(e){return t.url.includes(e)}))||(this.requests.push(t),this.notify())},t.prototype.onRequestFinish=function(t){var e=this.requests.indexOf(t);-1!==e&&this.requests.splice(e,1),this.notify()},t.prototype.addStopUrl=function(t){this.stopList.push(t)},t.prototype.notify=function(){this.onLoadingChanged.emit(0!==this.requests.length)},t.decorators=[{type:e.Injectable}],t.ctorParameters=function(){return[]},t}();var Lt=function(){function t(t){this._loadingMaskService=t,this.loadingMask=!1}return t.prototype.ngOnInit=function(){},t.prototype.ngAfterViewInit=function(){var t=this;this._loadingMaskService.onLoadingChanged.subscribe((function(e){return t.loadingMask=e}))},t.decorators=[{type:e.Component,args:[{selector:"gd-loading-mask",template:'
\n
\n  Loading... Please wait.\n
\n
\n',styles:[".loading-wrapper{background:rgba(0,0,0,.5);width:100%;height:100%;font-size:14px;color:#fff;position:fixed;top:0;left:0;z-index:99999}.loading-message{position:absolute;left:50%;top:50%;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%)}"]}]}],t.ctorParameters=function(){return[{type:Rt}]},t.propDecorators={loadingMask:[{type:e.Input}]},t}();var Ut=function(){function t(t){this._loadingMaskService=t}return t.prototype.intercept=function(t,e){var o=this;this._loadingMaskService.onRequestStart(t);return e.handle(t).pipe(i.finalize((function(){return o._loadingMaskService.onRequestFinish(t)})))},t.decorators=[{type:e.Injectable,args:[{providedIn:"root"}]}],t.ctorParameters=function(){return[{type:Rt}]},t.ngInjectableDef=e.ɵɵdefineInjectable({factory:function(){return new t(e.ɵɵinject(Rt))},token:t,providedIn:"root"}),t}();var Ht={center:{right:"auto"},left:{right:"100%"},right:{right:"-100%"}},Nt={center:{top:"0px"},top:{top:"-100%",right:"100%"},bottom:{top:"autos"}},Bt=function(){function t(t){var e=this;this.dropdown=t,this.click=function(t){return e.dropdown.toggle(t)}}return t.decorators=[{type:e.Component,args:[{selector:"gd-drop-down-toggle",template:"",encapsulation:e.ViewEncapsulation.None,styles:[".drop-down{position:relative}.show .drop-down-items{display:-webkit-box;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column;position:absolute;z-index:1000;min-width:100%;max-height:300px;padding:0;background-color:#fff;box-shadow:0 6px 12px rgba(0,0,0,.175);background-clip:padding-box;overflow-y:auto;overflow-x:hidden}.show .drop-down-items .drop-down-item,.show .drop-down-items gd-drop-down-item{color:#959da5;display:-webkit-box;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;flex-direction:row;-webkit-box-pack:justify;justify-content:space-between;cursor:pointer;font-size:10px;line-height:28px;min-height:28px;width:100%}.show .drop-down-items .drop-down-item fa-icon svg,.show .drop-down-items gd-drop-down-item fa-icon svg{margin:0 10px;color:#959da5}.show .drop-down-items .drop-down-item .text,.show .drop-down-items gd-drop-down-item .text{width:100%;margin-right:10px}.show .drop-down-items .drop-down-item:hover,.show .drop-down-items gd-drop-down-item:hover{background-color:#25c2d4}.show .drop-down-items .drop-down-item:hover *,.show .drop-down-items gd-drop-down-item:hover *{color:#fff}.drop-down-items{display:none}"]}]}],t.ctorParameters=function(){return[{type:void 0,decorators:[{type:e.Inject,args:[e.forwardRef((function(){return Vt}))]}]}]},t.propDecorators={click:[{type:e.HostListener,args:["click",["$event"]]}]},t}();var Wt=function(){function t(t){this.dropdown=t}return Object.defineProperty(t.prototype,"horizontalAlign",{get:function(){return Ht[this.dropdown.getPlacement().h].right},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"verticalAlign",{get:function(){return Nt[this.dropdown.getPlacement().v].top},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"isOpen",{get:function(){return this.dropdown.open},enumerable:!0,configurable:!0}),t.prototype.onClickOutside=function(t){this.dropdown.close()},t.decorators=[{type:e.Component,args:[{selector:"gd-drop-down-items",template:'',encapsulation:e.ViewEncapsulation.None,styles:[".drop-down{position:relative}.show .drop-down-items{display:-webkit-box;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column;position:absolute;z-index:1000;min-width:100%;max-height:300px;padding:0;background-color:#fff;box-shadow:0 6px 12px rgba(0,0,0,.175);background-clip:padding-box;overflow-y:auto;overflow-x:hidden}.show .drop-down-items .drop-down-item,.show .drop-down-items gd-drop-down-item{color:#959da5;display:-webkit-box;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;flex-direction:row;-webkit-box-pack:justify;justify-content:space-between;cursor:pointer;font-size:10px;line-height:28px;min-height:28px;width:100%}.show .drop-down-items .drop-down-item fa-icon svg,.show .drop-down-items gd-drop-down-item fa-icon svg{margin:0 10px;color:#959da5}.show .drop-down-items .drop-down-item .text,.show .drop-down-items gd-drop-down-item .text{width:100%;margin-right:10px}.show .drop-down-items .drop-down-item:hover,.show .drop-down-items gd-drop-down-item:hover{background-color:#25c2d4}.show .drop-down-items .drop-down-item:hover *,.show .drop-down-items gd-drop-down-item:hover *{color:#fff}.drop-down-items{display:none}"]}]}],t.ctorParameters=function(){return[{type:void 0,decorators:[{type:e.Inject,args:[e.forwardRef((function(){return Vt}))]}]}]},t}();var $t=function(){function t(t){var o=this;this.dropdown=t,this.class="drop-down-item",this.selected=new e.EventEmitter,this.click=function(){return o.selectEntry()}}return t.prototype.selectEntry=function(){this.selected.next(),this.dropdown.close()},t.decorators=[{type:e.Component,args:[{selector:"gd-drop-down-item",template:'',styles:[".drop-down{position:relative}.show .drop-down-items{display:-webkit-box;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column;position:absolute;z-index:1000;min-width:100%;max-height:300px;padding:0;background-color:#fff;box-shadow:0 6px 12px rgba(0,0,0,.175);background-clip:padding-box;overflow-y:auto;overflow-x:hidden}.show .drop-down-items .drop-down-item,.show .drop-down-items gd-drop-down-item{color:#959da5;display:-webkit-box;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;flex-direction:row;-webkit-box-pack:justify;justify-content:space-between;cursor:pointer;font-size:10px;line-height:28px;min-height:28px;width:100%}.show .drop-down-items .drop-down-item fa-icon svg,.show .drop-down-items gd-drop-down-item fa-icon svg{margin:0 10px;color:#959da5}.show .drop-down-items .drop-down-item .text,.show .drop-down-items gd-drop-down-item .text{width:100%;margin-right:10px}.show .drop-down-items .drop-down-item:hover,.show .drop-down-items gd-drop-down-item:hover{background-color:#25c2d4}.show .drop-down-items .drop-down-item:hover *,.show .drop-down-items gd-drop-down-item:hover *{color:#fff}.drop-down-items{display:none}"]}]}],t.ctorParameters=function(){return[{type:void 0,decorators:[{type:e.Inject,args:[e.forwardRef((function(){return Vt}))]}]}]},t.propDecorators={class:[{type:e.HostBinding,args:["class"]}],selected:[{type:e.Output}],click:[{type:e.HostListener,args:["click"]}]},t}();var Vt=function(){function t(){this.placement={h:"center",v:"bottom"},this.open=!1,this.class="drop-down"}return t.prototype.close=function(){this.open=!1},t.prototype.toggle=function(t){t.stopPropagation(),this.open=!this.open,document.body.click()},t.prototype.getPlacement=function(){return this.placement},t.decorators=[{type:e.Component,args:[{selector:"gd-drop-down",template:'',encapsulation:e.ViewEncapsulation.None,styles:[".drop-down{position:relative}.show .drop-down-items{display:-webkit-box;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column;position:absolute;z-index:1000;min-width:100%;max-height:300px;padding:0;background-color:#fff;box-shadow:0 6px 12px rgba(0,0,0,.175);background-clip:padding-box;overflow-y:auto;overflow-x:hidden}.show .drop-down-items .drop-down-item,.show .drop-down-items gd-drop-down-item{color:#959da5;display:-webkit-box;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;flex-direction:row;-webkit-box-pack:justify;justify-content:space-between;cursor:pointer;font-size:10px;line-height:28px;min-height:28px;width:100%}.show .drop-down-items .drop-down-item fa-icon svg,.show .drop-down-items gd-drop-down-item fa-icon svg{margin:0 10px;color:#959da5}.show .drop-down-items .drop-down-item .text,.show .drop-down-items gd-drop-down-item .text{width:100%;margin-right:10px}.show .drop-down-items .drop-down-item:hover,.show .drop-down-items gd-drop-down-item:hover{background-color:#25c2d4}.show .drop-down-items .drop-down-item:hover *,.show .drop-down-items gd-drop-down-item:hover *{color:#fff}.drop-down-items{display:none}"]}]}],t.propDecorators={placement:[{type:e.Input}],open:[{type:e.Input},{type:e.HostBinding,args:["class.show"]}],class:[{type:e.HostBinding,args:["class"]}]},t}();var qt=function(){function t(){this.showSpinner=!1}return t.prototype.ngOnInit=function(){},t.decorators=[{type:e.Component,args:[{selector:"gd-left-side-bar",template:'
\n
\n
 Loading...\n
\n
\n \n
\n',styles:[".left-panel{border-radius:0;float:left}.gd-left-bar-fade{margin:auto;overflow:hidden;-webkit-overflow-scrolling:touch;-webkit-transition:-webkit-transform .3s ease-out;transition:transform .3s ease-out;transition:transform .3s ease-out,-webkit-transform .3s ease-out;width:100%;height:100%;display:-webkit-box;display:flex;-webkit-box-pack:center;justify-content:center;-webkit-box-align:center;align-items:center;position:fixed;z-index:1000}@media (max-width:1037px){.gd-left-bar-fade{top:100px;right:0}.gd-left-bar-spinner{top:20%}}"]}]}],t.ctorParameters=function(){return[]},t.propDecorators={showSpinner:[{type:e.Input}]},t}();var Gt=function(){function t(){this.showToolTip=new e.EventEmitter}return t.prototype.onHovering=function(){this.showToolTip.emit(!0)},t.prototype.onUnhovering=function(){this.showToolTip.emit(!1)},t.decorators=[{type:e.Directive,args:[{selector:"[gdTooltip]"}]}],t.ctorParameters=function(){return[]},t.propDecorators={showToolTip:[{type:e.Output}],onHovering:[{type:e.HostListener,args:["mouseenter"]}],onUnhovering:[{type:e.HostListener,args:["mouseleave"]}]},t}();var Xt=function(){function t(t,e){this._factoryResolver=t,this._appRef=e}return t.prototype.addDynamicComponent=function(t,e){var o=this,n=this._factoryResolver.resolveComponentFactory(e),i=t.createComponent(n);return i.onDestroy((function(){o._appRef.detachView(i.hostView)})),i},t.decorators=[{type:e.Injectable,args:[{providedIn:"root"}]}],t.ctorParameters=function(){return[{type:e.ComponentFactoryResolver},{type:e.ApplicationRef}]},t.ngInjectableDef=e.ɵɵdefineInjectable({factory:function(){return new t(e.ɵɵinject(e.ComponentFactoryResolver),e.ɵɵinject(e.ApplicationRef))},token:t,providedIn:"root"}),t}();var Zt=function(){function t(){this.hosts=[]}return t.prototype.add=function(t){this.hosts=this.hosts.filter((function(e){return e.ident!==t.ident})),this.hosts.push(t)},t.prototype.remove=function(t){this.hosts=this.hosts.filter((function(e){return e.ident!==t.ident}))},t.prototype.find=function(t){return this.hosts.find((function(e){return e.ident===t}))},t}();var Yt=function(){function t(t,e){this.viewContainerRef=t,this._hostingService=e}return t.prototype.ngAfterViewInit=function(){this._hostingService.add(this)},t.prototype.ngOnDestroy=function(){this._hostingService.remove(this),this.viewContainerRef.clear()},t.decorators=[{type:e.Directive,args:[{selector:"[gdHostDynamic]"}]}],t.ctorParameters=function(){return[{type:e.ViewContainerRef},{type:Zt}]},t.propDecorators={ident:[{type:e.Input}]},t}();var Jt=l,Kt=function(){function t(){this.se=!1,this.ne=!1,this.sw=!1,this.nw=!1,this.SE="se",this.NE="ne",this.SW="sw",this.NW="nw",this.offsetX=new e.EventEmitter,this.offsetY=new e.EventEmitter,this.offsetTop=new e.EventEmitter,this.offsetLeft=new e.EventEmitter,this.release=new e.EventEmitter,this.grab=!1}return t.prototype.ngAfterViewInit=function(){var t=this,e=Jt(this.getElementId(this.SE)),o=Jt(this.getElementId(this.NW));if(this.init&&e&&o&&e.offset()&&o.offset()){for(var n=e.offset().left-o.offset().left,i=e.offset().top-o.offset().top;n>=this.pageWidth||i>=this.pageHeight;)n/=2,i/=2;setTimeout((function(){t.offsetX.emit(n),t.offsetY.emit(i)}),100)}},t.prototype.ngOnInit=function(){},t.prototype.catchUp=function(t){t.preventDefault(),t.dataTransfer&&t.dataTransfer.setData("text","foo"),this.grab=!0,this.oldPosition=M.getMousePosition(t)},t.prototype.resize=function(t,e){if(this.grab){var o=M.getMousePosition(t);if(0!==o.x||0!==o.y){var n=this.NE===e||this.NW===e,i=this.SW===e||this.NW===e;this.setOffsets(o,i,n),n&&this.offsetTop.emit(o.y-this.oldPosition.y),i&&this.offsetLeft.emit(o.x-this.oldPosition.x),this.oldPosition=o}}},t.prototype.setOffsets=function(t,e,o){var n=e?this.oldPosition.x-t.x:t.x-this.oldPosition.x,i=o?this.oldPosition.y-t.y:t.y-this.oldPosition.y;this.offsetX.emit(n),this.offsetY.emit(i)},t.prototype.end=function(t,e){this.resize(t,e),this.release.emit(!0),this.grab=!1},t.prototype.start=function(t){this.drop(t)},t.prototype.drop=function(t){t.stopPropagation(),t.preventDefault()},t.prototype.getElementId=function(t){return"#"+t+"-"+this.id},t.decorators=[{type:e.Component,args:[{selector:"gd-resizing",template:'
\n\n
\n\n
\n\n
\n',styles:[".ui-resizable-handle{background-color:#679ffa;width:8px;height:8px;border-radius:100%;position:absolute;font-size:.1px;display:block}.se-resize{bottom:-5px;right:-5px;cursor:se-resize}.ne-resize{top:-5px;right:-5px;cursor:ne-resize}.sw-resize{bottom:-5px;left:-5px;cursor:sw-resize}.nw-resize{top:-5px;left:-5px;cursor:nw-resize}"]}]}],t.ctorParameters=function(){return[]},t.propDecorators={init:[{type:e.Input}],id:[{type:e.Input}],se:[{type:e.Input}],ne:[{type:e.Input}],sw:[{type:e.Input}],nw:[{type:e.Input}],pageWidth:[{type:e.Input}],pageHeight:[{type:e.Input}],offsetX:[{type:e.Output}],offsetY:[{type:e.Output}],offsetTop:[{type:e.Output}],offsetLeft:[{type:e.Output}],release:[{type:e.Output}]},t}();var Qt=function(t){function e(){return t.call(this)||this}return f(e,t),e}(kt),te=function(){function t(t,o,n){var i=this;this._tabActivatorService=t,this._modalService=o,this._excMessageService=n,this.disabled=!1,this.activeTab=new e.EventEmitter,this.elementPosition=0,this.active=!1,this.showToolTip=!1,this._tabActivatorService.activeTabChange.subscribe((function(t){i.activation(t),null===t&&i.activeTab.emit("")}))}return t.prototype.activation=function(t){this.id===t?(this.active=!this.active,this.active?this.activeTab.emit(this.id):this.activeTab.emit("")):this.active=!1},t.prototype.ngOnInit=function(){},t.prototype.toggleTab=function(){if(this.disabled)return this._modalService.open(_.ErrorMessage),void this._excMessageService.changeMessage("Please open document first");this._tabActivatorService.changeActiveTab(this.id)},t.decorators=[{type:e.Component,args:[{selector:"gd-top-tab",template:'
\n \n \n
\n',styles:[".gd-tab{font-size:14px;color:#3e4e5a;cursor:pointer;display:-webkit-box;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column;-webkit-box-align:center;align-items:center;align-content:center;-webkit-box-pack:center;justify-content:center;min-width:36px;height:36px;text-align:center;position:relative;white-space:nowrap;padding:0!important;margin:0 10px}.gd-tab .gd-tab-tooltip{display:-webkit-box;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column;margin:0!important}.gd-tab.active{background-color:#acacac;color:#fff!important;font-weight:700}.gd-tab.disabled{cursor:not-allowed;opacity:.4}.gd-tab ::ng-deep .tooltip{font-size:12px;margin:20px -57px}.gd-tab .title{margin:auto 23px}@media (max-width:1037px){.gd-tab{font-size:20px}}"]}]}],t.ctorParameters=function(){return[{type:Qt},{type:P},{type:ut}]},t.propDecorators={id:[{type:e.Input}],icon:[{type:e.Input}],disabled:[{type:e.Input}],tooltip:[{type:e.Input}],activeTab:[{type:e.Output}],elementPosition:[{type:e.Input}]},t}();var ee=l,oe=function(){function t(t,o,n,i,r){var s=this;this._onCloseService=t,this._zoomService=o,this._windowService=n,this._elementRef=i,this.renderer=r,this.decoration=!0,this.showTooltips=!0,this.outFontSize=new e.EventEmitter,this.outFont=new e.EventEmitter,this.outBold=new e.EventEmitter,this.outItalic=new e.EventEmitter,this.outUnderline=new e.EventEmitter,this.outColor=new e.EventEmitter,this.fontSizeOptions=Et.getFontSizeOptions(),this.fontOptions=Et.getFontOptions(),this.colorPickerShow=!1,t.onClose.subscribe((function(){s.colorPickerShow=!1})),this.isMobile=n.isMobile(),n.onResize.subscribe((function(t){s.isMobile=n.isMobile()})),o.zoomChange.subscribe((function(t){s.isMobile&&s.changePosition(t)}))}return t.prototype.ngOnInit=function(){},t.prototype.changePosition=function(t){var e=window.innerHeight-24-this._elementRef.nativeElement.parentElement.getBoundingClientRect().top-this._elementRef.nativeElement.parentElement.getBoundingClientRect().height,o=this._elementRef.nativeElement.parentElement.getBoundingClientRect().left;this.renderer.setStyle(this._elementRef.nativeElement.querySelector(".gd-text-menu"),"width",window.innerWidth+"px"),this.renderer.setStyle(this._elementRef.nativeElement.querySelector(".gd-text-menu"),"top",e+"px"),this.renderer.setStyle(this._elementRef.nativeElement.querySelector(".gd-text-menu"),"left",-o+"px")},t.prototype.selectFontSize=function(t){ee(".gd-wrapper").off("keyup"),this.outFontSize.emit(t.value),ee(".gd-wrapper").on("keyup",(function(){for(var e=document.getElementsByTagName("font"),o=0,n=e.length;o\n \n \n \n \n \n \n
\n
\n \n \n\n',styles:["::ng-deep .active{background-color:#e7e7e7}.gd-text-menu{display:-webkit-box;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;flex-direction:row}.gd-text-menu .format-select{height:37px;display:-webkit-box;display:flex;-webkit-box-pack:center;justify-content:center;-webkit-box-align:center;align-items:center;max-width:80px;margin:0 3px}.gd-text-menu .first-component{margin-left:8px}.gd-text-menu ::ng-deep .dropdown-menu{top:40px!important;height:120px;overflow-y:auto}.gd-text-menu ::ng-deep .icon-button{margin:0!important}.bg-color-pic{border-radius:100%;border:1px solid #ccc;position:absolute;height:8px;width:8px;right:6px;bottom:6px}.palette{position:relative;top:40px;left:-55px;z-index:100}@media (max-width:1037px){.gd-text-menu{position:fixed;left:0;right:0;width:inherit;height:60px;-webkit-box-align:center;align-items:center;padding:0;margin:0;background-color:#fff;border-top:2px solid #707070;-webkit-transform-origin:top left;transform-origin:top left;z-index:1000}.gd-text-menu ::ng-deep .selected-value{white-space:normal!important;word-wrap:break-word}.gd-text-menu .icon{color:#fff;margin:0 9px}.gd-text-menu ::ng-deep .bcPicker-palette{left:-200px;top:-185px}.gd-text-menu .palette{top:unset;bottom:40px;left:unset;right:5px}.gd-text-menu ::ng-deep .dropdown-menu{bottom:40px;top:unset!important}.gd-text-menu ::ng-deep .first-component ::ng-deep .dropdown-menu{left:0}.gd-text-menu ::ng-deep .button{margin:3px!important;font-size:16px}}"]}]}],t.ctorParameters=function(){return[{type:rt},{type:B},{type:x},{type:e.ElementRef},{type:e.Renderer2}]},t.propDecorators={blur:[{type:e.Input}],fontSize:[{type:e.Input}],font:[{type:e.Input}],bold:[{type:e.Input}],italic:[{type:e.Input}],underline:[{type:e.Input}],color:[{type:e.Input}],decoration:[{type:e.Input}],showTooltips:[{type:e.Input}],outFontSize:[{type:e.Output}],outFont:[{type:e.Output}],outBold:[{type:e.Output}],outItalic:[{type:e.Output}],outUnderline:[{type:e.Output}],outColor:[{type:e.Output}]},t}();var ne=function(){function t(){}return t.FOR_SIGNATURE="signature",t.FOR_ANNOTATION="annotation",t}();var ie=function(){function t(t,o,n,i){var r=this;this._windowService=t,this._zoomService=o,this._elementRef=n,this.renderer=i,this.formatting=Pt.default(),this.lock=!1,this.translation=0,this.changeFormatting=new e.EventEmitter,this.removeItem=new e.EventEmitter,this.copySign=new e.EventEmitter,this.lockOut=new e.EventEmitter,this.comment=new e.EventEmitter,this.isMobile=t.isMobile(),t.onResize.subscribe((function(e){r.isMobile=t.isMobile()})),o.zoomChange.subscribe((function(t){r.isMobile&&r.changeScale(t)}))}return t.prototype.ngOnInit=function(){},t.prototype.changeScale=function(t){this.renderer.setStyle(this._elementRef.nativeElement.querySelector(".gd-context-menu"),"transform","scale("+1/(t/100)+")")},t.prototype.saveChanges=function(){this.changeFormatting.emit(this.formatting)},t.prototype.selectFontSize=function(t){this.formatting.fontSize=t,this.saveChanges()},t.prototype.selectFont=function(t){this.formatting.font=t,this.saveChanges()},t.prototype.selectColor=function(t){this.formatting.color=t,this.saveChanges()},t.prototype.toggleBold=function(t){this.formatting.bold=t,this.saveChanges()},t.prototype.toggleItalic=function(t){this.formatting.italic=t,this.saveChanges()},t.prototype.toggleUnderline=function(t){this.formatting.underline=t,this.saveChanges()},t.prototype.deleteItem=function(){this.removeItem.emit(!0)},t.prototype.toggleLock=function(){this.lock=!this.lock,this.lockOut.emit(this.lock)},t.prototype.onCopySign=function(){this.copySign.emit(!0)},t.prototype.isSignature=function(){return this.menuType===ne.FOR_SIGNATURE},t.prototype.isAnnotation=function(){return this.menuType===ne.FOR_ANNOTATION},t.prototype.addComment=function(){this.comment.emit(!0)},t.decorators=[{type:e.Component,args:[{selector:"gd-context-menu",template:'
\n \n \n \n \n \n \n
\n',styles:[".gd-context-menu-top{top:-44px}.gd-context-menu-bottom{bottom:-40px}.gd-context-menu{box-shadow:rgba(0,0,0,.52) 0 0 5px;background-color:#fff;position:absolute;left:0;right:0;margin:auto;cursor:default;width:max-content;width:-moz-max-content;width:-webkit-max-content;display:-webkit-box;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;flex-direction:row;z-index:999}.gd-context-menu .arrows{cursor:move}.gd-context-menu ::ng-deep .active{background-color:#e7e7e7}.gd-context-menu ::ng-deep .icon-button{margin:0!important}@media (max-width:1037px){.gd-context-menu-top{top:-42px;-webkit-transform-origin:bottom center;transform-origin:bottom center}}"]}]}],t.ctorParameters=function(){return[{type:x},{type:B},{type:e.ElementRef},{type:e.Renderer2}]},t.propDecorators={formatting:[{type:e.Input}],textMenu:[{type:e.Input}],topPosition:[{type:e.Input}],lock:[{type:e.Input}],translation:[{type:e.Input}],menuType:[{type:e.Input}],changeFormatting:[{type:e.Output}],removeItem:[{type:e.Output}],copySign:[{type:e.Output}],lockOut:[{type:e.Output}],comment:[{type:e.Output}]},t}();var re=[C,k,P,R,T,j,M,G,X,Z,Y,L,lt,$,W,B,ut,ht,bt,vt,x,tt,Et,zt,rt,Ut,Rt,kt,Xt,Zt,Qt],se=function(){function t(){s.library.add(a.fas,c.far)}return t.decorators=[{type:e.NgModule,args:[{imports:[o.CommonModule,r.FontAwesomeModule,g.ClickOutsideModule],declarations:[b,v,w,y,S,E,N,V,q,G,X,Z,Y,J,K,ot,nt,it,st,at,ct,pt,dt,gt,mt,xt,yt,St,Ct,_t,Ot,Tt,At,jt,Lt,Vt,$t,Wt,Bt,qt,Gt,Yt,Kt,te,oe,ie],exports:[b,v,w,y,S,E,N,V,q,X,Z,Y,G,J,ot,nt,st,ct,pt,dt,gt,mt,xt,yt,St,Ct,_t,Ot,Tt,At,Lt,K,Vt,$t,Wt,Bt,it,Bt,qt,Gt,Yt,Kt,te,oe,ie],providers:re}]}],t.ctorParameters=function(){return[]},t}();t.AddDynamicComponentService=Xt,t.Api=k,t.BackFormattingService=zt,t.BrowseFilesModalComponent=N,t.ButtonComponent=w,t.ColorPickerComponent=Ot,t.CommonComponentsModule=se,t.CommonModals=_,t.ConfigService=C,t.ContextMenuComponent=ie,t.DisabledCursorDirective=at,t.DndDirective=K,t.DocumentComponent=V,t.DropDownComponent=Vt,t.DropDownItemComponent=$t,t.DropDownItemsComponent=Wt,t.DropDownToggleComponent=Bt,t.EditHtmlService=Mt,t.EditorDirective=jt,t.ErrorInterceptorService=bt,t.ErrorModalComponent=gt,t.ExceptionMessageService=ut,t.FileCredentials=z,t.FileDescription=D,t.FileModel=T,t.FileService=R,t.FileUtil=j,t.Formatting=Pt,t.FormattingDirective=Tt,t.FormattingService=Et,t.HighlightSearchPipe=Y,t.HostDynamicDirective=Yt,t.HostingDynamicComponentService=Zt,t.HttpError=A,t.InitStateComponent=pt,t.LeftSideBarComponent=qt,t.LoadingMaskComponent=Lt,t.LoadingMaskInterceptorService=Ut,t.LoadingMaskService=Rt,t.LogoComponent=y,t.MenuType=ne,t.ModalComponent=E,t.ModalService=P,t.MouseWheelDirective=nt,t.NavigateService=$,t.OnCloseService=rt,t.PageComponent=q,t.PageModel=I,t.PagePreloadService=W,t.PasswordRequiredComponent=mt,t.PasswordService=ht,t.RenderPrintDirective=dt,t.RenderPrintService=lt,t.RotatedPage=O,t.RotationDirective=ct,t.SanitizeHtmlPipe=G,t.SanitizeResourceHtmlPipe=X,t.SanitizeStylePipe=Z,t.SaveFile=F,t.ScrollableDirective=ot,t.SearchComponent=xt,t.SearchService=vt,t.SearchableDirective=yt,t.SelectComponent=st,t.SelectionService=Ft,t.SidePanelComponent=v,t.SuccessModalComponent=At,t.TabActivatorService=kt,t.TabComponent=Ct,t.TabbedToolbarsComponent=St,t.TextMenuComponent=oe,t.TooltipComponent=S,t.TopTabActivatorService=Qt,t.TopToolbarComponent=b,t.UploadFileZoneComponent=J,t.UploadFilesService=L,t.Utils=M,t.ViewportService=tt,t.WindowService=x,t.ZoomDirective=it,t.ZoomService=B,t.ɵa=_t,t.ɵb=Gt,t.ɵc=Kt,t.ɵd=te,Object.defineProperty(t,"__esModule",{value:!0})})); + ***************************************************************************** */var h=function(t,e){return(h=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var o in e)e.hasOwnProperty(o)&&(t[o]=e[o])})(t,e)};function f(t,e){function o(){this.constructor=t}h(t,e),t.prototype=null===e?Object.create(e):(o.prototype=e.prototype,new o)}function m(t){var e="function"==typeof Symbol&&t[Symbol.iterator],o=0;return e?e.call(t):{next:function(){return t&&o>=t.length&&(t=void 0),{value:t&&t[o++],done:!t}}}}var b=function(){function t(){}return t.decorators=[{type:e.Component,args:[{selector:"gd-top-toolbar",template:'
\r\n
\r\n \r\n
\r\n
\r\n',styles:[".top-toolbar{width:100%;height:60px;z-index:999;display:-webkit-box;display:flex;-webkit-box-align:center;align-items:center}.tools{width:100%;height:100%;display:-webkit-box;display:flex;-webkit-box-align:center;align-items:center}@media (max-width:1037px){.top-toolbar{height:60px}.tools{height:100%;overflow-x:auto;overflow-scrolling:touch;display:-webkit-box;display:flex;-webkit-box-align:center;align-items:center;-webkit-transition:.3s ease-in-out;transition:.3s ease-in-out;scroll-behavior:smooth;-webkit-overflow-scrolling:touch}.tools::-webkit-scrollbar{width:0;height:0;background-color:#3e4e5a}}"]}]}],t.ctorParameters=function(){return[]},t}(),v=function(){function t(){this.closable=!0,this.saveable=!0,this.hideSidePanel=new e.EventEmitter,this.saveInSidePanel=new e.EventEmitter,this.onlyTitle=!1}return t.prototype.closeSidePanel=function(){this.hideSidePanel.emit(!0)},t.prototype.saveBySidePanel=function(){this.saveInSidePanel.emit(!0)},t.prototype.toggleTitleMode=function(){this.closable&&!this.saveable&&(this.onlyTitle=!this.onlyTitle)},t.decorators=[{type:e.Component,args:[{selector:"gd-side-panel",template:'
\r\n
\r\n \r\n
{{title}}
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n',styles:[".gd-side-panel-wrapper{margin-right:0;width:334px;z-index:999;background-color:#fff;-webkit-transition:margin-right .2s;transition:margin-right .2s;display:-webkit-box;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-flow:column;height:100vh}.gd-side-panel-wrapper .gd-side-panel-header{height:60px;background-color:#222e35;display:-webkit-box;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;flex-direction:row;flex-wrap:nowrap}.gd-side-panel-wrapper .gd-side-panel-header .icon{font-size:24px;color:#959da5;margin:18px;line-height:24px}.gd-side-panel-wrapper .gd-side-panel-header .title{font-size:13px;font-weight:700;color:#edf0f2;opacity:.57;margin-top:20px;width:100%}.gd-side-panel-wrapper .gd-side-panel-header .close,.gd-side-panel-wrapper .gd-side-panel-header .save{display:-webkit-box;display:flex;-webkit-box-align:center;align-items:center}.gd-side-panel-wrapper .gd-side-panel-header ::ng-deep gd-button .text{padding:0}.gd-side-panel-wrapper .gd-side-panel-body{display:-webkit-box;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-flow:column;overflow:visible;overflow-y:auto;overflow-x:hidden;height:100%}@media (max-width:1037px){.gd-side-panel-wrapper{width:100%;position:absolute;left:0;right:0;top:0;bottom:0}.gd-side-panel-wrapper.only-title{height:60px!important}}"]}]}],t.ctorParameters=function(){return[]},t.propDecorators={title:[{type:e.Input}],icon:[{type:e.Input}],closable:[{type:e.Input}],saveable:[{type:e.Input}],hideSidePanel:[{type:e.Output}],saveInSidePanel:[{type:e.Output}]},t}();var x=function(){function t(){var t=this;this.resizeSubject=new n.Subject,this.width=window.innerWidth,this.height=window.innerHeight,this._resize$=n.fromEvent(window,"resize").pipe(i.debounceTime(200),i.distinctUntilChanged(),i.startWith({target:{innerWidth:window.innerWidth,innerHeight:window.innerHeight}}),i.tap((function(e){t.resizeSubject.next(e.target),t.width=e.target.innerWidth,t.height=e.target.innerHeight}))),this._resize$.subscribe()}return Object.defineProperty(t.prototype,"onResize",{get:function(){return this.resizeSubject.asObservable()},enumerable:!0,configurable:!0}),t.prototype.isMobile=function(){return this.width<=425},t.prototype.isTablet=function(){return this.width<=1024},t.prototype.isDesktop=function(){return!this.isMobile()&&!this.isTablet()},t.prototype.getWidth=function(){return this.width},t.prototype.getHeight=function(){return this.height},t.prototype.isEdge=function(){return window.navigator.userAgent.toLowerCase().indexOf("edge")>-1},t.prototype.isFirefox=function(){return navigator.userAgent.toLowerCase().indexOf("firefox")>-1},t}();var w=function(){function t(t){var e=this;this.iconOnly=!0,this.intent="default",this.disabled=!1,this.toggle=!1,this.iconRegular=!1,this.elementPosition=0,this.showToolTip=!1,this.isDesktop=t.isDesktop(),t.onResize.subscribe((function(o){e.isDesktop=t.isDesktop()}))}return t.prototype.iconButtonClass=function(){return this.iconOnly?"icon-button":""},t.prototype.onHovering=function(){this.isDesktop&&!this.disabled&&(this.className+=" active")},t.prototype.onUnhovering=function(){this.isDesktop&&!this.disabled&&(this.className=this.cleanAll(this.className," active"))},t.prototype.cleanAll=function(t,e){for(;t&&-1!==t.indexOf(e);)t=t.replace(e,"");return t},t.decorators=[{type:e.Component,args:[{selector:"gd-button",template:'
\r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n',styles:[".icon-button{padding:0!important;margin:0 7px}.button{padding:0 10px;font-size:14px;color:#959da5;cursor:pointer;display:-webkit-box;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column;-webkit-box-align:center;align-items:center;align-content:center;-webkit-box-pack:center;justify-content:center;min-width:37px;height:37px;text-align:center;position:relative;white-space:nowrap}.button.inactive{cursor:not-allowed;opacity:.4}.button.active *{color:#ccd0d4}.button.primary{background-color:#3e4e5a;color:#fff}.button.primary.active{color:#fff;background-color:#688296}.button.brand{background-color:#25c2d4;color:#fff}.button.brand.active{color:#fff;background-color:#688296}.button .text{font-size:13px;padding-left:10px}.button .button-tooltip{display:-webkit-box;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column}@media (max-width:1037px){.button{font-size:22px}.arrow-button{margin:5px}}"]}]}],t.ctorParameters=function(){return[{type:x}]},t.propDecorators={iconOnly:[{type:e.Input}],intent:[{type:e.Input}],disabled:[{type:e.Input}],icon:[{type:e.Input}],iconClass:[{type:e.Input}],tooltip:[{type:e.Input}],className:[{type:e.Input}],toggle:[{type:e.Input}],iconSize:[{type:e.Input}],iconRegular:[{type:e.Input}],elementPosition:[{type:e.Input}]},t}();var y=function(){function t(){}return t.prototype.ngOnInit=function(){},t.decorators=[{type:e.Component,args:[{selector:"gd-logo",template:'\r\n\r\n',styles:[".logo{background-color:#25c2d4;height:60px;display:-webkit-box;display:flex;-webkit-box-align:center;align-items:center;-webkit-box-pack:center;justify-content:center}.text{color:#fff;font-size:15px;text-transform:uppercase;margin:0 14px}.icon{display:none;font-size:32px;color:rgba(255,255,255,.5);margin:14px}@media (max-width:1037px){.logo{width:60px;height:60px}.logo .text{display:none}.logo .icon{display:block}}"]}]}],t.ctorParameters=function(){return[]},t.propDecorators={logo:[{type:e.Input}],icon:[{type:e.Input}]},t}();var S=function(){function t(){this.position=0,this.visibility="hidden"}return t.prototype.getClass=function(){return 0===this.position?"tooltip":"tooltip "+(this.position>0?"last-element":"first-element")},Object.defineProperty(t.prototype,"show",{set:function(t){this.visibility=t?"shown":"hidden"},enumerable:!0,configurable:!0}),t.prototype.ngOnInit=function(){},t.decorators=[{type:e.Component,args:[{selector:"gd-tooltip",template:'\r\n',styles:['.tooltip{position:absolute;width:-webkit-fit-content;width:-moz-fit-content;width:fit-content;background-color:#000;color:#fff;text-align:center;border-radius:0;padding:5px;z-index:1;font-size:10px;height:11px;line-height:11px;-ms-grid-row-align:center;align-self:center;margin:8px!important}.first-element{margin-left:10px!important}.last-element{margin-left:-10px!important}.tooltip.hidden{visibility:hidden}.tooltip.shown{visibility:visible}.shown:after{content:" ";position:absolute;bottom:100%;left:50%;margin-left:-5px;border:5px solid transparent;border-bottom-color:#000}']}]}],t.ctorParameters=function(){return[]},t.propDecorators={text:[{type:e.Input}],position:[{type:e.Input}],show:[{type:e.Input}]},t}();var k=function(){function t(){}return t.VIEWER_APP="/viewer",t.SIGNATURE_APP="/signature",t.ANNOTATION_APP="/annotation",t.SEARCH_APP="/search",t.EDITOR_APP="/editor",t.COMPARISON_APP="/comparison",t.CONVERSION_APP="/conversion",t.METADATA_APP="/metadata",t.DEFAULT_API_ENDPOINT=window.location.href,t.LOAD_FILE_TREE="/loadFileTree",t.LOAD_CONFIG="/loadConfig",t.LOAD_DOCUMENT_DESCRIPTION="/loadDocumentDescription",t.LOAD_DOCUMENT_PAGE="/loadDocumentPage",t.LOAD_DOCUMENT_PROPERTIES="/loadProperties",t.LOAD_DOCUMENT_PROPERTIES_NAMES="/loadPropertiesNames",t.SAVE_PROPERTY="/saveProperty",t.REMOVE_PROPERTY="/removeProperty",t.ROTATE_DOCUMENT_PAGE="/rotateDocumentPages",t.UPLOAD_DOCUMENTS="/uploadDocument",t.DOWNLOAD_DOCUMENTS="/downloadDocument",t.DOWNLOAD_ANNOTATED="/downloadAnnotated",t.LOAD_PRINT="/loadPrint",t.LOAD_PRINT_PDF="/printPdf",t.LOAD_THUMBNAILS="/loadThumbnails",t.LOAD_FORMATS="/loadFormats",t.SAVE_FILE="/saveFile",t.CREATE_FILE="/createFile",t.COMPARE_FILES="/compare",t.CONVERT_FILE="/convert",t.DELETE_SIGNATURE_FILE="/deleteSignatureFile",t.REMOVE_FROM_INDEX="/removeFromIndex",t.GET_FILE_STATUS="/getFileStatus",t.SAVE_OPTICAL_CODE="/saveOpticalCode",t.SAVE_TEXT="/saveText",t.SAVE_IMAGE="/saveImage",t.SAVE_STAMP="/saveStamp",t.SIGN="/sign",t.DOWNLOAD_SIGNED="/downloadSigned",t.LOAD_SIGNATURE_IMAGE="/loadSignatureImage",t.ANNOTATE="/annotate",t.SEARCH="/search",t.ADD_FILES_TO_INDEX="/addFilesToIndex",t.CLEAN_METADATA="/clean",t.EXPORT_METADATA="/export",t.httpOptionsJson={headers:new p.HttpHeaders({"Content-Type":"application/json"})},t.httpOptionsJsonResponseTypeBlob={headers:new p.HttpHeaders({"Content-Type":"application/json"}),responseType:"blob"},t}();var C=function(){function t(){this.apiEndpoint=k.DEFAULT_API_ENDPOINT}return Object.defineProperty(t.prototype,"apiEndpoint",{get:function(){return this._apiEndpoint},set:function(t){this._apiEndpoint=t&&t.trim().endsWith("/")?t.substring(0,t.length-1):t},enumerable:!0,configurable:!0}),t.prototype.getConfigEndpoint=function(t){return(this.apiEndpoint.endsWith(t)?this.apiEndpoint:this.apiEndpoint+t)+k.LOAD_CONFIG},t.prototype.getViewerApiEndpoint=function(){return this._apiEndpoint.endsWith(k.VIEWER_APP)?this._apiEndpoint:this._apiEndpoint+k.VIEWER_APP},t.prototype.getEditorApiEndpoint=function(){return this._apiEndpoint.trim().endsWith(k.EDITOR_APP)?this._apiEndpoint:this._apiEndpoint+k.EDITOR_APP},t.prototype.getComparisonApiEndpoint=function(){return this._apiEndpoint.trim().endsWith(k.COMPARISON_APP)?this._apiEndpoint:this._apiEndpoint+k.COMPARISON_APP},t.prototype.getConversionApiEndpoint=function(){return this._apiEndpoint.trim().endsWith(k.CONVERSION_APP)?this._apiEndpoint:this._apiEndpoint+k.CONVERSION_APP},t.prototype.getMetadataApiEndpoint=function(){return this._apiEndpoint.trim().endsWith(k.METADATA_APP)?this._apiEndpoint:this._apiEndpoint+k.METADATA_APP},t.prototype.getSignatureApiEndpoint=function(){return this._apiEndpoint.endsWith(k.SIGNATURE_APP)?this._apiEndpoint:this._apiEndpoint+k.SIGNATURE_APP},t.prototype.getAnnotationApiEndpoint=function(){return this._apiEndpoint.endsWith(k.ANNOTATION_APP)?this._apiEndpoint:this._apiEndpoint+k.ANNOTATION_APP},t.prototype.getSearchApiEndpoint=function(){return this._apiEndpoint.endsWith(k.SEARCH_APP)?this._apiEndpoint:this._apiEndpoint+k.SEARCH_APP},t.decorators=[{type:e.Injectable}],t.ctorParameters=function(){return[]},t}();var _=function(){function t(){}return t.PasswordRequired="gd-password-required",t.ErrorMessage="gd-error-message",t.BrowseFiles="gd-browse-files",t.CreateDocument="gd-create-document",t.OperationSuccess="gd-success-modal",t.DrawHandSignature="gd-draw-hand-signature",t.DrawStampSignature="gd-draw-stamp-signature",t.InformationMessage="gd-information-message",t}();var P=function(){function t(){this.modals=[]}return t.prototype.add=function(t){this.modals.push(t)},t.prototype.remove=function(t){this.modals=this.modals.filter((function(e){return e.id!==t}))},t.prototype.open=function(t){var e=this.modals.filter((function(e){return e.id===t}))[0];e&&e.open()},t.prototype.close=function(t){var e=this.modals.filter((function(e){return e.id===t}))[0];e&&e.close()},t}();var E=function(){function t(t,o){this.modalService=t,this.visible=new e.EventEmitter,this.cancel=new e.EventEmitter,this.visibility=!1,this.element=o.nativeElement}return t.prototype.ngOnInit=function(){this.id?(document.body.appendChild(this.element),this.modalService.add(this)):console.error("modal must have an id")},t.prototype.ngOnDestroy=function(){this.modalService.remove(this.id),this.element.remove()},t.prototype.open=function(){this.visibility=!0,this.visible.emit(!0)},t.prototype.close=function(){event.preventDefault(),event.stopPropagation(),this.visibility=!1,this.visible.emit(!1)},t.prototype.onClose=function(t){t.stopPropagation(),t&&t.target&&"modalDialog"===t.target.id&&this.close()},t.prototype.cancelClose=function(){this.cancel.emit(!1),this.close()},t.decorators=[{type:e.Component,args:[{selector:"gd-modal",template:'
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
×
\r\n

{{title}}

\r\n
\r\n\r\n
\r\n \r\n
\r\n\r\n \r\n
\r\n
\r\n\r\n\r\n',styles:["@import url(https://fonts.googleapis.com/css?family=Montserrat&display=swap);:host *{font-family:'Open Sans',Arial,Helvetica,sans-serif}.gd-modal{overflow:hidden;position:fixed;top:0;right:0;bottom:0;left:0;z-index:1050;-webkit-overflow-scrolling:touch;outline:0;background-color:rgba(0,0,0,.5)}.gd-modal-dialog{box-shadow:#0005 0 0 10px;position:fixed;left:50%;top:50%;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%);z-index:1051}.gd-modal-dialog ::ng-deep .button{-webkit-box-orient:unset!important;-webkit-box-direction:unset!important;flex-direction:unset!important}.gd-modal-content{background-color:#fff;height:100%;display:-webkit-box;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column}.gd-modal-header{height:60px;padding:0 12px 0 24px;background-color:#3e4e5a}.gd-modal-close{position:absolute;right:12px;top:12px;cursor:pointer;color:#fff;width:37px;height:37px;text-align:center}.gd-modal-close span{font-size:18px;font-weight:900;height:19px;width:10px;line-height:36px}.gd-modal-title{font-size:16px;font-weight:400;padding-top:17px;padding-bottom:22px;margin:0;color:#fff}.gd-modal-body{background-color:#fff;overflow:hidden;overflow-y:auto;height:calc(100% - 75px)}.gd-modal-footer{height:auto}.gd-modal-footer>.btn{float:right;margin:20px 15px;padding:10px 20px;cursor:pointer;font-size:12px}@media (max-width:1037px){.gd-modal-dialog{width:100%;height:100%}.gd-modal-body{height:100%}}"]}]}],t.ctorParameters=function(){return[{type:P},{type:e.ElementRef}]},t.propDecorators={id:[{type:e.Input}],title:[{type:e.Input}],visible:[{type:e.Output}],cancel:[{type:e.Output}]},t}();var I=function(){};var O=function(){};var z=function(t,e){this.guid=t,this.password=e};var F=function(t){function e(e,o,n){var i=t.call(this,e,o)||this;return i.content=n,i}return f(e,t),e}(z);var D=function(){this.printAllowed=!0};var T=function(){};var A=function(){function t(){}return t.BadRequest=400,t.Unauthorized=401,t.Forbidden=403,t.NotFound=404,t.TimeOut=408,t.Conflict=409,t.InternalServerError=500,t}();var M=function(){function t(){}return t.getMousePosition=function(t){var e={x:0,y:0},o=window.event,n=t||o;if(n.pageX||o.pageX||o.screenX||n.touches&&n.touches[0]&&n.touches[0].pageX){var i=void 0!==n.pageX&&0!==n.pageX?n.pageX:o.pageX,r=void 0!==n.pageY&&0!==n.pageY?n.pageY:o.pageY,s=void 0!==o.screenX&&0!==o.screenY,a=void 0!==o.screenY&&0!==o.screenY;e.x=i||(s?o.screenX:n.touches[0].pageX),e.y=r||(a?o.screenY:n.touches[0].pageY)}else n.clientX&&(e.x=n.clientX+document.body.scrollLeft,e.y=n.clientY+document.body.scrollTop);return e},t.toRgb=function(t){var e=/^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(t);if(e){var o=parseInt(e[1],16),n=parseInt(e[2],16),i=parseInt(e[3],16);return e?"rgb("+o+","+n+","+i+")":""}return t},t.toHex=function(t){if(t.match(/[0-9A-F]{6}|[0-9A-F]{3}$/i))return"#"===t.charAt(0)?t:"#"+t;if(!t.match(/^rgb\(\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(\d{1,3})\s*\)$/))return"";var e=[parseInt(RegExp.$1,10),parseInt(RegExp.$2,10),parseInt(RegExp.$3,10)],o=function(t){if(t.length<2)for(var e=0,o=2-t.length;e0?t.map.unknown:t.map.folder:t.map[i]}return t.map.folder},t.map={folder:{format:"",icon:"folder"},pdf:{format:"Portable Document Format",icon:"file-pdf",unit:"pt"},doc:{format:"Microsoft Word",icon:"file-word",unit:"pt"},docx:{format:"Microsoft Word",icon:"file-word",unit:"pt"},docm:{format:"Microsoft Word",icon:"file-word",unit:"pt"},dot:{format:"Microsoft Word",icon:"file-word",unit:"pt"},dotx:{format:"Microsoft Word",icon:"file-word",unit:"pt"},dotm:{format:"Microsoft Word",icon:"file-word",unit:"pt"},xls:{format:"Microsoft Excel",icon:"file-excel",unit:"px"},xlsx:{format:"Microsoft Excel",icon:"file-excel",unit:"px"},xlsm:{format:"Microsoft Excel",icon:"file-excel",unit:"px"},xlsb:{format:"Microsoft Excel",icon:"file-excel",unit:"px"},xls2003:{format:"Microsoft Excel",icon:"file-excel",unit:"px"},xltx:{format:"Microsoft Excel",icon:"file-excel",unit:"px"},xltm:{format:"Microsoft Excel",icon:"file-excel",unit:"px"},ppt:{format:"Microsoft PowerPoint",icon:"file-powerpoint",unit:"pt"},pptx:{format:"Microsoft PowerPoint",icon:"file-powerpoint",unit:"pt"},pps:{format:"Microsoft PowerPoint",icon:"file-powerpoint",unit:"pt"},ppsx:{format:"Microsoft PowerPoint",icon:"file-powerpoint",unit:"pt"},vsd:{format:"Microsoft Visio",icon:"file-code",unit:"px"},vdx:{format:"Microsoft Visio",icon:"file-code",unit:"px"},vss:{format:"Microsoft Visio",icon:"file-code",unit:"px"},vsx:{format:"Microsoft Visio",icon:"file-code",unit:"px"},vst:{format:"Microsoft Visio",icon:"file-code",unit:"px"},vtx:{format:"Microsoft Visio",icon:"file-code",unit:"px"},vsdx:{format:"Microsoft Visio",icon:"file-code",unit:"px"},vdw:{format:"Microsoft Visio",icon:"file-code",unit:"px"},vstx:{format:"Microsoft Visio",icon:"file-code",unit:"px"},vssx:{format:"Microsoft Visio",icon:"file-code",unit:"px"},mpp:{format:"Microsoft Project",icon:"file-alt",unit:"pt"},mpt:{format:"Microsoft Project",icon:"file-alt",unit:"pt"},msg:{format:"Microsoft Outlook",icon:"file-alt",unit:"pt"},eml:{format:"Microsoft Outlook",icon:"file-alt",unit:"pt"},emlx:{format:"Microsoft Outlook",icon:"file-alt",unit:"pt"},one:{format:"Microsoft OneNote",icon:"file-word",unit:"pt"},odt:{format:"Open Document Text",icon:"file-word",unit:"pt"},ott:{format:"Open Document Text Template",icon:"file-word",unit:"pt"},ods:{format:"Open Document Spreadsheet",icon:"file-excel",unit:"px"},odp:{format:"Open Document Presentation",icon:"file-powerpoint",unit:"pt"},otp:{format:"Open Document Presentation",icon:"file-powerpoint",unit:"pt"},ots:{format:"Open Document Presentation",icon:"file-powerpoint",unit:"pt"},potx:{format:"Open Document Presentation",icon:"file-powerpoint",unit:"pt"},potm:{format:"Open Document Presentation",icon:"file-powerpoint",unit:"pt"},pptm:{format:"Open Document Presentation",icon:"file-powerpoint",unit:"pt"},ppsm:{format:"Open Document Presentation",icon:"file-powerpoint",unit:"pt"},rtf:{format:"Rich Text Format",icon:"file-alt",unit:"pt"},txt:{format:"Plain Text File",icon:"file-alt",unit:"pt"},csv:{format:"Comma-Separated Values",icon:"file-excel",unit:"px"},html:{format:"HyperText Markup Language",icon:"file-word",unit:"pt"},mht:{format:"HyperText Markup Language",icon:"file-word",unit:"pt"},mhtml:{format:"HyperText Markup Language",icon:"file-word",unit:"pt"},xml:{format:"Extensible Markup Language",icon:"file-word",unit:"pt"},xps:{format:"XML Paper Specification",icon:"file-word",unit:"pt"},dxf:{format:"AutoCAD Drawing File Format",icon:"file-image",unit:"px"},dwg:{format:"AutoCAD Drawing File Format",icon:"file-image",unit:"px"},bmp:{format:"Bitmap Picture",icon:"file-image",unit:"px"},gif:{format:"Graphics Interchange Format",icon:"file-image",unit:"px"},jpg:{format:"Joint Photographic Experts Group",icon:"file-image",unit:"px"},jpe:{format:"Joint Photographic Experts Group",icon:"file-image",unit:"px"},jpeg:{format:"Joint Photographic Experts Group",icon:"file-image",unit:"px"},jfif:{format:"Joint Photographic Experts Group",icon:"file-image",unit:"px"},png:{format:"Portable Network Graphics",icon:"file-image",unit:"px"},tiff:{format:"Tagged Image File Format",icon:"file-image",unit:"px"},tif:{format:"Tagged Image File Format",icon:"file-image",unit:"px"},psd:{format:"Tagged Image File Format",icon:"file-image",unit:"px"},svg:{format:"Tagged Image File Format",icon:"file-image",unit:"px"},jp2:{format:"Tagged Image File Format",icon:"file-image",unit:"px"},epub:{format:"Electronic Publication",icon:"file-pdf",unit:"pt"},ico:{format:"Windows Icon",icon:"file-image",unit:"px"},webp:{format:"Compressed Image",icon:"file-image",unit:"px"},mobi:{format:"Mobipocket eBook",icon:"file-pdf",unit:"pt"},tex:{format:"LaTeX Source Document",icon:"file-pdf",unit:"pt"},djvu:{format:"Multi-Layer Raster Image",icon:"file-alt",unit:"pt"},unknown:{format:"This format is not supported",icon:"file"}},t}();var R=function(){},L=function(){function t(){var t=this;this._uploadsChange=new n.Observable((function(e){return t._observer=e}))}return Object.defineProperty(t.prototype,"uploadsChange",{get:function(){return this._uploadsChange},enumerable:!0,configurable:!0}),t.prototype.changeFilesList=function(t){this._observer.next(t)},t}();var U=l,H=[{name:"Disc",icon:"hdd"},{name:"URL",icon:"link"}],N=function(){function t(t){this._uploadService=t,this.uploads=H,this.selectedFileGuid=new e.EventEmitter,this.selectedDirectory=new e.EventEmitter,this.urlForUpload=new e.EventEmitter,this.closing=new e.EventEmitter,this.showUploadUrl=!1,this.showUploadFile=!1}return t.prototype.ngOnInit=function(){},t.prototype.getSize=function(t){var e=t/1024/1024;if(e>1)return Math.round(100*e)/100+" MB";var o=t/1024;return o>1?Math.round(100*o)/100+" KB":t+" Bytes"},t.prototype.getFormatName=function(t){return j.find(t.name,t.directory).format},t.prototype.getFormatIcon=function(t){return j.find(t.name,t.directory).icon},t.prototype.choose=function(t){this.selectedFile=t,t.directory||t.isDirectory?this.selectedDirectory.emit(t.name):this.selectedFileGuid.emit(t.guid)},t.prototype.goUp=function(){if(this.selectedFile){var t=this.selectedFile.guid;t=t.length>0&&-1===t.indexOf("/")?"":t.replace(/\/[^\/]+\/?$/,""),this.selectedDirectory.emit(t)}},t.prototype.selectUpload=function(t){"URL"===t?this.showUploadUrl=!0:(this.showUploadUrl=!1,U("#gd-upload-input").trigger("click"))},t.prototype.refresh=function(t){t?(this.files=null,this.selectedDirectory.emit(""),this.showUploadUrl=!1,this.selectedFile=null):this.closing.emit(!0)},t.prototype.showSpinner=function(){return!this.files},t.prototype.uploadUrl=function(t){t&&(this.urlForUpload.emit(t),this.cleanUpload())},t.prototype.handleFileInput=function(t){this._uploadService.changeFilesList(t)},t.prototype.cleanUpload=function(){this.showUploadFile=!1,this.showUploadUrl=!1},t.decorators=[{type:e.Component,args:[{selector:"gd-browse-files-modal",template:'\r\n
\r\n
\r\n \r\n Drop file here to upload\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n Upload file\r\n \r\n \r\n \r\n \r\n \r\n
{{item.name}}
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
FILE
\r\n
SIZE
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
..
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
{{file?.name}}
\r\n
{{getFormatName(file)}}
\r\n
\r\n
\r\n
\r\n {{getSize(file?.size)}}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n  Loading... Please wait.\r\n
\r\n
\r\n
\r\n',styles:[".gd-modal-table{width:100%;text-align:left}#gd-browse-section{width:1036px;height:561px;overflow-y:auto}.list-files-header{height:60px;color:#6e6e6e;font-size:13px;font-weight:700;background-color:#f4f4f4;margin-top:24px}.list-files-header.upload-url{margin-top:20px}.header-name{padding-left:24px;width:90%;line-height:60px}.header-size{padding-right:27px;line-height:60px}.file-size,.header-size{width:10%;color:#777;text-align:right}.file-description{display:-webkit-box;display:flex;width:90%;padding:18px 0 18px 24px;font-size:14px;-webkit-box-flex:1;flex:1;cursor:pointer;overflow:hidden}.file-size{font-size:12px;padding:0 27px 0 0;width:10%;line-height:79px}.list-files-header,.list-files-lines{display:-webkit-box;display:flex;width:100%;-webkit-box-pack:justify;justify-content:space-between}.gd-modal-spinner{background-color:#fff;width:100%;height:20px;text-align:center;font-size:16px}.gd-cancel-button{padding:7px;background:0 0;width:28px;overflow:hidden}.gd-cancel-button i{font-size:21px}.gd-file-name{white-space:nowrap;overflow:hidden;width:100%;text-overflow:ellipsis}.go-up{display:-webkit-box;display:flex;font-size:26px;cursor:pointer;color:#4b566c;height:79px}.go-up-dots{margin-left:20px;margin-top:22px;font-size:16px}.go-up-icon{display:block;padding:18px 0 18px 24px}.upload-panel{display:-webkit-box;display:flex;position:relative;width:100%}.upload-panel .context{display:-webkit-box;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column;width:100%;margin-left:24px;margin-top:24px;margin-right:24px}.upload-panel .context .context-actions{display:-webkit-box;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;flex-direction:row;width:100%}.upload-panel .context .context-actions :last-child{margin-right:0}.upload-panel .context .context-actions ::ng-deep .button{height:37px;width:96px;padding:0;-webkit-box-pack:center;justify-content:center}.upload-panel .context .context-actions ::ng-deep .button ::ng-deep .text{font-size:10px}.upload-panel .context .context-panel{display:-webkit-box;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;flex-direction:row;width:100%;margin-top:20px}.upload-panel .context .context-panel .upload-url{display:-webkit-box;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;flex-direction:row;width:100%}.upload-panel .context .context-panel .upload-url .url-input{width:100%;height:27px;border:1px solid #25c2d4;font-size:14px;padding-left:6px}.upload-panel .context .context-panel .upload-url .url-check{width:31px;height:31px;color:#fff;font-size:15px;background-color:#25c2d4}.upload-panel .context .context-panel .upload-url .url-check .ng-fa-icon{display:block;padding:8px}.upload-panel gd-drop-down{margin-right:10px}.file-description .ng-fa-icon.fa-file-pdf{color:#e04e4e}.file-description .ng-fa-icon.fa-file-word{color:#539cf0}.file-description .ng-fa-icon.fa-file-powerpoint{color:#e29e1e}.file-description .ng-fa-icon.fa-file-excel{color:#7cbc46}.file-description .ng-fa-icon.fa-file-image{color:#c375ed}.file-description .ng-fa-icon.fa-file,.file-description .ng-fa-icon.fa-file-alt,.file-description .ng-fa-icon.fa-file-text .fa-folder{color:#4b566c}.file-description .ng-fa-icon{font-size:32px}.file-name{font-size:16px;color:#6e6e6e;overflow:hidden;text-overflow:ellipsis}.file-name-format{padding-left:11px;overflow:hidden}.file-format{font-size:10px;padding-top:3px;color:#acacac}.go-up,.list-files-lines{border-bottom:1px solid #e7e7e7}.list-files-lines:hover{background-color:#e5e5e5}.gd-dnd-wrap{background-color:#fff;cursor:default;position:absolute;width:100%;height:calc(100% - 60px);background:rgba(255,255,255,.7);z-index:1;display:-webkit-box;display:flex;-webkit-box-pack:center;justify-content:center;-webkit-box-align:center;align-items:center}.dnd-wrapper{display:-webkit-box;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column;-webkit-box-align:center;align-items:center;-webkit-box-pack:center;justify-content:center;top:259px;position:absolute}.dnd-wrapper .text{color:#6e6e6e;font-size:14px}.dnd-wrapper .icon{display:-webkit-box;display:flex;width:113px;height:90px;font-size:90px;color:#3e4e5a;margin-bottom:30px}@media (max-width:1037px){.file-size,.header-size{width:18%}.gd-dnd-wrap{width:95%}#gd-browse-section{width:100%;height:calc(100% - 146px)}}"]}]}],t.ctorParameters=function(){return[{type:L}]},t.propDecorators={files:[{type:e.Input}],uploadConfig:[{type:e.Input}],selectedFileGuid:[{type:e.Output}],selectedDirectory:[{type:e.Output}],urlForUpload:[{type:e.Output}],closing:[{type:e.Output}]},t}();var B=function(){function t(){this._observer=new n.Subject,this._zoomChange=this._observer.asObservable()}return Object.defineProperty(t.prototype,"zoom",{get:function(){return this._zoom},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"zoomChange",{get:function(){return this._zoomChange},enumerable:!0,configurable:!0}),t.prototype.changeZoom=function(t){this._zoom=t,this._observer.next(t)},t.prototype.createZoomOption=function(t,e,o){return void 0===o&&(o=!1),{value:t,name:e,separator:o}},t.prototype.zoomOptions=function(t,e){return[this.createZoomOption(25,"25%"),this.createZoomOption(50,"50%"),this.createZoomOption(100,"100%"),this.createZoomOption(150,"150%"),this.createZoomOption(200,"200%"),this.createZoomOption(300,"300%"),this.createZoomOption(0,"",!0),this.createZoomOption(t,"Fit Width"),this.createZoomOption(e,"Fit Height")]},t}();var W=function(){function t(){var t=this;this._checkPreload=new n.Observable((function(e){return t._observer=e}))}return Object.defineProperty(t.prototype,"checkPreload",{get:function(){return this._checkPreload},enumerable:!0,configurable:!0}),t.prototype.changeLastPageInView=function(t){this._observer&&this._observer.next(t)},t}();var $=function(){function t(t){this._pagePreloadService=t,this._currentPage=0,this._countPages=0,this._observer=new n.Subject,this._navigate=this._observer}return Object.defineProperty(t.prototype,"navigate",{get:function(){return this._navigate},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"countPages",{get:function(){return this._countPages},set:function(t){this._countPages=t},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"currentPage",{get:function(){return this._currentPage},set:function(t){this._currentPage=t},enumerable:!0,configurable:!0}),t.prototype.nextPage=function(){this._currentPage1&&(this._currentPage--,this.navigateTo(this._currentPage))},t.prototype.toLastPage=function(){this._currentPage=this._countPages,this.navigateTo(this._currentPage)},t.prototype.toFirstPage=function(){this._currentPage=1,this.navigateTo(this._currentPage)},t.prototype.navigateTo=function(t){this.currentPage=t,this._pagePreloadService.changeLastPageInView(t),this._observer.next(t)},t.decorators=[{type:e.Injectable,args:[{providedIn:"root"}]}],t.ctorParameters=function(){return[{type:W}]},t.ngInjectableDef=e.ɵɵdefineInjectable({factory:function(){return new t(e.ɵɵinject(W))},token:t,providedIn:"root"}),t}();var V=function(){function t(t,e,o,n){var i=this;this._elementRef=t,this._zoomService=e,this._windowService=o,this._navigateService=n,this.wait=!1,this.docWidth=null,this.docHeight=null,this.viewportWidth=null,this.viewportHeight=null,this.scale=null,this.lastScale=null,this.container=null,this.doc=null,this.x=0,this.lastX=0,this.y=0,this.lastY=0,this.pinchCenter=null,this.pinchCenterOffset=null,this.curWidth=0,this.curHeight=0,e.zoomChange.subscribe((function(t){i.zoom=t})),this.isDesktop=o.isDesktop(),this._navigateService.navigate.subscribe((function(t){i.selectedPage=t}))}return t.prototype.ngOnInit=function(){this.ifPresentation()&&(this.selectedPage=this._navigateService.currentPage)},t.prototype.ngOnChanges=function(){},t.prototype.ngAfterViewInit=function(){this.doc=this._elementRef.nativeElement.children.item(0).children.item(0),this.container=this._elementRef.nativeElement,this.docWidth=this.doc.clientWidth,this.docHeight=this.doc.clientHeight,this.viewportWidth=this.doc.offsetWidth,this.scale=this.viewportWidth/this.docWidth*this._zoomService.zoom/100,this.lastScale=this.scale,this.viewportHeight=this.container.offsetHeight,this.curWidth=this.docWidth*this.scale,this.curHeight=this.docHeight*this.scale;new d(this.container)},t.prototype.ifExcel=function(){return"Microsoft Excel"===j.find(this.file.guid,!1).format},t.prototype.ifPresentation=function(){return"Microsoft PowerPoint"===j.find(this.file.guid,!1).format},t.prototype.getDimensionWithUnit=function(t,e){return this.ifPresentation()&&this.showActiveSlide&&!this.isVisible(e)?0:t+(this.mode?j.find(this.file.guid,!1).unit:"px")},t.prototype.ifEdge=function(){return navigator.userAgent.toLowerCase().indexOf("edge")>-1},t.prototype.ngAfterViewChecked=function(){},t.prototype.isVisible=function(t){return!this.ifPresentation()||t===this.selectedPage},t.decorators=[{type:e.Component,args:[{selector:"gd-document",template:'
Please wait...
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n',styles:[":host{-webkit-box-flex:1;flex:1;-webkit-transition:.4s;transition:.4s;background-color:#e7e7e7;height:100%;overflow:scroll;touch-action:auto!important}:host .document{-webkit-user-select:text!important;-moz-user-select:text!important;-ms-user-select:text!important;user-select:text!important;touch-action:auto!important}.page{display:inline-block;background-color:#fff;margin:20px;box-shadow:0 3px 6px rgba(0,0,0,.16);-webkit-transition:.3s;transition:.3s}.page.excel{overflow:auto}.page.presentation{margin:0;-webkit-transition:unset;transition:unset}.page.presentation.active{margin:20px}.wait{position:absolute;top:55px;left:Calc(30%)}.panzoom{display:-webkit-box;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;flex-direction:row;flex-wrap:wrap;-webkit-box-pack:center;justify-content:center;align-content:flex-start}@media (max-width:1037px){.page{min-width:unset!important;min-height:unset!important;margin:5px 0}}"]}]}],t.ctorParameters=function(){return[{type:e.ElementRef},{type:B},{type:x},{type:$}]},t.propDecorators={mode:[{type:e.Input}],preloadPageCount:[{type:e.Input}],file:[{type:e.Input}],selectedPage:[{type:e.Input}],showActiveSlide:[{type:e.Input}]},t}();var q=function(){function t(){}return t.prototype.ngOnInit=function(){!!/(MSIE|Trident\/|Edge\/)/i.test(navigator.userAgent)&&0===this.number&&(this.editable=!1)},t.prototype.ngOnChanges=function(t){this.isHtml?this.data=this.data?this.data.replace(/>\s+<").replace(/\uFEFF/g,""):null:this.imgData="data:image/png;base64,"+this.data},t.decorators=[{type:e.Component,args:[{selector:"gd-page",template:'
\r\n
\r\n \r\n
\r\n \r\n  Loading... Please wait.\r\n
\r\n
\r\n',styles:[".gd-page-spinner{margin-top:150px;text-align:center}.gd-wrapper{width:inherit;height:inherit}.gd-wrapper div{width:100%}::ng-deep .gd-highlight{background-color:#ff0}::ng-deep .gd-highlight-select{background-color:#ff9b00}"]}]}],t.ctorParameters=function(){return[]},t.propDecorators={angle:[{type:e.Input}],width:[{type:e.Input}],height:[{type:e.Input}],number:[{type:e.Input}],data:[{type:e.Input}],isHtml:[{type:e.Input}],editable:[{type:e.Input}]},t}();var G=function(){function t(t){this.sanitizer=t}return t.prototype.transform=function(t){return this.sanitizer.bypassSecurityTrustHtml(t)},t.decorators=[{type:e.Pipe,args:[{name:"safeHtml"}]}],t.ctorParameters=function(){return[{type:u.DomSanitizer}]},t}();var X=function(){function t(t){this.sanitizer=t}return t.prototype.transform=function(t){return this.sanitizer.bypassSecurityTrustResourceUrl(t)},t.decorators=[{type:e.Pipe,args:[{name:"safeResourceHtml"}]}],t.ctorParameters=function(){return[{type:u.DomSanitizer}]},t}();var Z=function(){function t(t){this.sanitizer=t}return t.prototype.transform=function(t){return this.sanitizer.bypassSecurityTrustStyle(t)},t.decorators=[{type:e.Pipe,args:[{name:"safeStyle"}]}],t.ctorParameters=function(){return[{type:u.DomSanitizer}]},t}();var Y=function(){function t(){}return t.prototype.transform=function(t,e){if(!e)return t;var o=new RegExp(e,"gi");return t.replace(o,"$&")},t.decorators=[{type:e.Pipe,args:[{name:"highlight"}]}],t}(),J=function(){function t(t){this._uploadService=t,this.closeUpload=new e.EventEmitter}return t.prototype.ngOnInit=function(){},t.prototype.handleFileInput=function(t){this._uploadService.changeFilesList(t),this.onCloseUpload()},t.prototype.onCloseUpload=function(){this.closeUpload.emit(!0)},t.prototype.close=function(t){"gd-dropZone"===t.target.id&&this.onCloseUpload()},t.decorators=[{type:e.Component,args:[{selector:"gd-upload-file-zone",template:'
\r\n
\r\n \r\n
\r\n

Drag & Drop your files here

\r\n

OR

\r\n
\r\n \r\n
\r\n
\r\n',styles:[".gd-drag-n-drop-wrap{border:2px dashed #ccc;background-color:#f8f8f8;text-align:center;cursor:default;position:absolute;width:-webkit-fill-available;left:1px;display:-webkit-box;display:flex;align-content:center;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column;-webkit-box-pack:center;justify-content:center;opacity:.9;z-index:1}.gd-drag-n-drop-wrap h2{color:#959da5;margin:5px 0;font-size:15px;font-weight:300}.gd-drag-n-drop-wrap h4{color:#cacaca;font-weight:300;font-size:12px;margin:10px 0 15px}.gd-drag-n-drop-icon .fa-cloud-download-alt{color:#d1d1d1;font-size:110px}.gd-drag-n-drop-buttons i{margin-right:5px}.gd-drag-n-drop-buttons .btn{width:134px;height:35px;margin:0 10px;font-size:12px;font-weight:400}.gd-drag-n-drop-wrap.hover{background:#ddd;border-color:#aaa}"]}]}],t.ctorParameters=function(){return[{type:L}]},t.propDecorators={closeUpload:[{type:e.Output}]},t}();var K=function(){function t(t){this._uploadFilesService=t,this.closing=new e.EventEmitter,this.opening=new e.EventEmitter,this.dropped=new e.EventEmitter,this.active=!1,this.dragCounter=0}return t.prototype.onDragEnter=function(t){t.preventDefault(),t.stopPropagation(),this.dragCounter++,this.active=!0,this.opening.emit(!0)},t.prototype.onDragOver=function(t){return t.preventDefault(),t.stopPropagation(),!1},t.prototype.onDragLeave=function(t){t.preventDefault(),t.stopPropagation(),this.dragCounter--,0===this.dragCounter&&(this.active=!1,this.closeArea())},t.prototype.onDrop=function(t){t.preventDefault(),t.stopPropagation();var e=t.dataTransfer.files;e.length>0&&(this.active=!1,this.dropped.emit(!0),this._uploadFilesService.changeFilesList(e),this.closeArea())},t.prototype.onClick=function(t){this.closeArea()},t.prototype.closeArea=function(){this.closing.emit(!0),this.opening.emit(!1)},t.decorators=[{type:e.Directive,args:[{selector:"[gdDnd]"}]}],t.ctorParameters=function(){return[{type:L}]},t.propDecorators={closing:[{type:e.Output}],opening:[{type:e.Output}],dropped:[{type:e.Output}],active:[{type:e.HostBinding,args:["class.active"]}],onDragEnter:[{type:e.HostListener,args:["dragenter",["$event"]]}],onDragOver:[{type:e.HostListener,args:["dragover",["$event"]]}],onDragLeave:[{type:e.HostListener,args:["dragleave",["$event"]]}],onDrop:[{type:e.HostListener,args:["drop",["$event"]]}],onClick:[{type:e.HostListener,args:["click",["$event"]]}]},t}();var Q=l,tt=function(){function t(){}return t.prototype.checkInViewport=function(t,e,o,n){if(void 0===e&&(e=100),void 0===o&&(o=0),void 0===n&&(n=.5),!t)return!1;var i=n,r=Q(window),s=r.scrollTop(),a=r.scrollLeft()+o,c=r.scrollLeft()+r.width()-10,p=r.scrollTop()+r.height();isNaN(e)&&(e=100);var l=e/100,d=Q(t).outerHeight()*l,u=Q(t).outerWidth()*l;if(!u||!d)return!1;var g=Q(t).offset(),h=g.left*l+u,f=g.top*l+d;if(!!(ch||pf))return!1;var m=parseFloat(Math.min(1,(f-s)/d).toFixed(2)),b=parseFloat(Math.min(1,(p-g.top*l)/d).toFixed(2));return parseFloat(Math.min(1,(h-a)/u).toFixed(2))*parseFloat(Math.min(1,(c-g.left*l)/u).toFixed(2))>=i&&m*b>=.5},t.decorators=[{type:e.Injectable,args:[{providedIn:"root"}]}],t.ctorParameters=function(){return[]},t.ngInjectableDef=e.ɵɵdefineInjectable({factory:function(){return new t},token:t,providedIn:"root"}),t}(),et=l,ot=function(){function t(t,e,o,n,i,r){var s=this;this._elementRef=t,this._navigateService=e,this._pagePreloadService=o,this._zoomService=n,this._windowService=i,this._viewportService=r,this.zoom=100,this.loadedPagesSet=new Set,this.zoom=n.zoom?n.zoom:this.zoom,n.zoomChange.subscribe((function(t){s.zoom=t||s.zoom,s.refresh()}))}return t.prototype.ngAfterViewInit=function(){var t=this;this.zoom=this._zoomService.zoom?this._zoomService.zoom:this.zoom,this._navigateService.navigate.subscribe((function(e){t.currentPage=e,t.scrollToPage(e)})),this.refresh()},t.prototype.scrolling=function(){this.refresh()},t.prototype.resizing=function(){this.refresh()},t.prototype.scrollToPage=function(t){var e=this._elementRef.nativeElement,o=this.getPage(t),n=t>0?this.getPage(t-1):null,i=n&&et(n).offset().top===et(o).offset().top;if(!this._viewportService.checkInViewport(o,this.zoom)||!i){var r={left:0,top:this.calculateOffset(t)};e&&e.scroll(r)}},t.prototype.getChildren=function(){var t=this._elementRef?this._elementRef.nativeElement:null;if(t)return t.children.item(0).children.item(0).children},t.prototype.getPage=function(t){var e=this._elementRef?this._elementRef.nativeElement:null;if(e)return e.children.item(0).children.item(0).children.item(t-1)},t.prototype.calculateOffset=function(t){for(var e=this._windowService.isFirefox()?1:this.countPagesOnWidth(),o=this._windowService.isDesktop()?40:10,n=0,i=1;i0?s*this.getZoom()+o:0}return n},t.prototype.countPagesOnWidth=function(){var t=this.getPage(1);if(t){var e=Math.floor((this.getWidth()-150)/(t.getBoundingClientRect().width*this.getZoom()));if(0!==e)return e}return 1},t.prototype.refresh=function(){var t,e=!1,o=this.getPage(this.currentPage),n=this.currentPage&&o?o.getBoundingClientRect():null;for(t=1;t0?this.mouseWheelUp.emit(t):e<0&&this.mouseWheelDown.emit(t)},t.decorators=[{type:e.Directive,args:[{selector:"[gdMouseWheel]"}]}],t.propDecorators={mouseWheelUp:[{type:e.Output}],mouseWheelDown:[{type:e.Output}],onMouseWheelChrome:[{type:e.HostListener,args:["mousewheel",["$event"]]}],onMouseWheelFirefox:[{type:e.HostListener,args:["DOMMouseScroll",["$event"]]}],onMouseWheelIE:[{type:e.HostListener,args:["onmousewheel",["$event"]]}]},t}();var it=function(){function t(t,e,o){this._zoomService=t,this._windowService=e,this.zoomActive=!0,this.el=o}return t.prototype.ngOnDestroy=function(){},t.prototype.ngOnChanges=function(){this.setStyles(this._zoomService.zoom),this.resizePages(this._zoomService.zoom)},t.prototype.ngOnInit=function(){var t=this;this.zoomActive&&(this.setStyles(this._zoomService.zoom),this._zoomService.zoomChange.subscribe((function(e){t.setStyles(e),t.resizePages(e)})))},t.prototype.setStyles=function(t){if(this.zoomActive){var e=100===t?1:t/100;this._windowService.isEdge()?this.zoomInt=e:this.zoomInt=null,this._windowService.isEdge()?(this.transform="",this.transformOrigin=""):(this.transform="scale("+e+")",this.transformOrigin="top left");var o=0;this.file.pages.forEach((function(t){t.width>o&&(o=t.width)})),this.minWidth=o+j.find(this.file.guid,!1).unit}},t.prototype.getScrollWidth=function(t){return t.offsetWidth-t.clientWidth},t.prototype.getScrollHeight=function(t){return t.offsetHeight-t.clientHeight},t.prototype.resizePages=function(t){var e=100===t?1:t/100,o=this.el.nativeElement.parentElement.offsetWidth,n=this.el.nativeElement.parentElement.offsetHeight,i=this.getScrollWidth(this.el.nativeElement.parentElement),r=this.getScrollHeight(this.el.nativeElement.parentElement);this.width=o/e-i/e+"px",this.height=n/e-r/e+"px"},t.prototype.ngAfterViewInit=function(){this.setStyles(this._zoomService.zoom)},t.decorators=[{type:e.Directive,args:[{selector:"[gdZoom]"}]}],t.ctorParameters=function(){return[{type:B},{type:x},{type:e.ElementRef}]},t.propDecorators={zoomActive:[{type:e.Input}],file:[{type:e.Input}],zoomInt:[{type:e.HostBinding,args:["style.zoom"]}],transform:[{type:e.HostBinding,args:["style.transform"]}],transformOrigin:[{type:e.HostBinding,args:["style.transform-origin"]}],width:[{type:e.HostBinding,args:["style.width"]}],height:[{type:e.HostBinding,args:["style.height"]}],minWidth:[{type:e.HostBinding,args:["style.min-width"]}]},t}();var rt=function(){function t(){this._observer=new n.Subject,this._onClose=this._observer.asObservable()}return Object.defineProperty(t.prototype,"onClose",{get:function(){return this._onClose},enumerable:!0,configurable:!0}),t.prototype.close=function(t){this._observer.next(t)},t.decorators=[{type:e.Injectable,args:[{providedIn:"root"}]}],t.ctorParameters=function(){return[]},t.ngInjectableDef=e.ɵɵdefineInjectable({factory:function(){return new t},token:t,providedIn:"root"}),t}();var st=function(){function t(t){var o=this;this._onCloseService=t,this.disabled=!1,this.selected=new e.EventEmitter,this.opened=new e.EventEmitter,this.isOpen=!1,t.onClose.subscribe((function(){o.close()}))}return t.prototype.open=function(){this.disabled||(this.isOpen=!0)},t.prototype.close=function(){this.isOpen=!1},t.prototype.onClickOutside=function(t){this.close()},t.prototype.toggle=function(t){t.preventDefault(),t.stopPropagation(),this.disabled||(this.isOpen=!this.isOpen,this.isOpen&&this.opened.emit(!0))},t.prototype.select=function(t,e){t.preventDefault(),t.stopPropagation(),this.selected.emit(e),this.close()},t.decorators=[{type:e.Component,args:[{selector:"gd-select",template:'
\r\n
\r\n {{showSelected?.name}}\r\n
\r\n \r\n \r\n \r\n
\r\n',styles:[".select{min-width:50px;display:-webkit-box;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;flex-direction:row;-webkit-box-pack:center;justify-content:center;-webkit-box-align:center;align-items:center;color:#959da5}.selected-value{font-size:14px;cursor:pointer;white-space:nowrap;overflow:hidden;text-overflow:clip;max-width:70px}.selected-value.inactive{cursor:not-allowed;color:#ccc}.nav-caret{display:inline-block;width:0;height:0;margin-left:2px;vertical-align:middle;border-top:4px dashed;border-right:4px solid transparent;border-left:4px solid transparent;cursor:pointer}.nav-caret.inactive{cursor:not-allowed;color:#ccc}.dropdown-menu{position:absolute;top:49px;z-index:1000;float:left;min-width:96px;list-style:none;font-size:13px;text-align:left;background-color:#fff;box-shadow:0 3px 6px rgba(0,0,0,.3);background-clip:padding-box}.dropdown-menu .option{display:block;padding:7px 0 7px 7px;clear:both;font-weight:400;line-height:1.42857143;white-space:nowrap;cursor:pointer;font-size:10px}.dropdown-menu .option:hover{background-color:#25c2d4;color:#fff!important}.dropdown-menu-separator{height:1px;overflow:hidden;background-color:#f4f4f4;padding:0!important}"]}]}],t.ctorParameters=function(){return[{type:rt}]},t.propDecorators={options:[{type:e.Input}],disabled:[{type:e.Input}],showSelected:[{type:e.Input}],selected:[{type:e.Output}],opened:[{type:e.Output}],isOpen:[{type:e.Input}],icon:[{type:e.Input}]},t}();var at=function(){function t(){}return t.prototype.updateCursor=function(){this.cursor=!!this.dis},t.prototype.ngOnInit=function(){this.updateCursor()},t.prototype.ngOnChanges=function(t){this.updateCursor()},t.decorators=[{type:e.Directive,args:[{selector:"[gdDisabledCursor]"}]}],t.ctorParameters=function(){return[]},t.propDecorators={dis:[{type:e.Input}],cursor:[{type:e.HostBinding,args:["class.inactive"]}]},t}();var ct=function(){function t(){this.withMargin=!0}return t.prototype.updateCursor=function(){"string"==typeof this.angle&&(this.angle=parseInt(this.angle,10)),this.angle?(this.animation="none",this.transition="none",this.transform="rotate("+this.angle+"deg)"):0===this.angle&&this.animation&&(this.animation=null,this.transition=null,this.transform=null),this.withMargin&&(90===this.angle||270===this.angle||-90===this.angle||-270===this.angle?this.isHtmlMode?this.isLandscape()?this.margin="164px 254px":this.margin="-111px 254px":this.isLandscape()?this.margin="129px 100px -79px":this.margin="-72px 100px -79px":-180===this.angle||180===this.angle?this.margin="280px":this.margin=null)},t.prototype.isLandscape=function(){return this.width>this.height},t.prototype.ngOnInit=function(){this.updateCursor()},t.prototype.ngOnChanges=function(t){this.updateCursor()},t.decorators=[{type:e.Directive,args:[{selector:"[gdRotation]"}]}],t.ctorParameters=function(){return[]},t.propDecorators={angle:[{type:e.Input}],isHtmlMode:[{type:e.Input}],width:[{type:e.Input}],height:[{type:e.Input}],withMargin:[{type:e.Input}],animation:[{type:e.HostBinding,args:["style.animation"]}],transition:[{type:e.HostBinding,args:["style.transition-property"]}],transform:[{type:e.HostBinding,args:["style.transform"]}],margin:[{type:e.HostBinding,args:["style.margin"]}]},t}();var pt=function(){function t(){this.fileDropped=new e.EventEmitter,this.showUploadFile=!1}return t.prototype.ngOnInit=function(){},t.prototype.dropped=function(t){t&&(this.fileDropped.emit(t),this.showUploadFile=!1)},t.decorators=[{type:e.Component,args:[{selector:"gd-init-state",template:'
\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n \r\n {{text}}\r\n
\r\n
\r\n',styles:[".wrapper{color:#959da5;background-color:#e7e7e7;display:-webkit-box;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column;-webkit-box-pack:center;justify-content:center;-webkit-box-align:center;align-items:center;width:100%;height:100%}.icon{font-size:65px;margin-bottom:43px;display:-webkit-box;display:flex;color:#959da5}.start{font-size:15px;text-align:center;color:#959da5}.gd-drag-n-drop-wrap.active{background-color:#fff;position:fixed;top:0;background:rgba(255,255,255,.8)}.gd-drag-n-drop-wrap.active .init-state-wrapper{position:absolute;opacity:.2;top:unset}.gd-drag-n-drop-wrap.active .init-state-dnd-wrapper{top:0;z-index:999}.gd-drag-n-drop-wrap.active .init-state-dnd-wrapper .icon{width:113px;height:90px;font-size:90px;color:#3e4e5a;margin-bottom:30px}.gd-drag-n-drop-wrap.active .text{color:#6e6e6e;font-size:14px}.init-state-dnd-wrapper,.init-state-wrapper{display:-webkit-box;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column;width:250px;height:250px;-webkit-box-align:center;align-items:center;-webkit-box-pack:center;justify-content:center}.init-state-wrapper{top:-60px;position:relative}"]}]}],t.ctorParameters=function(){return[]},t.propDecorators={icon:[{type:e.Input}],text:[{type:e.Input}],fileDropped:[{type:e.Output}]},t}();var lt=function(){function t(){var t=this;this._render=new n.Observable((function(e){return t._observer=e})),this._renderBlob=new n.Observable((function(e){return t._observerBlob=e}))}return Object.defineProperty(t.prototype,"renderPrint",{get:function(){return this._render},enumerable:!0,configurable:!0}),t.prototype.changePages=function(t){this._observer.next(t)},Object.defineProperty(t.prototype,"renderPrintBlob",{get:function(){return this._renderBlob},enumerable:!0,configurable:!0}),t.prototype.changeBlob=function(t){this._observerBlob.next(t)},t}();var dt=function(){function t(t){var e=this;this._renderService=t,t.renderPrint.subscribe((function(t){e.renderPrint(t)})),t.renderPrintBlob.subscribe((function(t){e.renderPrintBlob(t)}))}return t.prototype.renderPrint=function(t){var e,o,n="";try{for(var i=m(t),r=i.next();!r.done;r=i.next()){var s=r.value;n+='
'}}catch(t){e={error:t}}finally{try{r&&!r.done&&(o=i.return)&&o.call(i)}finally{if(e)throw e.error}}this.openWindow(n,t[0].width,t[0].height)},t.prototype.openWindow=function(t,e,o){var n="";if(e>595&&o>842){var i=Math.round(o/842)/100;n=".gd-page img { width: 100%; margin: 0; padding: 0;}",navigator.userAgent.toLowerCase().indexOf("firefox")>-1&&(n=".gd-page img { transform: scale("+i+");}")}var r="";var s=window.open("","PrintWindow","width=750,height=650,top=50,left=50,toolbars=yes,scrollbars=yes,status=yes,resizable=yes");s.focus(),s.document.writeln(r),s.document.writeln(t),s.document.close(),setTimeout((function(){s.focus(),s.print(),s.close()}),100)},t.prototype.renderPrintBlob=function(t){var e=URL.createObjectURL(t),o=window.open(e,"PrintWindow","width=750,height=650,top=50,left=50,toolbars=yes,scrollbars=yes,status=yes,resizable=yes");o.focus(),o.print(),o.close()},t.decorators=[{type:e.Directive,args:[{selector:"[gdRenderPrint]"}]}],t.ctorParameters=function(){return[{type:lt}]},t.propDecorators={htmlMode:[{type:e.Input}]},t}();var ut=function(){function t(){this._observer=new n.BehaviorSubject("Server is not available"),this._messageChange=this._observer.asObservable(),this._observerHttpEvent=new n.BehaviorSubject(null),this._httpEventChange=this._observerHttpEvent.asObservable()}return Object.defineProperty(t.prototype,"messageChange",{get:function(){return this._messageChange},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"httpEventChange",{get:function(){return this._httpEventChange},enumerable:!0,configurable:!0}),t.prototype.changeMessage=function(t){this._observer.next(t)},t.prototype.changeHttpEvent=function(t){this._observerHttpEvent.next(t)},t}();var gt=function(){function t(t){var e=this;t.messageChange.subscribe((function(t){return e.message=t}))}return t.prototype.ngOnInit=function(){},t.decorators=[{type:e.Component,args:[{selector:"gd-error-modal",template:'\r\n
\r\n \r\n
\r\n
Something went wrong
\r\n
{{message ? message : \'Server is not available\'}}
\r\n
\r\n
\r\n
\r\n',styles:[".gd-modal-error{display:-webkit-inline-box;display:inline-flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column;-webkit-box-flex:1;flex:1}.gd-modal-error .gd-modal-error-message{font-size:12px;margin:0 24px 24px 0;word-break:break-word}.gd-modal-error .gd-modal-error-title{font-size:16px;font-weight:700;margin:14px 0 10px}#gd-error-section{max-width:468px;max-height:204px;display:-webkit-box;display:flex}#gd-error-section fa-icon{-webkit-box-flex:1;flex:1;color:#e04e4e;font-size:40px;margin:13px 23px 90px;text-align:center;max-width:46px}"]}]}],t.ctorParameters=function(){return[{type:ut}]},t}();var ht=function(){function t(){this._observer=new n.Subject,this._passChange=this._observer.asObservable()}return Object.defineProperty(t.prototype,"passChange",{get:function(){return this._passChange},enumerable:!0,configurable:!0}),t.prototype.setPassword=function(t){this._observer.next(t)},t}();var ft=l,mt=function(){function t(t,o){var n=this;this._passwordService=o,this.cancelEvent=new e.EventEmitter,t.messageChange.subscribe((function(t){return n.message=t}))}return t.prototype.ngOnInit=function(){},t.prototype.setPassword=function(t){this._passwordService.setPassword(t)},t.prototype.onCloseOpen=function(t){t?setTimeout((function(){var t=ft("#password");t&&t.focus()}),100):ft("#password").val("")},t.prototype.cancel=function(t){ft("#password").val(""),this.cancelEvent.emit(!0)},t.decorators=[{type:e.Component,args:[{selector:"gd-password-required",template:'\r\n
\r\n
\r\n \r\n \r\n {{message}}\r\n \r\n Open\r\n \r\n
\r\n
\r\n
\r\n',styles:["#gd-password-section{width:375px;height:164px}.gd-password-wrap{display:-webkit-box;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column;margin:24px}.gd-password-wrap label{font-size:14px;color:#acacac;padding-bottom:12px}.gd-password-wrap input{height:30px;border:1px solid #25c2d4}.gd-password-wrap input.error{border-color:#e04e4e}.gd-password-wrap gd-button{align-self:flex-end}.gd-password-wrap ::ng-deep .button{height:37px;width:72px;padding:0;-webkit-box-pack:center;justify-content:center}.gd-password-wrap ::ng-deep .button ::ng-deep .text{font-size:10px!important}.gd-password-error{color:#e04e4e;padding:10px 0 12px;height:12px;line-height:12px;font-size:12px}@media (max-width:1037px){#gd-password-section{min-width:375px}}"]}]}],t.ctorParameters=function(){return[{type:ut},{type:ht}]},t.propDecorators={cancelEvent:[{type:e.Output}]},t}();var bt=function(){function t(t,e){this._modalService=t,this._messageService=e}return t.prototype.intercept=function(e,o){var r=this,s="background: maroon; color: white";return o.handle(e).pipe(i.map((function(t){return t})),i.catchError((function(e){if(e instanceof p.HttpErrorResponse)switch(e.status){case A.BadRequest:console.error("%c Bad Request 400",s);break;case A.Unauthorized:console.error("%c Unauthorized 401",s);break;case A.NotFound:console.error("%c Not Found 404",s);break;case A.TimeOut:console.error("%c TimeOut 408",s);break;case A.InternalServerError:console.error("%c big bad 500",s),r._messageService.changeMessage(e.error.message),r._messageService.changeHttpEvent(e),r._modalService.open(t.ErrorMessageWindowName);break;case A.Forbidden:console.error("%c Forbidden 403",s),r._messageService.changeMessage(e.error.message),r._modalService.open(_.PasswordRequired)}return n.throwError(e)})))},t.ErrorMessageWindowName=_.ErrorMessage,t.decorators=[{type:e.Injectable,args:[{providedIn:"root"}]}],t.ctorParameters=function(){return[{type:P},{type:ut}]},t.ngInjectableDef=e.ɵɵdefineInjectable({factory:function(){return new t(e.ɵɵinject(P),e.ɵɵinject(ut))},token:t,providedIn:"root"}),t}();var vt=function(){function t(){this._observer=new n.Subject,this._textChange=this._observer.asObservable(),this._observerCurrent=new n.Subject,this._currentChange=this._observerCurrent.asObservable(),this._observerTotal=new n.Subject,this._totalChange=this._observerTotal.asObservable()}return Object.defineProperty(t.prototype,"textChange",{get:function(){return this._textChange},enumerable:!0,configurable:!0}),t.prototype.setText=function(t){this._observer.next(t)},Object.defineProperty(t.prototype,"currentChange",{get:function(){return this._currentChange},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"totalChange",{get:function(){return this._totalChange},enumerable:!0,configurable:!0}),t.prototype.setCurrent=function(t){this._observerCurrent.next(t)},t.prototype.setTotal=function(t){this._observerTotal.next(t)},t}();var xt=function(){function t(t){var o=this;this._searchService=t,this.hidePanel=new e.EventEmitter(!1),this.current=0,this.total=0,t.totalChange.subscribe((function(t){o.total=t,o.current=0!==t?1:0,o._searchService.setCurrent(o.current)}))}return t.prototype.ngOnInit=function(){},t.prototype.setText=function(t){this._searchService.setText(t)},t.prototype.hide=function(){this.setText(""),this.hidePanel.emit(!0)},t.prototype.prev=function(){this.current>1&&(this.current--,this._searchService.setCurrent(this.current))},t.prototype.next=function(){this.current\r\n \r\n
{{current}} of {{total}}
\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n',styles:[".gd-nav-search-btn{margin:3px 0 4px}.gd-nav-search-cancel{color:#fff;font-size:14px;width:37px}.gd-search-count{color:#959da5;font-size:12px;position:absolute;right:148px;top:14px}.gd-nav-search-container{background-color:#3e4e5a;width:410px;position:fixed;left:50%;top:60px;z-index:2;-webkit-transform:translate(-50%,0);transform:translate(-50%,0);display:-webkit-box;display:flex}.gd-search-input{float:left;height:30px;width:267px;font-size:14px;color:#6e6e6e;border:1px solid #25c2d4;margin:7px 0 7px 7px;box-sizing:border-box;padding:6px 0 5px 9px}input[type=text]::-ms-clear{display:none}@media (max-width:1037px){.gd-search-input{width:231px;height:30px;margin:7px 0 7px 5px}.gd-search-count{position:absolute;left:193px;top:15px}.gd-nav-search-container{width:100%}}"]}]}],t.ctorParameters=function(){return[{type:vt}]},t.propDecorators={hidePanel:[{type:e.Output}],textElement:[{type:e.ViewChild,args:["text",{static:!0}]}]},t}();var wt=l,yt=function(){function t(t,e,o,n){var i=this;this._elementRef=t,this._searchService=e,this._highlight=o,this._zoomService=n,this.current=0,this.total=0,this.zoom=100,e.currentChange.subscribe((function(t){i.current=t,0!==i.current&&i.moveToCurrent()})),e.textChange.subscribe((function(t){i.text=t,i.highlightSearch()})),this.zoom=n.zoom?n.zoom:this.zoom,n.zoomChange.subscribe((function(t){i.zoom=t||i.zoom}))}return t.prototype.highlightSearch=function(){var t=this._elementRef?this._elementRef.nativeElement:null;if(t){if(this.cleanHighlight(t),this.text){this.highlightEl(t);var e=t.querySelectorAll(".gd-highlight").length;this.total=e}else this.total=0;this._searchService.setTotal(this.total)}},t.prototype.moveToCurrent=function(){if(0!==this.current){this.getZoom();var t=this._elementRef?this._elementRef.nativeElement:null;if(t){t.querySelectorAll(".gd-highlight-select").forEach((function(t){wt(t).removeClass("gd-highlight-select")}));var e=t.querySelectorAll(".gd-highlight")[this.current-1];if(wt(e).addClass("gd-highlight-select"),e){var o={left:0,top:wt(e).offset().top+t.parentElement.parentElement.scrollTop-150};t.parentElement.parentElement.scroll(o)}}}},t.prototype.highlightEl=function(t){var e=wt(t).find("*").contents().filter((function(){var t=this.parentElement.nodeName.toLowerCase(),e=!this.classList||!this.classList.contains("gd-highlight");return 3===this.nodeType&&0!==this.textContent.trim().length&&"style"!==t&&"title"!==t&&"body"!==t&&"script"!==t&&e})),o=this.text,n=this._highlight;e.each((function(){var t=wt(this),e=t.text();e=n.transform(e,o),t.replaceWith(e)})),t.normalize()},t.prototype.cleanHighlight=function(t){for(var e=t.querySelectorAll(".gd-highlight"),o=0;o\r\n \r\n \r\n\r\n',styles:[".top-panel{background:#3e4e5a;display:-webkit-box;display:flex;width:100%;height:90px}.top-panel ::ng-deep .logo{height:30px;font-size:16px}@media (max-width:1037px){.top-panel{height:60px}.top-panel ::ng-deep .logo{height:60px}}"]}]}],t.ctorParameters=function(){return[]},t.propDecorators={logo:[{type:e.Input}],icon:[{type:e.Input}]},t}();var kt=function(){function t(){this._observer=new n.Subject,this._activeTabChange=this._observer.asObservable()}return Object.defineProperty(t.prototype,"activeTabChange",{get:function(){return this._activeTabChange},enumerable:!0,configurable:!0}),t.prototype.changeActiveTab=function(t){this._observer.next(t)},t}();var Ct=function(){function t(t){var e=this;this._tabActivatorService=t,this.disabled=!1,this.active=!1,this.content=!0,this._tabActivatorService.activeTabChange.subscribe((function(t){e.activation(t)}))}return t.prototype.activation=function(t){this.id===t?this.active=!0:this.active=!1},t.prototype.ngOnInit=function(){},t.prototype.selectTab=function(){this.disabled||this._tabActivatorService.changeActiveTab(this.id)},t.decorators=[{type:e.Component,args:[{selector:"gd-tab",template:'
\r\n
{{tabTitle}}
\r\n \r\n
\r\n
\r\n \r\n
\r\n',styles:[".tab-content{height:60px;position:absolute;background-color:#fff;width:100%;left:0;line-height:60px;display:none;z-index:9}.tab-content ::ng-deep .toolbar-panel{height:60px}.tab-content.active{display:-webkit-box;display:flex}.gd-tab{text-align:center;font-size:11px;color:#e5e5e5;height:30px;line-height:30px;cursor:pointer;display:-webkit-box;display:flex;-webkit-box-align:center;align-items:center;-webkit-box-pack:center;justify-content:center}.gd-tab .icon{display:none;font-size:14px}.gd-tab .smp-tab-title{margin:auto 23px}.gd-tab.active{background-color:#fff;color:#3e4e5a;font-weight:700}@media (max-width:1037px){.gd-tab{height:60px;line-height:60px;width:60px}.gd-tab .title{display:none}.gd-tab .icon{display:block;font-size:22px}}"]}]}],t.ctorParameters=function(){return[{type:kt}]},t.propDecorators={id:[{type:e.Input}],tabTitle:[{type:e.Input}],icon:[{type:e.Input}],disabled:[{type:e.Input}],active:[{type:e.Input}],content:[{type:e.Input}]},t}();var _t=function(){function t(){}return t.decorators=[{type:e.Component,args:[{selector:"gd-tabs",template:'
\r\n \r\n
\r\n',styles:[".gd-tabs{display:-webkit-box;display:flex}"]}]}],t.ctorParameters=function(){return[]},t}(),Pt=function(){function t(t,e,o,n,i,r,s,a,c,p){this.fontSize=t,this.color=e,this.bgColor=o,this.bold=n,this.italic=i,this.underline=r,this.font=s,this.strikeout=a,this.align=c,this.list=p}return t.default=function(){return new t(10,"#000000","#FFFFFF",!1,!1,!1,"Arial",!1,"","")},t}();var Et=function(){function t(){this._observerBold=new n.Subject,this._formatBoldChange=this._observerBold.asObservable(),this._observerUnderline=new n.Subject,this._formatUnderlineChange=this._observerUnderline.asObservable(),this._observerUndo=new n.Subject,this._undo=this._observerUndo.asObservable(),this._observerRedo=new n.Subject,this._redo=this._observerRedo.asObservable(),this._observerItalic=new n.Subject,this._formatItalicChange=this._observerItalic.asObservable(),this._observerColor=new n.Subject,this._formatColorChange=this._observerColor.asObservable(),this._observerBgColor=new n.Subject,this._formatBgColorChange=this._observerBgColor.asObservable(),this._observerFontSize=new n.Subject,this._formatFontSizeChange=this._observerFontSize.asObservable(),this._observerFont=new n.Subject,this._formatFontChange=this._observerFont.asObservable(),this._observerStrikeout=new n.Subject,this._formatStrikeoutChange=this._observerStrikeout.asObservable(),this._observerAlign=new n.Subject,this._formatAlignChange=this._observerAlign.asObservable(),this._observerList=new n.Subject,this._formatListChange=this._observerList.asObservable()}return Object.defineProperty(t.prototype,"formatBoldChange",{get:function(){return this._formatBoldChange},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"formatUnderlineChange",{get:function(){return this._formatUnderlineChange},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"formatColorChange",{get:function(){return this._formatColorChange},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"formatBgColorChange",{get:function(){return this._formatBgColorChange},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"formatFontSizeChange",{get:function(){return this._formatFontSizeChange},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"formatFontChange",{get:function(){return this._formatFontChange},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"undo",{get:function(){return this._undo},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"redo",{get:function(){return this._redo},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"formatItalicChange",{get:function(){return this._formatItalicChange},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"formatStrikeoutChange",{get:function(){return this._formatStrikeoutChange},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"formatAlignChange",{get:function(){return this._formatAlignChange},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"formatListChange",{get:function(){return this._formatListChange},enumerable:!0,configurable:!0}),t.createFontSizeOption=function(t){return{value:t,name:t+"px",separator:!1}},t.getFontSizeOptions=function(){return[t.createFontSizeOption(8),t.createFontSizeOption(10),t.createFontSizeOption(12),t.createFontSizeOption(14),t.createFontSizeOption(16),t.createFontSizeOption(18),t.createFontSizeOption(20),t.createFontSizeOption(22),t.createFontSizeOption(24)]},t.createFontOption=function(t){return{value:t,name:t,separator:!1}},t.getFontOptions=function(){var t=this,e=[];return["Arial","Calibri","Century Gothic","Comic Sans","Consolas","Courier","Dejavu Sans","Dejavu Serif","Georgia","Gill Sans","Helvetica","Impact","Lucida Sans","Myriad Pro","Open Sans","Palatino","Tahoma","Times New Roman","Trebuchet"].forEach((function(o){e.push(t.createFontOption(o))})),e},t.prototype.changeFormatFontSize=function(t){this._observerFontSize.next(t)},t.prototype.changeFormatBold=function(t){this._observerBold.next(t)},t.prototype.changeFormatUnderline=function(t){this._observerUnderline.next(t)},t.prototype.Undo=function(){this._observerUndo.next()},t.prototype.Redo=function(){this._observerRedo.next()},t.prototype.changeFormatItalic=function(t){this._observerItalic.next(t)},t.prototype.changeFormatColor=function(t){this._observerColor.next(t)},t.prototype.changeFormatBgColor=function(t){this._observerBgColor.next(t)},t.prototype.changeFormatFont=function(t){this._observerFont.next(t)},t.prototype.changeFormatStrikeout=function(t){this._observerStrikeout.next(t)},t.prototype.changeFormatAlign=function(t){this._observerAlign.next(t)},t.prototype.changeFormatList=function(t){this._observerList.next(t)},t}();var It=["#000000","#434343","#666666","#999999","#B7B7B7","#CCCCCC","#D9D9D9","#EFEFEF","#F3F3F3","#FFFFFF","#980000","#FF0000","#FF9900","#FFFF00","#00FF00","#00FFFF","#4986E8","#0000FF","#9900FF","#FF00FF","#E6B8AF","#F4CCCC","#FDE5CD","#FFF2CC","#D9EAD3","#D0E0E2","#C9DAF8","#CFE2F3","#D9D2E9","#EAD1DC","#DD7E6B","#EA9899","#F9CB9C","#FFE59A","#B7D7A8","#A2C4C9","#A4C2F4","#9FC5E8","#B4A7D7","#D5A6BD","#CC4125","#E06666","#F6B26B","#FFD966","#92C47D","#75A5AF","#6D9EEB","#6FA9DB","#8E7CC3","#C27BA0","#A61C00","#CC0000","#E69138","#F2C131","#6AA84F","#45818E","#3C78D8","#3C85C6","#674EA7","#A64D79","#85200B","#990000","#B45F05","#BF9000","#37761D","#144F5C","#1254CC","#0A5394","#351C75","#741B47","#5B0F00","#660000","#783F03","#7F6000","#284E13","#0B343D","#1B4586","#063763","#20124D","#4C1030"],Ot=function(){function t(){this.isOpen=!1,this.selectedColor=new e.EventEmitter,this.closeOutside=new e.EventEmitter,this.colors=It,this.white="#FFFFFF"}return t.prototype.ngOnInit=function(){},t.prototype.select=function(t,e){t.preventDefault(),t.stopPropagation(),this.selectedColor.emit(e)},t.prototype.close=function(){this.isOpen=!1,this.closeOutside.emit(!0)},t.decorators=[{type:e.Component,args:[{selector:"gd-color-picker",template:'
\r\n
\r\n
\r\n
\r\n
\r\n',styles:[".bcPicker-picker{border:1px;border-radius:100%}.bcPicker-palette{width:250px;background-color:#fdfdfd;z-index:999;box-shadow:0 0 5px #efefef;display:-webkit-box;display:flex;flex-wrap:wrap;-webkit-box-pack:center;justify-content:center}.bcPicker-palette>.bcPicker-color{width:18px;height:18px;margin:2px;cursor:pointer}"]}]}],t.ctorParameters=function(){return[]},t.propDecorators={isOpen:[{type:e.Input}],selectedColor:[{type:e.Output}],closeOutside:[{type:e.Output}]},t}();var zt=function(t){function o(){return t.call(this)||this}return f(o,t),o.decorators=[{type:e.Injectable,args:[{providedIn:"root"}]}],o.ctorParameters=function(){return[]},o.ngInjectableDef=e.ɵɵdefineInjectable({factory:function(){return new o},token:o,providedIn:"root"}),o}(Et),Ft=function(){function t(){this.isIE=!!/(MSIE|Trident\/|Edge\/)/i.test(navigator.userAgent)}return t.prototype.restoreSelection=function(){(this.selection&&!this.selection.collapsed||this.isIE)&&this.putSelection(this.selection)},t.prototype.captureSelection=function(){var t=window.getSelection();t.rangeCount>0&&(this.selection=t.getRangeAt(0))},t.prototype.putSelection=function(t){var e=window.getSelection();e.removeAllRanges(),e.addRange(t.cloneRange())},t.prototype.refreshSelection=function(){this.captureSelection(),this.restoreSelection()},t.decorators=[{type:e.Injectable,args:[{providedIn:"root"}]}],t.ngInjectableDef=e.ɵɵdefineInjectable({factory:function(){return new t},token:t,providedIn:"root"}),t}();var Dt=l,Tt=function(){function t(t,e,o){this._formattingService=t,this._backFormattingService=e,this._selectionService=o,this.bold=!1,this.italic=!1,this.underline=!1,this.strikeout=!1,this.isIE=!1,this.isIE=!!/(MSIE|Trident\/|Edge\/)/i.test(navigator.userAgent)}return t.prototype.mouseup=function(){this.bold=document.queryCommandState("bold"),this.strikeout=document.queryCommandState("strikeThrough"),this.italic=document.queryCommandState("italic"),this.bgColor=document.queryCommandValue("backColor"),this.underline=document.queryCommandState("underline"),this.align=this.checkJustify(),this.list=this.checkList(),"transparent"===this.bgColor&&(this.bgColor=Dt(window.getSelection().focusNode.parentNode).css("background-color").toString()),this.font=document.queryCommandValue("FontName").replace(/"/g,""),this.font.split(",").length>1&&(this.font=this.font.split(",")[0]),this.color=document.queryCommandValue("foreColor"),this._backFormattingService.changeFormatBold(this.bold),this._backFormattingService.changeFormatUnderline(this.underline),this._backFormattingService.changeFormatItalic(this.italic),this._backFormattingService.changeFormatColor(this.color),this._backFormattingService.changeFormatBgColor(this.bgColor),this._backFormattingService.changeFormatFontSize(this.reportFontSize()),this._backFormattingService.changeFormatFont(this.font),this._backFormattingService.changeFormatStrikeout(this.strikeout),this._backFormattingService.changeFormatAlign(this.align),this._backFormattingService.changeFormatList(this.list)},t.prototype.checkJustify=function(){var t="";return t=document.queryCommandState("justifyCenter")?"center":t,t=document.queryCommandState("justifyFull")?"full":t,t=document.queryCommandState("justifyLeft")?"left":t,t=document.queryCommandState("justifyRight")?"right":t},t.prototype.checkList=function(){var t="";return t=document.queryCommandState("insertUnorderedList")?"unordered":t,t=document.queryCommandState("insertOrderedList")?"ordered":t},t.prototype.reportFontSize=function(){var t,e;if(window.getSelection?(e=window.getSelection()).rangeCount&&3===(t=e.getRangeAt(0).commonAncestorContainer).nodeType&&(t=t.parentNode):(e=document.getSelection())&&"Control"!==e.type&&(t=e.createRange().parentElement()),t)return parseInt(this.getComputedStyleProperty(t,"fontSize").replace("px",""),10)},t.prototype.getComputedStyleProperty=function(t,e){return window.getComputedStyle?window.getComputedStyle(t,null)[e]:t.currentStyle?t.currentStyle[e]:void 0},t.prototype.ngOnInit=function(){var t=this;this._formattingService.undo.subscribe((function(){t.toggleUndo()})),this._formattingService.redo.subscribe((function(){t.toggleRedo()})),this._formattingService.formatBoldChange.subscribe((function(e){t.bold=e,t.toggleBold()})),this._formattingService.formatUnderlineChange.subscribe((function(e){t.underline=e,t.toggleUnderline()})),this._formattingService.formatItalicChange.subscribe((function(e){t.italic=e,t.toggleItalic()})),this._formattingService.formatColorChange.subscribe((function(e){t.color=e,t.setColor(e)})),this._formattingService.formatBgColorChange.subscribe((function(e){t.bgColor=e,t.setBgColor(e)})),this._formattingService.formatFontSizeChange.subscribe((function(e){t.setFontSize(e)})),this._formattingService.formatFontChange.subscribe((function(e){t.font=e,t.setFont(e)})),this._formattingService.formatStrikeoutChange.subscribe((function(e){t.strikeout=e,t.toggleStrikeout()})),this._formattingService.formatAlignChange.subscribe((function(e){t.align=e,t.toggleAlign(t.align)})),this._formattingService.formatListChange.subscribe((function(e){var o=t.list===e;t.list=e,t.toggleList(t.list,o)}))},t.prototype.toggleBold=function(){document.execCommand("bold"),this._selectionService.refreshSelection()},t.prototype.toggleUnderline=function(){document.execCommand("underline"),this._selectionService.refreshSelection()},t.prototype.toggleItalic=function(){document.execCommand("italic"),this._selectionService.refreshSelection()},t.prototype.setBgColor=function(t){document.execCommand("backColor",!1,t),this._selectionService.refreshSelection()},t.prototype.setColor=function(t){document.execCommand("foreColor",!1,t),this._selectionService.refreshSelection()},t.prototype.setFontSize=function(t){if(document.getSelection().toString()){var e=""+document.getSelection()+"";this.bold&&(e=""+e+""),this.italic&&(e=""+e+""),this.underline&&(e=""+e+""),this.strikeout&&(e=""+e+""),document.execCommand("insertHTML",!1,e)}else document.execCommand("fontsize",!1,"7");this._selectionService.refreshSelection()},t.prototype.toggleUndo=function(){document.execCommand("undo")},t.prototype.toggleRedo=function(){document.execCommand("redo")},t.prototype.setFont=function(t){document.execCommand("fontName",!1,t),this._selectionService.refreshSelection()},t.prototype.toggleStrikeout=function(){document.execCommand("strikeThrough"),this._selectionService.refreshSelection()},t.prototype.toggleAlign=function(t){if(this.isIE)this.toggleAlignIE(t);else{switch(document.execCommand("styleWithCSS",!1,"true"),t){case"center":document.execCommand("justifyCenter");break;case"full":document.execCommand("justifyFull");break;case"left":document.execCommand("justifyLeft");break;case"right":document.execCommand("justifyRight")}this._selectionService.refreshSelection()}},t.prototype.toggleAlignIE=function(t){this._selectionService.restoreSelection(),this._selectionService.captureSelection();var e=window.getSelection().focusNode.parentNode.parentNode;"full"===t&&(t="justify"),Dt(e).css("text-align",t),this._selectionService.refreshSelection()},t.prototype.toggleList=function(t,e){switch(t){case"unordered":document.execCommand("insertUnorderedList",e);break;case"ordered":document.execCommand("insertOrderedList",e)}this._selectionService.refreshSelection()},t.decorators=[{type:e.Directive,args:[{selector:"[gdFormatting]"}]}],t.ctorParameters=function(){return[{type:Et},{type:zt},{type:Ft}]},t.propDecorators={mouseup:[{type:e.HostListener,args:["mouseup"]}]},t}();var At=function(){function t(){}return t.prototype.ngOnInit=function(){},t.decorators=[{type:e.Component,args:[{selector:"gd-success-modal",template:'\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n',styles:[".check_mark{margin:47px auto}.sa-icon{width:80px;height:80px;border:4px solid gray;border-radius:50%;padding:0;position:relative;box-sizing:content-box}#gd-modal-success{display:-webkit-box;display:flex;overflow:hidden;width:469px;height:183px}.sa-icon.sa-success{border-color:#4caf50;-webkit-transform:scale(1.18);transform:scale(1.18)}.sa-icon.sa-success::after,.sa-icon.sa-success::before{content:'';position:absolute;width:60px;height:120px;background:#fff}.sa-icon.sa-success::before{border-radius:120px 0 0 120px;top:-7px;left:-33px;-webkit-transform:rotate(-45deg);transform:rotate(-45deg);-webkit-transform-origin:60px 60px;transform-origin:60px 60px}.sa-icon.sa-success::after{border-radius:0 120px 120px 0;top:-11px;left:30px;-webkit-transform:rotate(-45deg);transform:rotate(-45deg);-webkit-transform-origin:0 60px;transform-origin:0 60px}.sa-icon.sa-success .sa-placeholder{width:80px;height:80px;border:4px solid rgba(76,175,80,.5);border-radius:50%;box-sizing:content-box;position:absolute;left:-4px;top:-4px;z-index:2}.sa-icon.sa-success .sa-fix{width:5px;height:90px;background-color:#fff;position:absolute;left:28px;top:8px;z-index:1;-webkit-transform:rotate(-45deg);transform:rotate(-45deg)}.sa-icon.sa-success.animate::after{-webkit-animation:4.25s ease-in rotatePlaceholder;animation:4.25s ease-in rotatePlaceholder}.animateSuccessTip{-webkit-animation:.75s animateSuccessTip;animation:.75s animateSuccessTip}.animateSuccessLong{-webkit-animation:.75s animateSuccessLong;animation:.75s animateSuccessLong}@-webkit-keyframes animateSuccessLong{0%,65%{width:0;right:46px;top:54px}84%{width:55px;right:0;top:35px}100%{width:47px;right:8px;top:38px}}@-webkit-keyframes animateSuccessTip{0%,54%{width:0;left:1px;top:19px}70%{width:50px;left:-8px;top:37px}84%{width:17px;left:21px;top:48px}100%{width:25px;left:14px;top:45px}}@keyframes animateSuccessTip{0%,54%{width:0;left:1px;top:19px}70%{width:50px;left:-8px;top:37px}84%{width:17px;left:21px;top:48px}100%{width:25px;left:14px;top:45px}}@keyframes animateSuccessLong{0%,65%{width:0;right:46px;top:54px}84%{width:55px;right:0;top:35px}100%{width:47px;right:8px;top:38px}}.sa-icon.sa-success .sa-line{height:5px;background-color:#4caf50;display:block;border-radius:2px;position:absolute;z-index:2}.sa-icon.sa-success .sa-line.sa-tip{width:25px;left:14px;top:46px;-webkit-transform:rotate(45deg);transform:rotate(45deg)}.sa-icon.sa-success .sa-line.sa-long{width:47px;right:8px;top:38px;-webkit-transform:rotate(-45deg);transform:rotate(-45deg)}@-webkit-keyframes rotatePlaceholder{0%,5%{transform:rotate(-45deg);-webkit-transform:rotate(-45deg)}100%,12%{transform:rotate(-405deg);-webkit-transform:rotate(-405deg)}}@keyframes rotatePlaceholder{0%,5%{transform:rotate(-45deg);-webkit-transform:rotate(-45deg)}100%,12%{transform:rotate(-405deg);-webkit-transform:rotate(-405deg)}}@media (max-width:1037px){#gd-modal-success{left:50%;top:50%;position:relative;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%)}}"]}]}],t.ctorParameters=function(){return[]},t}(),Mt=function(){function t(){this._observer=new n.Subject,this._htmlContent=this._observer.asObservable()}return Object.defineProperty(t.prototype,"observer",{get:function(){return this._observer},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"htmlContent",{get:function(){return this._htmlContent},enumerable:!0,configurable:!0}),t.decorators=[{type:e.Injectable,args:[{providedIn:"root"}]}],t.ctorParameters=function(){return[]},t.ngInjectableDef=e.ɵɵdefineInjectable({factory:function(){return new t},token:t,providedIn:"root"}),t}();var jt=function(){function t(t,e){this._selectionService=t,this._htmlService=e,this.isIE=!!/(MSIE|Trident\/|Edge\/)/i.test(navigator.userAgent)}return t.prototype.onInput=function(t){if(this.text=t.target,this.isIE&&this.text.innerHTML){var e=this.text.innerHTML.toString();this._htmlService.observer.next(e)}},t.prototype.onMouseleave=function(t){this._selectionService.captureSelection(),this.isIE&&this._htmlService.observer.next(t.target.innerHTML.toString())},t.prototype.onBlur=function(t){if(t.preventDefault(),this._selectionService.restoreSelection(),this.text.innerHTML){var e=this.text.innerHTML.toString();this._htmlService.observer.next(e)}else this._htmlService.observer.next(t.target.innerHTML.toString())},t.decorators=[{type:e.Directive,args:[{selector:"[gdEditor]"}]}],t.ctorParameters=function(){return[{type:Ft},{type:Mt}]},t.propDecorators={text:[{type:e.Input}],onInput:[{type:e.HostListener,args:["keyup",["$event"]]}],onMouseleave:[{type:e.HostListener,args:["mouseleave",["$event"]]}],onBlur:[{type:e.HostListener,args:["blur",["$event"]]}]},t}();var Rt=function(){function t(){this.onLoadingChanged=new e.EventEmitter,this.stopList=[],this.requests=[],this.stopList.push(k.SAVE_TEXT),this.stopList.push(k.SAVE_OPTICAL_CODE),this.stopList.push(k.LOAD_DOCUMENT_PAGE),this.stopList.push(k.LOAD_THUMBNAILS),this.stopList.push(k.GET_FILE_STATUS),this.stopList.push(k.LOAD_PRINT)}return t.prototype.onRequestStart=function(t){this.stopList.find((function(e){return t.url.includes(e)}))||(this.requests.push(t),this.notify())},t.prototype.onRequestFinish=function(t){var e=this.requests.indexOf(t);-1!==e&&this.requests.splice(e,1),this.notify()},t.prototype.addStopUrl=function(t){this.stopList.push(t)},t.prototype.notify=function(){this.onLoadingChanged.emit(0!==this.requests.length)},t.decorators=[{type:e.Injectable}],t.ctorParameters=function(){return[]},t}();var Lt=function(){function t(t){this._loadingMaskService=t,this.loadingMask=!1}return t.prototype.ngOnInit=function(){},t.prototype.ngAfterViewInit=function(){var t=this;this._loadingMaskService.onLoadingChanged.subscribe((function(e){return t.loadingMask=e}))},t.decorators=[{type:e.Component,args:[{selector:"gd-loading-mask",template:'
\r\n
\r\n  Loading... Please wait.\r\n
\r\n
\r\n',styles:[".loading-wrapper{background:rgba(0,0,0,.5);width:100%;height:100%;font-size:14px;color:#fff;position:fixed;top:0;left:0;z-index:99999}.loading-message{position:absolute;left:50%;top:50%;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%)}"]}]}],t.ctorParameters=function(){return[{type:Rt}]},t.propDecorators={loadingMask:[{type:e.Input}]},t}();var Ut=function(){function t(t){this._loadingMaskService=t}return t.prototype.intercept=function(t,e){var o=this;this._loadingMaskService.onRequestStart(t);return e.handle(t).pipe(i.finalize((function(){return o._loadingMaskService.onRequestFinish(t)})))},t.decorators=[{type:e.Injectable,args:[{providedIn:"root"}]}],t.ctorParameters=function(){return[{type:Rt}]},t.ngInjectableDef=e.ɵɵdefineInjectable({factory:function(){return new t(e.ɵɵinject(Rt))},token:t,providedIn:"root"}),t}();var Ht={center:{right:"auto"},left:{right:"100%"},right:{right:"-100%"}},Nt={center:{top:"0px"},top:{top:"-100%",right:"100%"},bottom:{top:"autos"}},Bt=function(){function t(t){var e=this;this.dropdown=t,this.click=function(t){return e.dropdown.toggle(t)}}return t.decorators=[{type:e.Component,args:[{selector:"gd-drop-down-toggle",template:"",encapsulation:e.ViewEncapsulation.None,styles:[".drop-down{position:relative}.show .drop-down-items{display:-webkit-box;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column;position:absolute;z-index:1000;min-width:100%;max-height:300px;padding:0;background-color:#fff;box-shadow:0 6px 12px rgba(0,0,0,.175);background-clip:padding-box;overflow-y:auto;overflow-x:hidden}.show .drop-down-items .drop-down-item,.show .drop-down-items gd-drop-down-item{color:#959da5;display:-webkit-box;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;flex-direction:row;-webkit-box-pack:justify;justify-content:space-between;cursor:pointer;font-size:10px;line-height:28px;min-height:28px;width:100%}.show .drop-down-items .drop-down-item fa-icon svg,.show .drop-down-items gd-drop-down-item fa-icon svg{margin:0 10px;color:#959da5}.show .drop-down-items .drop-down-item .text,.show .drop-down-items gd-drop-down-item .text{width:100%;margin-right:10px}.show .drop-down-items .drop-down-item:hover,.show .drop-down-items gd-drop-down-item:hover{background-color:#25c2d4}.show .drop-down-items .drop-down-item:hover *,.show .drop-down-items gd-drop-down-item:hover *{color:#fff}.drop-down-items{display:none}"]}]}],t.ctorParameters=function(){return[{type:void 0,decorators:[{type:e.Inject,args:[e.forwardRef((function(){return Vt}))]}]}]},t.propDecorators={click:[{type:e.HostListener,args:["click",["$event"]]}]},t}();var Wt=function(){function t(t){this.dropdown=t}return Object.defineProperty(t.prototype,"horizontalAlign",{get:function(){return Ht[this.dropdown.getPlacement().h].right},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"verticalAlign",{get:function(){return Nt[this.dropdown.getPlacement().v].top},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"isOpen",{get:function(){return this.dropdown.open},enumerable:!0,configurable:!0}),t.prototype.onClickOutside=function(t){this.dropdown.close()},t.decorators=[{type:e.Component,args:[{selector:"gd-drop-down-items",template:'',encapsulation:e.ViewEncapsulation.None,styles:[".drop-down{position:relative}.show .drop-down-items{display:-webkit-box;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column;position:absolute;z-index:1000;min-width:100%;max-height:300px;padding:0;background-color:#fff;box-shadow:0 6px 12px rgba(0,0,0,.175);background-clip:padding-box;overflow-y:auto;overflow-x:hidden}.show .drop-down-items .drop-down-item,.show .drop-down-items gd-drop-down-item{color:#959da5;display:-webkit-box;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;flex-direction:row;-webkit-box-pack:justify;justify-content:space-between;cursor:pointer;font-size:10px;line-height:28px;min-height:28px;width:100%}.show .drop-down-items .drop-down-item fa-icon svg,.show .drop-down-items gd-drop-down-item fa-icon svg{margin:0 10px;color:#959da5}.show .drop-down-items .drop-down-item .text,.show .drop-down-items gd-drop-down-item .text{width:100%;margin-right:10px}.show .drop-down-items .drop-down-item:hover,.show .drop-down-items gd-drop-down-item:hover{background-color:#25c2d4}.show .drop-down-items .drop-down-item:hover *,.show .drop-down-items gd-drop-down-item:hover *{color:#fff}.drop-down-items{display:none}"]}]}],t.ctorParameters=function(){return[{type:void 0,decorators:[{type:e.Inject,args:[e.forwardRef((function(){return Vt}))]}]}]},t}();var $t=function(){function t(t){var o=this;this.dropdown=t,this.class="drop-down-item",this.selected=new e.EventEmitter,this.click=function(){return o.selectEntry()}}return t.prototype.selectEntry=function(){this.selected.next(),this.dropdown.close()},t.decorators=[{type:e.Component,args:[{selector:"gd-drop-down-item",template:'',styles:[".drop-down{position:relative}.show .drop-down-items{display:-webkit-box;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column;position:absolute;z-index:1000;min-width:100%;max-height:300px;padding:0;background-color:#fff;box-shadow:0 6px 12px rgba(0,0,0,.175);background-clip:padding-box;overflow-y:auto;overflow-x:hidden}.show .drop-down-items .drop-down-item,.show .drop-down-items gd-drop-down-item{color:#959da5;display:-webkit-box;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;flex-direction:row;-webkit-box-pack:justify;justify-content:space-between;cursor:pointer;font-size:10px;line-height:28px;min-height:28px;width:100%}.show .drop-down-items .drop-down-item fa-icon svg,.show .drop-down-items gd-drop-down-item fa-icon svg{margin:0 10px;color:#959da5}.show .drop-down-items .drop-down-item .text,.show .drop-down-items gd-drop-down-item .text{width:100%;margin-right:10px}.show .drop-down-items .drop-down-item:hover,.show .drop-down-items gd-drop-down-item:hover{background-color:#25c2d4}.show .drop-down-items .drop-down-item:hover *,.show .drop-down-items gd-drop-down-item:hover *{color:#fff}.drop-down-items{display:none}"]}]}],t.ctorParameters=function(){return[{type:void 0,decorators:[{type:e.Inject,args:[e.forwardRef((function(){return Vt}))]}]}]},t.propDecorators={class:[{type:e.HostBinding,args:["class"]}],selected:[{type:e.Output}],click:[{type:e.HostListener,args:["click"]}]},t}();var Vt=function(){function t(){this.placement={h:"center",v:"bottom"},this.open=!1,this.class="drop-down"}return t.prototype.close=function(){this.open=!1},t.prototype.toggle=function(t){t.stopPropagation(),this.open=!this.open,document.body.click()},t.prototype.getPlacement=function(){return this.placement},t.decorators=[{type:e.Component,args:[{selector:"gd-drop-down",template:'',encapsulation:e.ViewEncapsulation.None,styles:[".drop-down{position:relative}.show .drop-down-items{display:-webkit-box;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column;position:absolute;z-index:1000;min-width:100%;max-height:300px;padding:0;background-color:#fff;box-shadow:0 6px 12px rgba(0,0,0,.175);background-clip:padding-box;overflow-y:auto;overflow-x:hidden}.show .drop-down-items .drop-down-item,.show .drop-down-items gd-drop-down-item{color:#959da5;display:-webkit-box;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;flex-direction:row;-webkit-box-pack:justify;justify-content:space-between;cursor:pointer;font-size:10px;line-height:28px;min-height:28px;width:100%}.show .drop-down-items .drop-down-item fa-icon svg,.show .drop-down-items gd-drop-down-item fa-icon svg{margin:0 10px;color:#959da5}.show .drop-down-items .drop-down-item .text,.show .drop-down-items gd-drop-down-item .text{width:100%;margin-right:10px}.show .drop-down-items .drop-down-item:hover,.show .drop-down-items gd-drop-down-item:hover{background-color:#25c2d4}.show .drop-down-items .drop-down-item:hover *,.show .drop-down-items gd-drop-down-item:hover *{color:#fff}.drop-down-items{display:none}"]}]}],t.propDecorators={placement:[{type:e.Input}],open:[{type:e.Input},{type:e.HostBinding,args:["class.show"]}],class:[{type:e.HostBinding,args:["class"]}]},t}();var qt=function(){function t(){this.showSpinner=!1}return t.prototype.ngOnInit=function(){},t.decorators=[{type:e.Component,args:[{selector:"gd-left-side-bar",template:'
\r\n
\r\n
 Loading...\r\n
\r\n
\r\n \r\n
\r\n',styles:[".left-panel{border-radius:0;float:left}.gd-left-bar-fade{margin:auto;overflow:hidden;-webkit-overflow-scrolling:touch;-webkit-transition:-webkit-transform .3s ease-out;transition:transform .3s ease-out;transition:transform .3s ease-out,-webkit-transform .3s ease-out;width:100%;height:100%;display:-webkit-box;display:flex;-webkit-box-pack:center;justify-content:center;-webkit-box-align:center;align-items:center;position:fixed;z-index:1000}@media (max-width:1037px){.gd-left-bar-fade{top:100px;right:0}.gd-left-bar-spinner{top:20%}}"]}]}],t.ctorParameters=function(){return[]},t.propDecorators={showSpinner:[{type:e.Input}]},t}();var Gt=function(){function t(){this.showToolTip=new e.EventEmitter}return t.prototype.onHovering=function(){this.showToolTip.emit(!0)},t.prototype.onUnhovering=function(){this.showToolTip.emit(!1)},t.decorators=[{type:e.Directive,args:[{selector:"[gdTooltip]"}]}],t.ctorParameters=function(){return[]},t.propDecorators={showToolTip:[{type:e.Output}],onHovering:[{type:e.HostListener,args:["mouseenter"]}],onUnhovering:[{type:e.HostListener,args:["mouseleave"]}]},t}();var Xt=function(){function t(t,e){this._factoryResolver=t,this._appRef=e}return t.prototype.addDynamicComponent=function(t,e){var o=this,n=this._factoryResolver.resolveComponentFactory(e),i=t.createComponent(n);return i.onDestroy((function(){o._appRef.detachView(i.hostView)})),i},t.decorators=[{type:e.Injectable,args:[{providedIn:"root"}]}],t.ctorParameters=function(){return[{type:e.ComponentFactoryResolver},{type:e.ApplicationRef}]},t.ngInjectableDef=e.ɵɵdefineInjectable({factory:function(){return new t(e.ɵɵinject(e.ComponentFactoryResolver),e.ɵɵinject(e.ApplicationRef))},token:t,providedIn:"root"}),t}();var Zt=function(){function t(){this.hosts=[]}return t.prototype.add=function(t){this.hosts=this.hosts.filter((function(e){return e.ident!==t.ident})),this.hosts.push(t)},t.prototype.remove=function(t){this.hosts=this.hosts.filter((function(e){return e.ident!==t.ident}))},t.prototype.find=function(t){return this.hosts.find((function(e){return e.ident===t}))},t}();var Yt=function(){function t(t,e){this.viewContainerRef=t,this._hostingService=e}return t.prototype.ngAfterViewInit=function(){this._hostingService.add(this)},t.prototype.ngOnDestroy=function(){this._hostingService.remove(this),this.viewContainerRef.clear()},t.decorators=[{type:e.Directive,args:[{selector:"[gdHostDynamic]"}]}],t.ctorParameters=function(){return[{type:e.ViewContainerRef},{type:Zt}]},t.propDecorators={ident:[{type:e.Input}]},t}();var Jt=l,Kt=function(){function t(){this.se=!1,this.ne=!1,this.sw=!1,this.nw=!1,this.SE="se",this.NE="ne",this.SW="sw",this.NW="nw",this.offsetX=new e.EventEmitter,this.offsetY=new e.EventEmitter,this.offsetTop=new e.EventEmitter,this.offsetLeft=new e.EventEmitter,this.release=new e.EventEmitter,this.grab=!1}return t.prototype.ngAfterViewInit=function(){var t=this,e=Jt(this.getElementId(this.SE)),o=Jt(this.getElementId(this.NW));if(this.init&&e&&o&&e.offset()&&o.offset()){for(var n=e.offset().left-o.offset().left,i=e.offset().top-o.offset().top;n>=this.pageWidth||i>=this.pageHeight;)n/=2,i/=2;setTimeout((function(){t.offsetX.emit(n),t.offsetY.emit(i)}),100)}},t.prototype.ngOnInit=function(){},t.prototype.catchUp=function(t){t.preventDefault(),t.dataTransfer&&t.dataTransfer.setData("text","foo"),this.grab=!0,this.oldPosition=M.getMousePosition(t)},t.prototype.resize=function(t,e){if(this.grab){var o=M.getMousePosition(t);if(0!==o.x||0!==o.y){var n=this.NE===e||this.NW===e,i=this.SW===e||this.NW===e;this.setOffsets(o,i,n),n&&this.offsetTop.emit(o.y-this.oldPosition.y),i&&this.offsetLeft.emit(o.x-this.oldPosition.x),this.oldPosition=o}}},t.prototype.setOffsets=function(t,e,o){var n=e?this.oldPosition.x-t.x:t.x-this.oldPosition.x,i=o?this.oldPosition.y-t.y:t.y-this.oldPosition.y;this.offsetX.emit(n),this.offsetY.emit(i)},t.prototype.end=function(t,e){this.resize(t,e),this.release.emit(!0),this.grab=!1},t.prototype.start=function(t){this.drop(t)},t.prototype.drop=function(t){t.stopPropagation(),t.preventDefault()},t.prototype.getElementId=function(t){return"#"+t+"-"+this.id},t.decorators=[{type:e.Component,args:[{selector:"gd-resizing",template:'
\r\n\r\n
\r\n\r\n
\r\n\r\n
\r\n',styles:[".ui-resizable-handle{background-color:#679ffa;width:8px;height:8px;border-radius:100%;position:absolute;font-size:.1px;display:block}.se-resize{bottom:-5px;right:-5px;cursor:se-resize}.ne-resize{top:-5px;right:-5px;cursor:ne-resize}.sw-resize{bottom:-5px;left:-5px;cursor:sw-resize}.nw-resize{top:-5px;left:-5px;cursor:nw-resize}"]}]}],t.ctorParameters=function(){return[]},t.propDecorators={init:[{type:e.Input}],id:[{type:e.Input}],se:[{type:e.Input}],ne:[{type:e.Input}],sw:[{type:e.Input}],nw:[{type:e.Input}],pageWidth:[{type:e.Input}],pageHeight:[{type:e.Input}],offsetX:[{type:e.Output}],offsetY:[{type:e.Output}],offsetTop:[{type:e.Output}],offsetLeft:[{type:e.Output}],release:[{type:e.Output}]},t}();var Qt=function(t){function e(){return t.call(this)||this}return f(e,t),e}(kt),te=function(){function t(t,o,n){var i=this;this._tabActivatorService=t,this._modalService=o,this._excMessageService=n,this.disabled=!1,this.activeTab=new e.EventEmitter,this.elementPosition=0,this.active=!1,this.showToolTip=!1,this._tabActivatorService.activeTabChange.subscribe((function(t){i.activation(t),null===t&&i.activeTab.emit("")}))}return t.prototype.activation=function(t){this.id===t?(this.active=!this.active,this.active?this.activeTab.emit(this.id):this.activeTab.emit("")):this.active=!1},t.prototype.ngOnInit=function(){},t.prototype.toggleTab=function(){if(this.disabled)return this._modalService.open(_.ErrorMessage),void this._excMessageService.changeMessage("Please open document first");this._tabActivatorService.changeActiveTab(this.id)},t.decorators=[{type:e.Component,args:[{selector:"gd-top-tab",template:'
\r\n \r\n \r\n
\r\n',styles:[".gd-tab{font-size:14px;color:#3e4e5a;cursor:pointer;display:-webkit-box;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column;-webkit-box-align:center;align-items:center;align-content:center;-webkit-box-pack:center;justify-content:center;min-width:36px;height:36px;text-align:center;position:relative;white-space:nowrap;padding:0!important;margin:0 10px}.gd-tab .gd-tab-tooltip{display:-webkit-box;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column;margin:0!important}.gd-tab.active{background-color:#acacac;color:#fff!important;font-weight:700}.gd-tab.disabled{cursor:not-allowed;opacity:.4}.gd-tab ::ng-deep .tooltip{font-size:12px;margin:20px -57px}.gd-tab .title{margin:auto 23px}@media (max-width:1037px){.gd-tab{font-size:20px}}"]}]}],t.ctorParameters=function(){return[{type:Qt},{type:P},{type:ut}]},t.propDecorators={id:[{type:e.Input}],icon:[{type:e.Input}],disabled:[{type:e.Input}],tooltip:[{type:e.Input}],activeTab:[{type:e.Output}],elementPosition:[{type:e.Input}]},t}();var ee=l,oe=function(){function t(t,o,n,i,r){var s=this;this._onCloseService=t,this._zoomService=o,this._windowService=n,this._elementRef=i,this.renderer=r,this.decoration=!0,this.showTooltips=!0,this.outFontSize=new e.EventEmitter,this.outFont=new e.EventEmitter,this.outBold=new e.EventEmitter,this.outItalic=new e.EventEmitter,this.outUnderline=new e.EventEmitter,this.outColor=new e.EventEmitter,this.fontSizeOptions=Et.getFontSizeOptions(),this.fontOptions=Et.getFontOptions(),this.colorPickerShow=!1,t.onClose.subscribe((function(){s.colorPickerShow=!1})),this.isMobile=n.isMobile(),n.onResize.subscribe((function(t){s.isMobile=n.isMobile()})),o.zoomChange.subscribe((function(t){s.isMobile&&s.changePosition(t)}))}return t.prototype.ngOnInit=function(){},t.prototype.changePosition=function(t){var e=window.innerHeight-24-this._elementRef.nativeElement.parentElement.getBoundingClientRect().top-this._elementRef.nativeElement.parentElement.getBoundingClientRect().height,o=this._elementRef.nativeElement.parentElement.getBoundingClientRect().left;this.renderer.setStyle(this._elementRef.nativeElement.querySelector(".gd-text-menu"),"width",window.innerWidth+"px"),this.renderer.setStyle(this._elementRef.nativeElement.querySelector(".gd-text-menu"),"top",e+"px"),this.renderer.setStyle(this._elementRef.nativeElement.querySelector(".gd-text-menu"),"left",-o+"px")},t.prototype.selectFontSize=function(t){ee(".gd-wrapper").off("keyup"),this.outFontSize.emit(t.value),ee(".gd-wrapper").on("keyup",(function(){for(var e=document.getElementsByTagName("font"),o=0,n=e.length;o\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n\r\n',styles:["::ng-deep .active{background-color:#e7e7e7}.gd-text-menu{display:-webkit-box;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;flex-direction:row}.gd-text-menu .format-select{height:37px;display:-webkit-box;display:flex;-webkit-box-pack:center;justify-content:center;-webkit-box-align:center;align-items:center;max-width:80px;margin:0 3px}.gd-text-menu .first-component{margin-left:8px}.gd-text-menu ::ng-deep .dropdown-menu{top:40px!important;height:120px;overflow-y:auto}.gd-text-menu ::ng-deep .icon-button{margin:0!important}.bg-color-pic{border-radius:100%;border:1px solid #ccc;position:absolute;height:8px;width:8px;right:6px;bottom:6px}.palette{position:relative;top:40px;left:-55px;z-index:100}@media (max-width:1037px){.gd-text-menu{position:fixed;left:0;right:0;width:inherit;height:60px;-webkit-box-align:center;align-items:center;padding:0;margin:0;background-color:#fff;border-top:2px solid #707070;-webkit-transform-origin:top left;transform-origin:top left;z-index:1000}.gd-text-menu ::ng-deep .selected-value{white-space:normal!important;word-wrap:break-word}.gd-text-menu .icon{color:#fff;margin:0 9px}.gd-text-menu ::ng-deep .bcPicker-palette{left:-200px;top:-185px}.gd-text-menu .palette{top:unset;bottom:40px;left:unset;right:5px}.gd-text-menu ::ng-deep .dropdown-menu{bottom:40px;top:unset!important}.gd-text-menu ::ng-deep .first-component ::ng-deep .dropdown-menu{left:0}.gd-text-menu ::ng-deep .button{margin:3px!important;font-size:16px}}"]}]}],t.ctorParameters=function(){return[{type:rt},{type:B},{type:x},{type:e.ElementRef},{type:e.Renderer2}]},t.propDecorators={blur:[{type:e.Input}],fontSize:[{type:e.Input}],font:[{type:e.Input}],bold:[{type:e.Input}],italic:[{type:e.Input}],underline:[{type:e.Input}],color:[{type:e.Input}],decoration:[{type:e.Input}],showTooltips:[{type:e.Input}],outFontSize:[{type:e.Output}],outFont:[{type:e.Output}],outBold:[{type:e.Output}],outItalic:[{type:e.Output}],outUnderline:[{type:e.Output}],outColor:[{type:e.Output}]},t}();var ne=function(){function t(){}return t.FOR_SIGNATURE="signature",t.FOR_ANNOTATION="annotation",t}();var ie=function(){function t(t,o,n,i){var r=this;this._windowService=t,this._zoomService=o,this._elementRef=n,this.renderer=i,this.formatting=Pt.default(),this.lock=!1,this.translation=0,this.changeFormatting=new e.EventEmitter,this.removeItem=new e.EventEmitter,this.copySign=new e.EventEmitter,this.lockOut=new e.EventEmitter,this.comment=new e.EventEmitter,this.isMobile=t.isMobile(),t.onResize.subscribe((function(e){r.isMobile=t.isMobile()})),o.zoomChange.subscribe((function(t){r.changeScale(t)}))}return t.prototype.ngOnInit=function(){},t.prototype.changeScale=function(t){this.renderer.setStyle(this._elementRef.nativeElement.querySelector(".gd-context-menu"),"transform","scale("+1/(t/100)+")"),!this.isMobile&&t&&100!==t&&this.renderer.setStyle(this._elementRef.nativeElement.querySelector(".gd-context-menu"),"left",this.translation+"px")},t.prototype.saveChanges=function(){this.changeFormatting.emit(this.formatting)},t.prototype.selectFontSize=function(t){this.formatting.fontSize=t,this.saveChanges()},t.prototype.selectFont=function(t){this.formatting.font=t,this.saveChanges()},t.prototype.selectColor=function(t){this.formatting.color=t,this.saveChanges()},t.prototype.toggleBold=function(t){this.formatting.bold=t,this.saveChanges()},t.prototype.toggleItalic=function(t){this.formatting.italic=t,this.saveChanges()},t.prototype.toggleUnderline=function(t){this.formatting.underline=t,this.saveChanges()},t.prototype.deleteItem=function(){this.removeItem.emit(!0)},t.prototype.toggleLock=function(){this.lock=!this.lock,this.lockOut.emit(this.lock)},t.prototype.onCopySign=function(){this.copySign.emit(!0)},t.prototype.isSignature=function(){return this.menuType===ne.FOR_SIGNATURE},t.prototype.isAnnotation=function(){return this.menuType===ne.FOR_ANNOTATION},t.prototype.addComment=function(){this.comment.emit(!0)},t.decorators=[{type:e.Component,args:[{selector:"gd-context-menu",template:'
\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n',styles:[".gd-context-menu-top{top:-44px}.gd-context-menu-bottom{bottom:-40px}.gd-context-menu{box-shadow:rgba(0,0,0,.52) 0 0 5px;background-color:#fff;position:absolute;left:0;right:0;margin:auto;cursor:default;width:max-content;width:-moz-max-content;width:-webkit-max-content;display:-webkit-box;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;flex-direction:row;z-index:999}.gd-context-menu .arrows{cursor:move}.gd-context-menu ::ng-deep .active{background-color:#e7e7e7}.gd-context-menu ::ng-deep .icon-button{margin:0!important}@media (max-width:1037px){.gd-context-menu-top{top:-42px;-webkit-transform-origin:bottom center;transform-origin:bottom center}}"]}]}],t.ctorParameters=function(){return[{type:x},{type:B},{type:e.ElementRef},{type:e.Renderer2}]},t.propDecorators={formatting:[{type:e.Input}],textMenu:[{type:e.Input}],topPosition:[{type:e.Input}],lock:[{type:e.Input}],translation:[{type:e.Input}],menuType:[{type:e.Input}],changeFormatting:[{type:e.Output}],removeItem:[{type:e.Output}],copySign:[{type:e.Output}],lockOut:[{type:e.Output}],comment:[{type:e.Output}]},t}();var re=[C,k,P,R,T,j,M,G,X,Z,Y,L,lt,$,W,B,ut,ht,bt,vt,x,tt,Et,zt,rt,Ut,Rt,kt,Xt,Zt,Qt],se=function(){function t(){s.library.add(a.fas,c.far)}return t.decorators=[{type:e.NgModule,args:[{imports:[o.CommonModule,r.FontAwesomeModule,g.ClickOutsideModule],declarations:[b,v,w,y,S,E,N,V,q,G,X,Z,Y,J,K,ot,nt,it,st,at,ct,pt,dt,gt,mt,xt,yt,St,Ct,_t,Ot,Tt,At,jt,Lt,Vt,$t,Wt,Bt,qt,Gt,Yt,Kt,te,oe,ie],exports:[b,v,w,y,S,E,N,V,q,X,Z,Y,G,J,ot,nt,st,ct,pt,dt,gt,mt,xt,yt,St,Ct,_t,Ot,Tt,At,Lt,K,Vt,$t,Wt,Bt,it,Bt,qt,Gt,Yt,Kt,te,oe,ie],providers:re}]}],t.ctorParameters=function(){return[]},t}();t.AddDynamicComponentService=Xt,t.Api=k,t.BackFormattingService=zt,t.BrowseFilesModalComponent=N,t.ButtonComponent=w,t.ColorPickerComponent=Ot,t.CommonComponentsModule=se,t.CommonModals=_,t.ConfigService=C,t.ContextMenuComponent=ie,t.DisabledCursorDirective=at,t.DndDirective=K,t.DocumentComponent=V,t.DropDownComponent=Vt,t.DropDownItemComponent=$t,t.DropDownItemsComponent=Wt,t.DropDownToggleComponent=Bt,t.EditHtmlService=Mt,t.EditorDirective=jt,t.ErrorInterceptorService=bt,t.ErrorModalComponent=gt,t.ExceptionMessageService=ut,t.FileCredentials=z,t.FileDescription=D,t.FileModel=T,t.FileService=R,t.FileUtil=j,t.Formatting=Pt,t.FormattingDirective=Tt,t.FormattingService=Et,t.HighlightSearchPipe=Y,t.HostDynamicDirective=Yt,t.HostingDynamicComponentService=Zt,t.HttpError=A,t.InitStateComponent=pt,t.LeftSideBarComponent=qt,t.LoadingMaskComponent=Lt,t.LoadingMaskInterceptorService=Ut,t.LoadingMaskService=Rt,t.LogoComponent=y,t.MenuType=ne,t.ModalComponent=E,t.ModalService=P,t.MouseWheelDirective=nt,t.NavigateService=$,t.OnCloseService=rt,t.PageComponent=q,t.PageModel=I,t.PagePreloadService=W,t.PasswordRequiredComponent=mt,t.PasswordService=ht,t.RenderPrintDirective=dt,t.RenderPrintService=lt,t.RotatedPage=O,t.RotationDirective=ct,t.SanitizeHtmlPipe=G,t.SanitizeResourceHtmlPipe=X,t.SanitizeStylePipe=Z,t.SaveFile=F,t.ScrollableDirective=ot,t.SearchComponent=xt,t.SearchService=vt,t.SearchableDirective=yt,t.SelectComponent=st,t.SelectionService=Ft,t.SidePanelComponent=v,t.SuccessModalComponent=At,t.TabActivatorService=kt,t.TabComponent=Ct,t.TabbedToolbarsComponent=St,t.TextMenuComponent=oe,t.TooltipComponent=S,t.TopTabActivatorService=Qt,t.TopToolbarComponent=b,t.UploadFileZoneComponent=J,t.UploadFilesService=L,t.Utils=M,t.ViewportService=tt,t.WindowService=x,t.ZoomDirective=it,t.ZoomService=B,t.ɵa=_t,t.ɵb=Gt,t.ɵc=Kt,t.ɵd=te,Object.defineProperty(t,"__esModule",{value:!0})})); //# sourceMappingURL=groupdocs.examples.angular-common-components.umd.min.js.map \ No newline at end of file diff --git a/dist/libs/common-components/bundles/groupdocs.examples.angular-common-components.umd.min.js.map b/dist/libs/common-components/bundles/groupdocs.examples.angular-common-components.umd.min.js.map index 0043f012f..371d4ca73 100644 --- a/dist/libs/common-components/bundles/groupdocs.examples.angular-common-components.umd.min.js.map +++ b/dist/libs/common-components/bundles/groupdocs.examples.angular-common-components.umd.min.js.map @@ -1 +1 @@ -{"version":3,"sources":["../../../../node_modules/tslib/tslib.es6.js","ng://@groupdocs.examples.angular/common-components/lib/top-toolbar/top-toolbar.component.ts","ng://@groupdocs.examples.angular/common-components/lib/side-panel/side-panel.component.ts","ng://@groupdocs.examples.angular/common-components/lib/window.service.ts","ng://@groupdocs.examples.angular/common-components/lib/button/button.component.ts","ng://@groupdocs.examples.angular/common-components/lib/logo/logo.component.ts","ng://@groupdocs.examples.angular/common-components/lib/tooltip/tooltip.component.ts","ng://@groupdocs.examples.angular/common-components/lib/config.service.ts","ng://@groupdocs.examples.angular/common-components/lib/modal.service.ts","ng://@groupdocs.examples.angular/common-components/lib/modal/modal.component.ts","ng://@groupdocs.examples.angular/common-components/lib/file.service.ts","ng://@groupdocs.examples.angular/common-components/lib/upload-files.service.ts","ng://@groupdocs.examples.angular/common-components/lib/browse-files-modal/browse-files-modal.component.ts","ng://@groupdocs.examples.angular/common-components/lib/zoom.service.ts","ng://@groupdocs.examples.angular/common-components/lib/page-preload.service.ts","ng://@groupdocs.examples.angular/common-components/lib/navigate.service.ts","ng://@groupdocs.examples.angular/common-components/lib/document/document.component.ts","ng://@groupdocs.examples.angular/common-components/lib/page/page.component.ts","ng://@groupdocs.examples.angular/common-components/lib/pipes.ts","ng://@groupdocs.examples.angular/common-components/lib/upload-file-zone/upload-file-zone.component.ts","ng://@groupdocs.examples.angular/common-components/lib/dnd.directive.ts","ng://@groupdocs.examples.angular/common-components/lib/viewport.service.ts","ng://@groupdocs.examples.angular/common-components/lib/scrollable.directive.ts","ng://@groupdocs.examples.angular/common-components/lib/mousewheel.directive.ts","ng://@groupdocs.examples.angular/common-components/lib/zoom.directive.ts","ng://@groupdocs.examples.angular/common-components/lib/on-close.service.ts","ng://@groupdocs.examples.angular/common-components/lib/select/select.component.ts","ng://@groupdocs.examples.angular/common-components/lib/disabled-cursor.directive.ts","ng://@groupdocs.examples.angular/common-components/lib/rotation.directive.ts","ng://@groupdocs.examples.angular/common-components/lib/init-state/init-state.component.ts","ng://@groupdocs.examples.angular/common-components/lib/render-print.service.ts","ng://@groupdocs.examples.angular/common-components/lib/render-print.directive.ts","ng://@groupdocs.examples.angular/common-components/lib/exception-message.service.ts","ng://@groupdocs.examples.angular/common-components/lib/error-modal/error-modal.component.ts","ng://@groupdocs.examples.angular/common-components/lib/password.service.ts","ng://@groupdocs.examples.angular/common-components/lib/password-required/password-required.component.ts","ng://@groupdocs.examples.angular/common-components/lib/error-interceptor.service.ts","ng://@groupdocs.examples.angular/common-components/lib/search.service.ts","ng://@groupdocs.examples.angular/common-components/lib/search/search.component.ts","ng://@groupdocs.examples.angular/common-components/lib/searchable.directive.ts","ng://@groupdocs.examples.angular/common-components/lib/tabbed-toolbars/tabbed-toolbars.component.ts","ng://@groupdocs.examples.angular/common-components/lib/tab-activator.service.ts","ng://@groupdocs.examples.angular/common-components/lib/tab/tab.component.ts","ng://@groupdocs.examples.angular/common-components/lib/tabs/tabs.component.ts","ng://@groupdocs.examples.angular/common-components/lib/formatting.service.ts","ng://@groupdocs.examples.angular/common-components/lib/color-picker/color-picker.component.ts","ng://@groupdocs.examples.angular/common-components/lib/back-formatting.service.ts","ng://@groupdocs.examples.angular/common-components/lib/selection.service.ts","ng://@groupdocs.examples.angular/common-components/lib/formatting.directive.ts","ng://@groupdocs.examples.angular/common-components/lib/success-modal/success-modal.component.ts","ng://@groupdocs.examples.angular/common-components/lib/edit-html.service.ts","ng://@groupdocs.examples.angular/common-components/lib/editor.directive.ts","ng://@groupdocs.examples.angular/common-components/lib/loading-mask.service.ts","ng://@groupdocs.examples.angular/common-components/lib/loading-mask/loading-mask.component.ts","ng://@groupdocs.examples.angular/common-components/lib/loading-mask-interceptor.service.ts","ng://@groupdocs.examples.angular/common-components/lib/drop-down/drop-down.component.ts","ng://@groupdocs.examples.angular/common-components/lib/left-side-bar/left-side-bar.component.ts","ng://@groupdocs.examples.angular/common-components/lib/tooltip.directive.ts","ng://@groupdocs.examples.angular/common-components/lib/add-dynamic-component.service.ts","ng://@groupdocs.examples.angular/common-components/lib/hosting-dynamic-component.service.ts","ng://@groupdocs.examples.angular/common-components/lib/host-dynamic.directive.ts","ng://@groupdocs.examples.angular/common-components/lib/resizing/resizing.component.ts","ng://@groupdocs.examples.angular/common-components/lib/top-tab-activator.service.ts","ng://@groupdocs.examples.angular/common-components/lib/top-tab/top-tab.component.ts","ng://@groupdocs.examples.angular/common-components/lib/text-menu/text-menu.component.ts","ng://@groupdocs.examples.angular/common-components/lib/context-menu/context-menu.component.ts","ng://@groupdocs.examples.angular/common-components/lib/common-components.module.ts"],"names":["extendStatics","d","b","Object","setPrototypeOf","__proto__","Array","p","hasOwnProperty","__extends","__","this","constructor","prototype","create","__values","o","m","Symbol","iterator","i","call","next","length","value","done","TopToolbarComponent","Component","args","selector","template","SidePanelComponent","closable","saveable","hideSidePanel","EventEmitter","saveInSidePanel","onlyTitle","closeSidePanel","emit","saveBySidePanel","toggleTitleMode","Input","Output","WindowService","_this","resizeSubject","Subject","width","window","innerWidth","height","innerHeight","_resize$","fromEvent","pipe","debounceTime","distinctUntilChanged","startWith","target","tap","event","subscribe","defineProperty","asObservable","isMobile","isTablet","isDesktop","getWidth","getHeight","isEdge","navigator","userAgent","toLowerCase","indexOf","isFirefox","ButtonComponent","windowService","iconOnly","intent","disabled","toggle","iconRegular","elementPosition","showToolTip","onResize","w","iconButtonClass","onHovering","className","onUnhovering","cleanAll","str","val","replace","LogoComponent","ngOnInit","TooltipComponent","position","visibility","getClass","Api","VIEWER_APP","SIGNATURE_APP","ANNOTATION_APP","SEARCH_APP","EDITOR_APP","COMPARISON_APP","CONVERSION_APP","METADATA_APP","DEFAULT_API_ENDPOINT","location","href","LOAD_FILE_TREE","LOAD_CONFIG","LOAD_DOCUMENT_DESCRIPTION","LOAD_DOCUMENT_PAGE","LOAD_DOCUMENT_PROPERTIES","LOAD_DOCUMENT_PROPERTIES_NAMES","SAVE_PROPERTY","REMOVE_PROPERTY","ROTATE_DOCUMENT_PAGE","UPLOAD_DOCUMENTS","DOWNLOAD_DOCUMENTS","DOWNLOAD_ANNOTATED","LOAD_PRINT","LOAD_PRINT_PDF","LOAD_THUMBNAILS","LOAD_FORMATS","SAVE_FILE","CREATE_FILE","COMPARE_FILES","CONVERT_FILE","DELETE_SIGNATURE_FILE","REMOVE_FROM_INDEX","GET_FILE_STATUS","SAVE_OPTICAL_CODE","SAVE_TEXT","SAVE_IMAGE","SAVE_STAMP","SIGN","DOWNLOAD_SIGNED","LOAD_SIGNATURE_IMAGE","ANNOTATE","SEARCH","ADD_FILES_TO_INDEX","CLEAN_METADATA","EXPORT_METADATA","httpOptionsJson","headers","HttpHeaders","Content-Type","httpOptionsJsonResponseTypeBlob","responseType","ConfigService","apiEndpoint","_apiEndpoint","url","trim","endsWith","substring","getConfigEndpoint","app","getViewerApiEndpoint","getEditorApiEndpoint","getComparisonApiEndpoint","getConversionApiEndpoint","getMetadataApiEndpoint","getSignatureApiEndpoint","getAnnotationApiEndpoint","getSearchApiEndpoint","Injectable","CommonModals","PasswordRequired","ErrorMessage","BrowseFiles","CreateDocument","OperationSuccess","DrawHandSignature","DrawStampSignature","InformationMessage","ModalService","modals","add","modal","push","remove","id","filter","x","open","close","ModalComponent","modalService","el","visible","cancel","element","nativeElement","document","body","appendChild","console","error","ngOnDestroy","preventDefault","stopPropagation","onClose","$event","cancelClose","ElementRef","RotatedPage","FileCredentials","guid","password","SaveFile","_super","content","tslib_1.__extends","FileDescription","printAllowed","FileModel","HttpError","BadRequest","Unauthorized","Forbidden","NotFound","TimeOut","Conflict","InternalServerError","Utils","getMousePosition","mouse","y","wEvent","ev","pageX","screenX","touches","pageY","screenX_1","screenY","screenY_1","clientX","scrollLeft","clientY","scrollTop","toRgb","color","result","exec","r","parseInt","g","toHex","match","charAt","c","RegExp","$1","$2","$3","pad","len","toString","FileUtil","find","filename","isDirectory","strings","split","name_1","pop","map","folder","format","icon","pdf","unit","doc","docx","docm","dot","dotx","dotm","xls","xlsx","xlsm","xlsb","xls2003","xltx","xltm","ppt","pptx","pps","ppsx","vsd","vdx","vss","vsx","vst","vtx","vsdx","vdw","vstx","vssx","mpp","mpt","msg","eml","emlx","one","odt","ott","ods","odp","otp","ots","potx","potm","pptm","ppsm","rtf","txt","csv","html","mht","mhtml","xml","xps","dxf","dwg","bmp","gif","jpg","jpe","jpeg","jfif","png","tiff","tif","psd","svg","jp2","epub","ico","webp","mobi","tex","djvu","unknown","FileService","UploadFilesService","_uploadsChange","Observable","observer","_observer","changeFilesList","filesList","$","jquery","uploads_choices","name","BrowseFilesModalComponent","_uploadService","uploads","selectedFileGuid","selectedDirectory","urlForUpload","closing","showUploadUrl","showUploadFile","getSize","size","mb","Math","round","kb","getFormatName","file","directory","getFormatIcon","choose","selectedFile","goUp","selectUpload","trigger","refresh","files","showSpinner","uploadUrl","cleanUpload","handleFileInput","ZoomService","_zoomChange","_zoom","changeZoom","zoom","createZoomOption","sep","separator","zoomOptions","PagePreloadService","_checkPreload","changeLastPageInView","page","NavigateService","_pagePreloadService","_currentPage","_countPages","_navigate","nextPage","navigateTo","prevPage","toLastPage","toFirstPage","currentPage","providedIn","DocumentComponent","_elementRef","_zoomService","_windowService","_navigateService","wait","docWidth","docHeight","viewportWidth","viewportHeight","scale","lastScale","container","lastX","lastY","pinchCenter","pinchCenterOffset","curWidth","curHeight","zoomChange","navigate","selectedPage","ifPresentation","ngOnChanges","ngAfterViewInit","children","item","clientWidth","clientHeight","offsetWidth","offsetHeight","Hammer","ifExcel","getDimensionWithUnit","pageNumber","showActiveSlide","isVisible","mode","ifEdge","ngAfterViewChecked","PageComponent","test","number","editable","changes","isHtml","data","imgData","SanitizeHtmlPipe","sanitizer","transform","bypassSecurityTrustHtml","Pipe","DomSanitizer","SanitizeResourceHtmlPipe","bypassSecurityTrustResourceUrl","SanitizeStylePipe","bypassSecurityTrustStyle","HighlightSearchPipe","re","UploadFileZoneComponent","closeUpload","onCloseUpload","DndDirective","_uploadFilesService","opening","dropped","active","dragCounter","onDragEnter","evt","onDragOver","onDragLeave","closeArea","onDrop","dataTransfer","onClick","Directive","HostBinding","HostListener","ViewportService","checkInViewport","leftOffset","deltaX","win","viewport","isNaN","zoomN","outerHeight","outerWidth","bounds","offset","right","left","bottom","top","deltas","parseFloat","min","toFixed","ScrollableDirective","_viewportService","loadedPagesSet","Set","scrollToPage","scrolling","resizing","getPage","prev","isSameTop","options","calculateOffset","scroll","getChildren","count","countPagesOnWidth","margin","pagesHeight","getZoom","pageEl","floor","getBoundingClientRect","currentPageSet","pageElem","currentPageRect","isPresentation","has","MouseWheelDirective","mouseWheelUp","mouseWheelDown","onMouseWheelChrome","mouseWheelFunc","onMouseWheelFirefox","onMouseWheelIE","delta","max","wheelDelta","detail","ZoomDirective","zoomActive","setStyles","resizePages","zoomInt","transformOrigin","maxWidth","pages","forEach","minWidth","getScrollWidth","elm","getScrollHeight","viewPortWidth","parentElement","viewPortHeight","scrollWidth","scrollHeight","OnCloseService","_onClose","SelectComponent","_onCloseService","selected","opened","isOpen","onClickOutside","select","DisabledCursorDirective","updateCursor","cursor","dis","RotationDirective","withMargin","angle","animation","transition","isHtmlMode","isLandscape","InitStateComponent","fileDropped","RenderPrintService","_render","_renderBlob","_observerBlob","changePages","changeBlob","RenderPrintDirective","_renderService","renderPrint","renderPrintBlob","pagesHtml","pages_1","tslib_1.__values","pages_1_1","openWindow","imageA4Adjusted","cssPrint","windowObject","focus","writeln","setTimeout","print","fileURL","URL","createObjectURL","ExceptionMessageService","BehaviorSubject","_messageChange","_observerHttpEvent","_httpEventChange","changeMessage","message","changeHttpEvent","httpEvent","ErrorModalComponent","messageService","messageChange","PasswordService","_passChange","setPassword","pass","PasswordRequiredComponent","_passwordService","cancelEvent","onCloseOpen","ErrorInterceptorService","_modalService","_messageService","intercept","req","logFormat","handle","catchError","exception","HttpErrorResponse","status","ErrorMessageWindowName","throwError","SearchService","_textChange","_observerCurrent","_currentChange","_observerTotal","_totalChange","setText","text","setCurrent","current","setTotal","total","SearchComponent","_searchService","hidePanel","totalChange","hide","textElement","ViewChild","static","SearchableDirective","_highlight","currentChange","moveToCurrent","textChange","highlightSearch","cleanHighlight","highlightEl","querySelectorAll","removeClass","currentEl","addClass","textNodes","contents","nodeName","checkClass","classList","contains","nodeType","textContent","highlight","each","$this","replaceWith","normalize","nodeListOf","innerText","TabbedToolbarsComponent","TabActivatorService","_activeTabChange","changeActiveTab","tabId","TabComponent","_tabActivatorService","activeTabChange","activation","selectTab","TabsComponent","Formatting","fontSize","bgColor","bold","italic","underline","font","strikeout","align","list","default","FormattingService","_observerBold","_formatBoldChange","_observerUnderline","_formatUnderlineChange","_observerUndo","_undo","_observerRedo","_redo","_observerItalic","_formatItalicChange","_observerColor","_formatColorChange","_observerBgColor","_formatBgColorChange","_observerFontSize","_formatFontSizeChange","_observerFont","_formatFontChange","_observerStrikeout","_formatStrikeoutChange","_observerAlign","_formatAlignChange","_observerList","_formatListChange","createFontSizeOption","getFontSizeOptions","createFontOption","getFontOptions","fontOptions","changeFormatFontSize","changeFormatBold","changeFormatUnderline","Undo","Redo","changeFormatItalic","changeFormatColor","changeFormatBgColor","bgcolor","changeFormatFont","changeFormatStrikeout","changeFormatAlign","changeFormatList","DEFAULT_COLORS","ColorPickerComponent","selectedColor","closeOutside","colors","white","BackFormattingService","SelectionService","isIE","restoreSelection","selection","collapsed","putSelection","captureSelection","getSelection","rangeCount","getRangeAt","sel","removeAllRanges","addRange","cloneRange","refreshSelection","FormattingDirective","_formattingService","_backFormattingService","_selectionService","mouseup","queryCommandState","queryCommandValue","checkJustify","checkList","focusNode","parentNode","css","reportFontSize","containerEl","commonAncestorContainer","type","createRange","getComputedStyleProperty","propName","getComputedStyle","currentStyle","undo","toggleUndo","redo","toggleRedo","formatBoldChange","toggleBold","formatUnderlineChange","toggleUnderline","formatItalicChange","toggleItalic","formatColorChange","setColor","formatBgColorChange","setBgColor","formatFontSizeChange","setFontSize","formatFontChange","setFont","formatStrikeoutChange","toggleStrikeout","formatAlignChange","toggleAlign","formatListChange","toggleList","execCommand","spanString","toggleAlignIE","SuccessModalComponent","EditHtmlService","_htmlContent","EditorDirective","_htmlService","onInput","innerHTML","onMouseleave","onBlur","LoadingMaskService","onLoadingChanged","stopList","requests","onRequestStart","includes","notify","onRequestFinish","index","splice","addStopUrl","LoadingMaskComponent","_loadingMaskService","loadingMask","loading","LoadingMaskInterceptorService","finalize","horizontalAlignment","center","verticalAlignment","DropDownToggleComponent","dropdown","click","encapsulation","ViewEncapsulation","None","Inject","forwardRef","DropDownComponent","DropDownItemsComponent","getPlacement","h","v","DropDownItemComponent","class","selectEntry","placement","LeftSideBarComponent","TooltipDirective","AddDynamicComponentService","_factoryResolver","_appRef","addDynamicComponent","viewContainerRef","component","factory","resolveComponentFactory","componentRef","createComponent","onDestroy","detachView","hostView","ComponentFactoryResolver","ApplicationRef","HostingDynamicComponentService","hosts","host","ident","HostDynamicDirective","_hostingService","clear","ViewContainerRef","ResizingComponent","se","ne","sw","nw","SE","NE","SW","NW","offsetX","offsetY","offsetTop","offsetLeft","release","grab","elSE","getElementId","elNW","init","width_1","height_1","pageWidth","pageHeight","catchUp","setData","oldPosition","resize","notSW","notNE","setOffsets","end","start","drop","TopTabActivatorService","TopTabComponent","_excMessageService","activeTab","toggleTab","TextMenuComponent","renderer","decoration","showTooltips","outFontSize","outFont","outBold","outItalic","outUnderline","outColor","fontSizeOptions","colorPickerShow","changePosition","setStyle","querySelector","selectFontSize","off","on","fontElements","getElementsByTagName","getAttribute","removeAttribute","style","selectFont","toggleColorPicker","selectColor","closePicker","Renderer2","MenuType","FOR_SIGNATURE","FOR_ANNOTATION","ContextMenuComponent","formatting","lock","translation","changeFormatting","removeItem","copySign","lockOut","comment","changeScale","saveChanges","deleteItem","toggleLock","onCopySign","isSignature","menuType","isAnnotation","addComment","providers","CommonComponentsModule","library","fas","far","NgModule","imports","CommonModule","FontAwesomeModule","ClickOutsideModule","declarations","exports"],"mappings":"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GACA/I,GACAsL,GACAe,GACAyC,IAEFuD,GAAA,WAoGE,SAAAA,IACEC,EAAAA,QAAQ7yB,IAAI8yB,EAAAA,IAAKC,EAAAA,KAErB,2BAvGCC,EAAAA,SAAQ38B,KAAA,CAAC,CACR48B,QAAS,CAACC,EAAAA,aAAcC,EAAAA,kBAAmBC,EAAAA,oBAC3CC,aAAc,CACZl9B,EACAK,EACA6C,EACAmB,EACAE,EACA+F,EACA2K,EACAuD,EACAwC,EACAQ,EACAM,EACAE,EACAE,EACAE,EACAG,EACAqC,GACA2B,GACAW,GACAoB,GACAO,GACAI,GACAO,GACAQ,GACA4B,GACAO,GACA6B,GACAQ,GACA2B,GACAK,GACAK,GACAwD,GACAqB,GACAgD,GACAG,GACAiB,GACAiB,GACAK,GACAJ,GACAT,GACAiB,GACAC,GACAoB,GACAI,GACAkC,GACAI,GACA+B,IAEF6B,QAAS,CACPn9B,EACAK,EACA6C,EACAmB,EACAE,EACA+F,EACA2K,EACAuD,EACAwC,EACAc,EACAE,EACAE,EACAV,EACAY,EACAwC,GACA2B,GACA+B,GACAW,GACAO,GACAQ,GACA4B,GACAO,GACA6B,GACAQ,GACA2B,GACAK,GACAK,GACAwD,GACAqB,GACAgD,GACAoB,GACAvX,EACAwY,GACAK,GACAJ,GACAT,GACArT,GACAqT,GACAiB,GACAC,GACAoB,GACAI,GACAkC,GACAI,GACA+B,IAEFkB,UAAWA,6CAMbC,EAvGA","sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation. All rights reserved.\r\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\r\nthis file except in compliance with the License. You may obtain a copy of the\r\nLicense at http://www.apache.org/licenses/LICENSE-2.0\r\n\r\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\r\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\r\nMERCHANTABLITY OR NON-INFRINGEMENT.\r\n\r\nSee the Apache Version 2.0 License for specific language governing permissions\r\nand limitations under the License.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator], i = 0;\r\n if (m) return m.call(o);\r\n return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n","import {Component, Input} from '@angular/core';\n\n@Component({\n selector: 'gd-top-toolbar',\n templateUrl: './top-toolbar.component.html',\n styleUrls: ['./top-toolbar.component.less']\n})\nexport class TopToolbarComponent {\n\n constructor() {\n }\n}\n","import {Component, EventEmitter, Input, Output} from '@angular/core';\n\n@Component({\n selector: 'gd-side-panel',\n templateUrl: './side-panel.component.html',\n styleUrls: ['./side-panel.component.less']\n})\n\nexport class SidePanelComponent {\n @Input() title: string;\n @Input() icon: string;\n @Input() closable = true;\n @Input() saveable = true;\n @Output() hideSidePanel = new EventEmitter();\n @Output() saveInSidePanel = new EventEmitter();\n\n onlyTitle = false;\n\n constructor() {\n }\n\n closeSidePanel() {\n this.hideSidePanel.emit(true);\n }\n\n saveBySidePanel() {\n this.saveInSidePanel.emit(true);\n }\n\n toggleTitleMode(){\n if (this.closable && !this.saveable) {\n this.onlyTitle = !this.onlyTitle;\n }\n }\n}\n","import {fromEvent, Observable, Subject} from \"rxjs\";\nimport {debounceTime, distinctUntilChanged, startWith, tap} from \"rxjs/operators\";\n\nconst MOBILE_MAX_WIDTH = 425;\nconst TABLET_MAX_WIDTH = 1024;\n\nexport class WindowService {\n\n private resizeSubject: Subject = new Subject();\n private _resize$;\n private width: number;\n private height: number;\n\n constructor() {\n this.width = window.innerWidth;\n this.height = window.innerHeight;\n\n this._resize$ = fromEvent(window, 'resize')\n .pipe(\n debounceTime(200),\n distinctUntilChanged(),\n startWith({target: {innerWidth: window.innerWidth, innerHeight: window.innerHeight}}),\n tap(event => {\n this.resizeSubject.next(event.target);\n this.width = (event.target as Window).innerWidth;\n this.height = (event.target as Window).innerHeight;\n }),\n );\n this._resize$.subscribe();\n }\n\n get onResize(): Observable {\n return this.resizeSubject.asObservable();\n }\n\n isMobile() {\n return this.width <= MOBILE_MAX_WIDTH;\n }\n\n isTablet() {\n return this.width <= TABLET_MAX_WIDTH;\n }\n\n isDesktop() {\n return !this.isMobile() && !this.isTablet();\n }\n\n getWidth() {\n return this.width;\n }\n\n getHeight() {\n return this.height;\n }\n\n isEdge() {\n return window.navigator.userAgent.toLowerCase().indexOf('edge') > -1;\n }\n\n isFirefox() {\n return navigator.userAgent.toLowerCase().indexOf('firefox') > -1;\n }\n}\n","import {Component, Input} from '@angular/core';\nimport {WindowService} from \"../window.service\";\n\n@Component({\n selector: 'gd-button',\n templateUrl: './button.component.html',\n styleUrls: ['./button.component.less']\n})\nexport class ButtonComponent {\n @Input() iconOnly = true;\n @Input() intent = 'default';\n @Input() disabled = false;\n @Input() icon: string;\n @Input() iconClass: string;\n @Input() tooltip: string;\n @Input() className: string;\n @Input() toggle = false;\n @Input() iconSize: string;\n @Input() iconRegular = false;\n @Input() elementPosition = 0;\n\n showToolTip = false;\n private isDesktop: boolean;\n\n constructor(windowService: WindowService) {\n this.isDesktop = windowService.isDesktop();\n windowService.onResize.subscribe((w) => {\n this.isDesktop = windowService.isDesktop();\n });\n }\n\n iconButtonClass() {\n return this.iconOnly ? 'icon-button' : '';\n }\n\n onHovering() {\n if (this.isDesktop && !this.disabled) {\n this.className += ' active';\n }\n }\n\n onUnhovering() {\n if (this.isDesktop && !this.disabled) {\n this.className = this.cleanAll(this.className, ' active');\n }\n }\n\n private cleanAll(str: string, val: string) {\n while (str && str.indexOf(val) !== -1) {\n str = str.replace(val, '');\n }\n return str;\n }\n}\n","import {Component, Input, OnInit} from '@angular/core';\n\n@Component({\n selector: 'gd-logo',\n templateUrl: './logo.component.html',\n styleUrls: ['./logo.component.less']\n})\nexport class LogoComponent implements OnInit {\n\n @Input() logo;\n @Input() icon;\n\n constructor() { }\n\n ngOnInit() {\n }\n\n}\n","import {Component, Input, OnInit} from '@angular/core';\n\n@Component({\n selector: 'gd-tooltip',\n templateUrl: './tooltip.component.html',\n styleUrls: ['./tooltip.component.less']\n})\nexport class TooltipComponent implements OnInit {\n\n @Input() text: string;\n @Input() position = 0;\n visibility = 'hidden';\n\n constructor() {\n }\n\n getClass() {\n if (this.position === 0) {\n return 'tooltip';\n }\n return 'tooltip ' + (this.position > 0 ? 'last-element' : 'first-element');\n }\n\n @Input()\n set show(value: boolean) {\n this.visibility = value ? 'shown' : 'hidden';\n }\n\n ngOnInit() {\n }\n\n}\n","import {HttpHeaders} from \"@angular/common/http\";\nimport {Injectable} from \"@angular/core\";\n\nexport class Api {\n public static VIEWER_APP = '/viewer';\n public static SIGNATURE_APP = '/signature';\n public static ANNOTATION_APP = '/annotation';\n public static SEARCH_APP = '/search';\n public static EDITOR_APP = '/editor';\n public static COMPARISON_APP = '/comparison';\n public static CONVERSION_APP = '/conversion';\n public static METADATA_APP = '/metadata';\n public static DEFAULT_API_ENDPOINT = window.location.href;\n public static LOAD_FILE_TREE = '/loadFileTree';\n public static LOAD_CONFIG = '/loadConfig';\n public static LOAD_DOCUMENT_DESCRIPTION = '/loadDocumentDescription';\n public static LOAD_DOCUMENT_PAGE = '/loadDocumentPage';\n public static LOAD_DOCUMENT_PROPERTIES = '/loadProperties';\n public static LOAD_DOCUMENT_PROPERTIES_NAMES = '/loadPropertiesNames';\n public static SAVE_PROPERTY = '/saveProperty';\n public static REMOVE_PROPERTY = '/removeProperty';\n public static ROTATE_DOCUMENT_PAGE = '/rotateDocumentPages';\n public static UPLOAD_DOCUMENTS = '/uploadDocument';\n public static DOWNLOAD_DOCUMENTS = '/downloadDocument';\n public static DOWNLOAD_ANNOTATED = '/downloadAnnotated';\n public static LOAD_PRINT = '/loadPrint';\n public static LOAD_PRINT_PDF = '/printPdf';\n public static LOAD_THUMBNAILS = '/loadThumbnails';\n public static LOAD_FORMATS = '/loadFormats';\n public static SAVE_FILE = '/saveFile';\n public static CREATE_FILE = '/createFile';\n public static COMPARE_FILES = '/compare';\n public static CONVERT_FILE = '/convert';\n public static DELETE_SIGNATURE_FILE = '/deleteSignatureFile';\n public static REMOVE_FROM_INDEX = '/removeFromIndex';\n public static GET_FILE_STATUS = '/getFileStatus';\n public static SAVE_OPTICAL_CODE = '/saveOpticalCode';\n public static SAVE_TEXT = '/saveText';\n public static SAVE_IMAGE = '/saveImage';\n public static SAVE_STAMP = '/saveStamp';\n public static SIGN = '/sign';\n public static DOWNLOAD_SIGNED = '/downloadSigned';\n public static LOAD_SIGNATURE_IMAGE = '/loadSignatureImage';\n public static ANNOTATE = '/annotate';\n public static SEARCH = '/search';\n public static ADD_FILES_TO_INDEX = '/addFilesToIndex';\n public static CLEAN_METADATA = '/clean';\n public static EXPORT_METADATA = '/export';\n\n public static httpOptionsJson = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n })\n };\n public static httpOptionsJsonResponseTypeBlob = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n }),\n responseType: 'blob' as 'blob'\n };\n}\n\n@Injectable()\nexport class ConfigService {\n\n private _apiEndpoint: string;\n\n constructor() {\n this.apiEndpoint = Api.DEFAULT_API_ENDPOINT;\n }\n\n set apiEndpoint(url: string) {\n this._apiEndpoint = url && url.trim().endsWith('/') ? url.substring(0, url.length - 1) : url;\n }\n\n getConfigEndpoint(app) {\n return (this.apiEndpoint.endsWith(app) ? this.apiEndpoint : this.apiEndpoint + app) + Api.LOAD_CONFIG;\n }\n\n getViewerApiEndpoint() {\n return this._apiEndpoint.endsWith(Api.VIEWER_APP) ? this._apiEndpoint : this._apiEndpoint + Api.VIEWER_APP;\n }\n\n getEditorApiEndpoint() {\n return this._apiEndpoint.trim().endsWith(Api.EDITOR_APP) ? this._apiEndpoint : this._apiEndpoint + Api.EDITOR_APP;\n }\n\n getComparisonApiEndpoint() {\n return this._apiEndpoint.trim().endsWith(Api.COMPARISON_APP) ? this._apiEndpoint : this._apiEndpoint + Api.COMPARISON_APP;\n }\n\n getConversionApiEndpoint() {\n return this._apiEndpoint.trim().endsWith(Api.CONVERSION_APP) ? this._apiEndpoint : this._apiEndpoint + Api.CONVERSION_APP;\n }\n\n getMetadataApiEndpoint() {\n return this._apiEndpoint.trim().endsWith(Api.METADATA_APP) ? this._apiEndpoint : this._apiEndpoint + Api.METADATA_APP;\n }\n\n get apiEndpoint() {\n return this._apiEndpoint;\n }\n\n getSignatureApiEndpoint() {\n return this._apiEndpoint.endsWith(Api.SIGNATURE_APP) ? this._apiEndpoint : this._apiEndpoint + Api.SIGNATURE_APP;\n }\n\n getAnnotationApiEndpoint() {\n return this._apiEndpoint.endsWith(Api.ANNOTATION_APP) ? this._apiEndpoint : this._apiEndpoint + Api.ANNOTATION_APP;\n }\n\n getSearchApiEndpoint() {\n return this._apiEndpoint.endsWith(Api.SEARCH_APP) ? this._apiEndpoint : this._apiEndpoint + Api.SEARCH_APP;\n }\n}\n","export class CommonModals {\n static PasswordRequired = \"gd-password-required\";\n static ErrorMessage = \"gd-error-message\";\n static BrowseFiles = \"gd-browse-files\";\n static CreateDocument = \"gd-create-document\";\n static OperationSuccess = \"gd-success-modal\";\n static DrawHandSignature = \"gd-draw-hand-signature\";\n static DrawStampSignature = \"gd-draw-stamp-signature\";\n static InformationMessage = \"gd-information-message\";\n}\n\nexport class ModalService {\n private modals: any[] = [];\n\n add(modal: any) {\n this.modals.push(modal);\n }\n\n remove(id: string) {\n this.modals = this.modals.filter(x => x.id !== id);\n }\n\n open(id: string) {\n const modal: any = this.modals.filter(x => x.id === id)[0];\n if (modal) {\n modal.open();\n }\n }\n\n close(id: string) {\n const modal: any = this.modals.filter(x => x.id === id)[0];\n if (modal) {\n modal.close();\n }\n }\n}\n","import {Component, ElementRef, EventEmitter, Input, OnDestroy, OnInit, Output} from '@angular/core';\nimport {ModalService} from \"../modal.service\";\n\n@Component({\n selector: 'gd-modal',\n templateUrl: './modal.component.html',\n styleUrls: ['./modal.component.less']\n})\nexport class ModalComponent implements OnInit, OnDestroy {\n @Input() id: string;\n @Input() title: string;\n @Output() visible = new EventEmitter();\n @Output() cancel = new EventEmitter();\n visibility = false;\n private element: any;\n\n constructor(private modalService: ModalService, el: ElementRef) {\n this.element = el.nativeElement;\n }\n\n ngOnInit(): void {\n if (!this.id) {\n console.error('modal must have an id');\n return;\n }\n\n document.body.appendChild(this.element);\n\n this.modalService.add(this);\n }\n\n ngOnDestroy(): void {\n this.modalService.remove(this.id);\n this.element.remove();\n }\n\n open(): void {\n this.visibility = true;\n this.visible.emit(true);\n }\n\n close(): void {\n event.preventDefault();\n event.stopPropagation();\n this.visibility = false;\n this.visible.emit(false);\n }\n\n onClose($event: MouseEvent) {\n $event.stopPropagation();\n if ($event && $event.target && ($event.target).id === 'modalDialog') {\n this.close();\n }\n }\n\n cancelClose() {\n this.cancel.emit(false);\n this.close();\n }\n}\n","export class PageModel {\n data: string;\n angle: number;\n width: number;\n height: number;\n number: number;\n editable: boolean;\n}\n\nexport class RotatedPage {\n pageNumber: number;\n angle: number;\n}\n\nexport class FileCredentials {\n guid: string;\n password: string;\n\n constructor(guid: string, password: string) {\n this.guid = guid;\n this.password = password;\n }\n}\n\nexport class SaveFile extends FileCredentials {\n content: string;\n\n constructor(guid: string, password: string, content: string) {\n super(guid, password);\n this.content = content;\n }\n}\n\nexport class FileDescription {\n guid: string;\n pages: PageModel[];\n printAllowed = true;\n showGridLines: boolean;\n thumbnails: PageModel[];\n}\n\nexport class FileModel {\n guid: string;\n name: string;\n directory: boolean;\n size: number;\n isDirectory: boolean;\n}\n\nexport class HttpError {\n static BadRequest = 400;\n static Unauthorized = 401;\n static Forbidden = 403;\n static NotFound = 404;\n static TimeOut = 408;\n static Conflict = 409;\n static InternalServerError = 500;\n}\n\nexport class Utils {\n public static getMousePosition(event) {\n const mouse = {\n x: 0,\n y: 0\n };\n const wEvent: DragEvent = window.event;\n const ev = event || wEvent; //Moz || IE\n if (ev.pageX || wEvent.pageX || wEvent.screenX || (ev.touches && ev.touches[0] && ev.touches[0].pageX)) { //Moz\n const pageX = typeof ev.pageX !== \"undefined\" && ev.pageX !== 0 ? ev.pageX : wEvent.pageX;\n const pageY = typeof ev.pageY !== \"undefined\" && ev.pageY !== 0 ? ev.pageY : wEvent.pageY;\n const screenX = typeof wEvent.screenX !== \"undefined\" && wEvent.screenY !== 0;\n const screenY = typeof wEvent.screenY !== \"undefined\" && wEvent.screenY !== 0;\n mouse.x = pageX ? pageX : (screenX ? wEvent.screenX : ev.touches[0].pageX);\n mouse.y = pageY ? pageY : (screenY ? wEvent.screenY : ev.touches[0].pageY);\n } else if (ev.clientX) { //IE\n mouse.x = ev.clientX + document.body.scrollLeft;\n mouse.y = ev.clientY + document.body.scrollTop;\n }\n return mouse;\n }\n\n public static toRgb(color: string) {\n const result = /^#?([a-f\\d]{2})([a-f\\d]{2})([a-f\\d]{2})$/i.exec(color);\n if (result) {\n const r = parseInt(result[1], 16);\n const g = parseInt(result[2], 16);\n const b = parseInt(result[3], 16);\n return result ? 'rgb(' + r + ',' + g + ',' + b + ')' : '';\n }\n return color;\n }\n\n public static toHex(color: string) {\n // check if color is standard hex value\n if (color.match(/[0-9A-F]{6}|[0-9A-F]{3}$/i)) {\n return (color.charAt(0) === \"#\") ? color : (\"#\" + color);\n // check if color is RGB value -> convert to hex\n } else if (color.match(/^rgb\\(\\s*(\\d{1,3})\\s*,\\s*(\\d{1,3})\\s*,\\s*(\\d{1,3})\\s*\\)$/)) {\n const c = ([parseInt(RegExp.$1, 10), parseInt(RegExp.$2, 10), parseInt(RegExp.$3, 10)]),\n pad = function (str) {\n if (str.length < 2) {\n for (let i = 0, len = 2 - str.length; i < len; i++) {\n str = '0' + str;\n }\n }\n return str;\n };\n if (c.length === 3) {\n const r = pad(c[0].toString(16)),\n g = pad(c[1].toString(16)),\n b = pad(c[2].toString(16));\n return '#' + r + g + b;\n }\n // else do nothing\n } else {\n return '';\n }\n }\n}\n\nexport class FileUtil {\n public static map = {\n 'folder': {'format': '', 'icon': 'folder'},\n 'pdf': {'format': 'Portable Document Format', 'icon': 'file-pdf', 'unit': 'pt'},\n 'doc': {'format': 'Microsoft Word', 'icon': 'file-word', 'unit': 'pt'},\n 'docx': {'format': 'Microsoft Word', 'icon': 'file-word', 'unit': 'pt'},\n 'docm': {'format': 'Microsoft Word', 'icon': 'file-word', 'unit': 'pt'},\n 'dot': {'format': 'Microsoft Word', 'icon': 'file-word', 'unit': 'pt'},\n 'dotx': {'format': 'Microsoft Word', 'icon': 'file-word', 'unit': 'pt'},\n 'dotm': {'format': 'Microsoft Word', 'icon': 'file-word', 'unit': 'pt'},\n 'xls': {'format': 'Microsoft Excel', 'icon': 'file-excel', 'unit': 'px'},\n 'xlsx': {'format': 'Microsoft Excel', 'icon': 'file-excel', 'unit': 'px'},\n 'xlsm': {'format': 'Microsoft Excel', 'icon': 'file-excel', 'unit': 'px'},\n 'xlsb': {'format': 'Microsoft Excel', 'icon': 'file-excel', 'unit': 'px'},\n 'xls2003': {'format': 'Microsoft Excel', 'icon': 'file-excel', 'unit': 'px'},\n 'xltx': {'format': 'Microsoft Excel', 'icon': 'file-excel', 'unit': 'px'},\n 'xltm': {'format': 'Microsoft Excel', 'icon': 'file-excel', 'unit': 'px'},\n 'ppt': {'format': 'Microsoft PowerPoint', 'icon': 'file-powerpoint', 'unit': 'pt'},\n 'pptx': {'format': 'Microsoft PowerPoint', 'icon': 'file-powerpoint', 'unit': 'pt'},\n 'pps': {'format': 'Microsoft PowerPoint', 'icon': 'file-powerpoint', 'unit': 'pt'},\n 'ppsx': {'format': 'Microsoft PowerPoint', 'icon': 'file-powerpoint', 'unit': 'pt'},\n 'vsd': {'format': 'Microsoft Visio', 'icon': 'file-code', 'unit': 'px'},\n 'vdx': {'format': 'Microsoft Visio', 'icon': 'file-code', 'unit': 'px'},\n 'vss': {'format': 'Microsoft Visio', 'icon': 'file-code', 'unit': 'px'},\n 'vsx': {'format': 'Microsoft Visio', 'icon': 'file-code', 'unit': 'px'},\n 'vst': {'format': 'Microsoft Visio', 'icon': 'file-code', 'unit': 'px'},\n 'vtx': {'format': 'Microsoft Visio', 'icon': 'file-code', 'unit': 'px'},\n 'vsdx': {'format': 'Microsoft Visio', 'icon': 'file-code', 'unit': 'px'},\n 'vdw': {'format': 'Microsoft Visio', 'icon': 'file-code', 'unit': 'px'},\n 'vstx': {'format': 'Microsoft Visio', 'icon': 'file-code', 'unit': 'px'},\n 'vssx': {'format': 'Microsoft Visio', 'icon': 'file-code', 'unit': 'px'},\n 'mpp': {'format': 'Microsoft Project', 'icon': 'file-alt', 'unit': 'pt'},\n 'mpt': {'format': 'Microsoft Project', 'icon': 'file-alt', 'unit': 'pt'},\n 'msg': {'format': 'Microsoft Outlook', 'icon': 'file-alt', 'unit': 'pt'},\n 'eml': {'format': 'Microsoft Outlook', 'icon': 'file-alt', 'unit': 'pt'},\n 'emlx': {'format': 'Microsoft Outlook', 'icon': 'file-alt', 'unit': 'pt'},\n 'one': {'format': 'Microsoft OneNote', 'icon': 'file-word', 'unit': 'pt'},\n 'odt': {'format': 'Open Document Text', 'icon': 'file-word', 'unit': 'pt'},\n 'ott': {'format': 'Open Document Text Template', 'icon': 'file-word', 'unit': 'pt'},\n 'ods': {'format': 'Open Document Spreadsheet', 'icon': 'file-excel', 'unit': 'px'},\n 'odp': {'format': 'Open Document Presentation', 'icon': 'file-powerpoint', 'unit': 'pt'},\n 'otp': {'format': 'Open Document Presentation', 'icon': 'file-powerpoint', 'unit': 'pt'},\n 'ots': {'format': 'Open Document Presentation', 'icon': 'file-powerpoint', 'unit': 'pt'},\n 'potx': {'format': 'Open Document Presentation', 'icon': 'file-powerpoint', 'unit': 'pt'},\n 'potm': {'format': 'Open Document Presentation', 'icon': 'file-powerpoint', 'unit': 'pt'},\n 'pptm': {'format': 'Open Document Presentation', 'icon': 'file-powerpoint', 'unit': 'pt'},\n 'ppsm': {'format': 'Open Document Presentation', 'icon': 'file-powerpoint', 'unit': 'pt'},\n 'rtf': {'format': 'Rich Text Format', 'icon': 'file-alt', 'unit': 'pt'},\n 'txt': {'format': 'Plain Text File', 'icon': 'file-alt', 'unit': 'pt'},\n 'csv': {'format': 'Comma-Separated Values', 'icon': 'file-excel', 'unit': 'px'},\n 'html': {'format': 'HyperText Markup Language', 'icon': 'file-word', 'unit': 'pt'},\n 'mht': {'format': 'HyperText Markup Language', 'icon': 'file-word', 'unit': 'pt'},\n 'mhtml': {'format': 'HyperText Markup Language', 'icon': 'file-word', 'unit': 'pt'},\n 'xml': {'format': 'Extensible Markup Language', 'icon': 'file-word', 'unit': 'pt'},\n 'xps': {'format': 'XML Paper Specification', 'icon': 'file-word', 'unit': 'pt'},\n 'dxf': {'format': 'AutoCAD Drawing File Format', 'icon': 'file-image', 'unit': 'px'},\n 'dwg': {'format': 'AutoCAD Drawing File Format', 'icon': 'file-image', 'unit': 'px'},\n 'bmp': {'format': 'Bitmap Picture', 'icon': 'file-image', 'unit': 'px'},\n 'gif': {'format': 'Graphics Interchange Format', 'icon': 'file-image', 'unit': 'px'},\n 'jpg': {'format': 'Joint Photographic Experts Group', 'icon': 'file-image', 'unit': 'px'},\n 'jpe': {'format': 'Joint Photographic Experts Group', 'icon': 'file-image', 'unit': 'px'},\n 'jpeg': {'format': 'Joint Photographic Experts Group', 'icon': 'file-image', 'unit': 'px'},\n 'jfif': {'format': 'Joint Photographic Experts Group', 'icon': 'file-image', 'unit': 'px'},\n 'png': {'format': 'Portable Network Graphics', 'icon': 'file-image', 'unit': 'px'},\n 'tiff': {'format': 'Tagged Image File Format', 'icon': 'file-image', 'unit': 'px'},\n 'tif': {'format': 'Tagged Image File Format', 'icon': 'file-image', 'unit': 'px'},\n 'psd': {'format': 'Tagged Image File Format', 'icon': 'file-image', 'unit': 'px'},\n 'svg': {'format': 'Tagged Image File Format', 'icon': 'file-image', 'unit': 'px'},\n 'jp2': {'format': 'Tagged Image File Format', 'icon': 'file-image', 'unit': 'px'},\n 'epub': {'format': 'Electronic Publication', 'icon': 'file-pdf', 'unit': 'pt'},\n 'ico': {'format': 'Windows Icon', 'icon': 'file-image', 'unit': 'px'},\n 'webp': {'format': 'Compressed Image', 'icon': 'file-image', 'unit': 'px'},\n 'mobi': {'format': 'Mobipocket eBook', 'icon': 'file-pdf', 'unit': 'pt'},\n 'tex': {'format': 'LaTeX Source Document', 'icon': 'file-pdf', 'unit': 'pt'},\n 'djvu': {'format': 'Multi-Layer Raster Image', 'icon': 'file-alt', 'unit': 'pt'},\n 'unknown': {'format': 'This format is not supported', 'icon': 'file'},\n };\n\n public static find(filename: string, isDirectory: boolean) {\n if (filename && !isDirectory) {\n const strings = filename.split('.');\n const name = strings.pop().toLowerCase();\n if (typeof FileUtil.map[name] === \"undefined\") {\n return strings.length > 0 ? FileUtil.map['unknown'] : FileUtil.map['folder'];\n } else {\n return FileUtil.map[name];\n }\n } else {\n return FileUtil.map['folder'];\n }\n }\n}\n\nexport class FileService {\n\n constructor() {\n }\n}\n","import {Observable, Observer} from \"rxjs\";\n\nexport class UploadFilesService {\n private _uploadsChange: Observable;\n private _observer: Observer;\n\n constructor() {\n this._uploadsChange = new Observable(observer =>\n this._observer = observer);\n }\n\n get uploadsChange(): Observable {\n return this._uploadsChange;\n }\n\n changeFilesList(filesList: FileList) {\n this._observer.next(filesList);\n }\n}\n","import {Component, EventEmitter, Input, OnInit, Output} from '@angular/core';\nimport {FileModel, FileUtil} from \"../file.service\";\nimport {UploadFilesService} from \"../upload-files.service\";\nimport * as jquery from \"jquery\";\nconst $ = jquery;\n\nconst upload_disc = 'Disc';\n\nconst upload_url = 'URL';\n\nconst uploads_choices = [{name: upload_disc, icon: 'hdd'}, {name: upload_url, icon: 'link'}];\n\n@Component({\n selector: 'gd-browse-files-modal',\n templateUrl: './browse-files-modal.component.html',\n styleUrls: ['./browse-files-modal.component.less']\n})\nexport class BrowseFilesModalComponent implements OnInit {\n uploads = uploads_choices;\n\n @Input() files;\n @Input() uploadConfig;\n @Output() selectedFileGuid = new EventEmitter();\n @Output() selectedDirectory = new EventEmitter();\n @Output() urlForUpload = new EventEmitter();\n @Output() closing = new EventEmitter();\n private selectedFile: FileModel;\n showUploadUrl = false;\n showUploadFile = false;\n\n constructor(private _uploadService: UploadFilesService) {\n }\n\n ngOnInit() {\n }\n\n getSize(size: number) {\n const mb = size / 1024 / 1024;\n if (mb > 1) {\n return (Math.round(mb * 100) / 100) + ' MB';\n } else {\n const kb = size / 1024;\n if (kb > 1) {\n return (Math.round(kb * 100) / 100) + ' KB';\n }\n }\n return size + ' Bytes';\n }\n\n getFormatName(file: FileModel) {\n return FileUtil.find(file.name, file.directory).format;\n }\n\n getFormatIcon(file: FileModel) {\n return FileUtil.find(file.name, file.directory).icon;\n }\n\n choose(file: FileModel) {\n this.selectedFile = file;\n if (file.directory || file.isDirectory) {\n this.selectedDirectory.emit(file.name);\n } else {\n this.selectedFileGuid.emit(file.guid);\n }\n }\n\n goUp() {\n if (this.selectedFile) {\n let guid = this.selectedFile.guid;\n if (guid.length > 0 && guid.indexOf('/') === -1) {\n guid = '';\n } else {\n guid = guid.replace(/\\/[^\\/]+\\/?$/, '');\n }\n this.selectedDirectory.emit(guid);\n }\n }\n\n selectUpload($event: string) {\n if (upload_url === $event) {\n this.showUploadUrl = true;\n } else {\n this.showUploadUrl = false;\n $(\"#gd-upload-input\").trigger('click');\n }\n }\n\n refresh($event) {\n\n if ($event) {\n this.files = null;\n this.selectedDirectory.emit('');\n this.showUploadUrl = false;\n this.selectedFile = null;\n } else {\n this.closing.emit(true);\n }\n }\n\n showSpinner() {\n return !this.files;\n }\n\n uploadUrl(url: string) {\n if (url) {\n this.urlForUpload.emit(url);\n this.cleanUpload();\n }\n }\n\n handleFileInput(files: FileList) {\n this._uploadService.changeFilesList(files);\n }\n\n cleanUpload() {\n this.showUploadFile = false;\n this.showUploadUrl = false;\n }\n}\n","import {Observable, Subject} from \"rxjs\";\n\nexport class ZoomService {\n private _observer: Subject = new Subject();\n private readonly _zoomChange: Observable = this._observer.asObservable();\n private _zoom: number;\n\n constructor() {\n }\n\n get zoom(): number {\n return this._zoom;\n }\n\n get zoomChange(): Observable {\n return this._zoomChange;\n }\n\n changeZoom(zoom: number) {\n this._zoom = zoom;\n this._observer.next(zoom);\n }\n\n private createZoomOption(val: any, name: string, sep: boolean = false) {\n return {value: val, name: name, separator: sep}\n }\n\n zoomOptions(width, height) {\n return [this.createZoomOption(25, '25%'),\n this.createZoomOption(50, '50%'),\n this.createZoomOption(100,'100%'),\n this.createZoomOption(150, '150%'),\n this.createZoomOption(200, '200%'),\n this.createZoomOption(300, '300%'),\n this.createZoomOption(0, '', true),\n this.createZoomOption(width, 'Fit Width'),\n this.createZoomOption(height, 'Fit Height')];\n }\n}\n","import {Observable, Observer} from \"rxjs\";\n\nexport class PagePreloadService {\n private readonly _checkPreload: Observable;\n private _observer: Observer;\n\n constructor() {\n this._checkPreload = new Observable(observer =>\n this._observer = observer);\n }\n\n get checkPreload(): Observable {\n return this._checkPreload;\n }\n\n changeLastPageInView(page: number) {\n if(this._observer) {\n this._observer.next(page);\n }\n }\n}\n","import {BehaviorSubject, Observable, Subject} from \"rxjs\";\nimport {PagePreloadService} from \"./page-preload.service\";\nimport {Injectable} from \"@angular/core\";\n\n@Injectable({\n providedIn: 'root'\n})\nexport class NavigateService {\n private _currentPage = 0;\n private _countPages = 0;\n private _observer: Subject = new Subject();\n private _navigate: Observable = this._observer;\n\n constructor(private _pagePreloadService: PagePreloadService) {\n }\n\n get navigate(): Observable {\n return this._navigate;\n }\n\n get countPages(): number {\n return this._countPages;\n }\n\n set countPages(value: number) {\n this._countPages = value;\n }\n\n get currentPage(): number {\n return this._currentPage;\n }\n\n set currentPage(value: number) {\n this._currentPage = value;\n }\n\n nextPage() {\n if (this._currentPage < this._countPages) {\n this._currentPage++;\n this.navigateTo(this._currentPage);\n }\n }\n\n prevPage() {\n if (this._currentPage > 1) {\n this._currentPage--;\n this.navigateTo(this._currentPage);\n }\n }\n\n toLastPage() {\n this._currentPage = this._countPages;\n this.navigateTo(this._currentPage);\n }\n\n toFirstPage() {\n this._currentPage = 1;\n this.navigateTo(this._currentPage);\n }\n\n navigateTo(page: number) {\n this.currentPage = page;\n this._pagePreloadService.changeLastPageInView(page);\n this._observer.next(page);\n }\n}\n","import {\n AfterViewChecked,\n Component,\n ElementRef,\n Input,\n OnInit,\n AfterViewInit,\n OnChanges\n} from '@angular/core';\nimport {FileDescription, FileUtil} from \"../file.service\";\nimport {ZoomService} from \"../zoom.service\";\nimport * as Hammer from 'hammerjs';\nimport {WindowService} from '../window.service';\nimport * as jquery from 'jquery';\nimport { NavigateService } from '../navigate.service';\n\nconst $ = jquery;\n\n@Component({\n selector: 'gd-document',\n templateUrl: './document.component.html',\n styleUrls: ['./document.component.less']\n})\nexport class DocumentComponent implements OnInit, AfterViewChecked, AfterViewInit, OnChanges {\n\n @Input() mode: boolean;\n @Input() preloadPageCount: number;\n @Input() file: FileDescription;\n @Input() selectedPage: number;\n @Input() showActiveSlide: boolean;\n wait = false;\n zoom: number;\n\n docWidth = null;\n docHeight = null;\n viewportWidth = null;\n viewportHeight = null;\n scale = null;\n lastScale = null;\n container = null;\n doc = null;\n x = 0;\n lastX = 0;\n y = 0;\n lastY = 0;\n pinchCenter = null;\n pinchCenterOffset = null;\n curWidth = 0;\n curHeight = 0;\n isDesktop: boolean;\n\n constructor(protected _elementRef: ElementRef,\n private _zoomService: ZoomService,\n private _windowService: WindowService,\n private _navigateService: NavigateService) {\n _zoomService.zoomChange.subscribe((val: number) => {\n this.zoom = val;\n });\n\n this.isDesktop = _windowService.isDesktop();\n\n this._navigateService.navigate.subscribe(((\n value => {\n this.selectedPage = value;\n })));\n }\n\n ngOnInit() {\n if (this.ifPresentation())\n {\n this.selectedPage = this._navigateService.currentPage;\n }\n }\n\n ngOnChanges() {\n }\n\n ngAfterViewInit() {\n // For current iteration we take .panzoom as a document\n this.doc = this._elementRef.nativeElement.children.item(0).children.item(0);\n // For current iteration we take .gd-document as a container\n this.container = this._elementRef.nativeElement;\n\n this.docWidth = this.doc.clientWidth;\n this.docHeight = this.doc.clientHeight;\n this.viewportWidth = this.doc.offsetWidth;\n\n // For cases where we already have zoom defined we should include it\n this.scale = (this.viewportWidth / this.docWidth) * this._zoomService.zoom / 100;\n\n this.lastScale = this.scale;\n this.viewportHeight = this.container.offsetHeight;\n this.curWidth = this.docWidth * this.scale;\n this.curHeight = this.docHeight * this.scale;\n\n const hammer = new Hammer(this.container);\n }\n\n // TODO: this temporary crutch for Excel files should be documented\n ifExcel() {\n return FileUtil.find(this.file.guid, false).format === \"Microsoft Excel\";\n }\n\n ifPresentation() {\n return FileUtil.find(this.file.guid, false).format === \"Microsoft PowerPoint\";\n }\n\n getDimensionWithUnit(value: number, pageNumber: number) {\n return this.ifPresentation() && this.showActiveSlide && !this.isVisible(pageNumber) ? 0 : value + (this.mode ? FileUtil.find(this.file.guid, false).unit : 'px');\n }\n\n ifEdge() {\n return navigator.userAgent.toLowerCase().indexOf('edge') > -1;\n }\n\n ngAfterViewChecked(): void {\n // for now we are not sure that need this action in current implementation\n // const elementNodeListOf = this._elementRef.nativeElement.querySelectorAll('.gd-wrapper');\n // const element = elementNodeListOf.item(0);\n // if (element) {\n // $(element).trigger('focus');\n // }\n }\n\n isVisible(pageNumber) {\n if (this.ifPresentation()) {\n return pageNumber === this.selectedPage ? true : false;\n }\n else {\n return true;\n }\n }\n}\n","import {Component, Input, OnChanges, OnInit, SimpleChanges} from '@angular/core';\n\n@Component({\n selector: 'gd-page',\n templateUrl: './page.component.html',\n styleUrls: ['./page.component.less']\n})\nexport class PageComponent implements OnInit, OnChanges {\n\n @Input() angle: number;\n @Input() width: number;\n @Input() height: number;\n @Input() number: number;\n @Input() data: string;\n @Input() isHtml: boolean;\n @Input() editable: boolean;\n imgData: string;\n\n constructor() {\n }\n\n ngOnInit() {\n const isIE = /*@cc_on!@*/false || !!/(MSIE|Trident\\/|Edge\\/)/i.test(navigator.userAgent);\n if(isIE && this.number === 0){\n this.editable = false;\n }\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n if(this.isHtml) {\n // TODO: this is temporary needed to remove unneeded spaces and BOM symbol \n // which leads to undesired spaces on the top of the docs pages\n this.data = this.data \n ? this.data.replace(/>\\s+<')\n .replace(/\\uFEFF/g,\"\")\n : null;\n } else {\n this.imgData = 'data:image/png;base64,' + this.data;\n }\n }\n}\n","import {Pipe, PipeTransform} from '@angular/core';\nimport {DomSanitizer, SafeHtml} from '@angular/platform-browser';\n\n@Pipe({name: 'safeHtml'})\nexport class SanitizeHtmlPipe implements PipeTransform{\n constructor(private sanitizer: DomSanitizer) {\n }\n\n transform(html: string): SafeHtml {\n return this.sanitizer.bypassSecurityTrustHtml(html);\n }\n}\n\n@Pipe({name: 'safeResourceHtml'})\nexport class SanitizeResourceHtmlPipe implements PipeTransform{\n constructor(private sanitizer: DomSanitizer) {\n }\n\n transform(html: string): SafeHtml {\n return this.sanitizer.bypassSecurityTrustResourceUrl(html);\n }\n}\n\n@Pipe({name: 'safeStyle'})\nexport class SanitizeStylePipe implements PipeTransform{\n constructor(private sanitizer: DomSanitizer) {\n }\n\n transform(html: string): SafeHtml {\n return this.sanitizer.bypassSecurityTrustStyle(html);\n }\n}\n\n@Pipe({name: 'highlight'})\nexport class HighlightSearchPipe implements PipeTransform {\n\n transform(value: string, args: string): any {\n if (!args) {\n return value;\n }\n const re = new RegExp(args, 'gi'); //'gi' for case insensitive and can use 'g' if you want the search to be case sensitive.\n return value.replace(re, \"$&\");\n }\n}\n","import {Component, EventEmitter, OnInit, Output} from '@angular/core';\nimport {UploadFilesService} from \"../upload-files.service\";\n\n@Component({\n selector: 'gd-upload-file-zone',\n templateUrl: './upload-file-zone.component.html',\n styleUrls: ['./upload-file-zone.component.less']\n})\nexport class UploadFileZoneComponent implements OnInit {\n\n @Output() closeUpload = new EventEmitter();\n\n constructor(private _uploadService: UploadFilesService) { }\n\n ngOnInit() {\n }\n\n handleFileInput(files: FileList) {\n this._uploadService.changeFilesList(files);\n this.onCloseUpload();\n }\n\n onCloseUpload() {\n this.closeUpload.emit(true);\n }\n\n close($event) {\n if ($event.target.id === 'gd-dropZone') {\n this.onCloseUpload();\n }\n }\n}\n","import {Directive, EventEmitter, HostBinding, HostListener, Input, Output} from '@angular/core';\nimport {UploadFilesService} from \"./upload-files.service\";\n\n@Directive({\n selector: '[gdDnd]'\n})\nexport class DndDirective {\n\n @Output() closing = new EventEmitter();\n @Output() opening = new EventEmitter();\n @Output() dropped = new EventEmitter();\n\n @HostBinding('class.active') active = false;\n\n private dragCounter = 0;\n\n constructor(protected _uploadFilesService: UploadFilesService) {\n }\n\n @HostListener('dragenter', ['$event'])\n public onDragEnter(evt) {\n evt.preventDefault();\n evt.stopPropagation();\n this.dragCounter++;\n this.active = true;\n this.opening.emit(true);\n }\n\n @HostListener('dragover', ['$event'])\n public onDragOver(evt) {\n evt.preventDefault();\n evt.stopPropagation();\n return false;\n }\n\n @HostListener('dragleave', ['$event'])\n public onDragLeave(evt) {\n evt.preventDefault();\n evt.stopPropagation();\n this.dragCounter--;\n if (this.dragCounter === 0) {\n this.active = false;\n this.closeArea();\n }\n }\n\n @HostListener('drop', ['$event'])\n public onDrop(evt) {\n evt.preventDefault();\n evt.stopPropagation();\n const files = evt.dataTransfer.files;\n if (files.length > 0) {\n this.active = false;\n this.dropped.emit(true);\n this._uploadFilesService.changeFilesList(files);\n this.closeArea();\n }\n }\n\n @HostListener('click', ['$event'])\n public onClick(event) {\n this.closeArea();\n }\n\n private closeArea() {\n this.closing.emit(true);\n this.opening.emit(false);\n }\n}\n","import {Injectable} from '@angular/core';\nimport * as jquery from \"jquery\";\nconst $ = jquery;\n\n@Injectable({\n providedIn: 'root'\n})\nexport class ViewportService {\n\n constructor() {\n }\n\n checkInViewport(el, zoom: number = 100, leftOffset: number = 0, deltaX: number = 0.5) {\n if (!el) {\n return false;\n }\n const x = deltaX;\n const y = 0.5;\n\n const win = $(window);\n\n const viewport = {\n top: win.scrollTop(),\n left: win.scrollLeft() + leftOffset,\n right: win.scrollLeft() + win.width() - 10,\n bottom: win.scrollTop() + win.height()\n };\n\n\n if (isNaN(zoom)) {\n zoom = 100;\n }\n\n const zoomN = zoom / 100;\n const height = $(el).outerHeight() * (zoomN);\n const width = $(el).outerWidth() * (zoomN);\n\n if (!width || !height) {\n return false;\n }\n\n const bounds = $(el).offset();\n const right = (bounds.left * (zoomN)) + width;\n const bottom = (bounds.top * (zoomN)) + height;\n\n const visible = (!(viewport.right < (bounds.left * (zoomN)) || viewport.left > right || viewport.bottom < (bounds.top * (zoomN)) || viewport.top > bottom));\n\n if (!visible) {\n return false;\n }\n\n const deltas = {\n top: parseFloat(Math.min(1, (bottom - viewport.top) / height).toFixed(2)),\n bottom: parseFloat(Math.min(1, (viewport.bottom - (bounds.top * (zoomN))) / height).toFixed(2)),\n left: parseFloat(Math.min(1, (right - viewport.left) / width).toFixed(2)),\n right: parseFloat(Math.min(1, (viewport.right - (bounds.left * (zoomN))) / width).toFixed(2))\n };\n\n return (deltas.left * deltas.right) >= x && (deltas.top * deltas.bottom) >= y;\n }\n}\n","import {\n AfterViewInit,\n Directive,\n ElementRef,\n HostListener,\n Input,\n OnChanges,\n OnInit,\n SimpleChanges\n} from '@angular/core';\nimport {NavigateService} from \"./navigate.service\";\nimport {PagePreloadService} from \"./page-preload.service\";\nimport {ZoomService} from \"./zoom.service\";\nimport {WindowService} from \"./window.service\";\nimport {ViewportService} from \"./viewport.service\";\nimport * as jquery from \"jquery\";\nconst $ = jquery;\n\n@Directive({\n selector: '[gdScrollable]'\n})\nexport class ScrollableDirective implements AfterViewInit, OnChanges, OnInit {\n @Input() isPresentation: boolean;\n\n private currentPage: number;\n private zoom = 100;\n private loadedPagesSet = new Set();\n\n constructor(private _elementRef: ElementRef,\n private _navigateService: NavigateService,\n private _pagePreloadService: PagePreloadService,\n private _zoomService: ZoomService,\n private _windowService: WindowService,\n private _viewportService: ViewportService) {\n\n this.zoom = _zoomService.zoom ? _zoomService.zoom : this.zoom;\n _zoomService.zoomChange.subscribe((val: number) => {\n this.zoom = val ? val : this.zoom;\n this.refresh();\n });\n }\n\n ngAfterViewInit() {\n this.zoom = this._zoomService.zoom ? this._zoomService.zoom : this.zoom;\n this._navigateService.navigate.subscribe((value => {\n this.currentPage = value;\n this.scrollToPage(value);\n }));\n this.refresh();\n }\n\n @HostListener('scroll') scrolling() {\n this.refresh();\n }\n\n @HostListener('window:resize') resizing() {\n this.refresh();\n }\n\n scrollToPage(pageNumber: number) {\n const el = this._elementRef.nativeElement;\n const page = this.getPage(pageNumber);\n const prev = pageNumber > 0 ? this.getPage(pageNumber - 1) : null;\n const isSameTop = (prev && $(prev).offset().top === $(page).offset().top);\n if (this._viewportService.checkInViewport(page, this.zoom) && isSameTop) {\n return;\n }\n const pagesHeight = this.calculateOffset(pageNumber);\n const options = {\n left: 0,\n top: pagesHeight\n };\n if(el){\n // using polyfill\n el.scroll(options);\n }\n }\n\n private getChildren() {\n const el = this._elementRef ? this._elementRef.nativeElement : null;\n if (el) {\n // here and in the similar line below we getting the document pages\n return el.children.item(0).children.item(0).children;\n }\n }\n\n private getPage(pageNumber: number) {\n const el = this._elementRef ? this._elementRef.nativeElement : null;\n if (el) {\n return el.children.item(0).children.item(0).children.item(pageNumber - 1);\n }\n }\n\n private calculateOffset(pageNumber: number) {\n const count = this._windowService.isFirefox() ? 1 : this.countPagesOnWidth();\n const margin = this._windowService.isDesktop() ? 40 : 10;\n let pagesHeight = 0;\n for (let i = 1; i < pageNumber / count; i++) {\n const item = this.getPage(i);\n const clientHeight = item ? item.clientHeight : 0;\n pagesHeight += clientHeight > 0 ? clientHeight * this.getZoom() + margin : 0;\n }\n return pagesHeight;\n }\n\n private countPagesOnWidth() {\n const pageEl = this.getPage(1);\n const offset = 150;\n if (pageEl) {\n const count = Math.floor((this.getWidth() - offset) / (pageEl.getBoundingClientRect().width * this.getZoom()));\n if (count !== 0) {\n return count;\n }\n }\n return 1;\n }\n\n refresh() {\n let page;\n let currentPageSet = false;\n const pageElem = this.getPage(this.currentPage);\n const currentPageRect = this.currentPage && pageElem ? pageElem.getBoundingClientRect() : null;\n for (page = 1; page < this.getChildren().length + 1; page++) {\n const element = this.getPage(page);\n if (this._viewportService.checkInViewport(element, this.zoom)) {\n if (!currentPageSet) {\n if (!this.currentPage || !pageElem || (this.currentPage && currentPageRect && element.getBoundingClientRect().top !== currentPageRect.top)) {\n this.currentPage = page;\n if ((this.isPresentation && this._navigateService.currentPage === 0) || !this.isPresentation) {\n this._navigateService.currentPage = page;\n }\n }\n currentPageSet = true;\n }\n if (!this.loadedPagesSet.has(page)) {\n this._pagePreloadService.changeLastPageInView(page);\n this.loadedPagesSet.add(page);\n }\n }\n }\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n this.refresh();\n }\n\n ngOnInit(): void {\n this.zoom = this._zoomService.zoom ? this._zoomService.zoom : this.zoom;\n }\n\n\n private getWidth() {\n return this._elementRef ? this._elementRef.nativeElement.offsetWidth : window.innerWidth;\n }\n\n private getZoom() {\n return this.zoom / 100;\n }\n}\n","import {\n Directive,\n EventEmitter,\n HostListener,\n Output} from '@angular/core';\nimport * as jquery from \"jquery\";\nconst $ = jquery;\n\n@Directive({\n selector: '[gdMouseWheel]'\n})\nexport class MouseWheelDirective {\n @Output() mouseWheelUp = new EventEmitter();\n @Output() mouseWheelDown = new EventEmitter();\n\n @HostListener('mousewheel', ['$event']) onMouseWheelChrome(event: any) {\n this.mouseWheelFunc(event);\n }\n\n @HostListener('DOMMouseScroll', ['$event']) onMouseWheelFirefox(event: any) {\n this.mouseWheelFunc(event);\n }\n\n @HostListener('onmousewheel', ['$event']) onMouseWheelIE(event: any) {\n this.mouseWheelFunc(event);\n }\n\n mouseWheelFunc(event: any) {\n event = window.event ;\n const delta = Math.max(-1, Math.min(1, (event.wheelDelta || -event.detail)));\n if(delta > 0) {\n this.mouseWheelUp.emit(event);\n } else if(delta < 0) {\n this.mouseWheelDown.emit(event);\n }\n }\n}\n","import {AfterViewInit, Directive, HostBinding, Input, OnDestroy, OnInit, ElementRef, OnChanges} from '@angular/core';\nimport {ZoomService} from \"./zoom.service\";\nimport {FileUtil} from \"./file.service\";\nimport { WindowService } from './window.service';\n\n@Directive({\n selector: '[gdZoom]'\n})\nexport class ZoomDirective implements OnInit, OnDestroy, AfterViewInit, OnChanges {\n\n @Input() zoomActive = true;\n @Input() file;\n\n @HostBinding('style.zoom') zoomInt: number;\n @HostBinding('style.transform') transform: string;\n @HostBinding('style.transform-origin') transformOrigin: string;\n @HostBinding('style.width') width: string;\n @HostBinding('style.height') height: string;\n @HostBinding('style.min-width') minWidth: string;\n el: ElementRef;\n\n constructor(private _zoomService: ZoomService, private _windowService: WindowService, el: ElementRef) {\n this.el = el;\n }\n\n ngOnDestroy(): void {\n }\n\n ngOnChanges(): void {\n this.setStyles(this._zoomService.zoom);\n this.resizePages(this._zoomService.zoom);\n }\n\n ngOnInit(): void {\n if (! this.zoomActive) {\n return;\n }\n\n this.setStyles(this._zoomService.zoom);\n this._zoomService.zoomChange.subscribe((zoom) => {\n this.setStyles(zoom);\n this.resizePages(zoom);\n });\n }\n\n private setStyles(zoom) {\n if (! this.zoomActive) {\n return;\n }\n\n const zoomInt = zoom === 100 ? 1 : zoom / 100;\n \n if (this._windowService.isEdge()) {\n this.zoomInt = zoomInt;\n }\n else {\n this.zoomInt = null;\n }\n \n if (!this._windowService.isEdge()) {\n this.transform = 'scale(' + zoomInt + ')';\n this.transformOrigin = 'top left';\n }\n else {\n this.transform = \"\";\n this.transformOrigin = \"\";\n }\n\n let maxWidth = 0;\n this.file.pages.forEach(page => {\n {\n if (page.width > maxWidth){\n maxWidth = page.width;\n }\n }\n });\n\n // Images and Excel-related files receiving dimensions in px from server\n this.minWidth = maxWidth + FileUtil.find(this.file.guid, false).unit;\n }\n\n private getScrollWidth(elm){\n return elm.offsetWidth - elm.clientWidth;\n }\n\n private getScrollHeight(elm){\n return elm.offsetHeight - elm.clientHeight;\n }\n\n private resizePages(zoom){\n const zoomInt = zoom === 100 ? 1 : zoom / 100;\n\n const viewPortWidth = this.el.nativeElement.parentElement.offsetWidth;\n const viewPortHeight = this.el.nativeElement.parentElement.offsetHeight;\n const scrollWidth = this.getScrollWidth(this.el.nativeElement.parentElement);\n const scrollHeight = this.getScrollHeight(this.el.nativeElement.parentElement);\n this.width = (viewPortWidth/zoomInt - scrollWidth/zoomInt) + 'px';\n this.height = (viewPortHeight/zoomInt - scrollHeight/zoomInt) + 'px';\n }\n\n ngAfterViewInit(): void {\n this.setStyles(this._zoomService.zoom);\n }\n}\n","import {Injectable} from '@angular/core';\nimport {Observable, Subject} from \"rxjs\";\n\n@Injectable({\n providedIn: 'root'\n})\nexport class OnCloseService {\n private _observer: Subject = new Subject();\n private readonly _onClose: Observable = this._observer.asObservable();\n\n constructor() {\n }\n\n get onClose() {\n return this._onClose;\n }\n\n close(close: boolean) {\n this._observer.next(close)\n }\n}\n","import {Component, EventEmitter, Input, Output} from '@angular/core';\nimport {OnCloseService} from \"../on-close.service\";\n\nexport interface Option {\n name: string;\n value: any;\n separator: boolean;\n}\n\n@Component({\n selector: 'gd-select',\n templateUrl: './select.component.html',\n styleUrls: ['./select.component.less']\n})\nexport class SelectComponent {\n\n @Input() options: Option[];\n @Input() disabled = false;\n @Input() showSelected: Option;\n @Output() selected: EventEmitter = new EventEmitter();\n @Output() opened: EventEmitter = new EventEmitter();\n @Input() isOpen = false;\n @Input() icon: string;\n\n constructor(protected _onCloseService: OnCloseService) {\n _onCloseService.onClose.subscribe(() => {\n this.close();\n });\n }\n\n open() {\n if (!this.disabled) {\n this.isOpen = true;\n }\n }\n\n close() {\n this.isOpen = false;\n }\n\n onClickOutside(event : Event){\n this.close();\n }\n\n toggle($event) {\n // TODO: following lines were uncommented due to needness in signature app\n $event.preventDefault();\n $event.stopPropagation();\n if (!this.disabled) {\n this.isOpen = !this.isOpen;\n if (this.isOpen) this.opened.emit(true);\n }\n }\n\n select($event, value: Option) {\n $event.preventDefault();\n $event.stopPropagation();\n this.selected.emit(value);\n this.close();\n }\n}\n","import {Directive, HostBinding, Input, OnChanges, OnInit, SimpleChanges} from '@angular/core';\n\n@Directive({\n selector: '[gdDisabledCursor]'\n})\nexport class DisabledCursorDirective implements OnInit, OnChanges {\n\n @Input() dis: boolean;\n\n constructor() {\n }\n\n @HostBinding('class.inactive') cursor: boolean;\n\n private updateCursor() {\n this.cursor = this.dis ? true : false;\n }\n\n ngOnInit(): void {\n this.updateCursor();\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n this.updateCursor()\n }\n}\n","import {Directive, HostBinding, Input, OnChanges, OnInit, SimpleChanges} from '@angular/core';\n\n@Directive({\n selector: '[gdRotation]'\n})\nexport class RotationDirective implements OnInit, OnChanges {\n\n @Input() angle: number;\n @Input() isHtmlMode: boolean;\n @Input() width: number;\n @Input() height: number;\n @Input() withMargin = true;\n\n @HostBinding('style.animation') animation: string;\n @HostBinding('style.transition-property') transition: string;\n @HostBinding('style.transform') transform: string;\n\n @HostBinding('style.margin') margin: string;\n\n constructor() {\n }\n\n private updateCursor() {\n if (typeof this.angle === \"string\"){\n this.angle = parseInt(this.angle, 10);\n }\n\n if (this.angle) {\n this.animation = 'none';\n this.transition = 'none';\n this.transform = 'rotate(' + this.angle + 'deg)';\n } else if (this.angle === 0 && this.animation) {\n this.animation = null;\n this.transition = null;\n this.transform = null;\n }\n\n if (this.withMargin) {\n if (this.angle === 90 || this.angle === 270 || this.angle === -90 || this.angle === -270) {\n if (this.isHtmlMode) {\n if (this.isLandscape()) {\n this.margin = '164px 254px';\n } else {\n this.margin = '-111px 254px';\n }\n } else {\n if (this.isLandscape()) {\n this.margin = '129px 100px -79px';\n } else {\n this.margin = '-72px 100px -79px';\n }\n }\n } else if (this.angle === -180 || this.angle === 180) {\n this.margin = '280px';\n } else {\n this.margin = null;\n }\n }\n\n }\n\n isLandscape() {\n return this.width > this.height;\n }\n\n ngOnInit(): void {\n this.updateCursor();\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n this.updateCursor()\n }\n\n}\n","import {Component, Input, Output, EventEmitter, OnInit} from '@angular/core';\n\n@Component({\n selector: 'gd-init-state',\n templateUrl: './init-state.component.html',\n styleUrls: ['./init-state.component.less']\n})\nexport class InitStateComponent implements OnInit {\n @Input() icon: string;\n @Input() text: string;\n @Output() fileDropped = new EventEmitter();\n showUploadFile = false;\n\n constructor() {\n }\n\n ngOnInit() {\n }\n\n dropped($event) {\n if ($event) {\n this.fileDropped.emit($event);\n this.showUploadFile = false;\n }\n }\n}\n","import {Observable, Observer} from \"rxjs\";\nimport {PageModel} from \"./file.service\";\n\nexport class RenderPrintService {\n private _render: Observable;\n private _observer: Observer;\n private _renderBlob: Observable;\n private _observerBlob: Observer;\n\n constructor() {\n this._render = new Observable(observer =>\n this._observer = observer);\n this._renderBlob = new Observable(observer =>\n this._observerBlob = observer);\n }\n\n get renderPrint(): Observable {\n return this._render;\n }\n\n changePages(pages: PageModel[]) {\n this._observer.next(pages);\n }\n\n get renderPrintBlob(): Observable {\n return this._renderBlob;\n }\n\n changeBlob(file: Blob) {\n this._observerBlob.next(file);\n }\n}\n","import {Directive, Input} from '@angular/core';\nimport {PageModel} from \"./file.service\";\nimport {RenderPrintService} from \"./render-print.service\";\n\n@Directive({\n selector: '[gdRenderPrint]'\n})\nexport class RenderPrintDirective {\n @Input() htmlMode: boolean;\n\n constructor(private _renderService: RenderPrintService) {\n _renderService.renderPrint.subscribe(pages => {\n this.renderPrint(pages);\n });\n _renderService.renderPrintBlob.subscribe(file => {\n this.renderPrintBlob(file);\n });\n }\n\n private renderPrint(pages: PageModel[]) {\n let pagesHtml = '';\n\n for (const page of pages) {\n pagesHtml += '
' +\n '
' +\n '
';\n }\n\n this.openWindow(pagesHtml, pages[0].width, pages[0].height);\n }\n\n private openWindow(pagesHtml, width, height) {\n const a4Height = 842;\n const a4Width = 595;\n let imageA4Adjusted = '';\n if(width > a4Width && height > a4Height){\n const zoom = Math.round(height / a4Height) / 100;\n imageA4Adjusted = '.gd-page img { width: 100%; margin: 0; padding: 0;}';\n if(navigator.userAgent.toLowerCase().indexOf('firefox') > -1){\n imageA4Adjusted = '.gd-page img { transform: scale(' + zoom + ');}';\n }\n }\n let cssPrint = '';\n\n const windowObject = window.open('', \"PrintWindow\", \"width=750,height=650,top=50,left=50,toolbars=yes,scrollbars=yes,status=yes,resizable=yes\");\n windowObject.focus();\n windowObject.document.writeln(cssPrint);\n windowObject.document.writeln(pagesHtml);\n windowObject.document.close();\n setTimeout(() => {\n windowObject.focus();\n windowObject.print();\n windowObject.close();\n }, 100);\n }\n\n private renderPrintBlob(file: Blob) {\n const fileURL = URL.createObjectURL(file);\n const windowObject = window.open(fileURL, \"PrintWindow\", \"width=750,height=650,top=50,left=50,toolbars=yes,scrollbars=yes,status=yes,resizable=yes\");\n windowObject.focus();\n windowObject.print();\n windowObject.close();\n }\n}\n","import { HttpEvent } from \"@angular/common/http\";\nimport {BehaviorSubject, Observable} from \"rxjs\";\n\nexport class ExceptionMessageService {\n private _observer: BehaviorSubject = new BehaviorSubject('Server is not available');\n private _messageChange: Observable = this._observer.asObservable();\n\n private _observerHttpEvent: BehaviorSubject> = new BehaviorSubject(null);\n private _httpEventChange: Observable> = this._observerHttpEvent.asObservable();\n\n constructor() {\n }\n\n get messageChange(): Observable {\n return this._messageChange;\n }\n\n get httpEventChange(): Observable> {\n return this._httpEventChange;\n }\n\n changeMessage(message: string) {\n this._observer.next(message);\n }\n\n changeHttpEvent(httpEvent:HttpEvent) {\n this._observerHttpEvent.next(httpEvent);\n }\n}\n","import {Component, OnInit} from '@angular/core';\nimport {ExceptionMessageService} from \"../exception-message.service\";\n\n@Component({\n selector: 'gd-error-modal',\n templateUrl: './error-modal.component.html',\n styleUrls: ['./error-modal.component.less']\n})\nexport class ErrorModalComponent implements OnInit {\n\n message: string;\n\n constructor(messageService: ExceptionMessageService) {\n messageService.messageChange.subscribe(message => this.message = message);\n }\n\n ngOnInit() {\n }\n\n}\n","import {Observable, Subject} from \"rxjs\";\n\nexport class PasswordService {\n private _observer: Subject = new Subject();\n private readonly _passChange: Observable = this._observer.asObservable();\n\n constructor() {\n }\n\n get passChange(): Observable {\n return this._passChange;\n }\n\n setPassword(pass: string) {\n this._observer.next(pass);\n }\n}\n","import {Component, EventEmitter, OnInit, Output} from '@angular/core';\nimport {ExceptionMessageService} from \"../exception-message.service\";\nimport {PasswordService} from \"../password.service\";\nimport * as jquery from \"jquery\";\n\nconst $ = jquery;\n\n@Component({\n selector: 'gd-password-required',\n templateUrl: './password-required.component.html',\n styleUrls: ['./password-required.component.less']\n})\nexport class PasswordRequiredComponent implements OnInit {\n message: string;\n @Output() cancelEvent = new EventEmitter();\n\n constructor(messageService: ExceptionMessageService, private _passwordService: PasswordService) {\n messageService.messageChange.subscribe(message => this.message = message);\n }\n\n ngOnInit() {\n }\n\n setPassword(value: string) {\n this._passwordService.setPassword(value);\n }\n\n onCloseOpen($event: boolean) {\n if ($event) {\n setTimeout(() => {\n const element = $(\"#password\");\n if (element) {\n element.focus();\n }\n }, 100);\n } else {\n $(\"#password\").val(\"\");\n }\n }\n\n cancel($event: boolean) {\n $(\"#password\").val(\"\");\n this.cancelEvent.emit(true);\n }\n}\n","import {Injectable} from '@angular/core';\nimport {HttpErrorResponse, HttpEvent, HttpHandler, HttpInterceptor, HttpRequest} from \"@angular/common/http\";\nimport {Observable, throwError} from \"rxjs\";\nimport {catchError, map} from \"rxjs/operators\";\nimport {ExceptionMessageService} from \"./exception-message.service\";\nimport {HttpError} from \"./file.service\";\nimport {CommonModals, ModalService} from \"./modal.service\";\n\n@Injectable({\n providedIn: 'root'\n})\nexport class ErrorInterceptorService implements HttpInterceptor {\n\n public static ErrorMessageWindowName:string = CommonModals.ErrorMessage;\n\n constructor(private _modalService: ModalService, private _messageService: ExceptionMessageService) {\n }\n\n intercept(req: HttpRequest, next: HttpHandler): Observable> {\n const logFormat = 'background: maroon; color: white';\n\n return next.handle(req)\n .pipe(map(data => {\n return data;\n }),\n catchError((exception: HttpEvent) => {\n if (exception instanceof HttpErrorResponse) {\n switch (exception.status) {\n\n case HttpError.BadRequest:\n console.error('%c Bad Request 400', logFormat);\n break;\n case HttpError.Unauthorized:\n console.error('%c Unauthorized 401', logFormat);\n break;\n case HttpError.NotFound:\n console.error('%c Not Found 404', logFormat);\n break;\n case HttpError.TimeOut:\n console.error('%c TimeOut 408', logFormat);\n break;\n case HttpError.InternalServerError:\n console.error('%c big bad 500', logFormat);\n this._messageService.changeMessage(exception.error.message);\n this._messageService.changeHttpEvent(exception);\n this._modalService.open(ErrorInterceptorService.ErrorMessageWindowName);\n break;\n\n case HttpError.Forbidden:\n console.error('%c Forbidden 403', logFormat);\n this._messageService.changeMessage(exception.error.message);\n this._modalService.open(CommonModals.PasswordRequired);\n break;\n }\n }\n return throwError(exception);\n }));\n }\n}\n","import {Observable, Subject} from \"rxjs\";\n\nexport class SearchService {\n private _observer: Subject = new Subject();\n private readonly _textChange: Observable = this._observer.asObservable();\n\n private _observerCurrent: Subject = new Subject();\n private readonly _currentChange: Observable = this._observerCurrent.asObservable();\n\n private _observerTotal: Subject = new Subject();\n private readonly _totalChange: Observable = this._observerTotal.asObservable();\n\n constructor() {\n }\n\n get textChange(): Observable {\n return this._textChange;\n }\n\n setText(text: string) {\n this._observer.next(text);\n }\n\n get currentChange(): Observable {\n return this._currentChange;\n }\n\n get totalChange(): Observable {\n return this._totalChange;\n }\n\n setCurrent(current: number) {\n this._observerCurrent.next(current);\n }\n\n setTotal(total: number) {\n this._observerTotal.next(total);\n }\n}\n","import {AfterViewInit, Component, ElementRef, EventEmitter, OnInit, Output, ViewChild} from '@angular/core';\nimport {SearchService} from \"../search.service\";\n\n@Component({\n selector: 'gd-search',\n templateUrl: './search.component.html',\n styleUrls: ['./search.component.less']\n})\nexport class SearchComponent implements OnInit, AfterViewInit {\n\n @Output() hidePanel = new EventEmitter(false);\n\n current = 0;\n total = 0;\n\n @ViewChild('text',{\n static : true\n }) textElement: ElementRef;\n\n constructor(private _searchService: SearchService) {\n _searchService.totalChange.subscribe((total: number) => {\n this.total = total;\n if (total !== 0) {\n this.current = 1;\n } else {\n this.current = 0;\n }\n this._searchService.setCurrent(this.current);\n });\n }\n\n ngOnInit() {\n }\n\n setText(text: string) {\n this._searchService.setText(text);\n }\n\n hide() {\n this.setText('');\n this.hidePanel.emit(true);\n }\n\n prev() {\n if (this.current > 1) {\n this.current--;\n this._searchService.setCurrent(this.current);\n }\n }\n\n next() {\n if (this.current < this.total) {\n this.current++;\n this._searchService.setCurrent(this.current);\n }\n }\n\n ngAfterViewInit(): void {\n this.textElement.nativeElement.focus();\n }\n}\n","import {Directive, ElementRef} from '@angular/core';\nimport {SearchService} from \"./search.service\";\nimport {HighlightSearchPipe} from \"./pipes\";\nimport {ZoomService} from \"./zoom.service\";\nimport * as jquery from \"jquery\";\nconst $ = jquery;\n\n@Directive({\n selector: '[gdSearchable]'\n})\nexport class SearchableDirective {\n\n text: string;\n current = 0;\n total = 0;\n private zoom = 100;\n\n constructor(private _elementRef: ElementRef,\n private _searchService: SearchService,\n private _highlight: HighlightSearchPipe,\n private _zoomService: ZoomService) {\n _searchService.currentChange.subscribe((current: number) => {\n this.current = current;\n if (this.current !== 0) {\n this.moveToCurrent();\n }\n });\n\n _searchService.textChange.subscribe((text: string) => {\n this.text = text;\n this.highlightSearch();\n });\n\n this.zoom = _zoomService.zoom ? _zoomService.zoom : this.zoom;\n _zoomService.zoomChange.subscribe((val: number) => {\n this.zoom = val ? val : this.zoom;\n });\n }\n\n private highlightSearch() {\n const el = this._elementRef ? this._elementRef.nativeElement : null;\n if (el) {\n this.cleanHighlight(el);\n if (this.text) {\n this.highlightEl(el);\n const count = el.querySelectorAll('.gd-highlight').length;\n this.total = count;\n } else {\n this.total = 0;\n }\n this._searchService.setTotal(this.total);\n }\n }\n\n private moveToCurrent() {\n if (this.current === 0) {\n return;\n }\n const currentZoom = this.getZoom();\n const el = this._elementRef ? this._elementRef.nativeElement : null;\n if (el) {\n el.querySelectorAll('.gd-highlight-select').forEach(function (value) {\n $(value).removeClass('gd-highlight-select');\n });\n const currentEl = el.querySelectorAll('.gd-highlight')[this.current - 1];\n $(currentEl).addClass('gd-highlight-select');\n if (currentEl) {\n const options = {\n left: 0,\n top: ($(currentEl).offset().top) + el.parentElement.parentElement.scrollTop - 150,\n };\n // using polyfill\n el.parentElement.parentElement.scroll(options);\n }\n }\n }\n\n private highlightEl(el: Element) {\n const textNodes = $(el).find('*').contents().filter(function () {\n const nodeName = this.parentElement.nodeName.toLowerCase();\n const checkClass = (this).classList ? !(this).classList.contains('gd-highlight') : true;\n return this.nodeType === 3 &&\n this.textContent.trim().length !== 0 &&\n nodeName !== 'style' &&\n nodeName !== 'title' &&\n nodeName !== 'body' &&\n nodeName !== 'script' &&\n checkClass;\n });\n const text = this.text;\n const highlight = this._highlight;\n textNodes.each(function () {\n const $this = $(this);\n let content = $this.text();\n content = highlight.transform(content, text);\n $this.replaceWith(content);\n });\n el.normalize();\n }\n\n private cleanHighlight(el: HTMLElement) {\n const nodeListOf = el.querySelectorAll('.gd-highlight');\n for (let i = 0; i < nodeListOf.length; i++) {\n const element = nodeListOf.item(i);\n element.replaceWith((element).innerText);\n }\n el.normalize();\n }\n\n private getZoom() {\n return this.zoom / 100;\n }\n}\n","import {Component, Input, OnInit} from '@angular/core';\n\n@Component({\n selector: 'gd-tabbed-toolbars',\n templateUrl: './tabbed-toolbars.component.html',\n styleUrls: ['./tabbed-toolbars.component.less']\n})\nexport class TabbedToolbarsComponent implements OnInit {\n @Input() logo: string;\n @Input() icon: string;\n\n constructor() {\n }\n\n ngOnInit() {\n }\n\n}\n","import {Observable, Subject} from \"rxjs\";\n\nexport class TabActivatorService {\n private _observer: Subject = new Subject();\n private readonly _activeTabChange: Observable = this._observer.asObservable();\n\n constructor() {\n }\n\n get activeTabChange(): Observable {\n return this._activeTabChange;\n }\n\n changeActiveTab(tabId: string) {\n this._observer.next(tabId);\n }\n}\n","import {Component, Input, OnInit} from '@angular/core';\nimport {TabActivatorService} from \"../tab-activator.service\";\n\n@Component({\n selector: 'gd-tab',\n templateUrl: './tab.component.html',\n styleUrls: ['./tab.component.less']\n})\nexport class TabComponent implements OnInit {\n @Input() id: string;\n @Input() tabTitle: string;\n @Input() icon: string;\n @Input() disabled = false;\n @Input() active = false;\n @Input() content = true;\n\n constructor(private _tabActivatorService: TabActivatorService) {\n this._tabActivatorService.activeTabChange.subscribe((tabId: string) => {\n this.activation(tabId);\n });\n }\n\n private activation(tabId: string) {\n if (this.id === tabId) {\n this.active = true;\n } else {\n this.active = false;\n }\n }\n\n ngOnInit() {\n }\n\n selectTab() {\n if (this.disabled) {\n return;\n }\n this._tabActivatorService.changeActiveTab(this.id);\n }\n}\n","import {Component} from '@angular/core';\n\n@Component({\n selector: 'gd-tabs',\n templateUrl: './tabs.component.html',\n styleUrls: ['./tabs.component.less']\n})\nexport class TabsComponent {\n constructor() {\n }\n\n}\n","import {Observable, Subject} from \"rxjs\";\n\nexport class Formatting {\n constructor(fontSize: number, color: string, bgColor: string, bold: boolean, italic: boolean, underline: boolean, font: string, strikeout: boolean, align: string, list: string) {\n this.fontSize = fontSize;\n this.color = color;\n this.bgColor = bgColor;\n this.bold = bold;\n this.italic = italic;\n this.underline = underline;\n this.font = font;\n this.strikeout = strikeout;\n this.align = align;\n this.list = list;\n }\n\n bold: boolean;\n italic: boolean;\n underline: boolean;\n fontSize: number;\n color: string;\n bgColor: string;\n font: string;\n strikeout: boolean;\n align: string;\n list: string;\n\n public static default(): Formatting {\n return new Formatting(10, '#000000', '#FFFFFF', false, false, false, 'Arial', false, \"\", \"\");\n }\n}\n\nexport class FormattingService {\n private _observerBold: Subject = new Subject();\n private readonly _formatBoldChange: Observable = this._observerBold.asObservable();\n private _observerUnderline: Subject = new Subject();\n private readonly _formatUnderlineChange: Observable = this._observerUnderline.asObservable();\n private _observerUndo: Subject = new Subject();\n private readonly _undo: Observable = this._observerUndo.asObservable();\n private _observerRedo: Subject = new Subject();\n private readonly _redo: Observable = this._observerRedo.asObservable();\n private _observerItalic: Subject = new Subject();\n private readonly _formatItalicChange: Observable = this._observerItalic.asObservable();\n private _observerColor: Subject = new Subject();\n private readonly _formatColorChange: Observable = this._observerColor.asObservable();\n private _observerBgColor: Subject = new Subject();\n private readonly _formatBgColorChange: Observable = this._observerBgColor.asObservable();\n private _observerFontSize: Subject = new Subject();\n private readonly _formatFontSizeChange: Observable = this._observerFontSize.asObservable();\n private _observerFont: Subject = new Subject();\n private readonly _formatFontChange: Observable = this._observerFont.asObservable();\n private _observerStrikeout: Subject = new Subject();\n private readonly _formatStrikeoutChange: Observable = this._observerStrikeout.asObservable();\n private _observerAlign: Subject = new Subject();\n private readonly _formatAlignChange: Observable = this._observerAlign.asObservable();\n private _observerList: Subject = new Subject();\n private readonly _formatListChange: Observable = this._observerList.asObservable();\n\n constructor() {\n }\n\n get formatBoldChange() {\n return this._formatBoldChange;\n }\n\n get formatUnderlineChange() {\n return this._formatUnderlineChange;\n }\n\n get formatColorChange() {\n return this._formatColorChange;\n }\n\n get formatBgColorChange() {\n return this._formatBgColorChange;\n }\n\n get formatFontSizeChange() {\n return this._formatFontSizeChange;\n }\n\n get formatFontChange() {\n return this._formatFontChange;\n }\n\n get undo() {\n return this._undo;\n }\n\n get redo() {\n return this._redo;\n }\n\n get formatItalicChange() {\n return this._formatItalicChange;\n }\n\n get formatStrikeoutChange() {\n return this._formatStrikeoutChange;\n }\n\n get formatAlignChange() {\n return this._formatAlignChange;\n }\n\n get formatListChange() {\n return this._formatListChange;\n }\n\n static createFontSizeOption(val: number) {\n return {value: val, name: val + 'px', separator: false}\n }\n\n static getFontSizeOptions() {\n return [\n FormattingService.createFontSizeOption(8),\n FormattingService.createFontSizeOption(10),\n FormattingService.createFontSizeOption(12),\n FormattingService.createFontSizeOption(14),\n FormattingService.createFontSizeOption(16),\n FormattingService.createFontSizeOption(18),\n FormattingService.createFontSizeOption(20),\n FormattingService.createFontSizeOption(22),\n FormattingService.createFontSizeOption(24),\n ];\n }\n\n static createFontOption(val: string) {\n return {value: val, name: val, separator: false}\n }\n\n static getFontOptions() {\n const fonts = [\"Arial\", \"Calibri\", \"Century Gothic\", \"Comic Sans\", \"Consolas\", \"Courier\", \"Dejavu Sans\", \"Dejavu Serif\", \"Georgia\", \"Gill Sans\", \"Helvetica\", \"Impact\", \"Lucida Sans\",\n \"Myriad Pro\", \"Open Sans\", \"Palatino\", \"Tahoma\", \"Times New Roman\", \"Trebuchet\"];\n const fontOptions = [];\n fonts.forEach(font => {\n fontOptions.push(this.createFontOption(font));\n })\n\n return fontOptions;\n }\n\n changeFormatFontSize($event: number) {\n this._observerFontSize.next($event);\n }\n\n changeFormatBold(bold: boolean) {\n this._observerBold.next(bold);\n }\n\n changeFormatUnderline(underline: boolean) {\n this._observerUnderline.next(underline);\n }\n\n Undo() {\n this._observerUndo.next();\n }\n\n Redo() {\n this._observerRedo.next();\n }\n\n changeFormatItalic(italic: boolean) {\n this._observerItalic.next(italic);\n }\n\n changeFormatColor(color: string) {\n this._observerColor.next(color);\n }\n\n changeFormatBgColor(bgcolor: string) {\n this._observerBgColor.next(bgcolor);\n }\n\n changeFormatFont(font: string) {\n this._observerFont.next(font);\n }\n\n changeFormatStrikeout(strikeout: boolean) {\n this._observerStrikeout.next(strikeout);\n }\n\n changeFormatAlign(align: string) {\n this._observerAlign.next(align);\n }\n\n changeFormatList(list: string) {\n this._observerList.next(list);\n }\n}\n","import {Component, EventEmitter, Input, OnInit, Output} from '@angular/core';\n\nconst DEFAULT_COLORS = [\n '#000000', '#434343', '#666666', '#999999', '#B7B7B7', '#CCCCCC', '#D9D9D9', '#EFEFEF', '#F3F3F3', '#FFFFFF',\n '#980000', '#FF0000', '#FF9900', '#FFFF00', '#00FF00', '#00FFFF', '#4986E8', '#0000FF', '#9900FF', '#FF00FF',\n '#E6B8AF', '#F4CCCC', '#FDE5CD', '#FFF2CC', '#D9EAD3', '#D0E0E2', '#C9DAF8', '#CFE2F3', '#D9D2E9', '#EAD1DC',\n '#DD7E6B', '#EA9899', '#F9CB9C', '#FFE59A', '#B7D7A8', '#A2C4C9', '#A4C2F4', '#9FC5E8', '#B4A7D7', '#D5A6BD',\n '#CC4125', '#E06666', '#F6B26B', '#FFD966', '#92C47D', '#75A5AF', '#6D9EEB', '#6FA9DB', '#8E7CC3', '#C27BA0',\n '#A61C00', '#CC0000', '#E69138', '#F2C131', '#6AA84F', '#45818E', '#3C78D8', '#3C85C6', '#674EA7', '#A64D79',\n '#85200B', '#990000', '#B45F05', '#BF9000', '#37761D', '#144F5C', '#1254CC', '#0A5394', '#351C75', '#741B47',\n '#5B0F00', '#660000', '#783F03', '#7F6000', '#284E13', '#0B343D', '#1B4586', '#063763', '#20124D', '#4C1030',\n];\n\n@Component({\n selector: 'gd-color-picker',\n templateUrl: './color-picker.component.html',\n styleUrls: ['./color-picker.component.less']\n})\nexport class ColorPickerComponent implements OnInit {\n @Input() isOpen = false;\n @Output() selectedColor = new EventEmitter();\n @Output() closeOutside = new EventEmitter();\n colors: any = DEFAULT_COLORS;\n white = '#FFFFFF';\n\n constructor() {\n }\n\n ngOnInit() {\n }\n\n select($event, color: string) {\n $event.preventDefault();\n $event.stopPropagation();\n this.selectedColor.emit(color);\n }\n\n close() {\n this.isOpen = false;\n this.closeOutside.emit(true);\n }\n}\n","import {Injectable} from '@angular/core';\nimport {FormattingService} from \"./formatting.service\";\n\n@Injectable({\n providedIn: 'root'\n})\nexport class BackFormattingService extends FormattingService {\n\n constructor() {\n super();\n }\n}\n","import {Injectable} from '@angular/core';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class SelectionService {\n selection: Range;\n isIE = /*@cc_on!@*/false || !!/(MSIE|Trident\\/|Edge\\/)/i.test(navigator.userAgent);\n\n restoreSelection() {\n if(this.selection && !this.selection.collapsed || this.isIE){\n this.putSelection(this.selection );\n }\n }\n\n captureSelection() {\n const selection = window.getSelection();\n if (selection.rangeCount > 0) {\n this.selection = selection.getRangeAt(0);\n }\n }\n\n private putSelection(selection) {\n const sel = window.getSelection();\n sel.removeAllRanges();\n sel.addRange(selection.cloneRange());\n }\n\n refreshSelection() {\n this.captureSelection();\n this.restoreSelection();\n }\n}\n","import {Directive, HostListener, OnInit} from '@angular/core';\nimport {FormattingService} from \"./formatting.service\";\nimport {BackFormattingService} from \"./back-formatting.service\";\nimport * as jquery from 'jquery';\nconst $ = jquery;\nimport {SelectionService} from './selection.service';\n\n@Directive({\n selector: '[gdFormatting]'\n})\nexport class FormattingDirective implements OnInit {\n\n private bold = false;\n private italic = false;\n private underline = false;\n private color: string;\n private bgColor: string;\n private font: string;\n private strikeout = false;\n private align: string;\n private list: string;\n private isIE = false;\n\n constructor(private _formattingService: FormattingService,\n private _backFormattingService: BackFormattingService,\n private _selectionService: SelectionService) {\n this.isIE = /*@cc_on!@*/false || !!/(MSIE|Trident\\/|Edge\\/)/i.test(navigator.userAgent);\n }\n\n @HostListener('mouseup') mouseup() {\n\n this.bold = document.queryCommandState(\"bold\");\n this.strikeout = document.queryCommandState(\"strikeThrough\");\n this.italic = document.queryCommandState(\"italic\");\n this.bgColor = document.queryCommandValue(\"backColor\");\n this.underline = document.queryCommandState(\"underline\");\n this.align = this.checkJustify();\n this.list = this.checkList();\n\n //fix required by FireFox to get correct background color\n if (this.bgColor === \"transparent\") {\n this.bgColor = $(window.getSelection().focusNode.parentNode).css('background-color').toString();\n }\n this.font = document.queryCommandValue(\"FontName\").replace(/\"/g, '');\n if(this.font.split(\",\").length > 1){\n this.font = this.font.split(\",\")[0];\n }\n this.color = document.queryCommandValue(\"foreColor\");\n this._backFormattingService.changeFormatBold(this.bold);\n this._backFormattingService.changeFormatUnderline(this.underline);\n this._backFormattingService.changeFormatItalic(this.italic);\n this._backFormattingService.changeFormatColor(this.color);\n this._backFormattingService.changeFormatBgColor(this.bgColor);\n this._backFormattingService.changeFormatFontSize(this.reportFontSize());\n this._backFormattingService.changeFormatFont(this.font);\n this._backFormattingService.changeFormatStrikeout(this.strikeout);\n this._backFormattingService.changeFormatAlign(this.align);\n this._backFormattingService.changeFormatList(this.list);\n }\n\n private checkJustify() {\n let align = \"\";\n align = document.queryCommandState(\"justifyCenter\") ? \"center\" : align;\n align = document.queryCommandState(\"justifyFull\") ? \"full\" : align;\n align = document.queryCommandState(\"justifyLeft\") ? \"left\" : align;\n align = document.queryCommandState(\"justifyRight\") ? \"right\" : align;\n return align;\n }\n\n private checkList() {\n let list = \"\";\n list = document.queryCommandState(\"insertUnorderedList\") ? \"unordered\" : list;\n list = document.queryCommandState(\"insertOrderedList\") ? \"ordered\" : list;\n return list;\n }\n\n reportFontSize(): number {\n let containerEl, sel;\n if (window.getSelection) {\n sel = window.getSelection();\n if (sel.rangeCount) {\n containerEl = sel.getRangeAt(0).commonAncestorContainer;\n // Make sure we have an element rather than a text node\n if (containerEl.nodeType === 3) {\n containerEl = containerEl.parentNode;\n }\n }\n } else if ((sel = document.getSelection()) && sel.type !== \"Control\") {\n containerEl = sel.createRange().parentElement();\n }\n\n if (containerEl) {\n return parseInt(this.getComputedStyleProperty(containerEl, \"fontSize\").replace(\"px\", \"\"), 10);\n }\n }\n\n getComputedStyleProperty(el, propName) {\n if (window.getComputedStyle) {\n return window.getComputedStyle(el, null)[propName];\n } else if (el.currentStyle) {\n return el.currentStyle[propName];\n }\n }\n\n ngOnInit(): void {\n this._formattingService.undo.subscribe(() => {\n this.toggleUndo();\n });\n this._formattingService.redo.subscribe(() => {\n this.toggleRedo();\n });\n this._formattingService.formatBoldChange.subscribe((bold: boolean) => {\n this.bold = bold;\n this.toggleBold();\n });\n this._formattingService.formatUnderlineChange.subscribe((underline: boolean) => {\n this.underline = underline;\n this.toggleUnderline();\n });\n this._formattingService.formatItalicChange.subscribe((italic: boolean) => {\n this.italic = italic;\n this.toggleItalic();\n });\n this._formattingService.formatColorChange.subscribe(((color: string) => {\n this.color = color;\n this.setColor(color);\n }));\n this._formattingService.formatBgColorChange.subscribe(((bgcolor: string) => {\n this.bgColor = bgcolor;\n this.setBgColor(bgcolor);\n }));\n this._formattingService.formatFontSizeChange.subscribe(((fontSize: number) => {\n this.setFontSize(fontSize);\n }));\n\n this._formattingService.formatFontChange.subscribe(((font: string) => {\n this.font = font;\n this.setFont(font);\n }));\n this._formattingService.formatStrikeoutChange.subscribe((strikeout: boolean) => {\n this.strikeout = strikeout;\n this.toggleStrikeout();\n });\n this._formattingService.formatAlignChange.subscribe((align: string) => {\n this.align = align;\n this.toggleAlign(this.align);\n });\n this._formattingService.formatListChange.subscribe((list: string) => {\n const remove = this.list === list;\n this.list = list;\n this.toggleList(this.list, remove);\n });\n }\n\n private toggleBold() {\n document.execCommand(\"bold\");\n this._selectionService.refreshSelection();\n }\n\n private toggleUnderline() {\n document.execCommand(\"underline\");\n this._selectionService.refreshSelection();\n }\n\n private toggleItalic() {\n document.execCommand(\"italic\");\n this._selectionService.refreshSelection();\n }\n\n private setBgColor(bgColor: string) {\n document.execCommand(\"backColor\", false, bgColor);\n this._selectionService.refreshSelection();\n }\n\n private setColor(color: string) {\n document.execCommand(\"foreColor\", false, color);\n this._selectionService.refreshSelection();\n }\n\n private setFontSize(fontSize: number) {\n if (document.getSelection().toString()) {\n let spanString = \"\" +\n document.getSelection() + \"\";\n if (this.bold) {\n spanString = \"\" + spanString + \"\";\n }\n if (this.italic) {\n spanString = \"\" + spanString + \"\";\n }\n if (this.underline) {\n spanString = \"\" + spanString + \"\";\n }\n if (this.strikeout) {\n spanString = \"\" + spanString + \"\";\n }\n document.execCommand('insertHTML', false, spanString);\n } else {\n document.execCommand(\"fontsize\", false, \"7\");\n }\n this._selectionService.refreshSelection();\n }\n\n private toggleUndo() {\n document.execCommand(\"undo\");\n }\n\n private toggleRedo() {\n document.execCommand(\"redo\");\n }\n\n private setFont(font: string) {\n document.execCommand(\"fontName\", false, font);\n this._selectionService.refreshSelection();\n }\n\n private toggleStrikeout() {\n document.execCommand(\"strikeThrough\");\n this._selectionService.refreshSelection();\n }\n\n private toggleAlign(align: string) {\n if(this.isIE) {\n this.toggleAlignIE(align);\n return;\n }\n document.execCommand(\"styleWithCSS\", false, 'true');\n switch (align) {\n case 'center':\n document.execCommand('justifyCenter');\n break;\n case 'full':\n document.execCommand('justifyFull');\n break;\n case 'left':\n document.execCommand('justifyLeft');\n break;\n case 'right':\n document.execCommand('justifyRight');\n break;\n }\n this._selectionService.refreshSelection();\n }\n\n private toggleAlignIE(align: string) {\n this._selectionService.restoreSelection()\n this._selectionService.captureSelection()\n const selection = window.getSelection().focusNode.parentNode.parentNode;\n if(align === \"full\"){\n align = \"justify\";\n }\n $(selection).css(\"text-align\", align);\n this._selectionService.refreshSelection()\n }\n\n private toggleList(list: string, remove: boolean) {\n switch (list) {\n case 'unordered':\n document.execCommand('insertUnorderedList', remove);\n break;\n case 'ordered':\n document.execCommand('insertOrderedList', remove);\n break;\n }\n this._selectionService.refreshSelection();\n }\n}\n","import { Component, OnInit } from '@angular/core';\n\n@Component({\n selector: 'gd-success-modal',\n templateUrl: './success-modal.component.html',\n styleUrls: ['./success-modal.component.less']\n})\nexport class SuccessModalComponent implements OnInit {\n\n constructor() { }\n\n ngOnInit() {\n }\n\n}\n","import {Injectable} from '@angular/core';\nimport {Observable, Subject} from \"rxjs\";\n\n@Injectable({\n providedIn: 'root'\n})\nexport class EditHtmlService {\n private _observer: Subject = new Subject();\n private readonly _htmlContent: Observable = this._observer.asObservable();\n\n constructor() {\n }\n\n get observer(): Subject {\n return this._observer;\n }\n\n get htmlContent(): Observable {\n return this._htmlContent;\n }\n\n}\n","import {Directive, HostListener, Input} from '@angular/core';\nimport {SelectionService} from './selection.service';\nimport {EditHtmlService} from \"./edit-html.service\";\n\n@Directive({\n selector: '[gdEditor]'\n})\nexport class EditorDirective {\n @Input() text: any;\n\n private isIE: boolean = /*@cc_on!@*/false || !!/(MSIE|Trident\\/|Edge\\/)/i.test(navigator.userAgent);\n\n constructor(private _selectionService: SelectionService, private _htmlService: EditHtmlService) {\n }\n\n @HostListener('keyup', ['$event'])\n public onInput(event) {\n this.text = event.target;\n if(this.isIE){\n if (this.text.innerHTML) {\n const html = this.text.innerHTML.toString();\n this._htmlService.observer.next(html);\n }\n }\n }\n\n @HostListener('mouseleave', ['$event'])\n public onMouseleave(event) {\n this._selectionService.captureSelection();\n // this code is required to fix IE11 issue - it doesn't trigger blur event, since that we need to save updated HTML here\n if(this.isIE){\n this._htmlService.observer.next(event.target.innerHTML.toString());\n }\n }\n\n @HostListener('blur', ['$event'])\n public onBlur(event) {\n event.preventDefault();\n this._selectionService.restoreSelection();\n if (this.text.innerHTML) {\n const html = this.text.innerHTML.toString();\n this._htmlService.observer.next(html);\n } else {\n this._htmlService.observer.next(event.target.innerHTML.toString());\n }\n }\n}\n","import {EventEmitter, Injectable} from '@angular/core'\nimport {HttpRequest} from '@angular/common/http';\nimport {Api} from \"./config.service\";\n\n@Injectable()\nexport class LoadingMaskService {\n onLoadingChanged: EventEmitter = new EventEmitter();\n\n private stopList = [];\n private requests: HttpRequest[] = [];\n\n constructor() {\n this.stopList.push(Api.SAVE_TEXT);\n this.stopList.push(Api.SAVE_OPTICAL_CODE);\n this.stopList.push(Api.LOAD_DOCUMENT_PAGE);\n this.stopList.push(Api.LOAD_THUMBNAILS);\n this.stopList.push(Api.GET_FILE_STATUS);\n this.stopList.push(Api.LOAD_PRINT);\n }\n\n onRequestStart(req: HttpRequest): void {\n const stop = this.stopList.find(x => req.url.includes(x));\n if (!stop) {\n this.requests.push(req);\n this.notify();\n }\n }\n\n onRequestFinish(req: HttpRequest): void {\n const index = this.requests.indexOf(req);\n if (index !== -1) {\n this.requests.splice(index, 1);\n }\n this.notify();\n }\n\n addStopUrl(url: string) {\n this.stopList.push(url);\n }\n\n private notify(): void {\n this.onLoadingChanged.emit(this.requests.length !== 0);\n }\n}\n","import {AfterViewInit, Component, Input, OnInit} from '@angular/core';\nimport {LoadingMaskService} from \"../loading-mask.service\";\n\n@Component({\n selector: 'gd-loading-mask',\n templateUrl: './loading-mask.component.html',\n styleUrls: ['./loading-mask.component.less']\n})\n\nexport class LoadingMaskComponent implements OnInit, AfterViewInit {\n @Input() loadingMask = false;\n\n constructor(private _loadingMaskService: LoadingMaskService) {\n }\n\n ngOnInit() {\n }\n\n ngAfterViewInit() {\n this._loadingMaskService\n .onLoadingChanged\n .subscribe((loading: boolean) => this.loadingMask = loading);\n }\n}\n","import {Injectable} from '@angular/core';\nimport {HttpEvent, HttpHandler, HttpInterceptor, HttpRequest} from \"@angular/common/http\";\nimport {Observable} from \"rxjs\";\nimport {finalize} from 'rxjs/operators'\nimport {LoadingMaskService} from \"./loading-mask.service\";\n\n@Injectable({\n providedIn: 'root'\n})\nexport class LoadingMaskInterceptorService implements HttpInterceptor {\n\n constructor(private _loadingMaskService: LoadingMaskService) {\n }\n\n intercept(req: HttpRequest, next: HttpHandler): Observable> {\n this._loadingMaskService.onRequestStart(req);\n const callback = () => this._loadingMaskService.onRequestFinish(req);\n return next.handle(req).pipe( finalize( callback));\n }\n}\n","import {\n Component,\n EventEmitter,\n forwardRef,\n HostBinding,\n HostListener,\n Inject,\n Input,\n Output,\n ViewEncapsulation\n} from '@angular/core';\n\n\nconst horizontalAlignment = {\n center : {\n right: 'auto'\n },\n left : {\n right: '100%'\n },\n right : {\n right: '-100%'\n }\n};\n\nconst verticalAlignment = {\n center : {\n top : '0px',\n },\n top : {\n top : '-100%',\n right: '100%'\n },\n bottom : {\n top: 'autos'\n }\n};\n\n/**\n * DropDownToggleComponent\n */\n@Component({\n selector: 'gd-drop-down-toggle',\n template: '',\n styleUrls: ['./drop-down.component.less'],\n encapsulation : ViewEncapsulation.None\n})\nexport class DropDownToggleComponent{\n @HostListener('click',['$event'])\n click = (event: any) => this.dropdown.toggle(event);\n constructor(@Inject(forwardRef(() => DropDownComponent)) public dropdown) {}\n}\n\n/**\n * DropDownItemsComponent\n */\n@Component({\n selector: 'gd-drop-down-items',\n template: '
',\n styleUrls: ['./drop-down.component.less'],\n encapsulation : ViewEncapsulation.None\n})\nexport class DropDownItemsComponent{\n\n get horizontalAlign(){\n return horizontalAlignment[this.dropdown.getPlacement().h].right;\n }\n\n get verticalAlign(){\n return verticalAlignment[this.dropdown.getPlacement().v].top;\n }\n\n get isOpen(){\n return this.dropdown.open;\n }\n\n constructor(@Inject(forwardRef(() => DropDownComponent)) public dropdown) {}\n\n onClickOutside(event : Event ){\n this.dropdown.close();\n }\n}\n\n/**\n * DropDownItemComponent\n */\n@Component({\n selector: 'gd-drop-down-item',\n template: '
',\n styleUrls: ['./drop-down.component.less'],\n})\nexport class DropDownItemComponent{\n @HostBinding('class')\n class = 'drop-down-item';\n\n @Output()\n selected = new EventEmitter();\n\n @HostListener('click')\n click = () => this.selectEntry();\n\n constructor(@Inject(forwardRef(() => DropDownComponent)) public dropdown) {}\n\n selectEntry(){\n this.selected.next();\n this.dropdown.close();\n }\n}\n\n/**\n * DropDownComponent\n */\n@Component({\n selector: 'gd-drop-down',\n template: '
',\n styleUrls: ['./drop-down.component.less'],\n encapsulation : ViewEncapsulation.None\n})\nexport class DropDownComponent{\n @Input()\n placement = {\n h: \"center\",\n v: \"bottom\"\n };\n\n\n @Input()\n @HostBinding('class.show')\n open = false;\n\n @HostBinding('class')\n class = 'drop-down';\n\n close(){\n this.open = false;\n }\n\n toggle(event : MouseEvent){\n event.stopPropagation();\n this.open = !this.open;\n document.body.click();\n }\n\n getPlacement(){\n return this.placement;\n }\n}\n","import {Component, Input, OnInit} from '@angular/core';\n\n@Component({\n selector: 'gd-left-side-bar',\n templateUrl: './left-side-bar.component.html',\n styleUrls: ['./left-side-bar.component.less']\n})\nexport class LeftSideBarComponent implements OnInit {\n @Input() showSpinner = false;\n\n constructor() {\n }\n\n ngOnInit() {\n }\n\n}\n","import {Directive, EventEmitter, HostListener, Input, Output} from '@angular/core';\n\n@Directive({\n selector: '[gdTooltip]'\n})\nexport class TooltipDirective {\n\n @Output() showToolTip = new EventEmitter();\n\n constructor() {\n }\n\n @HostListener('mouseenter')\n public onHovering() {\n this.showToolTip.emit(true);\n }\n\n @HostListener('mouseleave')\n public onUnhovering() {\n this.showToolTip.emit(false);\n }\n\n}\n","import {\n ApplicationRef,\n ComponentFactoryResolver,\n Injectable,\n ViewContainerRef\n} from '@angular/core';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class AddDynamicComponentService {\n\n constructor(private _factoryResolver: ComponentFactoryResolver,\n private _appRef: ApplicationRef) {\n }\n\n addDynamicComponent(viewContainerRef: ViewContainerRef, component: any) {\n const factory = this._factoryResolver.resolveComponentFactory(component);\n const componentRef = viewContainerRef.createComponent(factory);\n\n componentRef.onDestroy(() => {\n this._appRef.detachView(componentRef.hostView);\n });\n\n return componentRef;\n }\n\n}\n","import {HostDynamicDirective} from \"./host-dynamic.directive\";\n\nexport class HostingDynamicComponentService {\n private hosts: HostDynamicDirective[];\n\n constructor() {\n this.hosts = [];\n }\n\n add(host: HostDynamicDirective) {\n this.hosts = this.hosts.filter(function (h) {\n return h.ident !== host.ident;\n });\n this.hosts.push(host);\n }\n\n remove(host: HostDynamicDirective) {\n this.hosts = this.hosts.filter(function (h) {\n return h.ident !== host.ident;\n });\n }\n\n find(ident: number) {\n return this.hosts.find(function (h) {\n return h.ident === ident;\n });\n }\n}\n","import {AfterViewInit, Directive, Input, OnDestroy, ViewContainerRef} from '@angular/core';\nimport {HostingDynamicComponentService} from \"./hosting-dynamic-component.service\";\n\n@Directive({\n selector: '[gdHostDynamic]'\n})\nexport class HostDynamicDirective implements AfterViewInit, OnDestroy {\n @Input() ident: number;\n\n constructor(public viewContainerRef: ViewContainerRef,\n private _hostingService: HostingDynamicComponentService) {\n }\n\n ngAfterViewInit(): void {\n this._hostingService.add(this);\n }\n\n ngOnDestroy(): void {\n this._hostingService.remove(this);\n this.viewContainerRef.clear();\n }\n\n}\n","import {AfterViewInit, Component, EventEmitter, Input, OnInit, Output} from '@angular/core';\nimport * as jquery from \"jquery\";\nimport {Utils} from \"../file.service\";\n\nconst $ = jquery;\n\n@Component({\n selector: 'gd-resizing',\n templateUrl: './resizing.component.html',\n styleUrls: ['./resizing.component.less']\n})\nexport class ResizingComponent implements OnInit, AfterViewInit {\n\n @Input() init: boolean;\n @Input() id: number;\n @Input() se = false;\n @Input() ne = false;\n @Input() sw = false;\n @Input() nw = false;\n @Input() pageWidth: number;\n @Input() pageHeight: number;\n SE = 'se';\n NE = 'ne';\n SW = 'sw';\n NW = 'nw';\n\n @Output() offsetX = new EventEmitter();\n @Output() offsetY = new EventEmitter();\n @Output() offsetTop = new EventEmitter();\n @Output() offsetLeft = new EventEmitter();\n @Output() release = new EventEmitter();\n\n private grab = false;\n private oldPosition: { x: number, y: number };\n\n constructor() {\n }\n\n ngAfterViewInit(): void {\n const elSE = $(this.getElementId(this.SE));\n const elNW = $(this.getElementId(this.NW));\n if (this.init && elSE && elNW && elSE.offset() && elNW.offset()) {\n let width = elSE.offset().left - elNW.offset().left;\n let height = elSE.offset().top - elNW.offset().top;\n while (width >= this.pageWidth || height >= this.pageHeight) {\n width = width / 2;\n height = height / 2;\n }\n setTimeout(() => {\n this.offsetX.emit(width);\n this.offsetY.emit(height);\n }, 100);\n }\n }\n\n ngOnInit() {\n }\n\n catchUp($event: DragEvent) {\n // ff\n $event.preventDefault();\n if ($event.dataTransfer) { // ff\n $event.dataTransfer.setData('text', 'foo');\n }\n this.grab = true;\n this.oldPosition = Utils.getMousePosition($event);\n }\n\n resize($event: DragEvent, el: string) {\n if (!this.grab) {\n return;\n }\n const position = Utils.getMousePosition($event);\n if (position.x === 0 && position.y === 0) {\n return;\n }\n const notSW = this.NE === el || this.NW === el;\n const notNE = this.SW === el || this.NW === el;\n this.setOffsets(position, notNE, notSW);\n if (notSW) {\n this.offsetTop.emit(position.y - this.oldPosition.y);\n }\n if (notNE) {\n this.offsetLeft.emit(position.x - this.oldPosition.x);\n }\n this.oldPosition = position;\n }\n\n private setOffsets(position, x: boolean, y: boolean) {\n const offsetX = x ? this.oldPosition.x - position.x : position.x - this.oldPosition.x;\n const offsetY = y ? this.oldPosition.y - position.y : position.y - this.oldPosition.y;\n this.offsetX.emit(offsetX);\n this.offsetY.emit(offsetY);\n }\n\n end($event: DragEvent, el: string) {\n // ff\n this.resize($event, el);\n this.release.emit(true);\n this.grab = false;\n }\n\n start($event: DragEvent) {\n this.drop($event);\n }\n\n drop($event: DragEvent) {\n $event.stopPropagation();\n $event.preventDefault();\n }\n\n private getElementId(el: string) {\n return \"#\" + el + \"-\" + this.id;\n }\n}\n","import {TabActivatorService} from \"./tab-activator.service\";\n\nexport class TopTabActivatorService extends TabActivatorService {\n\n constructor() {\n super();\n }\n}\n","import {Component, EventEmitter, Input, OnInit, Output} from '@angular/core';\nimport {ExceptionMessageService} from \"../exception-message.service\";\nimport {TopTabActivatorService} from \"../top-tab-activator.service\";\nimport {ModalService, CommonModals} from \"../modal.service\";\n\n@Component({\n selector: 'gd-top-tab',\n templateUrl: './top-tab.component.html',\n styleUrls: ['./top-tab.component.less']\n})\nexport class TopTabComponent implements OnInit {\n @Input() id: string;\n @Input() icon: string;\n @Input() disabled = false;\n @Input() tooltip: string;\n @Output() activeTab = new EventEmitter();\n @Input() elementPosition = 0;\n public active = false;\n public showToolTip = false;\n\n constructor(private _tabActivatorService: TopTabActivatorService,\n private _modalService: ModalService,\n private _excMessageService: ExceptionMessageService) {\n this._tabActivatorService.activeTabChange.subscribe((tabId: string) => {\n this.activation(tabId);\n if (tabId === null) {\n this.activeTab.emit(\"\");\n }\n });\n }\n\n private activation(tabId: string) {\n if (this.id === tabId) {\n this.active = !this.active;\n if (this.active) {\n this.activeTab.emit(this.id);\n } else {\n this.activeTab.emit(\"\");\n }\n } else {\n this.active = false;\n }\n }\n\n ngOnInit() {\n }\n\n toggleTab() {\n if (this.disabled) {\n this._modalService.open(CommonModals.ErrorMessage);\n this._excMessageService.changeMessage(\"Please open document first\");\n return;\n }\n this._tabActivatorService.changeActiveTab(this.id);\n }\n\n}\n","import {Component, EventEmitter, Input, OnInit, Output, ElementRef, Renderer2} from '@angular/core';\nimport * as jquery from 'jquery';\nimport {FormattingService} from \"../formatting.service\";\nimport {OnCloseService} from \"../on-close.service\";\nimport {Option} from \"../select/select.component\";\nimport { ZoomService } from '../zoom.service';\nimport { WindowService } from '../window.service';\n\nconst $ = jquery;\n\n@Component({\n selector: 'gd-text-menu',\n templateUrl: './text-menu.component.html',\n styleUrls: ['./text-menu.component.less']\n})\nexport class TextMenuComponent implements OnInit {\n @Input() blur: boolean;\n @Input() fontSize: number;\n @Input() font: string;\n @Input() bold: boolean;\n @Input() italic: boolean;\n @Input() underline: boolean;\n @Input() color: string;\n @Input() decoration = true;\n @Input() showTooltips = true;\n\n @Output() outFontSize = new EventEmitter();\n @Output() outFont = new EventEmitter();\n @Output() outBold = new EventEmitter();\n @Output() outItalic = new EventEmitter();\n @Output() outUnderline = new EventEmitter();\n @Output() outColor = new EventEmitter();\n\n fontSizeOptions = FormattingService.getFontSizeOptions();\n fontOptions = FormattingService.getFontOptions();\n colorPickerShow = false;\n\n isMobile: boolean;\n\n constructor(private _onCloseService: OnCloseService,\n private _zoomService: ZoomService,\n private _windowService: WindowService,\n protected _elementRef: ElementRef,\n private renderer: Renderer2) {\n \n _onCloseService.onClose.subscribe(() => {\n this.colorPickerShow = false;\n });\n\n this.isMobile = _windowService.isMobile();\n _windowService.onResize.subscribe((w) => {\n this.isMobile = _windowService.isMobile();\n });\n\n _zoomService.zoomChange.subscribe((val: number) => {\n if (this.isMobile)\n {\n this.changePosition(val);\n }\n });\n }\n\n ngOnInit() {\n }\n\n changePosition(val: number) {\n const top = (window.innerHeight - 24 - this._elementRef.nativeElement.parentElement.getBoundingClientRect().top - this._elementRef.nativeElement.parentElement.getBoundingClientRect().height);\n const left = this._elementRef.nativeElement.parentElement.getBoundingClientRect().left;\n this.renderer.setStyle(this._elementRef.nativeElement.querySelector('.gd-text-menu'), 'width', window.innerWidth + 'px');\n this.renderer.setStyle(this._elementRef.nativeElement.querySelector('.gd-text-menu'), 'top', top + 'px');\n this.renderer.setStyle(this._elementRef.nativeElement.querySelector('.gd-text-menu'), 'left', -left + 'px');\n }\n\n selectFontSize($event: Option) {\n $(\".gd-wrapper\").off(\"keyup\");\n this.outFontSize.emit($event.value);\n $(\".gd-wrapper\").on(\"keyup\", () => {\n const fontElements = document.getElementsByTagName(\"font\");\n for (let i = 0, len = fontElements.length; i < len; ++i) {\n if (fontElements[i].getAttribute('size') === \"7\") {\n fontElements[i].removeAttribute(\"size\");\n fontElements[i].style.fontSize = $event + \"px\";\n }\n }\n });\n }\n\n selectFont($event: Option) {\n event.preventDefault();\n event.stopPropagation();\n this.outFont.emit($event.value);\n }\n\n toggleColorPicker($event) {\n $event.preventDefault();\n $event.stopPropagation();\n this.colorPickerShow = !this.colorPickerShow;\n }\n\n selectColor($event: string) {\n this.colorPickerShow = false;\n this.outColor.emit($event);\n }\n\n toggleBold(event) {\n event.preventDefault();\n event.stopPropagation();\n this.outBold.emit(!this.bold);\n }\n\n toggleItalic(event) {\n event.preventDefault();\n event.stopPropagation();\n this.outItalic.emit(!this.italic);\n }\n\n toggleUnderline(event) {\n event.preventDefault();\n event.stopPropagation();\n this.outUnderline.emit(!this.underline);\n }\n\n closePicker($event) {\n this.colorPickerShow = !$event;\n }\n}\n","import {Component, EventEmitter, Input, OnInit, Output, Renderer2, ElementRef} from '@angular/core';\nimport {Formatting} from \"../formatting.service\";\nimport {WindowService} from \"../window.service\";\nimport { ZoomService } from '../zoom.service';\n\nexport class MenuType {\n public static FOR_SIGNATURE = \"signature\";\n public static FOR_ANNOTATION = \"annotation\";\n}\n\n@Component({\n selector: 'gd-context-menu',\n templateUrl: './context-menu.component.html',\n styleUrls: ['./context-menu.component.less']\n})\nexport class ContextMenuComponent implements OnInit {\n @Input() formatting: Formatting = Formatting.default();\n @Input() textMenu: boolean;\n @Input() topPosition: number;\n @Input() lock = false;\n @Input() translation = 0;\n @Input() menuType: string;\n @Output() changeFormatting = new EventEmitter();\n @Output() removeItem = new EventEmitter();\n @Output() copySign = new EventEmitter();\n @Output() lockOut = new EventEmitter();\n @Output() comment = new EventEmitter();\n\n isMobile: boolean;\n\n constructor(private _windowService: WindowService,\n private _zoomService: ZoomService,\n protected _elementRef: ElementRef,\n private renderer: Renderer2) {\n this.isMobile = _windowService.isMobile();\n _windowService.onResize.subscribe((w) => {\n this.isMobile = _windowService.isMobile();\n });\n\n _zoomService.zoomChange.subscribe((val: number) => {\n if (this.isMobile)\n {\n this.changeScale(val);\n }\n });\n }\n\n ngOnInit() {\n }\n\n changeScale(val: number){\n this.renderer.setStyle(this._elementRef.nativeElement.querySelector('.gd-context-menu'), 'transform', 'scale(' + 1/(val/100) + ')');\n }\n\n saveChanges() {\n this.changeFormatting.emit(this.formatting);\n }\n\n selectFontSize($event: number) {\n this.formatting.fontSize = $event;\n this.saveChanges();\n }\n\n selectFont($event: string) {\n this.formatting.font = $event;\n this.saveChanges();\n }\n\n selectColor($event: string) {\n this.formatting.color = $event;\n this.saveChanges();\n }\n\n toggleBold($event) {\n this.formatting.bold = $event;\n this.saveChanges();\n }\n\n toggleItalic($event) {\n this.formatting.italic = $event;\n this.saveChanges();\n }\n\n toggleUnderline($event) {\n this.formatting.underline = $event;\n this.saveChanges();\n }\n\n deleteItem() {\n this.removeItem.emit(true);\n }\n\n toggleLock() {\n this.lock = !this.lock;\n this.lockOut.emit(this.lock);\n }\n\n onCopySign() {\n this.copySign.emit(true);\n }\n\n isSignature() {\n return this.menuType === MenuType.FOR_SIGNATURE;\n }\n\n isAnnotation() {\n return this.menuType === MenuType.FOR_ANNOTATION;\n }\n\n addComment() {\n this.comment.emit(true);\n }\n}\n","import {NgModule} from '@angular/core';\nimport {CommonModule} from '@angular/common';\nimport {TopToolbarComponent} from './top-toolbar/top-toolbar.component';\nimport {SidePanelComponent} from './side-panel/side-panel.component';\nimport {ButtonComponent} from './button/button.component';\nimport {LogoComponent} from './logo/logo.component';\nimport {TooltipComponent} from './tooltip/tooltip.component';\nimport {FontAwesomeModule} from '@fortawesome/angular-fontawesome';\nimport {library} from '@fortawesome/fontawesome-svg-core';\nimport {fas} from '@fortawesome/free-solid-svg-icons';\nimport {far} from '@fortawesome/free-regular-svg-icons';\nimport {Api, ConfigService,} from \"./config.service\";\nimport {ModalService} from \"./modal.service\";\nimport {ModalComponent} from './modal/modal.component';\nimport {BrowseFilesModalComponent} from './browse-files-modal/browse-files-modal.component';\nimport {FileModel, FileService, FileUtil, Utils} from \"./file.service\";\nimport {DocumentComponent} from './document/document.component';\nimport {PageComponent} from './page/page.component';\nimport {HighlightSearchPipe, SanitizeHtmlPipe, SanitizeResourceHtmlPipe, SanitizeStylePipe} from \"./pipes\";\nimport {UploadFileZoneComponent} from './upload-file-zone/upload-file-zone.component';\nimport {UploadFilesService} from \"./upload-files.service\";\nimport {DndDirective} from './dnd.directive';\nimport {ScrollableDirective} from './scrollable.directive';\nimport {MouseWheelDirective} from './mousewheel.directive';\nimport {NavigateService} from \"./navigate.service\";\nimport {PagePreloadService} from \"./page-preload.service\";\nimport {ZoomDirective} from './zoom.directive';\nimport {ZoomService} from \"./zoom.service\";\nimport {SelectComponent} from './select/select.component';\nimport {DisabledCursorDirective} from './disabled-cursor.directive';\nimport {RotationDirective} from './rotation.directive';\nimport {InitStateComponent} from './init-state/init-state.component';\nimport {RenderPrintService} from \"./render-print.service\";\nimport {RenderPrintDirective} from './render-print.directive';\nimport {ErrorModalComponent} from './error-modal/error-modal.component';\nimport {PasswordRequiredComponent} from './password-required/password-required.component';\nimport {ExceptionMessageService} from \"./exception-message.service\";\nimport {PasswordService} from \"./password.service\";\nimport {ErrorInterceptorService} from \"./error-interceptor.service\";\nimport {SearchComponent} from './search/search.component';\nimport {SearchableDirective} from './searchable.directive';\nimport {SearchService} from \"./search.service\";\nimport {WindowService} from \"./window.service\";\nimport {ViewportService} from \"./viewport.service\";\nimport {TabbedToolbarsComponent} from './tabbed-toolbars/tabbed-toolbars.component';\nimport {TabComponent} from \"./tab/tab.component\";\nimport {TabsComponent} from \"./tabs/tabs.component\";\nimport {FormattingService} from \"./formatting.service\";\nimport {ColorPickerComponent} from './color-picker/color-picker.component';\nimport {FormattingDirective} from './formatting.directive';\nimport {BackFormattingService} from \"./back-formatting.service\";\nimport {OnCloseService} from \"./on-close.service\";\nimport {SuccessModalComponent} from './success-modal/success-modal.component';\nimport {EditorDirective} from './editor.directive';\nimport {LoadingMaskComponent} from './loading-mask/loading-mask.component';\nimport {LoadingMaskService} from './loading-mask.service';\nimport {LoadingMaskInterceptorService} from \"./loading-mask-interceptor.service\";\nimport {TabActivatorService} from \"./tab-activator.service\";\nimport {\n DropDownComponent,\n DropDownItemComponent,\n DropDownItemsComponent,\n DropDownToggleComponent\n} from './drop-down/drop-down.component';\nimport {ClickOutsideModule} from 'ng-click-outside';\nimport {LeftSideBarComponent} from './left-side-bar/left-side-bar.component';\nimport {TooltipDirective} from './tooltip.directive';\nimport {AddDynamicComponentService} from \"./add-dynamic-component.service\";\nimport {HostDynamicDirective} from './host-dynamic.directive';\nimport {HostingDynamicComponentService} from \"./hosting-dynamic-component.service\";\nimport {ResizingComponent} from './resizing/resizing.component';\nimport {TopTabComponent} from './top-tab/top-tab.component';\nimport {TopTabActivatorService} from \"./top-tab-activator.service\";\nimport {TextMenuComponent} from './text-menu/text-menu.component';\nimport {ContextMenuComponent} from './context-menu/context-menu.component';\n\nconst providers = [ConfigService,\n Api,\n ModalService,\n FileService,\n FileModel,\n FileUtil,\n Utils,\n SanitizeHtmlPipe,\n SanitizeResourceHtmlPipe,\n SanitizeStylePipe,\n HighlightSearchPipe,\n UploadFilesService,\n RenderPrintService,\n NavigateService,\n PagePreloadService,\n ZoomService,\n ExceptionMessageService,\n PasswordService,\n ErrorInterceptorService,\n SearchService,\n WindowService,\n ViewportService,\n FormattingService,\n BackFormattingService,\n OnCloseService,\n LoadingMaskInterceptorService,\n LoadingMaskService,\n TabActivatorService,\n AddDynamicComponentService,\n HostingDynamicComponentService,\n TopTabActivatorService];\n\n@NgModule({\n imports: [CommonModule, FontAwesomeModule, ClickOutsideModule],\n declarations: [\n TopToolbarComponent,\n SidePanelComponent,\n ButtonComponent,\n LogoComponent,\n TooltipComponent,\n ModalComponent,\n BrowseFilesModalComponent,\n DocumentComponent,\n PageComponent,\n SanitizeHtmlPipe,\n SanitizeResourceHtmlPipe,\n SanitizeStylePipe,\n HighlightSearchPipe,\n UploadFileZoneComponent,\n DndDirective,\n ScrollableDirective,\n MouseWheelDirective,\n ZoomDirective,\n SelectComponent,\n DisabledCursorDirective,\n RotationDirective,\n InitStateComponent,\n RenderPrintDirective,\n ErrorModalComponent,\n PasswordRequiredComponent,\n SearchComponent,\n SearchableDirective,\n TabbedToolbarsComponent,\n TabComponent,\n TabsComponent,\n ColorPickerComponent,\n FormattingDirective,\n SuccessModalComponent,\n EditorDirective,\n LoadingMaskComponent,\n DropDownComponent,\n DropDownItemComponent,\n DropDownItemsComponent,\n DropDownToggleComponent,\n LeftSideBarComponent,\n TooltipDirective,\n HostDynamicDirective,\n ResizingComponent,\n TopTabComponent,\n TextMenuComponent,\n ContextMenuComponent\n ],\n exports: [\n TopToolbarComponent,\n SidePanelComponent,\n ButtonComponent,\n LogoComponent,\n TooltipComponent,\n ModalComponent,\n BrowseFilesModalComponent,\n DocumentComponent,\n PageComponent,\n SanitizeResourceHtmlPipe,\n SanitizeStylePipe,\n HighlightSearchPipe,\n SanitizeHtmlPipe,\n UploadFileZoneComponent,\n ScrollableDirective,\n MouseWheelDirective,\n SelectComponent,\n RotationDirective,\n InitStateComponent,\n RenderPrintDirective,\n ErrorModalComponent,\n PasswordRequiredComponent,\n SearchComponent,\n SearchableDirective,\n TabbedToolbarsComponent,\n TabComponent,\n TabsComponent,\n ColorPickerComponent,\n FormattingDirective,\n SuccessModalComponent,\n LoadingMaskComponent,\n DndDirective,\n DropDownComponent,\n DropDownItemComponent,\n DropDownItemsComponent,\n DropDownToggleComponent,\n ZoomDirective,\n DropDownToggleComponent,\n LeftSideBarComponent,\n TooltipDirective,\n HostDynamicDirective,\n ResizingComponent,\n TopTabComponent,\n TextMenuComponent,\n ContextMenuComponent\n ],\n providers: providers\n})\nexport class CommonComponentsModule {\n constructor() {\n library.add(fas, far);\n }\n}\n"]} \ No newline at end of file +{"version":3,"sources":["../../../../node_modules/tslib/tslib.es6.js","ng://@groupdocs.examples.angular/common-components/lib/top-toolbar/top-toolbar.component.ts","ng://@groupdocs.examples.angular/common-components/lib/side-panel/side-panel.component.ts","ng://@groupdocs.examples.angular/common-components/lib/window.service.ts","ng://@groupdocs.examples.angular/common-components/lib/button/button.component.ts","ng://@groupdocs.examples.angular/common-components/lib/logo/logo.component.ts","ng://@groupdocs.examples.angular/common-components/lib/tooltip/tooltip.component.ts","ng://@groupdocs.examples.angular/common-components/lib/config.service.ts","ng://@groupdocs.examples.angular/common-components/lib/modal.service.ts","ng://@groupdocs.examples.angular/common-components/lib/modal/modal.component.ts","ng://@groupdocs.examples.angular/common-components/lib/file.service.ts","ng://@groupdocs.examples.angular/common-components/lib/upload-files.service.ts","ng://@groupdocs.examples.angular/common-components/lib/browse-files-modal/browse-files-modal.component.ts","ng://@groupdocs.examples.angular/common-components/lib/zoom.service.ts","ng://@groupdocs.examples.angular/common-components/lib/page-preload.service.ts","ng://@groupdocs.examples.angular/common-components/lib/navigate.service.ts","ng://@groupdocs.examples.angular/common-components/lib/document/document.component.ts","ng://@groupdocs.examples.angular/common-components/lib/page/page.component.ts","ng://@groupdocs.examples.angular/common-components/lib/pipes.ts","ng://@groupdocs.examples.angular/common-components/lib/upload-file-zone/upload-file-zone.component.ts","ng://@groupdocs.examples.angular/common-components/lib/dnd.directive.ts","ng://@groupdocs.examples.angular/common-components/lib/viewport.service.ts","ng://@groupdocs.examples.angular/common-components/lib/scrollable.directive.ts","ng://@groupdocs.examples.angular/common-components/lib/mousewheel.directive.ts","ng://@groupdocs.examples.angular/common-components/lib/zoom.directive.ts","ng://@groupdocs.examples.angular/common-components/lib/on-close.service.ts","ng://@groupdocs.examples.angular/common-components/lib/select/select.component.ts","ng://@groupdocs.examples.angular/common-components/lib/disabled-cursor.directive.ts","ng://@groupdocs.examples.angular/common-components/lib/rotation.directive.ts","ng://@groupdocs.examples.angular/common-components/lib/init-state/init-state.component.ts","ng://@groupdocs.examples.angular/common-components/lib/render-print.service.ts","ng://@groupdocs.examples.angular/common-components/lib/render-print.directive.ts","ng://@groupdocs.examples.angular/common-components/lib/exception-message.service.ts","ng://@groupdocs.examples.angular/common-components/lib/error-modal/error-modal.component.ts","ng://@groupdocs.examples.angular/common-components/lib/password.service.ts","ng://@groupdocs.examples.angular/common-components/lib/password-required/password-required.component.ts","ng://@groupdocs.examples.angular/common-components/lib/error-interceptor.service.ts","ng://@groupdocs.examples.angular/common-components/lib/search.service.ts","ng://@groupdocs.examples.angular/common-components/lib/search/search.component.ts","ng://@groupdocs.examples.angular/common-components/lib/searchable.directive.ts","ng://@groupdocs.examples.angular/common-components/lib/tabbed-toolbars/tabbed-toolbars.component.ts","ng://@groupdocs.examples.angular/common-components/lib/tab-activator.service.ts","ng://@groupdocs.examples.angular/common-components/lib/tab/tab.component.ts","ng://@groupdocs.examples.angular/common-components/lib/tabs/tabs.component.ts","ng://@groupdocs.examples.angular/common-components/lib/formatting.service.ts","ng://@groupdocs.examples.angular/common-components/lib/color-picker/color-picker.component.ts","ng://@groupdocs.examples.angular/common-components/lib/back-formatting.service.ts","ng://@groupdocs.examples.angular/common-components/lib/selection.service.ts","ng://@groupdocs.examples.angular/common-components/lib/formatting.directive.ts","ng://@groupdocs.examples.angular/common-components/lib/success-modal/success-modal.component.ts","ng://@groupdocs.examples.angular/common-components/lib/edit-html.service.ts","ng://@groupdocs.examples.angular/common-components/lib/editor.directive.ts","ng://@groupdocs.examples.angular/common-components/lib/loading-mask.service.ts","ng://@groupdocs.examples.angular/common-components/lib/loading-mask/loading-mask.component.ts","ng://@groupdocs.examples.angular/common-components/lib/loading-mask-interceptor.service.ts","ng://@groupdocs.examples.angular/common-components/lib/drop-down/drop-down.component.ts","ng://@groupdocs.examples.angular/common-components/lib/left-side-bar/left-side-bar.component.ts","ng://@groupdocs.examples.angular/common-components/lib/tooltip.directive.ts","ng://@groupdocs.examples.angular/common-components/lib/add-dynamic-component.service.ts","ng://@groupdocs.examples.angular/common-components/lib/hosting-dynamic-component.service.ts","ng://@groupdocs.examples.angular/common-components/lib/host-dynamic.directive.ts","ng://@groupdocs.examples.angular/common-components/lib/resizing/resizing.component.ts","ng://@groupdocs.examples.angular/common-components/lib/top-tab-activator.service.ts","ng://@groupdocs.examples.angular/common-components/lib/top-tab/top-tab.component.ts","ng://@groupdocs.examples.angular/common-components/lib/text-menu/text-menu.component.ts","ng://@groupdocs.examples.angular/common-components/lib/context-menu/context-menu.component.ts","ng://@groupdocs.examples.angular/common-components/lib/common-components.module.ts"],"names":["extendStatics","d","b","Object","setPrototypeOf","__proto__","Array","p","hasOwnProperty","__extends","__","this","constructor","prototype","create","__values","o","m","Symbol","iterator","i","call","next","length","value","done","TopToolbarComponent","Component","args","selector","template","SidePanelComponent","closable","saveable","hideSidePanel","EventEmitter","saveInSidePanel","onlyTitle","closeSidePanel","emit","saveBySidePanel","toggleTitleMode","Input","Output","WindowService","_this","resizeSubject","Subject","width","window","innerWidth","height","innerHeight","_resize$","fromEvent","pipe","debounceTime","distinctUntilChanged","startWith","target","tap","event","subscribe","defineProperty","asObservable","isMobile","isTablet","isDesktop","getWidth","getHeight","isEdge","navigator","userAgent","toLowerCase","indexOf","isFirefox","ButtonComponent","windowService","iconOnly","intent","disabled","toggle","iconRegular","elementPosition","showToolTip","onResize","w","iconButtonClass","onHovering","className","onUnhovering","cleanAll","str","val","replace","LogoComponent","ngOnInit","TooltipComponent","position","visibility","getClass","Api","VIEWER_APP","SIGNATURE_APP","ANNOTATION_APP","SEARCH_APP","EDITOR_APP","COMPARISON_APP","CONVERSION_APP","METADATA_APP","DEFAULT_API_ENDPOINT","location","href","LOAD_FILE_TREE","LOAD_CONFIG","LOAD_DOCUMENT_DESCRIPTION","LOAD_DOCUMENT_PAGE","LOAD_DOCUMENT_PROPERTIES","LOAD_DOCUMENT_PROPERTIES_NAMES","SAVE_PROPERTY","REMOVE_PROPERTY","ROTATE_DOCUMENT_PAGE","UPLOAD_DOCUMENTS","DOWNLOAD_DOCUMENTS","DOWNLOAD_ANNOTATED","LOAD_PRINT","LOAD_PRINT_PDF","LOAD_THUMBNAILS","LOAD_FORMATS","SAVE_FILE","CREATE_FILE","COMPARE_FILES","CONVERT_FILE","DELETE_SIGNATURE_FILE","REMOVE_FROM_INDEX","GET_FILE_STATUS","SAVE_OPTICAL_CODE","SAVE_TEXT","SAVE_IMAGE","SAVE_STAMP","SIGN","DOWNLOAD_SIGNED","LOAD_SIGNATURE_IMAGE","ANNOTATE","SEARCH","ADD_FILES_TO_INDEX","CLEAN_METADATA","EXPORT_METADATA","httpOptionsJson","headers","HttpHeaders","Content-Type","httpOptionsJsonResponseTypeBlob","responseType","ConfigService","apiEndpoint","_apiEndpoint","url","trim","endsWith","substring","getConfigEndpoint","app","getViewerApiEndpoint","getEditorApiEndpoint","getComparisonApiEndpoint","getConversionApiEndpoint","getMetadataApiEndpoint","getSignatureApiEndpoint","getAnnotationApiEndpoint","getSearchApiEndpoint","Injectable","CommonModals","PasswordRequired","ErrorMessage","BrowseFiles","CreateDocument","OperationSuccess","DrawHandSignature","DrawStampSignature","InformationMessage","ModalService","modals","add","modal","push","remove","id","filter","x","open","close","ModalComponent","modalService","el","visible","cancel","element","nativeElement","document","body","appendChild","console","error","ngOnDestroy","preventDefault","stopPropagation","onClose","$event","cancelClose","ElementRef","RotatedPage","FileCredentials","guid","password","SaveFile","_super","content","tslib_1.__extends","FileDescription","printAllowed","FileModel","HttpError","BadRequest","Unauthorized","Forbidden","NotFound","TimeOut","Conflict","InternalServerError","Utils","getMousePosition","mouse","y","wEvent","ev","pageX","screenX","touches","pageY","screenX_1","screenY","screenY_1","clientX","scrollLeft","clientY","scrollTop","toRgb","color","result","exec","r","parseInt","g","toHex","match","charAt","c","RegExp","$1","$2","$3","pad","len","toString","FileUtil","find","filename","isDirectory","strings","split","name_1","pop","map","folder","format","icon","pdf","unit","doc","docx","docm","dot","dotx","dotm","xls","xlsx","xlsm","xlsb","xls2003","xltx","xltm","ppt","pptx","pps","ppsx","vsd","vdx","vss","vsx","vst","vtx","vsdx","vdw","vstx","vssx","mpp","mpt","msg","eml","emlx","one","odt","ott","ods","odp","otp","ots","potx","potm","pptm","ppsm","rtf","txt","csv","html","mht","mhtml","xml","xps","dxf","dwg","bmp","gif","jpg","jpe","jpeg","jfif","png","tiff","tif","psd","svg","jp2","epub","ico","webp","mobi","tex","djvu","unknown","FileService","UploadFilesService","_uploadsChange","Observable","observer","_observer","changeFilesList","filesList","$","jquery","uploads_choices","name","BrowseFilesModalComponent","_uploadService","uploads","selectedFileGuid","selectedDirectory","urlForUpload","closing","showUploadUrl","showUploadFile","getSize","size","mb","Math","round","kb","getFormatName","file","directory","getFormatIcon","choose","selectedFile","goUp","selectUpload","trigger","refresh","files","showSpinner","uploadUrl","cleanUpload","handleFileInput","ZoomService","_zoomChange","_zoom","changeZoom","zoom","createZoomOption","sep","separator","zoomOptions","PagePreloadService","_checkPreload","changeLastPageInView","page","NavigateService","_pagePreloadService","_currentPage","_countPages","_navigate","nextPage","navigateTo","prevPage","toLastPage","toFirstPage","currentPage","providedIn","DocumentComponent","_elementRef","_zoomService","_windowService","_navigateService","wait","docWidth","docHeight","viewportWidth","viewportHeight","scale","lastScale","container","lastX","lastY","pinchCenter","pinchCenterOffset","curWidth","curHeight","zoomChange","navigate","selectedPage","ifPresentation","ngOnChanges","ngAfterViewInit","children","item","clientWidth","clientHeight","offsetWidth","offsetHeight","Hammer","ifExcel","getDimensionWithUnit","pageNumber","showActiveSlide","isVisible","mode","ifEdge","ngAfterViewChecked","PageComponent","test","number","editable","changes","isHtml","data","imgData","SanitizeHtmlPipe","sanitizer","transform","bypassSecurityTrustHtml","Pipe","DomSanitizer","SanitizeResourceHtmlPipe","bypassSecurityTrustResourceUrl","SanitizeStylePipe","bypassSecurityTrustStyle","HighlightSearchPipe","re","UploadFileZoneComponent","closeUpload","onCloseUpload","DndDirective","_uploadFilesService","opening","dropped","active","dragCounter","onDragEnter","evt","onDragOver","onDragLeave","closeArea","onDrop","dataTransfer","onClick","Directive","HostBinding","HostListener","ViewportService","checkInViewport","leftOffset","deltaX","win","viewport","isNaN","zoomN","outerHeight","outerWidth","bounds","offset","right","left","bottom","top","deltas","parseFloat","min","toFixed","ScrollableDirective","_viewportService","loadedPagesSet","Set","scrollToPage","scrolling","resizing","getPage","prev","isSameTop","options","calculateOffset","scroll","getChildren","count","countPagesOnWidth","margin","pagesHeight","getZoom","pageEl","floor","getBoundingClientRect","currentPageSet","pageElem","currentPageRect","isPresentation","has","MouseWheelDirective","mouseWheelUp","mouseWheelDown","onMouseWheelChrome","mouseWheelFunc","onMouseWheelFirefox","onMouseWheelIE","delta","max","wheelDelta","detail","ZoomDirective","zoomActive","setStyles","resizePages","zoomInt","transformOrigin","maxWidth","pages","forEach","minWidth","getScrollWidth","elm","getScrollHeight","viewPortWidth","parentElement","viewPortHeight","scrollWidth","scrollHeight","OnCloseService","_onClose","SelectComponent","_onCloseService","selected","opened","isOpen","onClickOutside","select","DisabledCursorDirective","updateCursor","cursor","dis","RotationDirective","withMargin","angle","animation","transition","isHtmlMode","isLandscape","InitStateComponent","fileDropped","RenderPrintService","_render","_renderBlob","_observerBlob","changePages","changeBlob","RenderPrintDirective","_renderService","renderPrint","renderPrintBlob","pagesHtml","pages_1","tslib_1.__values","pages_1_1","openWindow","imageA4Adjusted","cssPrint","windowObject","focus","writeln","setTimeout","print","fileURL","URL","createObjectURL","ExceptionMessageService","BehaviorSubject","_messageChange","_observerHttpEvent","_httpEventChange","changeMessage","message","changeHttpEvent","httpEvent","ErrorModalComponent","messageService","messageChange","PasswordService","_passChange","setPassword","pass","PasswordRequiredComponent","_passwordService","cancelEvent","onCloseOpen","ErrorInterceptorService","_modalService","_messageService","intercept","req","logFormat","handle","catchError","exception","HttpErrorResponse","status","ErrorMessageWindowName","throwError","SearchService","_textChange","_observerCurrent","_currentChange","_observerTotal","_totalChange","setText","text","setCurrent","current","setTotal","total","SearchComponent","_searchService","hidePanel","totalChange","hide","textElement","ViewChild","static","SearchableDirective","_highlight","currentChange","moveToCurrent","textChange","highlightSearch","cleanHighlight","highlightEl","querySelectorAll","removeClass","currentEl","addClass","textNodes","contents","nodeName","checkClass","classList","contains","nodeType","textContent","highlight","each","$this","replaceWith","normalize","nodeListOf","innerText","TabbedToolbarsComponent","TabActivatorService","_activeTabChange","changeActiveTab","tabId","TabComponent","_tabActivatorService","activeTabChange","activation","selectTab","TabsComponent","Formatting","fontSize","bgColor","bold","italic","underline","font","strikeout","align","list","default","FormattingService","_observerBold","_formatBoldChange","_observerUnderline","_formatUnderlineChange","_observerUndo","_undo","_observerRedo","_redo","_observerItalic","_formatItalicChange","_observerColor","_formatColorChange","_observerBgColor","_formatBgColorChange","_observerFontSize","_formatFontSizeChange","_observerFont","_formatFontChange","_observerStrikeout","_formatStrikeoutChange","_observerAlign","_formatAlignChange","_observerList","_formatListChange","createFontSizeOption","getFontSizeOptions","createFontOption","getFontOptions","fontOptions","changeFormatFontSize","changeFormatBold","changeFormatUnderline","Undo","Redo","changeFormatItalic","changeFormatColor","changeFormatBgColor","bgcolor","changeFormatFont","changeFormatStrikeout","changeFormatAlign","changeFormatList","DEFAULT_COLORS","ColorPickerComponent","selectedColor","closeOutside","colors","white","BackFormattingService","SelectionService","isIE","restoreSelection","selection","collapsed","putSelection","captureSelection","getSelection","rangeCount","getRangeAt","sel","removeAllRanges","addRange","cloneRange","refreshSelection","FormattingDirective","_formattingService","_backFormattingService","_selectionService","mouseup","queryCommandState","queryCommandValue","checkJustify","checkList","focusNode","parentNode","css","reportFontSize","containerEl","commonAncestorContainer","type","createRange","getComputedStyleProperty","propName","getComputedStyle","currentStyle","undo","toggleUndo","redo","toggleRedo","formatBoldChange","toggleBold","formatUnderlineChange","toggleUnderline","formatItalicChange","toggleItalic","formatColorChange","setColor","formatBgColorChange","setBgColor","formatFontSizeChange","setFontSize","formatFontChange","setFont","formatStrikeoutChange","toggleStrikeout","formatAlignChange","toggleAlign","formatListChange","toggleList","execCommand","spanString","toggleAlignIE","SuccessModalComponent","EditHtmlService","_htmlContent","EditorDirective","_htmlService","onInput","innerHTML","onMouseleave","onBlur","LoadingMaskService","onLoadingChanged","stopList","requests","onRequestStart","includes","notify","onRequestFinish","index","splice","addStopUrl","LoadingMaskComponent","_loadingMaskService","loadingMask","loading","LoadingMaskInterceptorService","finalize","horizontalAlignment","center","verticalAlignment","DropDownToggleComponent","dropdown","click","encapsulation","ViewEncapsulation","None","Inject","forwardRef","DropDownComponent","DropDownItemsComponent","getPlacement","h","v","DropDownItemComponent","class","selectEntry","placement","LeftSideBarComponent","TooltipDirective","AddDynamicComponentService","_factoryResolver","_appRef","addDynamicComponent","viewContainerRef","component","factory","resolveComponentFactory","componentRef","createComponent","onDestroy","detachView","hostView","ComponentFactoryResolver","ApplicationRef","HostingDynamicComponentService","hosts","host","ident","HostDynamicDirective","_hostingService","clear","ViewContainerRef","ResizingComponent","se","ne","sw","nw","SE","NE","SW","NW","offsetX","offsetY","offsetTop","offsetLeft","release","grab","elSE","getElementId","elNW","init","width_1","height_1","pageWidth","pageHeight","catchUp","setData","oldPosition","resize","notSW","notNE","setOffsets","end","start","drop","TopTabActivatorService","TopTabComponent","_excMessageService","activeTab","toggleTab","TextMenuComponent","renderer","decoration","showTooltips","outFontSize","outFont","outBold","outItalic","outUnderline","outColor","fontSizeOptions","colorPickerShow","changePosition","setStyle","querySelector","selectFontSize","off","on","fontElements","getElementsByTagName","getAttribute","removeAttribute","style","selectFont","toggleColorPicker","selectColor","closePicker","Renderer2","MenuType","FOR_SIGNATURE","FOR_ANNOTATION","ContextMenuComponent","formatting","lock","translation","changeFormatting","removeItem","copySign","lockOut","comment","changeScale","saveChanges","deleteItem","toggleLock","onCopySign","isSignature","menuType","isAnnotation","addComment","providers","CommonComponentsModule","library","fas","far","NgModule","imports","CommonModule","FontAwesomeModule","ClickOutsideModule","declarations","exports"],"mappings":"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H,EACAoP,GACA9L,EACAJ,EACAT,EACAoO,GACAY,GACAQ,GACAa,GACAlmB,EACAsc,GACAiO,GACAiD,GACAtM,GACA8R,GACAf,GACA/I,GACAsL,GACAe,GACAyC,IAEFuD,GAAA,WAoGE,SAAAA,IACEC,EAAAA,QAAQ7yB,IAAI8yB,EAAAA,IAAKC,EAAAA,KAErB,2BAvGCC,EAAAA,SAAQ38B,KAAA,CAAC,CACR48B,QAAS,CAACC,EAAAA,aAAcC,EAAAA,kBAAmBC,EAAAA,oBAC3CC,aAAc,CACZl9B,EACAK,EACA6C,EACAmB,EACAE,EACA+F,EACA2K,EACAuD,EACAwC,EACAQ,EACAM,EACAE,EACAE,EACAE,EACAG,EACAqC,GACA2B,GACAW,GACAoB,GACAO,GACAI,GACAO,GACAQ,GACA4B,GACAO,GACA6B,GACAQ,GACA2B,GACAK,GACAK,GACAwD,GACAqB,GACAgD,GACAG,GACAiB,GACAiB,GACAK,GACAJ,GACAT,GACAiB,GACAC,GACAoB,GACAI,GACAkC,GACAI,GACA+B,IAEF6B,QAAS,CACPn9B,EACAK,EACA6C,EACAmB,EACAE,EACA+F,EACA2K,EACAuD,EACAwC,EACAc,EACAE,EACAE,EACAV,EACAY,EACAwC,GACA2B,GACA+B,GACAW,GACAO,GACAQ,GACA4B,GACAO,GACA6B,GACAQ,GACA2B,GACAK,GACAK,GACAwD,GACAqB,GACAgD,GACAoB,GACAvX,EACAwY,GACAK,GACAJ,GACAT,GACArT,GACAqT,GACAiB,GACAC,GACAoB,GACAI,GACAkC,GACAI,GACA+B,IAEFkB,UAAWA,6CAMbC,EAvGA","sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation. All rights reserved.\r\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\r\nthis file except in compliance with the License. You may obtain a copy of the\r\nLicense at http://www.apache.org/licenses/LICENSE-2.0\r\n\r\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\r\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\r\nMERCHANTABLITY OR NON-INFRINGEMENT.\r\n\r\nSee the Apache Version 2.0 License for specific language governing permissions\r\nand limitations under the License.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator], i = 0;\r\n if (m) return m.call(o);\r\n return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n","import {Component, Input} from '@angular/core';\r\n\r\n@Component({\r\n selector: 'gd-top-toolbar',\r\n templateUrl: './top-toolbar.component.html',\r\n styleUrls: ['./top-toolbar.component.less']\r\n})\r\nexport class TopToolbarComponent {\r\n\r\n constructor() {\r\n }\r\n}\r\n","import {Component, EventEmitter, Input, Output} from '@angular/core';\r\n\r\n@Component({\r\n selector: 'gd-side-panel',\r\n templateUrl: './side-panel.component.html',\r\n styleUrls: ['./side-panel.component.less']\r\n})\r\n\r\nexport class SidePanelComponent {\r\n @Input() title: string;\r\n @Input() icon: string;\r\n @Input() closable = true;\r\n @Input() saveable = true;\r\n @Output() hideSidePanel = new EventEmitter();\r\n @Output() saveInSidePanel = new EventEmitter();\r\n\r\n onlyTitle = false;\r\n\r\n constructor() {\r\n }\r\n\r\n closeSidePanel() {\r\n this.hideSidePanel.emit(true);\r\n }\r\n\r\n saveBySidePanel() {\r\n this.saveInSidePanel.emit(true);\r\n }\r\n\r\n toggleTitleMode(){\r\n if (this.closable && !this.saveable) {\r\n this.onlyTitle = !this.onlyTitle;\r\n }\r\n }\r\n}\r\n","import {fromEvent, Observable, Subject} from \"rxjs\";\r\nimport {debounceTime, distinctUntilChanged, startWith, tap} from \"rxjs/operators\";\r\n\r\nconst MOBILE_MAX_WIDTH = 425;\r\nconst TABLET_MAX_WIDTH = 1024;\r\n\r\nexport class WindowService {\r\n\r\n private resizeSubject: Subject = new Subject();\r\n private _resize$;\r\n private width: number;\r\n private height: number;\r\n\r\n constructor() {\r\n this.width = window.innerWidth;\r\n this.height = window.innerHeight;\r\n\r\n this._resize$ = fromEvent(window, 'resize')\r\n .pipe(\r\n debounceTime(200),\r\n distinctUntilChanged(),\r\n startWith({target: {innerWidth: window.innerWidth, innerHeight: window.innerHeight}}),\r\n tap(event => {\r\n this.resizeSubject.next(event.target);\r\n this.width = (event.target as Window).innerWidth;\r\n this.height = (event.target as Window).innerHeight;\r\n }),\r\n );\r\n this._resize$.subscribe();\r\n }\r\n\r\n get onResize(): Observable {\r\n return this.resizeSubject.asObservable();\r\n }\r\n\r\n isMobile() {\r\n return this.width <= MOBILE_MAX_WIDTH;\r\n }\r\n\r\n isTablet() {\r\n return this.width <= TABLET_MAX_WIDTH;\r\n }\r\n\r\n isDesktop() {\r\n return !this.isMobile() && !this.isTablet();\r\n }\r\n\r\n getWidth() {\r\n return this.width;\r\n }\r\n\r\n getHeight() {\r\n return this.height;\r\n }\r\n\r\n isEdge() {\r\n return window.navigator.userAgent.toLowerCase().indexOf('edge') > -1;\r\n }\r\n\r\n isFirefox() {\r\n return navigator.userAgent.toLowerCase().indexOf('firefox') > -1;\r\n }\r\n}\r\n","import {Component, Input} from '@angular/core';\r\nimport {WindowService} from \"../window.service\";\r\n\r\n@Component({\r\n selector: 'gd-button',\r\n templateUrl: './button.component.html',\r\n styleUrls: ['./button.component.less']\r\n})\r\nexport class ButtonComponent {\r\n @Input() iconOnly = true;\r\n @Input() intent = 'default';\r\n @Input() disabled = false;\r\n @Input() icon: string;\r\n @Input() iconClass: string;\r\n @Input() tooltip: string;\r\n @Input() className: string;\r\n @Input() toggle = false;\r\n @Input() iconSize: string;\r\n @Input() iconRegular = false;\r\n @Input() elementPosition = 0;\r\n\r\n showToolTip = false;\r\n private isDesktop: boolean;\r\n\r\n constructor(windowService: WindowService) {\r\n this.isDesktop = windowService.isDesktop();\r\n windowService.onResize.subscribe((w) => {\r\n this.isDesktop = windowService.isDesktop();\r\n });\r\n }\r\n\r\n iconButtonClass() {\r\n return this.iconOnly ? 'icon-button' : '';\r\n }\r\n\r\n onHovering() {\r\n if (this.isDesktop && !this.disabled) {\r\n this.className += ' active';\r\n }\r\n }\r\n\r\n onUnhovering() {\r\n if (this.isDesktop && !this.disabled) {\r\n this.className = this.cleanAll(this.className, ' active');\r\n }\r\n }\r\n\r\n private cleanAll(str: string, val: string) {\r\n while (str && str.indexOf(val) !== -1) {\r\n str = str.replace(val, '');\r\n }\r\n return str;\r\n }\r\n}\r\n","import {Component, Input, OnInit} from '@angular/core';\r\n\r\n@Component({\r\n selector: 'gd-logo',\r\n templateUrl: './logo.component.html',\r\n styleUrls: ['./logo.component.less']\r\n})\r\nexport class LogoComponent implements OnInit {\r\n\r\n @Input() logo;\r\n @Input() icon;\r\n\r\n constructor() { }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n}\r\n","import {Component, Input, OnInit} from '@angular/core';\r\n\r\n@Component({\r\n selector: 'gd-tooltip',\r\n templateUrl: './tooltip.component.html',\r\n styleUrls: ['./tooltip.component.less']\r\n})\r\nexport class TooltipComponent implements OnInit {\r\n\r\n @Input() text: string;\r\n @Input() position = 0;\r\n visibility = 'hidden';\r\n\r\n constructor() {\r\n }\r\n\r\n getClass() {\r\n if (this.position === 0) {\r\n return 'tooltip';\r\n }\r\n return 'tooltip ' + (this.position > 0 ? 'last-element' : 'first-element');\r\n }\r\n\r\n @Input()\r\n set show(value: boolean) {\r\n this.visibility = value ? 'shown' : 'hidden';\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n}\r\n","import {HttpHeaders} from \"@angular/common/http\";\r\nimport {Injectable} from \"@angular/core\";\r\n\r\nexport class Api {\r\n public static VIEWER_APP = '/viewer';\r\n public static SIGNATURE_APP = '/signature';\r\n public static ANNOTATION_APP = '/annotation';\r\n public static SEARCH_APP = '/search';\r\n public static EDITOR_APP = '/editor';\r\n public static COMPARISON_APP = '/comparison';\r\n public static CONVERSION_APP = '/conversion';\r\n public static METADATA_APP = '/metadata';\r\n public static DEFAULT_API_ENDPOINT = window.location.href;\r\n public static LOAD_FILE_TREE = '/loadFileTree';\r\n public static LOAD_CONFIG = '/loadConfig';\r\n public static LOAD_DOCUMENT_DESCRIPTION = '/loadDocumentDescription';\r\n public static LOAD_DOCUMENT_PAGE = '/loadDocumentPage';\r\n public static LOAD_DOCUMENT_PROPERTIES = '/loadProperties';\r\n public static LOAD_DOCUMENT_PROPERTIES_NAMES = '/loadPropertiesNames';\r\n public static SAVE_PROPERTY = '/saveProperty';\r\n public static REMOVE_PROPERTY = '/removeProperty';\r\n public static ROTATE_DOCUMENT_PAGE = '/rotateDocumentPages';\r\n public static UPLOAD_DOCUMENTS = '/uploadDocument';\r\n public static DOWNLOAD_DOCUMENTS = '/downloadDocument';\r\n public static DOWNLOAD_ANNOTATED = '/downloadAnnotated';\r\n public static LOAD_PRINT = '/loadPrint';\r\n public static LOAD_PRINT_PDF = '/printPdf';\r\n public static LOAD_THUMBNAILS = '/loadThumbnails';\r\n public static LOAD_FORMATS = '/loadFormats';\r\n public static SAVE_FILE = '/saveFile';\r\n public static CREATE_FILE = '/createFile';\r\n public static COMPARE_FILES = '/compare';\r\n public static CONVERT_FILE = '/convert';\r\n public static DELETE_SIGNATURE_FILE = '/deleteSignatureFile';\r\n public static REMOVE_FROM_INDEX = '/removeFromIndex';\r\n public static GET_FILE_STATUS = '/getFileStatus';\r\n public static SAVE_OPTICAL_CODE = '/saveOpticalCode';\r\n public static SAVE_TEXT = '/saveText';\r\n public static SAVE_IMAGE = '/saveImage';\r\n public static SAVE_STAMP = '/saveStamp';\r\n public static SIGN = '/sign';\r\n public static DOWNLOAD_SIGNED = '/downloadSigned';\r\n public static LOAD_SIGNATURE_IMAGE = '/loadSignatureImage';\r\n public static ANNOTATE = '/annotate';\r\n public static SEARCH = '/search';\r\n public static ADD_FILES_TO_INDEX = '/addFilesToIndex';\r\n public static CLEAN_METADATA = '/clean';\r\n public static EXPORT_METADATA = '/export';\r\n\r\n public static httpOptionsJson = {\r\n headers: new HttpHeaders({\r\n 'Content-Type': 'application/json',\r\n })\r\n };\r\n public static httpOptionsJsonResponseTypeBlob = {\r\n headers: new HttpHeaders({\r\n 'Content-Type': 'application/json',\r\n }),\r\n responseType: 'blob' as 'blob'\r\n };\r\n}\r\n\r\n@Injectable()\r\nexport class ConfigService {\r\n\r\n private _apiEndpoint: string;\r\n\r\n constructor() {\r\n this.apiEndpoint = Api.DEFAULT_API_ENDPOINT;\r\n }\r\n\r\n set apiEndpoint(url: string) {\r\n this._apiEndpoint = url && url.trim().endsWith('/') ? url.substring(0, url.length - 1) : url;\r\n }\r\n\r\n getConfigEndpoint(app) {\r\n return (this.apiEndpoint.endsWith(app) ? this.apiEndpoint : this.apiEndpoint + app) + Api.LOAD_CONFIG;\r\n }\r\n\r\n getViewerApiEndpoint() {\r\n return this._apiEndpoint.endsWith(Api.VIEWER_APP) ? this._apiEndpoint : this._apiEndpoint + Api.VIEWER_APP;\r\n }\r\n\r\n getEditorApiEndpoint() {\r\n return this._apiEndpoint.trim().endsWith(Api.EDITOR_APP) ? this._apiEndpoint : this._apiEndpoint + Api.EDITOR_APP;\r\n }\r\n\r\n getComparisonApiEndpoint() {\r\n return this._apiEndpoint.trim().endsWith(Api.COMPARISON_APP) ? this._apiEndpoint : this._apiEndpoint + Api.COMPARISON_APP;\r\n }\r\n\r\n getConversionApiEndpoint() {\r\n return this._apiEndpoint.trim().endsWith(Api.CONVERSION_APP) ? this._apiEndpoint : this._apiEndpoint + Api.CONVERSION_APP;\r\n }\r\n\r\n getMetadataApiEndpoint() {\r\n return this._apiEndpoint.trim().endsWith(Api.METADATA_APP) ? this._apiEndpoint : this._apiEndpoint + Api.METADATA_APP;\r\n }\r\n\r\n get apiEndpoint() {\r\n return this._apiEndpoint;\r\n }\r\n\r\n getSignatureApiEndpoint() {\r\n return this._apiEndpoint.endsWith(Api.SIGNATURE_APP) ? this._apiEndpoint : this._apiEndpoint + Api.SIGNATURE_APP;\r\n }\r\n\r\n getAnnotationApiEndpoint() {\r\n return this._apiEndpoint.endsWith(Api.ANNOTATION_APP) ? this._apiEndpoint : this._apiEndpoint + Api.ANNOTATION_APP;\r\n }\r\n\r\n getSearchApiEndpoint() {\r\n return this._apiEndpoint.endsWith(Api.SEARCH_APP) ? this._apiEndpoint : this._apiEndpoint + Api.SEARCH_APP;\r\n }\r\n}\r\n","export class CommonModals {\r\n static PasswordRequired = \"gd-password-required\";\r\n static ErrorMessage = \"gd-error-message\";\r\n static BrowseFiles = \"gd-browse-files\";\r\n static CreateDocument = \"gd-create-document\";\r\n static OperationSuccess = \"gd-success-modal\";\r\n static DrawHandSignature = \"gd-draw-hand-signature\";\r\n static DrawStampSignature = \"gd-draw-stamp-signature\";\r\n static InformationMessage = \"gd-information-message\";\r\n}\r\n\r\nexport class ModalService {\r\n private modals: any[] = [];\r\n\r\n add(modal: any) {\r\n this.modals.push(modal);\r\n }\r\n\r\n remove(id: string) {\r\n this.modals = this.modals.filter(x => x.id !== id);\r\n }\r\n\r\n open(id: string) {\r\n const modal: any = this.modals.filter(x => x.id === id)[0];\r\n if (modal) {\r\n modal.open();\r\n }\r\n }\r\n\r\n close(id: string) {\r\n const modal: any = this.modals.filter(x => x.id === id)[0];\r\n if (modal) {\r\n modal.close();\r\n }\r\n }\r\n}\r\n","import {Component, ElementRef, EventEmitter, Input, OnDestroy, OnInit, Output} from '@angular/core';\r\nimport {ModalService} from \"../modal.service\";\r\n\r\n@Component({\r\n selector: 'gd-modal',\r\n templateUrl: './modal.component.html',\r\n styleUrls: ['./modal.component.less']\r\n})\r\nexport class ModalComponent implements OnInit, OnDestroy {\r\n @Input() id: string;\r\n @Input() title: string;\r\n @Output() visible = new EventEmitter();\r\n @Output() cancel = new EventEmitter();\r\n visibility = false;\r\n private element: any;\r\n\r\n constructor(private modalService: ModalService, el: ElementRef) {\r\n this.element = el.nativeElement;\r\n }\r\n\r\n ngOnInit(): void {\r\n if (!this.id) {\r\n console.error('modal must have an id');\r\n return;\r\n }\r\n\r\n document.body.appendChild(this.element);\r\n\r\n this.modalService.add(this);\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.modalService.remove(this.id);\r\n this.element.remove();\r\n }\r\n\r\n open(): void {\r\n this.visibility = true;\r\n this.visible.emit(true);\r\n }\r\n\r\n close(): void {\r\n event.preventDefault();\r\n event.stopPropagation();\r\n this.visibility = false;\r\n this.visible.emit(false);\r\n }\r\n\r\n onClose($event: MouseEvent) {\r\n $event.stopPropagation();\r\n if ($event && $event.target && ($event.target).id === 'modalDialog') {\r\n this.close();\r\n }\r\n }\r\n\r\n cancelClose() {\r\n this.cancel.emit(false);\r\n this.close();\r\n }\r\n}\r\n","export class PageModel {\r\n data: string;\r\n angle: number;\r\n width: number;\r\n height: number;\r\n number: number;\r\n editable: boolean;\r\n}\r\n\r\nexport class RotatedPage {\r\n pageNumber: number;\r\n angle: number;\r\n}\r\n\r\nexport class FileCredentials {\r\n guid: string;\r\n password: string;\r\n\r\n constructor(guid: string, password: string) {\r\n this.guid = guid;\r\n this.password = password;\r\n }\r\n}\r\n\r\nexport class SaveFile extends FileCredentials {\r\n content: string;\r\n\r\n constructor(guid: string, password: string, content: string) {\r\n super(guid, password);\r\n this.content = content;\r\n }\r\n}\r\n\r\nexport class FileDescription {\r\n guid: string;\r\n pages: PageModel[];\r\n printAllowed = true;\r\n showGridLines: boolean;\r\n thumbnails: PageModel[];\r\n}\r\n\r\nexport class FileModel {\r\n guid: string;\r\n name: string;\r\n directory: boolean;\r\n size: number;\r\n isDirectory: boolean;\r\n}\r\n\r\nexport class HttpError {\r\n static BadRequest = 400;\r\n static Unauthorized = 401;\r\n static Forbidden = 403;\r\n static NotFound = 404;\r\n static TimeOut = 408;\r\n static Conflict = 409;\r\n static InternalServerError = 500;\r\n}\r\n\r\nexport class Utils {\r\n public static getMousePosition(event) {\r\n const mouse = {\r\n x: 0,\r\n y: 0\r\n };\r\n const wEvent: DragEvent = window.event;\r\n const ev = event || wEvent; //Moz || IE\r\n if (ev.pageX || wEvent.pageX || wEvent.screenX || (ev.touches && ev.touches[0] && ev.touches[0].pageX)) { //Moz\r\n const pageX = typeof ev.pageX !== \"undefined\" && ev.pageX !== 0 ? ev.pageX : wEvent.pageX;\r\n const pageY = typeof ev.pageY !== \"undefined\" && ev.pageY !== 0 ? ev.pageY : wEvent.pageY;\r\n const screenX = typeof wEvent.screenX !== \"undefined\" && wEvent.screenY !== 0;\r\n const screenY = typeof wEvent.screenY !== \"undefined\" && wEvent.screenY !== 0;\r\n mouse.x = pageX ? pageX : (screenX ? wEvent.screenX : ev.touches[0].pageX);\r\n mouse.y = pageY ? pageY : (screenY ? wEvent.screenY : ev.touches[0].pageY);\r\n } else if (ev.clientX) { //IE\r\n mouse.x = ev.clientX + document.body.scrollLeft;\r\n mouse.y = ev.clientY + document.body.scrollTop;\r\n }\r\n return mouse;\r\n }\r\n\r\n public static toRgb(color: string) {\r\n const result = /^#?([a-f\\d]{2})([a-f\\d]{2})([a-f\\d]{2})$/i.exec(color);\r\n if (result) {\r\n const r = parseInt(result[1], 16);\r\n const g = parseInt(result[2], 16);\r\n const b = parseInt(result[3], 16);\r\n return result ? 'rgb(' + r + ',' + g + ',' + b + ')' : '';\r\n }\r\n return color;\r\n }\r\n\r\n public static toHex(color: string) {\r\n // check if color is standard hex value\r\n if (color.match(/[0-9A-F]{6}|[0-9A-F]{3}$/i)) {\r\n return (color.charAt(0) === \"#\") ? color : (\"#\" + color);\r\n // check if color is RGB value -> convert to hex\r\n } else if (color.match(/^rgb\\(\\s*(\\d{1,3})\\s*,\\s*(\\d{1,3})\\s*,\\s*(\\d{1,3})\\s*\\)$/)) {\r\n const c = ([parseInt(RegExp.$1, 10), parseInt(RegExp.$2, 10), parseInt(RegExp.$3, 10)]),\r\n pad = function (str) {\r\n if (str.length < 2) {\r\n for (let i = 0, len = 2 - str.length; i < len; i++) {\r\n str = '0' + str;\r\n }\r\n }\r\n return str;\r\n };\r\n if (c.length === 3) {\r\n const r = pad(c[0].toString(16)),\r\n g = pad(c[1].toString(16)),\r\n b = pad(c[2].toString(16));\r\n return '#' + r + g + b;\r\n }\r\n // else do nothing\r\n } else {\r\n return '';\r\n }\r\n }\r\n}\r\n\r\nexport class FileUtil {\r\n public static map = {\r\n 'folder': {'format': '', 'icon': 'folder'},\r\n 'pdf': {'format': 'Portable Document Format', 'icon': 'file-pdf', 'unit': 'pt'},\r\n 'doc': {'format': 'Microsoft Word', 'icon': 'file-word', 'unit': 'pt'},\r\n 'docx': {'format': 'Microsoft Word', 'icon': 'file-word', 'unit': 'pt'},\r\n 'docm': {'format': 'Microsoft Word', 'icon': 'file-word', 'unit': 'pt'},\r\n 'dot': {'format': 'Microsoft Word', 'icon': 'file-word', 'unit': 'pt'},\r\n 'dotx': {'format': 'Microsoft Word', 'icon': 'file-word', 'unit': 'pt'},\r\n 'dotm': {'format': 'Microsoft Word', 'icon': 'file-word', 'unit': 'pt'},\r\n 'xls': {'format': 'Microsoft Excel', 'icon': 'file-excel', 'unit': 'px'},\r\n 'xlsx': {'format': 'Microsoft Excel', 'icon': 'file-excel', 'unit': 'px'},\r\n 'xlsm': {'format': 'Microsoft Excel', 'icon': 'file-excel', 'unit': 'px'},\r\n 'xlsb': {'format': 'Microsoft Excel', 'icon': 'file-excel', 'unit': 'px'},\r\n 'xls2003': {'format': 'Microsoft Excel', 'icon': 'file-excel', 'unit': 'px'},\r\n 'xltx': {'format': 'Microsoft Excel', 'icon': 'file-excel', 'unit': 'px'},\r\n 'xltm': {'format': 'Microsoft Excel', 'icon': 'file-excel', 'unit': 'px'},\r\n 'ppt': {'format': 'Microsoft PowerPoint', 'icon': 'file-powerpoint', 'unit': 'pt'},\r\n 'pptx': {'format': 'Microsoft PowerPoint', 'icon': 'file-powerpoint', 'unit': 'pt'},\r\n 'pps': {'format': 'Microsoft PowerPoint', 'icon': 'file-powerpoint', 'unit': 'pt'},\r\n 'ppsx': {'format': 'Microsoft PowerPoint', 'icon': 'file-powerpoint', 'unit': 'pt'},\r\n 'vsd': {'format': 'Microsoft Visio', 'icon': 'file-code', 'unit': 'px'},\r\n 'vdx': {'format': 'Microsoft Visio', 'icon': 'file-code', 'unit': 'px'},\r\n 'vss': {'format': 'Microsoft Visio', 'icon': 'file-code', 'unit': 'px'},\r\n 'vsx': {'format': 'Microsoft Visio', 'icon': 'file-code', 'unit': 'px'},\r\n 'vst': {'format': 'Microsoft Visio', 'icon': 'file-code', 'unit': 'px'},\r\n 'vtx': {'format': 'Microsoft Visio', 'icon': 'file-code', 'unit': 'px'},\r\n 'vsdx': {'format': 'Microsoft Visio', 'icon': 'file-code', 'unit': 'px'},\r\n 'vdw': {'format': 'Microsoft Visio', 'icon': 'file-code', 'unit': 'px'},\r\n 'vstx': {'format': 'Microsoft Visio', 'icon': 'file-code', 'unit': 'px'},\r\n 'vssx': {'format': 'Microsoft Visio', 'icon': 'file-code', 'unit': 'px'},\r\n 'mpp': {'format': 'Microsoft Project', 'icon': 'file-alt', 'unit': 'pt'},\r\n 'mpt': {'format': 'Microsoft Project', 'icon': 'file-alt', 'unit': 'pt'},\r\n 'msg': {'format': 'Microsoft Outlook', 'icon': 'file-alt', 'unit': 'pt'},\r\n 'eml': {'format': 'Microsoft Outlook', 'icon': 'file-alt', 'unit': 'pt'},\r\n 'emlx': {'format': 'Microsoft Outlook', 'icon': 'file-alt', 'unit': 'pt'},\r\n 'one': {'format': 'Microsoft OneNote', 'icon': 'file-word', 'unit': 'pt'},\r\n 'odt': {'format': 'Open Document Text', 'icon': 'file-word', 'unit': 'pt'},\r\n 'ott': {'format': 'Open Document Text Template', 'icon': 'file-word', 'unit': 'pt'},\r\n 'ods': {'format': 'Open Document Spreadsheet', 'icon': 'file-excel', 'unit': 'px'},\r\n 'odp': {'format': 'Open Document Presentation', 'icon': 'file-powerpoint', 'unit': 'pt'},\r\n 'otp': {'format': 'Open Document Presentation', 'icon': 'file-powerpoint', 'unit': 'pt'},\r\n 'ots': {'format': 'Open Document Presentation', 'icon': 'file-powerpoint', 'unit': 'pt'},\r\n 'potx': {'format': 'Open Document Presentation', 'icon': 'file-powerpoint', 'unit': 'pt'},\r\n 'potm': {'format': 'Open Document Presentation', 'icon': 'file-powerpoint', 'unit': 'pt'},\r\n 'pptm': {'format': 'Open Document Presentation', 'icon': 'file-powerpoint', 'unit': 'pt'},\r\n 'ppsm': {'format': 'Open Document Presentation', 'icon': 'file-powerpoint', 'unit': 'pt'},\r\n 'rtf': {'format': 'Rich Text Format', 'icon': 'file-alt', 'unit': 'pt'},\r\n 'txt': {'format': 'Plain Text File', 'icon': 'file-alt', 'unit': 'pt'},\r\n 'csv': {'format': 'Comma-Separated Values', 'icon': 'file-excel', 'unit': 'px'},\r\n 'html': {'format': 'HyperText Markup Language', 'icon': 'file-word', 'unit': 'pt'},\r\n 'mht': {'format': 'HyperText Markup Language', 'icon': 'file-word', 'unit': 'pt'},\r\n 'mhtml': {'format': 'HyperText Markup Language', 'icon': 'file-word', 'unit': 'pt'},\r\n 'xml': {'format': 'Extensible Markup Language', 'icon': 'file-word', 'unit': 'pt'},\r\n 'xps': {'format': 'XML Paper Specification', 'icon': 'file-word', 'unit': 'pt'},\r\n 'dxf': {'format': 'AutoCAD Drawing File Format', 'icon': 'file-image', 'unit': 'px'},\r\n 'dwg': {'format': 'AutoCAD Drawing File Format', 'icon': 'file-image', 'unit': 'px'},\r\n 'bmp': {'format': 'Bitmap Picture', 'icon': 'file-image', 'unit': 'px'},\r\n 'gif': {'format': 'Graphics Interchange Format', 'icon': 'file-image', 'unit': 'px'},\r\n 'jpg': {'format': 'Joint Photographic Experts Group', 'icon': 'file-image', 'unit': 'px'},\r\n 'jpe': {'format': 'Joint Photographic Experts Group', 'icon': 'file-image', 'unit': 'px'},\r\n 'jpeg': {'format': 'Joint Photographic Experts Group', 'icon': 'file-image', 'unit': 'px'},\r\n 'jfif': {'format': 'Joint Photographic Experts Group', 'icon': 'file-image', 'unit': 'px'},\r\n 'png': {'format': 'Portable Network Graphics', 'icon': 'file-image', 'unit': 'px'},\r\n 'tiff': {'format': 'Tagged Image File Format', 'icon': 'file-image', 'unit': 'px'},\r\n 'tif': {'format': 'Tagged Image File Format', 'icon': 'file-image', 'unit': 'px'},\r\n 'psd': {'format': 'Tagged Image File Format', 'icon': 'file-image', 'unit': 'px'},\r\n 'svg': {'format': 'Tagged Image File Format', 'icon': 'file-image', 'unit': 'px'},\r\n 'jp2': {'format': 'Tagged Image File Format', 'icon': 'file-image', 'unit': 'px'},\r\n 'epub': {'format': 'Electronic Publication', 'icon': 'file-pdf', 'unit': 'pt'},\r\n 'ico': {'format': 'Windows Icon', 'icon': 'file-image', 'unit': 'px'},\r\n 'webp': {'format': 'Compressed Image', 'icon': 'file-image', 'unit': 'px'},\r\n 'mobi': {'format': 'Mobipocket eBook', 'icon': 'file-pdf', 'unit': 'pt'},\r\n 'tex': {'format': 'LaTeX Source Document', 'icon': 'file-pdf', 'unit': 'pt'},\r\n 'djvu': {'format': 'Multi-Layer Raster Image', 'icon': 'file-alt', 'unit': 'pt'},\r\n 'unknown': {'format': 'This format is not supported', 'icon': 'file'},\r\n };\r\n\r\n public static find(filename: string, isDirectory: boolean) {\r\n if (filename && !isDirectory) {\r\n const strings = filename.split('.');\r\n const name = strings.pop().toLowerCase();\r\n if (typeof FileUtil.map[name] === \"undefined\") {\r\n return strings.length > 0 ? FileUtil.map['unknown'] : FileUtil.map['folder'];\r\n } else {\r\n return FileUtil.map[name];\r\n }\r\n } else {\r\n return FileUtil.map['folder'];\r\n }\r\n }\r\n}\r\n\r\nexport class FileService {\r\n\r\n constructor() {\r\n }\r\n}\r\n","import {Observable, Observer} from \"rxjs\";\r\n\r\nexport class UploadFilesService {\r\n private _uploadsChange: Observable;\r\n private _observer: Observer;\r\n\r\n constructor() {\r\n this._uploadsChange = new Observable(observer =>\r\n this._observer = observer);\r\n }\r\n\r\n get uploadsChange(): Observable {\r\n return this._uploadsChange;\r\n }\r\n\r\n changeFilesList(filesList: FileList) {\r\n this._observer.next(filesList);\r\n }\r\n}\r\n","import {Component, EventEmitter, Input, OnInit, Output} from '@angular/core';\r\nimport {FileModel, FileUtil} from \"../file.service\";\r\nimport {UploadFilesService} from \"../upload-files.service\";\r\nimport * as jquery from \"jquery\";\r\nconst $ = jquery;\r\n\r\nconst upload_disc = 'Disc';\r\n\r\nconst upload_url = 'URL';\r\n\r\nconst uploads_choices = [{name: upload_disc, icon: 'hdd'}, {name: upload_url, icon: 'link'}];\r\n\r\n@Component({\r\n selector: 'gd-browse-files-modal',\r\n templateUrl: './browse-files-modal.component.html',\r\n styleUrls: ['./browse-files-modal.component.less']\r\n})\r\nexport class BrowseFilesModalComponent implements OnInit {\r\n uploads = uploads_choices;\r\n\r\n @Input() files;\r\n @Input() uploadConfig;\r\n @Output() selectedFileGuid = new EventEmitter();\r\n @Output() selectedDirectory = new EventEmitter();\r\n @Output() urlForUpload = new EventEmitter();\r\n @Output() closing = new EventEmitter();\r\n private selectedFile: FileModel;\r\n showUploadUrl = false;\r\n showUploadFile = false;\r\n\r\n constructor(private _uploadService: UploadFilesService) {\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n getSize(size: number) {\r\n const mb = size / 1024 / 1024;\r\n if (mb > 1) {\r\n return (Math.round(mb * 100) / 100) + ' MB';\r\n } else {\r\n const kb = size / 1024;\r\n if (kb > 1) {\r\n return (Math.round(kb * 100) / 100) + ' KB';\r\n }\r\n }\r\n return size + ' Bytes';\r\n }\r\n\r\n getFormatName(file: FileModel) {\r\n return FileUtil.find(file.name, file.directory).format;\r\n }\r\n\r\n getFormatIcon(file: FileModel) {\r\n return FileUtil.find(file.name, file.directory).icon;\r\n }\r\n\r\n choose(file: FileModel) {\r\n this.selectedFile = file;\r\n if (file.directory || file.isDirectory) {\r\n this.selectedDirectory.emit(file.name);\r\n } else {\r\n this.selectedFileGuid.emit(file.guid);\r\n }\r\n }\r\n\r\n goUp() {\r\n if (this.selectedFile) {\r\n let guid = this.selectedFile.guid;\r\n if (guid.length > 0 && guid.indexOf('/') === -1) {\r\n guid = '';\r\n } else {\r\n guid = guid.replace(/\\/[^\\/]+\\/?$/, '');\r\n }\r\n this.selectedDirectory.emit(guid);\r\n }\r\n }\r\n\r\n selectUpload($event: string) {\r\n if (upload_url === $event) {\r\n this.showUploadUrl = true;\r\n } else {\r\n this.showUploadUrl = false;\r\n $(\"#gd-upload-input\").trigger('click');\r\n }\r\n }\r\n\r\n refresh($event) {\r\n\r\n if ($event) {\r\n this.files = null;\r\n this.selectedDirectory.emit('');\r\n this.showUploadUrl = false;\r\n this.selectedFile = null;\r\n } else {\r\n this.closing.emit(true);\r\n }\r\n }\r\n\r\n showSpinner() {\r\n return !this.files;\r\n }\r\n\r\n uploadUrl(url: string) {\r\n if (url) {\r\n this.urlForUpload.emit(url);\r\n this.cleanUpload();\r\n }\r\n }\r\n\r\n handleFileInput(files: FileList) {\r\n this._uploadService.changeFilesList(files);\r\n }\r\n\r\n cleanUpload() {\r\n this.showUploadFile = false;\r\n this.showUploadUrl = false;\r\n }\r\n}\r\n","import {Observable, Subject} from \"rxjs\";\r\n\r\nexport class ZoomService {\r\n private _observer: Subject = new Subject();\r\n private readonly _zoomChange: Observable = this._observer.asObservable();\r\n private _zoom: number;\r\n\r\n constructor() {\r\n }\r\n\r\n get zoom(): number {\r\n return this._zoom;\r\n }\r\n\r\n get zoomChange(): Observable {\r\n return this._zoomChange;\r\n }\r\n\r\n changeZoom(zoom: number) {\r\n this._zoom = zoom;\r\n this._observer.next(zoom);\r\n }\r\n\r\n private createZoomOption(val: any, name: string, sep: boolean = false) {\r\n return {value: val, name: name, separator: sep}\r\n }\r\n\r\n zoomOptions(width, height) {\r\n return [this.createZoomOption(25, '25%'),\r\n this.createZoomOption(50, '50%'),\r\n this.createZoomOption(100,'100%'),\r\n this.createZoomOption(150, '150%'),\r\n this.createZoomOption(200, '200%'),\r\n this.createZoomOption(300, '300%'),\r\n this.createZoomOption(0, '', true),\r\n this.createZoomOption(width, 'Fit Width'),\r\n this.createZoomOption(height, 'Fit Height')];\r\n }\r\n}\r\n","import {Observable, Observer} from \"rxjs\";\r\n\r\nexport class PagePreloadService {\r\n private readonly _checkPreload: Observable;\r\n private _observer: Observer;\r\n\r\n constructor() {\r\n this._checkPreload = new Observable(observer =>\r\n this._observer = observer);\r\n }\r\n\r\n get checkPreload(): Observable {\r\n return this._checkPreload;\r\n }\r\n\r\n changeLastPageInView(page: number) {\r\n if(this._observer) {\r\n this._observer.next(page);\r\n }\r\n }\r\n}\r\n","import {BehaviorSubject, Observable, Subject} from \"rxjs\";\r\nimport {PagePreloadService} from \"./page-preload.service\";\r\nimport {Injectable} from \"@angular/core\";\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class NavigateService {\r\n private _currentPage = 0;\r\n private _countPages = 0;\r\n private _observer: Subject = new Subject();\r\n private _navigate: Observable = this._observer;\r\n\r\n constructor(private _pagePreloadService: PagePreloadService) {\r\n }\r\n\r\n get navigate(): Observable {\r\n return this._navigate;\r\n }\r\n\r\n get countPages(): number {\r\n return this._countPages;\r\n }\r\n\r\n set countPages(value: number) {\r\n this._countPages = value;\r\n }\r\n\r\n get currentPage(): number {\r\n return this._currentPage;\r\n }\r\n\r\n set currentPage(value: number) {\r\n this._currentPage = value;\r\n }\r\n\r\n nextPage() {\r\n if (this._currentPage < this._countPages) {\r\n this._currentPage++;\r\n this.navigateTo(this._currentPage);\r\n }\r\n }\r\n\r\n prevPage() {\r\n if (this._currentPage > 1) {\r\n this._currentPage--;\r\n this.navigateTo(this._currentPage);\r\n }\r\n }\r\n\r\n toLastPage() {\r\n this._currentPage = this._countPages;\r\n this.navigateTo(this._currentPage);\r\n }\r\n\r\n toFirstPage() {\r\n this._currentPage = 1;\r\n this.navigateTo(this._currentPage);\r\n }\r\n\r\n navigateTo(page: number) {\r\n this.currentPage = page;\r\n this._pagePreloadService.changeLastPageInView(page);\r\n this._observer.next(page);\r\n }\r\n}\r\n","import {\r\n AfterViewChecked,\r\n Component,\r\n ElementRef,\r\n Input,\r\n OnInit,\r\n AfterViewInit,\r\n OnChanges\r\n} from '@angular/core';\r\nimport {FileDescription, FileUtil} from \"../file.service\";\r\nimport {ZoomService} from \"../zoom.service\";\r\nimport * as Hammer from 'hammerjs';\r\nimport {WindowService} from '../window.service';\r\nimport * as jquery from 'jquery';\r\nimport { NavigateService } from '../navigate.service';\r\n\r\nconst $ = jquery;\r\n\r\n@Component({\r\n selector: 'gd-document',\r\n templateUrl: './document.component.html',\r\n styleUrls: ['./document.component.less']\r\n})\r\nexport class DocumentComponent implements OnInit, AfterViewChecked, AfterViewInit, OnChanges {\r\n\r\n @Input() mode: boolean;\r\n @Input() preloadPageCount: number;\r\n @Input() file: FileDescription;\r\n @Input() selectedPage: number;\r\n @Input() showActiveSlide: boolean;\r\n wait = false;\r\n zoom: number;\r\n\r\n docWidth = null;\r\n docHeight = null;\r\n viewportWidth = null;\r\n viewportHeight = null;\r\n scale = null;\r\n lastScale = null;\r\n container = null;\r\n doc = null;\r\n x = 0;\r\n lastX = 0;\r\n y = 0;\r\n lastY = 0;\r\n pinchCenter = null;\r\n pinchCenterOffset = null;\r\n curWidth = 0;\r\n curHeight = 0;\r\n isDesktop: boolean;\r\n\r\n constructor(protected _elementRef: ElementRef,\r\n private _zoomService: ZoomService,\r\n private _windowService: WindowService,\r\n private _navigateService: NavigateService) {\r\n _zoomService.zoomChange.subscribe((val: number) => {\r\n this.zoom = val;\r\n });\r\n\r\n this.isDesktop = _windowService.isDesktop();\r\n\r\n this._navigateService.navigate.subscribe(((\r\n value => {\r\n this.selectedPage = value;\r\n })));\r\n }\r\n\r\n ngOnInit() {\r\n if (this.ifPresentation())\r\n {\r\n this.selectedPage = this._navigateService.currentPage;\r\n }\r\n }\r\n\r\n ngOnChanges() {\r\n }\r\n\r\n ngAfterViewInit() {\r\n // For current iteration we take .panzoom as a document\r\n this.doc = this._elementRef.nativeElement.children.item(0).children.item(0);\r\n // For current iteration we take .gd-document as a container\r\n this.container = this._elementRef.nativeElement;\r\n\r\n this.docWidth = this.doc.clientWidth;\r\n this.docHeight = this.doc.clientHeight;\r\n this.viewportWidth = this.doc.offsetWidth;\r\n\r\n // For cases where we already have zoom defined we should include it\r\n this.scale = (this.viewportWidth / this.docWidth) * this._zoomService.zoom / 100;\r\n\r\n this.lastScale = this.scale;\r\n this.viewportHeight = this.container.offsetHeight;\r\n this.curWidth = this.docWidth * this.scale;\r\n this.curHeight = this.docHeight * this.scale;\r\n\r\n const hammer = new Hammer(this.container);\r\n }\r\n\r\n // TODO: this temporary crutch for Excel files should be documented\r\n ifExcel() {\r\n return FileUtil.find(this.file.guid, false).format === \"Microsoft Excel\";\r\n }\r\n\r\n ifPresentation() {\r\n return FileUtil.find(this.file.guid, false).format === \"Microsoft PowerPoint\";\r\n }\r\n\r\n getDimensionWithUnit(value: number, pageNumber: number) {\r\n return this.ifPresentation() && this.showActiveSlide && !this.isVisible(pageNumber) ? 0 : value + (this.mode ? FileUtil.find(this.file.guid, false).unit : 'px');\r\n }\r\n\r\n ifEdge() {\r\n return navigator.userAgent.toLowerCase().indexOf('edge') > -1;\r\n }\r\n\r\n ngAfterViewChecked(): void {\r\n // for now we are not sure that need this action in current implementation\r\n // const elementNodeListOf = this._elementRef.nativeElement.querySelectorAll('.gd-wrapper');\r\n // const element = elementNodeListOf.item(0);\r\n // if (element) {\r\n // $(element).trigger('focus');\r\n // }\r\n }\r\n\r\n isVisible(pageNumber) {\r\n if (this.ifPresentation()) {\r\n return pageNumber === this.selectedPage ? true : false;\r\n }\r\n else {\r\n return true;\r\n }\r\n }\r\n}\r\n","import {Component, Input, OnChanges, OnInit, SimpleChanges} from '@angular/core';\r\n\r\n@Component({\r\n selector: 'gd-page',\r\n templateUrl: './page.component.html',\r\n styleUrls: ['./page.component.less']\r\n})\r\nexport class PageComponent implements OnInit, OnChanges {\r\n\r\n @Input() angle: number;\r\n @Input() width: number;\r\n @Input() height: number;\r\n @Input() number: number;\r\n @Input() data: string;\r\n @Input() isHtml: boolean;\r\n @Input() editable: boolean;\r\n imgData: string;\r\n\r\n constructor() {\r\n }\r\n\r\n ngOnInit() {\r\n const isIE = /*@cc_on!@*/false || !!/(MSIE|Trident\\/|Edge\\/)/i.test(navigator.userAgent);\r\n if(isIE && this.number === 0){\r\n this.editable = false;\r\n }\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n if(this.isHtml) {\r\n // TODO: this is temporary needed to remove unneeded spaces and BOM symbol \r\n // which leads to undesired spaces on the top of the docs pages\r\n this.data = this.data \r\n ? this.data.replace(/>\\s+<')\r\n .replace(/\\uFEFF/g,\"\")\r\n : null;\r\n } else {\r\n this.imgData = 'data:image/png;base64,' + this.data;\r\n }\r\n }\r\n}\r\n","import {Pipe, PipeTransform} from '@angular/core';\r\nimport {DomSanitizer, SafeHtml} from '@angular/platform-browser';\r\n\r\n@Pipe({name: 'safeHtml'})\r\nexport class SanitizeHtmlPipe implements PipeTransform{\r\n constructor(private sanitizer: DomSanitizer) {\r\n }\r\n\r\n transform(html: string): SafeHtml {\r\n return this.sanitizer.bypassSecurityTrustHtml(html);\r\n }\r\n}\r\n\r\n@Pipe({name: 'safeResourceHtml'})\r\nexport class SanitizeResourceHtmlPipe implements PipeTransform{\r\n constructor(private sanitizer: DomSanitizer) {\r\n }\r\n\r\n transform(html: string): SafeHtml {\r\n return this.sanitizer.bypassSecurityTrustResourceUrl(html);\r\n }\r\n}\r\n\r\n@Pipe({name: 'safeStyle'})\r\nexport class SanitizeStylePipe implements PipeTransform{\r\n constructor(private sanitizer: DomSanitizer) {\r\n }\r\n\r\n transform(html: string): SafeHtml {\r\n return this.sanitizer.bypassSecurityTrustStyle(html);\r\n }\r\n}\r\n\r\n@Pipe({name: 'highlight'})\r\nexport class HighlightSearchPipe implements PipeTransform {\r\n\r\n transform(value: string, args: string): any {\r\n if (!args) {\r\n return value;\r\n }\r\n const re = new RegExp(args, 'gi'); //'gi' for case insensitive and can use 'g' if you want the search to be case sensitive.\r\n return value.replace(re, \"$&\");\r\n }\r\n}\r\n","import {Component, EventEmitter, OnInit, Output} from '@angular/core';\r\nimport {UploadFilesService} from \"../upload-files.service\";\r\n\r\n@Component({\r\n selector: 'gd-upload-file-zone',\r\n templateUrl: './upload-file-zone.component.html',\r\n styleUrls: ['./upload-file-zone.component.less']\r\n})\r\nexport class UploadFileZoneComponent implements OnInit {\r\n\r\n @Output() closeUpload = new EventEmitter();\r\n\r\n constructor(private _uploadService: UploadFilesService) { }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n handleFileInput(files: FileList) {\r\n this._uploadService.changeFilesList(files);\r\n this.onCloseUpload();\r\n }\r\n\r\n onCloseUpload() {\r\n this.closeUpload.emit(true);\r\n }\r\n\r\n close($event) {\r\n if ($event.target.id === 'gd-dropZone') {\r\n this.onCloseUpload();\r\n }\r\n }\r\n}\r\n","import {Directive, EventEmitter, HostBinding, HostListener, Input, Output} from '@angular/core';\r\nimport {UploadFilesService} from \"./upload-files.service\";\r\n\r\n@Directive({\r\n selector: '[gdDnd]'\r\n})\r\nexport class DndDirective {\r\n\r\n @Output() closing = new EventEmitter();\r\n @Output() opening = new EventEmitter();\r\n @Output() dropped = new EventEmitter();\r\n\r\n @HostBinding('class.active') active = false;\r\n\r\n private dragCounter = 0;\r\n\r\n constructor(protected _uploadFilesService: UploadFilesService) {\r\n }\r\n\r\n @HostListener('dragenter', ['$event'])\r\n public onDragEnter(evt) {\r\n evt.preventDefault();\r\n evt.stopPropagation();\r\n this.dragCounter++;\r\n this.active = true;\r\n this.opening.emit(true);\r\n }\r\n\r\n @HostListener('dragover', ['$event'])\r\n public onDragOver(evt) {\r\n evt.preventDefault();\r\n evt.stopPropagation();\r\n return false;\r\n }\r\n\r\n @HostListener('dragleave', ['$event'])\r\n public onDragLeave(evt) {\r\n evt.preventDefault();\r\n evt.stopPropagation();\r\n this.dragCounter--;\r\n if (this.dragCounter === 0) {\r\n this.active = false;\r\n this.closeArea();\r\n }\r\n }\r\n\r\n @HostListener('drop', ['$event'])\r\n public onDrop(evt) {\r\n evt.preventDefault();\r\n evt.stopPropagation();\r\n const files = evt.dataTransfer.files;\r\n if (files.length > 0) {\r\n this.active = false;\r\n this.dropped.emit(true);\r\n this._uploadFilesService.changeFilesList(files);\r\n this.closeArea();\r\n }\r\n }\r\n\r\n @HostListener('click', ['$event'])\r\n public onClick(event) {\r\n this.closeArea();\r\n }\r\n\r\n private closeArea() {\r\n this.closing.emit(true);\r\n this.opening.emit(false);\r\n }\r\n}\r\n","import {Injectable} from '@angular/core';\r\nimport * as jquery from \"jquery\";\r\nconst $ = jquery;\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ViewportService {\r\n\r\n constructor() {\r\n }\r\n\r\n checkInViewport(el, zoom: number = 100, leftOffset: number = 0, deltaX: number = 0.5) {\r\n if (!el) {\r\n return false;\r\n }\r\n const x = deltaX;\r\n const y = 0.5;\r\n\r\n const win = $(window);\r\n\r\n const viewport = {\r\n top: win.scrollTop(),\r\n left: win.scrollLeft() + leftOffset,\r\n right: win.scrollLeft() + win.width() - 10,\r\n bottom: win.scrollTop() + win.height()\r\n };\r\n\r\n\r\n if (isNaN(zoom)) {\r\n zoom = 100;\r\n }\r\n\r\n const zoomN = zoom / 100;\r\n const height = $(el).outerHeight() * (zoomN);\r\n const width = $(el).outerWidth() * (zoomN);\r\n\r\n if (!width || !height) {\r\n return false;\r\n }\r\n\r\n const bounds = $(el).offset();\r\n const right = (bounds.left * (zoomN)) + width;\r\n const bottom = (bounds.top * (zoomN)) + height;\r\n\r\n const visible = (!(viewport.right < (bounds.left * (zoomN)) || viewport.left > right || viewport.bottom < (bounds.top * (zoomN)) || viewport.top > bottom));\r\n\r\n if (!visible) {\r\n return false;\r\n }\r\n\r\n const deltas = {\r\n top: parseFloat(Math.min(1, (bottom - viewport.top) / height).toFixed(2)),\r\n bottom: parseFloat(Math.min(1, (viewport.bottom - (bounds.top * (zoomN))) / height).toFixed(2)),\r\n left: parseFloat(Math.min(1, (right - viewport.left) / width).toFixed(2)),\r\n right: parseFloat(Math.min(1, (viewport.right - (bounds.left * (zoomN))) / width).toFixed(2))\r\n };\r\n\r\n return (deltas.left * deltas.right) >= x && (deltas.top * deltas.bottom) >= y;\r\n }\r\n}\r\n","import {\r\n AfterViewInit,\r\n Directive,\r\n ElementRef,\r\n HostListener,\r\n Input,\r\n OnChanges,\r\n OnInit,\r\n SimpleChanges\r\n} from '@angular/core';\r\nimport {NavigateService} from \"./navigate.service\";\r\nimport {PagePreloadService} from \"./page-preload.service\";\r\nimport {ZoomService} from \"./zoom.service\";\r\nimport {WindowService} from \"./window.service\";\r\nimport {ViewportService} from \"./viewport.service\";\r\nimport * as jquery from \"jquery\";\r\nconst $ = jquery;\r\n\r\n@Directive({\r\n selector: '[gdScrollable]'\r\n})\r\nexport class ScrollableDirective implements AfterViewInit, OnChanges, OnInit {\r\n @Input() isPresentation: boolean;\r\n\r\n private currentPage: number;\r\n private zoom = 100;\r\n private loadedPagesSet = new Set();\r\n\r\n constructor(private _elementRef: ElementRef,\r\n private _navigateService: NavigateService,\r\n private _pagePreloadService: PagePreloadService,\r\n private _zoomService: ZoomService,\r\n private _windowService: WindowService,\r\n private _viewportService: ViewportService) {\r\n\r\n this.zoom = _zoomService.zoom ? _zoomService.zoom : this.zoom;\r\n _zoomService.zoomChange.subscribe((val: number) => {\r\n this.zoom = val ? val : this.zoom;\r\n this.refresh();\r\n });\r\n }\r\n\r\n ngAfterViewInit() {\r\n this.zoom = this._zoomService.zoom ? this._zoomService.zoom : this.zoom;\r\n this._navigateService.navigate.subscribe((value => {\r\n this.currentPage = value;\r\n this.scrollToPage(value);\r\n }));\r\n this.refresh();\r\n }\r\n\r\n @HostListener('scroll') scrolling() {\r\n this.refresh();\r\n }\r\n\r\n @HostListener('window:resize') resizing() {\r\n this.refresh();\r\n }\r\n\r\n scrollToPage(pageNumber: number) {\r\n const el = this._elementRef.nativeElement;\r\n const page = this.getPage(pageNumber);\r\n const prev = pageNumber > 0 ? this.getPage(pageNumber - 1) : null;\r\n const isSameTop = (prev && $(prev).offset().top === $(page).offset().top);\r\n if (this._viewportService.checkInViewport(page, this.zoom) && isSameTop) {\r\n return;\r\n }\r\n const pagesHeight = this.calculateOffset(pageNumber);\r\n const options = {\r\n left: 0,\r\n top: pagesHeight\r\n };\r\n if(el){\r\n // using polyfill\r\n el.scroll(options);\r\n }\r\n }\r\n\r\n private getChildren() {\r\n const el = this._elementRef ? this._elementRef.nativeElement : null;\r\n if (el) {\r\n // here and in the similar line below we getting the document pages\r\n return el.children.item(0).children.item(0).children;\r\n }\r\n }\r\n\r\n private getPage(pageNumber: number) {\r\n const el = this._elementRef ? this._elementRef.nativeElement : null;\r\n if (el) {\r\n return el.children.item(0).children.item(0).children.item(pageNumber - 1);\r\n }\r\n }\r\n\r\n private calculateOffset(pageNumber: number) {\r\n const count = this._windowService.isFirefox() ? 1 : this.countPagesOnWidth();\r\n const margin = this._windowService.isDesktop() ? 40 : 10;\r\n let pagesHeight = 0;\r\n for (let i = 1; i < pageNumber / count; i++) {\r\n const item = this.getPage(i);\r\n const clientHeight = item ? item.clientHeight : 0;\r\n pagesHeight += clientHeight > 0 ? clientHeight * this.getZoom() + margin : 0;\r\n }\r\n return pagesHeight;\r\n }\r\n\r\n private countPagesOnWidth() {\r\n const pageEl = this.getPage(1);\r\n const offset = 150;\r\n if (pageEl) {\r\n const count = Math.floor((this.getWidth() - offset) / (pageEl.getBoundingClientRect().width * this.getZoom()));\r\n if (count !== 0) {\r\n return count;\r\n }\r\n }\r\n return 1;\r\n }\r\n\r\n refresh() {\r\n let page;\r\n let currentPageSet = false;\r\n const pageElem = this.getPage(this.currentPage);\r\n const currentPageRect = this.currentPage && pageElem ? pageElem.getBoundingClientRect() : null;\r\n for (page = 1; page < this.getChildren().length + 1; page++) {\r\n const element = this.getPage(page);\r\n if (this._viewportService.checkInViewport(element, this.zoom)) {\r\n if (!currentPageSet) {\r\n if (!this.currentPage || !pageElem || (this.currentPage && currentPageRect && element.getBoundingClientRect().top !== currentPageRect.top)) {\r\n this.currentPage = page;\r\n if ((this.isPresentation && this._navigateService.currentPage === 0) || !this.isPresentation) {\r\n this._navigateService.currentPage = page;\r\n }\r\n }\r\n currentPageSet = true;\r\n }\r\n if (!this.loadedPagesSet.has(page)) {\r\n this._pagePreloadService.changeLastPageInView(page);\r\n this.loadedPagesSet.add(page);\r\n }\r\n }\r\n }\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n this.refresh();\r\n }\r\n\r\n ngOnInit(): void {\r\n this.zoom = this._zoomService.zoom ? this._zoomService.zoom : this.zoom;\r\n }\r\n\r\n\r\n private getWidth() {\r\n return this._elementRef ? this._elementRef.nativeElement.offsetWidth : window.innerWidth;\r\n }\r\n\r\n private getZoom() {\r\n return this.zoom / 100;\r\n }\r\n}\r\n","import {\r\n Directive,\r\n EventEmitter,\r\n HostListener,\r\n Output} from '@angular/core';\r\nimport * as jquery from \"jquery\";\r\nconst $ = jquery;\r\n\r\n@Directive({\r\n selector: '[gdMouseWheel]'\r\n})\r\nexport class MouseWheelDirective {\r\n @Output() mouseWheelUp = new EventEmitter();\r\n @Output() mouseWheelDown = new EventEmitter();\r\n\r\n @HostListener('mousewheel', ['$event']) onMouseWheelChrome(event: any) {\r\n this.mouseWheelFunc(event);\r\n }\r\n\r\n @HostListener('DOMMouseScroll', ['$event']) onMouseWheelFirefox(event: any) {\r\n this.mouseWheelFunc(event);\r\n }\r\n\r\n @HostListener('onmousewheel', ['$event']) onMouseWheelIE(event: any) {\r\n this.mouseWheelFunc(event);\r\n }\r\n\r\n mouseWheelFunc(event: any) {\r\n event = window.event ;\r\n const delta = Math.max(-1, Math.min(1, (event.wheelDelta || -event.detail)));\r\n if(delta > 0) {\r\n this.mouseWheelUp.emit(event);\r\n } else if(delta < 0) {\r\n this.mouseWheelDown.emit(event);\r\n }\r\n }\r\n}\r\n","import {AfterViewInit, Directive, HostBinding, Input, OnDestroy, OnInit, ElementRef, OnChanges} from '@angular/core';\r\nimport {ZoomService} from \"./zoom.service\";\r\nimport {FileUtil} from \"./file.service\";\r\nimport { WindowService } from './window.service';\r\n\r\n@Directive({\r\n selector: '[gdZoom]'\r\n})\r\nexport class ZoomDirective implements OnInit, OnDestroy, AfterViewInit, OnChanges {\r\n\r\n @Input() zoomActive = true;\r\n @Input() file;\r\n\r\n @HostBinding('style.zoom') zoomInt: number;\r\n @HostBinding('style.transform') transform: string;\r\n @HostBinding('style.transform-origin') transformOrigin: string;\r\n @HostBinding('style.width') width: string;\r\n @HostBinding('style.height') height: string;\r\n @HostBinding('style.min-width') minWidth: string;\r\n el: ElementRef;\r\n\r\n constructor(private _zoomService: ZoomService, private _windowService: WindowService, el: ElementRef) {\r\n this.el = el;\r\n }\r\n\r\n ngOnDestroy(): void {\r\n }\r\n\r\n ngOnChanges(): void {\r\n this.setStyles(this._zoomService.zoom);\r\n this.resizePages(this._zoomService.zoom);\r\n }\r\n\r\n ngOnInit(): void {\r\n if (! this.zoomActive) {\r\n return;\r\n }\r\n\r\n this.setStyles(this._zoomService.zoom);\r\n this._zoomService.zoomChange.subscribe((zoom) => {\r\n this.setStyles(zoom);\r\n this.resizePages(zoom);\r\n });\r\n }\r\n\r\n private setStyles(zoom) {\r\n if (! this.zoomActive) {\r\n return;\r\n }\r\n\r\n const zoomInt = zoom === 100 ? 1 : zoom / 100;\r\n \r\n if (this._windowService.isEdge()) {\r\n this.zoomInt = zoomInt;\r\n }\r\n else {\r\n this.zoomInt = null;\r\n }\r\n \r\n if (!this._windowService.isEdge()) {\r\n this.transform = 'scale(' + zoomInt + ')';\r\n this.transformOrigin = 'top left';\r\n }\r\n else {\r\n this.transform = \"\";\r\n this.transformOrigin = \"\";\r\n }\r\n\r\n let maxWidth = 0;\r\n this.file.pages.forEach(page => {\r\n {\r\n if (page.width > maxWidth){\r\n maxWidth = page.width;\r\n }\r\n }\r\n });\r\n\r\n // Images and Excel-related files receiving dimensions in px from server\r\n this.minWidth = maxWidth + FileUtil.find(this.file.guid, false).unit;\r\n }\r\n\r\n private getScrollWidth(elm){\r\n return elm.offsetWidth - elm.clientWidth;\r\n }\r\n\r\n private getScrollHeight(elm){\r\n return elm.offsetHeight - elm.clientHeight;\r\n }\r\n\r\n private resizePages(zoom){\r\n const zoomInt = zoom === 100 ? 1 : zoom / 100;\r\n\r\n const viewPortWidth = this.el.nativeElement.parentElement.offsetWidth;\r\n const viewPortHeight = this.el.nativeElement.parentElement.offsetHeight;\r\n const scrollWidth = this.getScrollWidth(this.el.nativeElement.parentElement);\r\n const scrollHeight = this.getScrollHeight(this.el.nativeElement.parentElement);\r\n this.width = (viewPortWidth/zoomInt - scrollWidth/zoomInt) + 'px';\r\n this.height = (viewPortHeight/zoomInt - scrollHeight/zoomInt) + 'px';\r\n }\r\n\r\n ngAfterViewInit(): void {\r\n this.setStyles(this._zoomService.zoom);\r\n }\r\n}\r\n","import {Injectable} from '@angular/core';\r\nimport {Observable, Subject} from \"rxjs\";\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class OnCloseService {\r\n private _observer: Subject = new Subject();\r\n private readonly _onClose: Observable = this._observer.asObservable();\r\n\r\n constructor() {\r\n }\r\n\r\n get onClose() {\r\n return this._onClose;\r\n }\r\n\r\n close(close: boolean) {\r\n this._observer.next(close)\r\n }\r\n}\r\n","import {Component, EventEmitter, Input, Output} from '@angular/core';\r\nimport {OnCloseService} from \"../on-close.service\";\r\n\r\nexport interface Option {\r\n name: string;\r\n value: any;\r\n separator: boolean;\r\n}\r\n\r\n@Component({\r\n selector: 'gd-select',\r\n templateUrl: './select.component.html',\r\n styleUrls: ['./select.component.less']\r\n})\r\nexport class SelectComponent {\r\n\r\n @Input() options: Option[];\r\n @Input() disabled = false;\r\n @Input() showSelected: Option;\r\n @Output() selected: EventEmitter = new EventEmitter();\r\n @Output() opened: EventEmitter = new EventEmitter();\r\n @Input() isOpen = false;\r\n @Input() icon: string;\r\n\r\n constructor(protected _onCloseService: OnCloseService) {\r\n _onCloseService.onClose.subscribe(() => {\r\n this.close();\r\n });\r\n }\r\n\r\n open() {\r\n if (!this.disabled) {\r\n this.isOpen = true;\r\n }\r\n }\r\n\r\n close() {\r\n this.isOpen = false;\r\n }\r\n\r\n onClickOutside(event : Event){\r\n this.close();\r\n }\r\n\r\n toggle($event) {\r\n // TODO: following lines were uncommented due to needness in signature app\r\n $event.preventDefault();\r\n $event.stopPropagation();\r\n if (!this.disabled) {\r\n this.isOpen = !this.isOpen;\r\n if (this.isOpen) this.opened.emit(true);\r\n }\r\n }\r\n\r\n select($event, value: Option) {\r\n $event.preventDefault();\r\n $event.stopPropagation();\r\n this.selected.emit(value);\r\n this.close();\r\n }\r\n}\r\n","import {Directive, HostBinding, Input, OnChanges, OnInit, SimpleChanges} from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[gdDisabledCursor]'\r\n})\r\nexport class DisabledCursorDirective implements OnInit, OnChanges {\r\n\r\n @Input() dis: boolean;\r\n\r\n constructor() {\r\n }\r\n\r\n @HostBinding('class.inactive') cursor: boolean;\r\n\r\n private updateCursor() {\r\n this.cursor = this.dis ? true : false;\r\n }\r\n\r\n ngOnInit(): void {\r\n this.updateCursor();\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n this.updateCursor()\r\n }\r\n}\r\n","import {Directive, HostBinding, Input, OnChanges, OnInit, SimpleChanges} from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[gdRotation]'\r\n})\r\nexport class RotationDirective implements OnInit, OnChanges {\r\n\r\n @Input() angle: number;\r\n @Input() isHtmlMode: boolean;\r\n @Input() width: number;\r\n @Input() height: number;\r\n @Input() withMargin = true;\r\n\r\n @HostBinding('style.animation') animation: string;\r\n @HostBinding('style.transition-property') transition: string;\r\n @HostBinding('style.transform') transform: string;\r\n\r\n @HostBinding('style.margin') margin: string;\r\n\r\n constructor() {\r\n }\r\n\r\n private updateCursor() {\r\n if (typeof this.angle === \"string\"){\r\n this.angle = parseInt(this.angle, 10);\r\n }\r\n\r\n if (this.angle) {\r\n this.animation = 'none';\r\n this.transition = 'none';\r\n this.transform = 'rotate(' + this.angle + 'deg)';\r\n } else if (this.angle === 0 && this.animation) {\r\n this.animation = null;\r\n this.transition = null;\r\n this.transform = null;\r\n }\r\n\r\n if (this.withMargin) {\r\n if (this.angle === 90 || this.angle === 270 || this.angle === -90 || this.angle === -270) {\r\n if (this.isHtmlMode) {\r\n if (this.isLandscape()) {\r\n this.margin = '164px 254px';\r\n } else {\r\n this.margin = '-111px 254px';\r\n }\r\n } else {\r\n if (this.isLandscape()) {\r\n this.margin = '129px 100px -79px';\r\n } else {\r\n this.margin = '-72px 100px -79px';\r\n }\r\n }\r\n } else if (this.angle === -180 || this.angle === 180) {\r\n this.margin = '280px';\r\n } else {\r\n this.margin = null;\r\n }\r\n }\r\n\r\n }\r\n\r\n isLandscape() {\r\n return this.width > this.height;\r\n }\r\n\r\n ngOnInit(): void {\r\n this.updateCursor();\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n this.updateCursor()\r\n }\r\n\r\n}\r\n","import {Component, Input, Output, EventEmitter, OnInit} from '@angular/core';\r\n\r\n@Component({\r\n selector: 'gd-init-state',\r\n templateUrl: './init-state.component.html',\r\n styleUrls: ['./init-state.component.less']\r\n})\r\nexport class InitStateComponent implements OnInit {\r\n @Input() icon: string;\r\n @Input() text: string;\r\n @Output() fileDropped = new EventEmitter();\r\n showUploadFile = false;\r\n\r\n constructor() {\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n dropped($event) {\r\n if ($event) {\r\n this.fileDropped.emit($event);\r\n this.showUploadFile = false;\r\n }\r\n }\r\n}\r\n","import {Observable, Observer} from \"rxjs\";\r\nimport {PageModel} from \"./file.service\";\r\n\r\nexport class RenderPrintService {\r\n private _render: Observable;\r\n private _observer: Observer;\r\n private _renderBlob: Observable;\r\n private _observerBlob: Observer;\r\n\r\n constructor() {\r\n this._render = new Observable(observer =>\r\n this._observer = observer);\r\n this._renderBlob = new Observable(observer =>\r\n this._observerBlob = observer);\r\n }\r\n\r\n get renderPrint(): Observable {\r\n return this._render;\r\n }\r\n\r\n changePages(pages: PageModel[]) {\r\n this._observer.next(pages);\r\n }\r\n\r\n get renderPrintBlob(): Observable {\r\n return this._renderBlob;\r\n }\r\n\r\n changeBlob(file: Blob) {\r\n this._observerBlob.next(file);\r\n }\r\n}\r\n","import {Directive, Input} from '@angular/core';\r\nimport {PageModel} from \"./file.service\";\r\nimport {RenderPrintService} from \"./render-print.service\";\r\n\r\n@Directive({\r\n selector: '[gdRenderPrint]'\r\n})\r\nexport class RenderPrintDirective {\r\n @Input() htmlMode: boolean;\r\n\r\n constructor(private _renderService: RenderPrintService) {\r\n _renderService.renderPrint.subscribe(pages => {\r\n this.renderPrint(pages);\r\n });\r\n _renderService.renderPrintBlob.subscribe(file => {\r\n this.renderPrintBlob(file);\r\n });\r\n }\r\n\r\n private renderPrint(pages: PageModel[]) {\r\n let pagesHtml = '';\r\n\r\n for (const page of pages) {\r\n pagesHtml += '
' +\r\n '
' +\r\n '
';\r\n }\r\n\r\n this.openWindow(pagesHtml, pages[0].width, pages[0].height);\r\n }\r\n\r\n private openWindow(pagesHtml, width, height) {\r\n const a4Height = 842;\r\n const a4Width = 595;\r\n let imageA4Adjusted = '';\r\n if(width > a4Width && height > a4Height){\r\n const zoom = Math.round(height / a4Height) / 100;\r\n imageA4Adjusted = '.gd-page img { width: 100%; margin: 0; padding: 0;}';\r\n if(navigator.userAgent.toLowerCase().indexOf('firefox') > -1){\r\n imageA4Adjusted = '.gd-page img { transform: scale(' + zoom + ');}';\r\n }\r\n }\r\n let cssPrint = '';\r\n\r\n const windowObject = window.open('', \"PrintWindow\", \"width=750,height=650,top=50,left=50,toolbars=yes,scrollbars=yes,status=yes,resizable=yes\");\r\n windowObject.focus();\r\n windowObject.document.writeln(cssPrint);\r\n windowObject.document.writeln(pagesHtml);\r\n windowObject.document.close();\r\n setTimeout(() => {\r\n windowObject.focus();\r\n windowObject.print();\r\n windowObject.close();\r\n }, 100);\r\n }\r\n\r\n private renderPrintBlob(file: Blob) {\r\n const fileURL = URL.createObjectURL(file);\r\n const windowObject = window.open(fileURL, \"PrintWindow\", \"width=750,height=650,top=50,left=50,toolbars=yes,scrollbars=yes,status=yes,resizable=yes\");\r\n windowObject.focus();\r\n windowObject.print();\r\n windowObject.close();\r\n }\r\n}\r\n","import { HttpEvent } from \"@angular/common/http\";\r\nimport {BehaviorSubject, Observable} from \"rxjs\";\r\n\r\nexport class ExceptionMessageService {\r\n private _observer: BehaviorSubject = new BehaviorSubject('Server is not available');\r\n private _messageChange: Observable = this._observer.asObservable();\r\n\r\n private _observerHttpEvent: BehaviorSubject> = new BehaviorSubject(null);\r\n private _httpEventChange: Observable> = this._observerHttpEvent.asObservable();\r\n\r\n constructor() {\r\n }\r\n\r\n get messageChange(): Observable {\r\n return this._messageChange;\r\n }\r\n\r\n get httpEventChange(): Observable> {\r\n return this._httpEventChange;\r\n }\r\n\r\n changeMessage(message: string) {\r\n this._observer.next(message);\r\n }\r\n\r\n changeHttpEvent(httpEvent:HttpEvent) {\r\n this._observerHttpEvent.next(httpEvent);\r\n }\r\n}\r\n","import {Component, OnInit} from '@angular/core';\r\nimport {ExceptionMessageService} from \"../exception-message.service\";\r\n\r\n@Component({\r\n selector: 'gd-error-modal',\r\n templateUrl: './error-modal.component.html',\r\n styleUrls: ['./error-modal.component.less']\r\n})\r\nexport class ErrorModalComponent implements OnInit {\r\n\r\n message: string;\r\n\r\n constructor(messageService: ExceptionMessageService) {\r\n messageService.messageChange.subscribe(message => this.message = message);\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n}\r\n","import {Observable, Subject} from \"rxjs\";\r\n\r\nexport class PasswordService {\r\n private _observer: Subject = new Subject();\r\n private readonly _passChange: Observable = this._observer.asObservable();\r\n\r\n constructor() {\r\n }\r\n\r\n get passChange(): Observable {\r\n return this._passChange;\r\n }\r\n\r\n setPassword(pass: string) {\r\n this._observer.next(pass);\r\n }\r\n}\r\n","import {Component, EventEmitter, OnInit, Output} from '@angular/core';\r\nimport {ExceptionMessageService} from \"../exception-message.service\";\r\nimport {PasswordService} from \"../password.service\";\r\nimport * as jquery from \"jquery\";\r\n\r\nconst $ = jquery;\r\n\r\n@Component({\r\n selector: 'gd-password-required',\r\n templateUrl: './password-required.component.html',\r\n styleUrls: ['./password-required.component.less']\r\n})\r\nexport class PasswordRequiredComponent implements OnInit {\r\n message: string;\r\n @Output() cancelEvent = new EventEmitter();\r\n\r\n constructor(messageService: ExceptionMessageService, private _passwordService: PasswordService) {\r\n messageService.messageChange.subscribe(message => this.message = message);\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n setPassword(value: string) {\r\n this._passwordService.setPassword(value);\r\n }\r\n\r\n onCloseOpen($event: boolean) {\r\n if ($event) {\r\n setTimeout(() => {\r\n const element = $(\"#password\");\r\n if (element) {\r\n element.focus();\r\n }\r\n }, 100);\r\n } else {\r\n $(\"#password\").val(\"\");\r\n }\r\n }\r\n\r\n cancel($event: boolean) {\r\n $(\"#password\").val(\"\");\r\n this.cancelEvent.emit(true);\r\n }\r\n}\r\n","import {Injectable} from '@angular/core';\r\nimport {HttpErrorResponse, HttpEvent, HttpHandler, HttpInterceptor, HttpRequest} from \"@angular/common/http\";\r\nimport {Observable, throwError} from \"rxjs\";\r\nimport {catchError, map} from \"rxjs/operators\";\r\nimport {ExceptionMessageService} from \"./exception-message.service\";\r\nimport {HttpError} from \"./file.service\";\r\nimport {CommonModals, ModalService} from \"./modal.service\";\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ErrorInterceptorService implements HttpInterceptor {\r\n\r\n public static ErrorMessageWindowName:string = CommonModals.ErrorMessage;\r\n\r\n constructor(private _modalService: ModalService, private _messageService: ExceptionMessageService) {\r\n }\r\n\r\n intercept(req: HttpRequest, next: HttpHandler): Observable> {\r\n const logFormat = 'background: maroon; color: white';\r\n\r\n return next.handle(req)\r\n .pipe(map(data => {\r\n return data;\r\n }),\r\n catchError((exception: HttpEvent) => {\r\n if (exception instanceof HttpErrorResponse) {\r\n switch (exception.status) {\r\n\r\n case HttpError.BadRequest:\r\n console.error('%c Bad Request 400', logFormat);\r\n break;\r\n case HttpError.Unauthorized:\r\n console.error('%c Unauthorized 401', logFormat);\r\n break;\r\n case HttpError.NotFound:\r\n console.error('%c Not Found 404', logFormat);\r\n break;\r\n case HttpError.TimeOut:\r\n console.error('%c TimeOut 408', logFormat);\r\n break;\r\n case HttpError.InternalServerError:\r\n console.error('%c big bad 500', logFormat);\r\n this._messageService.changeMessage(exception.error.message);\r\n this._messageService.changeHttpEvent(exception);\r\n this._modalService.open(ErrorInterceptorService.ErrorMessageWindowName);\r\n break;\r\n\r\n case HttpError.Forbidden:\r\n console.error('%c Forbidden 403', logFormat);\r\n this._messageService.changeMessage(exception.error.message);\r\n this._modalService.open(CommonModals.PasswordRequired);\r\n break;\r\n }\r\n }\r\n return throwError(exception);\r\n }));\r\n }\r\n}\r\n","import {Observable, Subject} from \"rxjs\";\r\n\r\nexport class SearchService {\r\n private _observer: Subject = new Subject();\r\n private readonly _textChange: Observable = this._observer.asObservable();\r\n\r\n private _observerCurrent: Subject = new Subject();\r\n private readonly _currentChange: Observable = this._observerCurrent.asObservable();\r\n\r\n private _observerTotal: Subject = new Subject();\r\n private readonly _totalChange: Observable = this._observerTotal.asObservable();\r\n\r\n constructor() {\r\n }\r\n\r\n get textChange(): Observable {\r\n return this._textChange;\r\n }\r\n\r\n setText(text: string) {\r\n this._observer.next(text);\r\n }\r\n\r\n get currentChange(): Observable {\r\n return this._currentChange;\r\n }\r\n\r\n get totalChange(): Observable {\r\n return this._totalChange;\r\n }\r\n\r\n setCurrent(current: number) {\r\n this._observerCurrent.next(current);\r\n }\r\n\r\n setTotal(total: number) {\r\n this._observerTotal.next(total);\r\n }\r\n}\r\n","import {AfterViewInit, Component, ElementRef, EventEmitter, OnInit, Output, ViewChild} from '@angular/core';\r\nimport {SearchService} from \"../search.service\";\r\n\r\n@Component({\r\n selector: 'gd-search',\r\n templateUrl: './search.component.html',\r\n styleUrls: ['./search.component.less']\r\n})\r\nexport class SearchComponent implements OnInit, AfterViewInit {\r\n\r\n @Output() hidePanel = new EventEmitter(false);\r\n\r\n current = 0;\r\n total = 0;\r\n\r\n @ViewChild('text',{\r\n static : true\r\n }) textElement: ElementRef;\r\n\r\n constructor(private _searchService: SearchService) {\r\n _searchService.totalChange.subscribe((total: number) => {\r\n this.total = total;\r\n if (total !== 0) {\r\n this.current = 1;\r\n } else {\r\n this.current = 0;\r\n }\r\n this._searchService.setCurrent(this.current);\r\n });\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n setText(text: string) {\r\n this._searchService.setText(text);\r\n }\r\n\r\n hide() {\r\n this.setText('');\r\n this.hidePanel.emit(true);\r\n }\r\n\r\n prev() {\r\n if (this.current > 1) {\r\n this.current--;\r\n this._searchService.setCurrent(this.current);\r\n }\r\n }\r\n\r\n next() {\r\n if (this.current < this.total) {\r\n this.current++;\r\n this._searchService.setCurrent(this.current);\r\n }\r\n }\r\n\r\n ngAfterViewInit(): void {\r\n this.textElement.nativeElement.focus();\r\n }\r\n}\r\n","import {Directive, ElementRef} from '@angular/core';\r\nimport {SearchService} from \"./search.service\";\r\nimport {HighlightSearchPipe} from \"./pipes\";\r\nimport {ZoomService} from \"./zoom.service\";\r\nimport * as jquery from \"jquery\";\r\nconst $ = jquery;\r\n\r\n@Directive({\r\n selector: '[gdSearchable]'\r\n})\r\nexport class SearchableDirective {\r\n\r\n text: string;\r\n current = 0;\r\n total = 0;\r\n private zoom = 100;\r\n\r\n constructor(private _elementRef: ElementRef,\r\n private _searchService: SearchService,\r\n private _highlight: HighlightSearchPipe,\r\n private _zoomService: ZoomService) {\r\n _searchService.currentChange.subscribe((current: number) => {\r\n this.current = current;\r\n if (this.current !== 0) {\r\n this.moveToCurrent();\r\n }\r\n });\r\n\r\n _searchService.textChange.subscribe((text: string) => {\r\n this.text = text;\r\n this.highlightSearch();\r\n });\r\n\r\n this.zoom = _zoomService.zoom ? _zoomService.zoom : this.zoom;\r\n _zoomService.zoomChange.subscribe((val: number) => {\r\n this.zoom = val ? val : this.zoom;\r\n });\r\n }\r\n\r\n private highlightSearch() {\r\n const el = this._elementRef ? this._elementRef.nativeElement : null;\r\n if (el) {\r\n this.cleanHighlight(el);\r\n if (this.text) {\r\n this.highlightEl(el);\r\n const count = el.querySelectorAll('.gd-highlight').length;\r\n this.total = count;\r\n } else {\r\n this.total = 0;\r\n }\r\n this._searchService.setTotal(this.total);\r\n }\r\n }\r\n\r\n private moveToCurrent() {\r\n if (this.current === 0) {\r\n return;\r\n }\r\n const currentZoom = this.getZoom();\r\n const el = this._elementRef ? this._elementRef.nativeElement : null;\r\n if (el) {\r\n el.querySelectorAll('.gd-highlight-select').forEach(function (value) {\r\n $(value).removeClass('gd-highlight-select');\r\n });\r\n const currentEl = el.querySelectorAll('.gd-highlight')[this.current - 1];\r\n $(currentEl).addClass('gd-highlight-select');\r\n if (currentEl) {\r\n const options = {\r\n left: 0,\r\n top: ($(currentEl).offset().top) + el.parentElement.parentElement.scrollTop - 150,\r\n };\r\n // using polyfill\r\n el.parentElement.parentElement.scroll(options);\r\n }\r\n }\r\n }\r\n\r\n private highlightEl(el: Element) {\r\n const textNodes = $(el).find('*').contents().filter(function () {\r\n const nodeName = this.parentElement.nodeName.toLowerCase();\r\n const checkClass = (this).classList ? !(this).classList.contains('gd-highlight') : true;\r\n return this.nodeType === 3 &&\r\n this.textContent.trim().length !== 0 &&\r\n nodeName !== 'style' &&\r\n nodeName !== 'title' &&\r\n nodeName !== 'body' &&\r\n nodeName !== 'script' &&\r\n checkClass;\r\n });\r\n const text = this.text;\r\n const highlight = this._highlight;\r\n textNodes.each(function () {\r\n const $this = $(this);\r\n let content = $this.text();\r\n content = highlight.transform(content, text);\r\n $this.replaceWith(content);\r\n });\r\n el.normalize();\r\n }\r\n\r\n private cleanHighlight(el: HTMLElement) {\r\n const nodeListOf = el.querySelectorAll('.gd-highlight');\r\n for (let i = 0; i < nodeListOf.length; i++) {\r\n const element = nodeListOf.item(i);\r\n element.replaceWith((element).innerText);\r\n }\r\n el.normalize();\r\n }\r\n\r\n private getZoom() {\r\n return this.zoom / 100;\r\n }\r\n}\r\n","import {Component, Input, OnInit} from '@angular/core';\r\n\r\n@Component({\r\n selector: 'gd-tabbed-toolbars',\r\n templateUrl: './tabbed-toolbars.component.html',\r\n styleUrls: ['./tabbed-toolbars.component.less']\r\n})\r\nexport class TabbedToolbarsComponent implements OnInit {\r\n @Input() logo: string;\r\n @Input() icon: string;\r\n\r\n constructor() {\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n}\r\n","import {Observable, Subject} from \"rxjs\";\r\n\r\nexport class TabActivatorService {\r\n private _observer: Subject = new Subject();\r\n private readonly _activeTabChange: Observable = this._observer.asObservable();\r\n\r\n constructor() {\r\n }\r\n\r\n get activeTabChange(): Observable {\r\n return this._activeTabChange;\r\n }\r\n\r\n changeActiveTab(tabId: string) {\r\n this._observer.next(tabId);\r\n }\r\n}\r\n","import {Component, Input, OnInit} from '@angular/core';\r\nimport {TabActivatorService} from \"../tab-activator.service\";\r\n\r\n@Component({\r\n selector: 'gd-tab',\r\n templateUrl: './tab.component.html',\r\n styleUrls: ['./tab.component.less']\r\n})\r\nexport class TabComponent implements OnInit {\r\n @Input() id: string;\r\n @Input() tabTitle: string;\r\n @Input() icon: string;\r\n @Input() disabled = false;\r\n @Input() active = false;\r\n @Input() content = true;\r\n\r\n constructor(private _tabActivatorService: TabActivatorService) {\r\n this._tabActivatorService.activeTabChange.subscribe((tabId: string) => {\r\n this.activation(tabId);\r\n });\r\n }\r\n\r\n private activation(tabId: string) {\r\n if (this.id === tabId) {\r\n this.active = true;\r\n } else {\r\n this.active = false;\r\n }\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n selectTab() {\r\n if (this.disabled) {\r\n return;\r\n }\r\n this._tabActivatorService.changeActiveTab(this.id);\r\n }\r\n}\r\n","import {Component} from '@angular/core';\r\n\r\n@Component({\r\n selector: 'gd-tabs',\r\n templateUrl: './tabs.component.html',\r\n styleUrls: ['./tabs.component.less']\r\n})\r\nexport class TabsComponent {\r\n constructor() {\r\n }\r\n\r\n}\r\n","import {Observable, Subject} from \"rxjs\";\r\n\r\nexport class Formatting {\r\n constructor(fontSize: number, color: string, bgColor: string, bold: boolean, italic: boolean, underline: boolean, font: string, strikeout: boolean, align: string, list: string) {\r\n this.fontSize = fontSize;\r\n this.color = color;\r\n this.bgColor = bgColor;\r\n this.bold = bold;\r\n this.italic = italic;\r\n this.underline = underline;\r\n this.font = font;\r\n this.strikeout = strikeout;\r\n this.align = align;\r\n this.list = list;\r\n }\r\n\r\n bold: boolean;\r\n italic: boolean;\r\n underline: boolean;\r\n fontSize: number;\r\n color: string;\r\n bgColor: string;\r\n font: string;\r\n strikeout: boolean;\r\n align: string;\r\n list: string;\r\n\r\n public static default(): Formatting {\r\n return new Formatting(10, '#000000', '#FFFFFF', false, false, false, 'Arial', false, \"\", \"\");\r\n }\r\n}\r\n\r\nexport class FormattingService {\r\n private _observerBold: Subject = new Subject();\r\n private readonly _formatBoldChange: Observable = this._observerBold.asObservable();\r\n private _observerUnderline: Subject = new Subject();\r\n private readonly _formatUnderlineChange: Observable = this._observerUnderline.asObservable();\r\n private _observerUndo: Subject = new Subject();\r\n private readonly _undo: Observable = this._observerUndo.asObservable();\r\n private _observerRedo: Subject = new Subject();\r\n private readonly _redo: Observable = this._observerRedo.asObservable();\r\n private _observerItalic: Subject = new Subject();\r\n private readonly _formatItalicChange: Observable = this._observerItalic.asObservable();\r\n private _observerColor: Subject = new Subject();\r\n private readonly _formatColorChange: Observable = this._observerColor.asObservable();\r\n private _observerBgColor: Subject = new Subject();\r\n private readonly _formatBgColorChange: Observable = this._observerBgColor.asObservable();\r\n private _observerFontSize: Subject = new Subject();\r\n private readonly _formatFontSizeChange: Observable = this._observerFontSize.asObservable();\r\n private _observerFont: Subject = new Subject();\r\n private readonly _formatFontChange: Observable = this._observerFont.asObservable();\r\n private _observerStrikeout: Subject = new Subject();\r\n private readonly _formatStrikeoutChange: Observable = this._observerStrikeout.asObservable();\r\n private _observerAlign: Subject = new Subject();\r\n private readonly _formatAlignChange: Observable = this._observerAlign.asObservable();\r\n private _observerList: Subject = new Subject();\r\n private readonly _formatListChange: Observable = this._observerList.asObservable();\r\n\r\n constructor() {\r\n }\r\n\r\n get formatBoldChange() {\r\n return this._formatBoldChange;\r\n }\r\n\r\n get formatUnderlineChange() {\r\n return this._formatUnderlineChange;\r\n }\r\n\r\n get formatColorChange() {\r\n return this._formatColorChange;\r\n }\r\n\r\n get formatBgColorChange() {\r\n return this._formatBgColorChange;\r\n }\r\n\r\n get formatFontSizeChange() {\r\n return this._formatFontSizeChange;\r\n }\r\n\r\n get formatFontChange() {\r\n return this._formatFontChange;\r\n }\r\n\r\n get undo() {\r\n return this._undo;\r\n }\r\n\r\n get redo() {\r\n return this._redo;\r\n }\r\n\r\n get formatItalicChange() {\r\n return this._formatItalicChange;\r\n }\r\n\r\n get formatStrikeoutChange() {\r\n return this._formatStrikeoutChange;\r\n }\r\n\r\n get formatAlignChange() {\r\n return this._formatAlignChange;\r\n }\r\n\r\n get formatListChange() {\r\n return this._formatListChange;\r\n }\r\n\r\n static createFontSizeOption(val: number) {\r\n return {value: val, name: val + 'px', separator: false}\r\n }\r\n\r\n static getFontSizeOptions() {\r\n return [\r\n FormattingService.createFontSizeOption(8),\r\n FormattingService.createFontSizeOption(10),\r\n FormattingService.createFontSizeOption(12),\r\n FormattingService.createFontSizeOption(14),\r\n FormattingService.createFontSizeOption(16),\r\n FormattingService.createFontSizeOption(18),\r\n FormattingService.createFontSizeOption(20),\r\n FormattingService.createFontSizeOption(22),\r\n FormattingService.createFontSizeOption(24),\r\n ];\r\n }\r\n\r\n static createFontOption(val: string) {\r\n return {value: val, name: val, separator: false}\r\n }\r\n\r\n static getFontOptions() {\r\n const fonts = [\"Arial\", \"Calibri\", \"Century Gothic\", \"Comic Sans\", \"Consolas\", \"Courier\", \"Dejavu Sans\", \"Dejavu Serif\", \"Georgia\", \"Gill Sans\", \"Helvetica\", \"Impact\", \"Lucida Sans\",\r\n \"Myriad Pro\", \"Open Sans\", \"Palatino\", \"Tahoma\", \"Times New Roman\", \"Trebuchet\"];\r\n const fontOptions = [];\r\n fonts.forEach(font => {\r\n fontOptions.push(this.createFontOption(font));\r\n })\r\n\r\n return fontOptions;\r\n }\r\n\r\n changeFormatFontSize($event: number) {\r\n this._observerFontSize.next($event);\r\n }\r\n\r\n changeFormatBold(bold: boolean) {\r\n this._observerBold.next(bold);\r\n }\r\n\r\n changeFormatUnderline(underline: boolean) {\r\n this._observerUnderline.next(underline);\r\n }\r\n\r\n Undo() {\r\n this._observerUndo.next();\r\n }\r\n\r\n Redo() {\r\n this._observerRedo.next();\r\n }\r\n\r\n changeFormatItalic(italic: boolean) {\r\n this._observerItalic.next(italic);\r\n }\r\n\r\n changeFormatColor(color: string) {\r\n this._observerColor.next(color);\r\n }\r\n\r\n changeFormatBgColor(bgcolor: string) {\r\n this._observerBgColor.next(bgcolor);\r\n }\r\n\r\n changeFormatFont(font: string) {\r\n this._observerFont.next(font);\r\n }\r\n\r\n changeFormatStrikeout(strikeout: boolean) {\r\n this._observerStrikeout.next(strikeout);\r\n }\r\n\r\n changeFormatAlign(align: string) {\r\n this._observerAlign.next(align);\r\n }\r\n\r\n changeFormatList(list: string) {\r\n this._observerList.next(list);\r\n }\r\n}\r\n","import {Component, EventEmitter, Input, OnInit, Output} from '@angular/core';\r\n\r\nconst DEFAULT_COLORS = [\r\n '#000000', '#434343', '#666666', '#999999', '#B7B7B7', '#CCCCCC', '#D9D9D9', '#EFEFEF', '#F3F3F3', '#FFFFFF',\r\n '#980000', '#FF0000', '#FF9900', '#FFFF00', '#00FF00', '#00FFFF', '#4986E8', '#0000FF', '#9900FF', '#FF00FF',\r\n '#E6B8AF', '#F4CCCC', '#FDE5CD', '#FFF2CC', '#D9EAD3', '#D0E0E2', '#C9DAF8', '#CFE2F3', '#D9D2E9', '#EAD1DC',\r\n '#DD7E6B', '#EA9899', '#F9CB9C', '#FFE59A', '#B7D7A8', '#A2C4C9', '#A4C2F4', '#9FC5E8', '#B4A7D7', '#D5A6BD',\r\n '#CC4125', '#E06666', '#F6B26B', '#FFD966', '#92C47D', '#75A5AF', '#6D9EEB', '#6FA9DB', '#8E7CC3', '#C27BA0',\r\n '#A61C00', '#CC0000', '#E69138', '#F2C131', '#6AA84F', '#45818E', '#3C78D8', '#3C85C6', '#674EA7', '#A64D79',\r\n '#85200B', '#990000', '#B45F05', '#BF9000', '#37761D', '#144F5C', '#1254CC', '#0A5394', '#351C75', '#741B47',\r\n '#5B0F00', '#660000', '#783F03', '#7F6000', '#284E13', '#0B343D', '#1B4586', '#063763', '#20124D', '#4C1030',\r\n];\r\n\r\n@Component({\r\n selector: 'gd-color-picker',\r\n templateUrl: './color-picker.component.html',\r\n styleUrls: ['./color-picker.component.less']\r\n})\r\nexport class ColorPickerComponent implements OnInit {\r\n @Input() isOpen = false;\r\n @Output() selectedColor = new EventEmitter();\r\n @Output() closeOutside = new EventEmitter();\r\n colors: any = DEFAULT_COLORS;\r\n white = '#FFFFFF';\r\n\r\n constructor() {\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n select($event, color: string) {\r\n $event.preventDefault();\r\n $event.stopPropagation();\r\n this.selectedColor.emit(color);\r\n }\r\n\r\n close() {\r\n this.isOpen = false;\r\n this.closeOutside.emit(true);\r\n }\r\n}\r\n","import {Injectable} from '@angular/core';\r\nimport {FormattingService} from \"./formatting.service\";\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class BackFormattingService extends FormattingService {\r\n\r\n constructor() {\r\n super();\r\n }\r\n}\r\n","import {Injectable} from '@angular/core';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class SelectionService {\r\n selection: Range;\r\n isIE = /*@cc_on!@*/false || !!/(MSIE|Trident\\/|Edge\\/)/i.test(navigator.userAgent);\r\n\r\n restoreSelection() {\r\n if(this.selection && !this.selection.collapsed || this.isIE){\r\n this.putSelection(this.selection );\r\n }\r\n }\r\n\r\n captureSelection() {\r\n const selection = window.getSelection();\r\n if (selection.rangeCount > 0) {\r\n this.selection = selection.getRangeAt(0);\r\n }\r\n }\r\n\r\n private putSelection(selection) {\r\n const sel = window.getSelection();\r\n sel.removeAllRanges();\r\n sel.addRange(selection.cloneRange());\r\n }\r\n\r\n refreshSelection() {\r\n this.captureSelection();\r\n this.restoreSelection();\r\n }\r\n}\r\n","import {Directive, HostListener, OnInit} from '@angular/core';\r\nimport {FormattingService} from \"./formatting.service\";\r\nimport {BackFormattingService} from \"./back-formatting.service\";\r\nimport * as jquery from 'jquery';\r\nconst $ = jquery;\r\nimport {SelectionService} from './selection.service';\r\n\r\n@Directive({\r\n selector: '[gdFormatting]'\r\n})\r\nexport class FormattingDirective implements OnInit {\r\n\r\n private bold = false;\r\n private italic = false;\r\n private underline = false;\r\n private color: string;\r\n private bgColor: string;\r\n private font: string;\r\n private strikeout = false;\r\n private align: string;\r\n private list: string;\r\n private isIE = false;\r\n\r\n constructor(private _formattingService: FormattingService,\r\n private _backFormattingService: BackFormattingService,\r\n private _selectionService: SelectionService) {\r\n this.isIE = /*@cc_on!@*/false || !!/(MSIE|Trident\\/|Edge\\/)/i.test(navigator.userAgent);\r\n }\r\n\r\n @HostListener('mouseup') mouseup() {\r\n\r\n this.bold = document.queryCommandState(\"bold\");\r\n this.strikeout = document.queryCommandState(\"strikeThrough\");\r\n this.italic = document.queryCommandState(\"italic\");\r\n this.bgColor = document.queryCommandValue(\"backColor\");\r\n this.underline = document.queryCommandState(\"underline\");\r\n this.align = this.checkJustify();\r\n this.list = this.checkList();\r\n\r\n //fix required by FireFox to get correct background color\r\n if (this.bgColor === \"transparent\") {\r\n this.bgColor = $(window.getSelection().focusNode.parentNode).css('background-color').toString();\r\n }\r\n this.font = document.queryCommandValue(\"FontName\").replace(/\"/g, '');\r\n if(this.font.split(\",\").length > 1){\r\n this.font = this.font.split(\",\")[0];\r\n }\r\n this.color = document.queryCommandValue(\"foreColor\");\r\n this._backFormattingService.changeFormatBold(this.bold);\r\n this._backFormattingService.changeFormatUnderline(this.underline);\r\n this._backFormattingService.changeFormatItalic(this.italic);\r\n this._backFormattingService.changeFormatColor(this.color);\r\n this._backFormattingService.changeFormatBgColor(this.bgColor);\r\n this._backFormattingService.changeFormatFontSize(this.reportFontSize());\r\n this._backFormattingService.changeFormatFont(this.font);\r\n this._backFormattingService.changeFormatStrikeout(this.strikeout);\r\n this._backFormattingService.changeFormatAlign(this.align);\r\n this._backFormattingService.changeFormatList(this.list);\r\n }\r\n\r\n private checkJustify() {\r\n let align = \"\";\r\n align = document.queryCommandState(\"justifyCenter\") ? \"center\" : align;\r\n align = document.queryCommandState(\"justifyFull\") ? \"full\" : align;\r\n align = document.queryCommandState(\"justifyLeft\") ? \"left\" : align;\r\n align = document.queryCommandState(\"justifyRight\") ? \"right\" : align;\r\n return align;\r\n }\r\n\r\n private checkList() {\r\n let list = \"\";\r\n list = document.queryCommandState(\"insertUnorderedList\") ? \"unordered\" : list;\r\n list = document.queryCommandState(\"insertOrderedList\") ? \"ordered\" : list;\r\n return list;\r\n }\r\n\r\n reportFontSize(): number {\r\n let containerEl, sel;\r\n if (window.getSelection) {\r\n sel = window.getSelection();\r\n if (sel.rangeCount) {\r\n containerEl = sel.getRangeAt(0).commonAncestorContainer;\r\n // Make sure we have an element rather than a text node\r\n if (containerEl.nodeType === 3) {\r\n containerEl = containerEl.parentNode;\r\n }\r\n }\r\n } else if ((sel = document.getSelection()) && sel.type !== \"Control\") {\r\n containerEl = sel.createRange().parentElement();\r\n }\r\n\r\n if (containerEl) {\r\n return parseInt(this.getComputedStyleProperty(containerEl, \"fontSize\").replace(\"px\", \"\"), 10);\r\n }\r\n }\r\n\r\n getComputedStyleProperty(el, propName) {\r\n if (window.getComputedStyle) {\r\n return window.getComputedStyle(el, null)[propName];\r\n } else if (el.currentStyle) {\r\n return el.currentStyle[propName];\r\n }\r\n }\r\n\r\n ngOnInit(): void {\r\n this._formattingService.undo.subscribe(() => {\r\n this.toggleUndo();\r\n });\r\n this._formattingService.redo.subscribe(() => {\r\n this.toggleRedo();\r\n });\r\n this._formattingService.formatBoldChange.subscribe((bold: boolean) => {\r\n this.bold = bold;\r\n this.toggleBold();\r\n });\r\n this._formattingService.formatUnderlineChange.subscribe((underline: boolean) => {\r\n this.underline = underline;\r\n this.toggleUnderline();\r\n });\r\n this._formattingService.formatItalicChange.subscribe((italic: boolean) => {\r\n this.italic = italic;\r\n this.toggleItalic();\r\n });\r\n this._formattingService.formatColorChange.subscribe(((color: string) => {\r\n this.color = color;\r\n this.setColor(color);\r\n }));\r\n this._formattingService.formatBgColorChange.subscribe(((bgcolor: string) => {\r\n this.bgColor = bgcolor;\r\n this.setBgColor(bgcolor);\r\n }));\r\n this._formattingService.formatFontSizeChange.subscribe(((fontSize: number) => {\r\n this.setFontSize(fontSize);\r\n }));\r\n\r\n this._formattingService.formatFontChange.subscribe(((font: string) => {\r\n this.font = font;\r\n this.setFont(font);\r\n }));\r\n this._formattingService.formatStrikeoutChange.subscribe((strikeout: boolean) => {\r\n this.strikeout = strikeout;\r\n this.toggleStrikeout();\r\n });\r\n this._formattingService.formatAlignChange.subscribe((align: string) => {\r\n this.align = align;\r\n this.toggleAlign(this.align);\r\n });\r\n this._formattingService.formatListChange.subscribe((list: string) => {\r\n const remove = this.list === list;\r\n this.list = list;\r\n this.toggleList(this.list, remove);\r\n });\r\n }\r\n\r\n private toggleBold() {\r\n document.execCommand(\"bold\");\r\n this._selectionService.refreshSelection();\r\n }\r\n\r\n private toggleUnderline() {\r\n document.execCommand(\"underline\");\r\n this._selectionService.refreshSelection();\r\n }\r\n\r\n private toggleItalic() {\r\n document.execCommand(\"italic\");\r\n this._selectionService.refreshSelection();\r\n }\r\n\r\n private setBgColor(bgColor: string) {\r\n document.execCommand(\"backColor\", false, bgColor);\r\n this._selectionService.refreshSelection();\r\n }\r\n\r\n private setColor(color: string) {\r\n document.execCommand(\"foreColor\", false, color);\r\n this._selectionService.refreshSelection();\r\n }\r\n\r\n private setFontSize(fontSize: number) {\r\n if (document.getSelection().toString()) {\r\n let spanString = \"\" +\r\n document.getSelection() + \"\";\r\n if (this.bold) {\r\n spanString = \"\" + spanString + \"\";\r\n }\r\n if (this.italic) {\r\n spanString = \"\" + spanString + \"\";\r\n }\r\n if (this.underline) {\r\n spanString = \"\" + spanString + \"\";\r\n }\r\n if (this.strikeout) {\r\n spanString = \"\" + spanString + \"\";\r\n }\r\n document.execCommand('insertHTML', false, spanString);\r\n } else {\r\n document.execCommand(\"fontsize\", false, \"7\");\r\n }\r\n this._selectionService.refreshSelection();\r\n }\r\n\r\n private toggleUndo() {\r\n document.execCommand(\"undo\");\r\n }\r\n\r\n private toggleRedo() {\r\n document.execCommand(\"redo\");\r\n }\r\n\r\n private setFont(font: string) {\r\n document.execCommand(\"fontName\", false, font);\r\n this._selectionService.refreshSelection();\r\n }\r\n\r\n private toggleStrikeout() {\r\n document.execCommand(\"strikeThrough\");\r\n this._selectionService.refreshSelection();\r\n }\r\n\r\n private toggleAlign(align: string) {\r\n if(this.isIE) {\r\n this.toggleAlignIE(align);\r\n return;\r\n }\r\n document.execCommand(\"styleWithCSS\", false, 'true');\r\n switch (align) {\r\n case 'center':\r\n document.execCommand('justifyCenter');\r\n break;\r\n case 'full':\r\n document.execCommand('justifyFull');\r\n break;\r\n case 'left':\r\n document.execCommand('justifyLeft');\r\n break;\r\n case 'right':\r\n document.execCommand('justifyRight');\r\n break;\r\n }\r\n this._selectionService.refreshSelection();\r\n }\r\n\r\n private toggleAlignIE(align: string) {\r\n this._selectionService.restoreSelection()\r\n this._selectionService.captureSelection()\r\n const selection = window.getSelection().focusNode.parentNode.parentNode;\r\n if(align === \"full\"){\r\n align = \"justify\";\r\n }\r\n $(selection).css(\"text-align\", align);\r\n this._selectionService.refreshSelection()\r\n }\r\n\r\n private toggleList(list: string, remove: boolean) {\r\n switch (list) {\r\n case 'unordered':\r\n document.execCommand('insertUnorderedList', remove);\r\n break;\r\n case 'ordered':\r\n document.execCommand('insertOrderedList', remove);\r\n break;\r\n }\r\n this._selectionService.refreshSelection();\r\n }\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'gd-success-modal',\r\n templateUrl: './success-modal.component.html',\r\n styleUrls: ['./success-modal.component.less']\r\n})\r\nexport class SuccessModalComponent implements OnInit {\r\n\r\n constructor() { }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n}\r\n","import {Injectable} from '@angular/core';\r\nimport {Observable, Subject} from \"rxjs\";\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class EditHtmlService {\r\n private _observer: Subject = new Subject();\r\n private readonly _htmlContent: Observable = this._observer.asObservable();\r\n\r\n constructor() {\r\n }\r\n\r\n get observer(): Subject {\r\n return this._observer;\r\n }\r\n\r\n get htmlContent(): Observable {\r\n return this._htmlContent;\r\n }\r\n\r\n}\r\n","import {Directive, HostListener, Input} from '@angular/core';\r\nimport {SelectionService} from './selection.service';\r\nimport {EditHtmlService} from \"./edit-html.service\";\r\n\r\n@Directive({\r\n selector: '[gdEditor]'\r\n})\r\nexport class EditorDirective {\r\n @Input() text: any;\r\n\r\n private isIE: boolean = /*@cc_on!@*/false || !!/(MSIE|Trident\\/|Edge\\/)/i.test(navigator.userAgent);\r\n\r\n constructor(private _selectionService: SelectionService, private _htmlService: EditHtmlService) {\r\n }\r\n\r\n @HostListener('keyup', ['$event'])\r\n public onInput(event) {\r\n this.text = event.target;\r\n if(this.isIE){\r\n if (this.text.innerHTML) {\r\n const html = this.text.innerHTML.toString();\r\n this._htmlService.observer.next(html);\r\n }\r\n }\r\n }\r\n\r\n @HostListener('mouseleave', ['$event'])\r\n public onMouseleave(event) {\r\n this._selectionService.captureSelection();\r\n // this code is required to fix IE11 issue - it doesn't trigger blur event, since that we need to save updated HTML here\r\n if(this.isIE){\r\n this._htmlService.observer.next(event.target.innerHTML.toString());\r\n }\r\n }\r\n\r\n @HostListener('blur', ['$event'])\r\n public onBlur(event) {\r\n event.preventDefault();\r\n this._selectionService.restoreSelection();\r\n if (this.text.innerHTML) {\r\n const html = this.text.innerHTML.toString();\r\n this._htmlService.observer.next(html);\r\n } else {\r\n this._htmlService.observer.next(event.target.innerHTML.toString());\r\n }\r\n }\r\n}\r\n","import {EventEmitter, Injectable} from '@angular/core'\r\nimport {HttpRequest} from '@angular/common/http';\r\nimport {Api} from \"./config.service\";\r\n\r\n@Injectable()\r\nexport class LoadingMaskService {\r\n onLoadingChanged: EventEmitter = new EventEmitter();\r\n\r\n private stopList = [];\r\n private requests: HttpRequest[] = [];\r\n\r\n constructor() {\r\n this.stopList.push(Api.SAVE_TEXT);\r\n this.stopList.push(Api.SAVE_OPTICAL_CODE);\r\n this.stopList.push(Api.LOAD_DOCUMENT_PAGE);\r\n this.stopList.push(Api.LOAD_THUMBNAILS);\r\n this.stopList.push(Api.GET_FILE_STATUS);\r\n this.stopList.push(Api.LOAD_PRINT);\r\n }\r\n\r\n onRequestStart(req: HttpRequest): void {\r\n const stop = this.stopList.find(x => req.url.includes(x));\r\n if (!stop) {\r\n this.requests.push(req);\r\n this.notify();\r\n }\r\n }\r\n\r\n onRequestFinish(req: HttpRequest): void {\r\n const index = this.requests.indexOf(req);\r\n if (index !== -1) {\r\n this.requests.splice(index, 1);\r\n }\r\n this.notify();\r\n }\r\n\r\n addStopUrl(url: string) {\r\n this.stopList.push(url);\r\n }\r\n\r\n private notify(): void {\r\n this.onLoadingChanged.emit(this.requests.length !== 0);\r\n }\r\n}\r\n","import {AfterViewInit, Component, Input, OnInit} from '@angular/core';\r\nimport {LoadingMaskService} from \"../loading-mask.service\";\r\n\r\n@Component({\r\n selector: 'gd-loading-mask',\r\n templateUrl: './loading-mask.component.html',\r\n styleUrls: ['./loading-mask.component.less']\r\n})\r\n\r\nexport class LoadingMaskComponent implements OnInit, AfterViewInit {\r\n @Input() loadingMask = false;\r\n\r\n constructor(private _loadingMaskService: LoadingMaskService) {\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n ngAfterViewInit() {\r\n this._loadingMaskService\r\n .onLoadingChanged\r\n .subscribe((loading: boolean) => this.loadingMask = loading);\r\n }\r\n}\r\n","import {Injectable} from '@angular/core';\r\nimport {HttpEvent, HttpHandler, HttpInterceptor, HttpRequest} from \"@angular/common/http\";\r\nimport {Observable} from \"rxjs\";\r\nimport {finalize} from 'rxjs/operators'\r\nimport {LoadingMaskService} from \"./loading-mask.service\";\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class LoadingMaskInterceptorService implements HttpInterceptor {\r\n\r\n constructor(private _loadingMaskService: LoadingMaskService) {\r\n }\r\n\r\n intercept(req: HttpRequest, next: HttpHandler): Observable> {\r\n this._loadingMaskService.onRequestStart(req);\r\n const callback = () => this._loadingMaskService.onRequestFinish(req);\r\n return next.handle(req).pipe( finalize( callback));\r\n }\r\n}\r\n","import {\r\n Component,\r\n EventEmitter,\r\n forwardRef,\r\n HostBinding,\r\n HostListener,\r\n Inject,\r\n Input,\r\n Output,\r\n ViewEncapsulation\r\n} from '@angular/core';\r\n\r\n\r\nconst horizontalAlignment = {\r\n center : {\r\n right: 'auto'\r\n },\r\n left : {\r\n right: '100%'\r\n },\r\n right : {\r\n right: '-100%'\r\n }\r\n};\r\n\r\nconst verticalAlignment = {\r\n center : {\r\n top : '0px',\r\n },\r\n top : {\r\n top : '-100%',\r\n right: '100%'\r\n },\r\n bottom : {\r\n top: 'autos'\r\n }\r\n};\r\n\r\n/**\r\n * DropDownToggleComponent\r\n */\r\n@Component({\r\n selector: 'gd-drop-down-toggle',\r\n template: '',\r\n styleUrls: ['./drop-down.component.less'],\r\n encapsulation : ViewEncapsulation.None\r\n})\r\nexport class DropDownToggleComponent{\r\n @HostListener('click',['$event'])\r\n click = (event: any) => this.dropdown.toggle(event);\r\n constructor(@Inject(forwardRef(() => DropDownComponent)) public dropdown) {}\r\n}\r\n\r\n/**\r\n * DropDownItemsComponent\r\n */\r\n@Component({\r\n selector: 'gd-drop-down-items',\r\n template: '
',\r\n styleUrls: ['./drop-down.component.less'],\r\n encapsulation : ViewEncapsulation.None\r\n})\r\nexport class DropDownItemsComponent{\r\n\r\n get horizontalAlign(){\r\n return horizontalAlignment[this.dropdown.getPlacement().h].right;\r\n }\r\n\r\n get verticalAlign(){\r\n return verticalAlignment[this.dropdown.getPlacement().v].top;\r\n }\r\n\r\n get isOpen(){\r\n return this.dropdown.open;\r\n }\r\n\r\n constructor(@Inject(forwardRef(() => DropDownComponent)) public dropdown) {}\r\n\r\n onClickOutside(event : Event ){\r\n this.dropdown.close();\r\n }\r\n}\r\n\r\n/**\r\n * DropDownItemComponent\r\n */\r\n@Component({\r\n selector: 'gd-drop-down-item',\r\n template: '
',\r\n styleUrls: ['./drop-down.component.less'],\r\n})\r\nexport class DropDownItemComponent{\r\n @HostBinding('class')\r\n class = 'drop-down-item';\r\n\r\n @Output()\r\n selected = new EventEmitter();\r\n\r\n @HostListener('click')\r\n click = () => this.selectEntry();\r\n\r\n constructor(@Inject(forwardRef(() => DropDownComponent)) public dropdown) {}\r\n\r\n selectEntry(){\r\n this.selected.next();\r\n this.dropdown.close();\r\n }\r\n}\r\n\r\n/**\r\n * DropDownComponent\r\n */\r\n@Component({\r\n selector: 'gd-drop-down',\r\n template: '
',\r\n styleUrls: ['./drop-down.component.less'],\r\n encapsulation : ViewEncapsulation.None\r\n})\r\nexport class DropDownComponent{\r\n @Input()\r\n placement = {\r\n h: \"center\",\r\n v: \"bottom\"\r\n };\r\n\r\n\r\n @Input()\r\n @HostBinding('class.show')\r\n open = false;\r\n\r\n @HostBinding('class')\r\n class = 'drop-down';\r\n\r\n close(){\r\n this.open = false;\r\n }\r\n\r\n toggle(event : MouseEvent){\r\n event.stopPropagation();\r\n this.open = !this.open;\r\n document.body.click();\r\n }\r\n\r\n getPlacement(){\r\n return this.placement;\r\n }\r\n}\r\n","import {Component, Input, OnInit} from '@angular/core';\r\n\r\n@Component({\r\n selector: 'gd-left-side-bar',\r\n templateUrl: './left-side-bar.component.html',\r\n styleUrls: ['./left-side-bar.component.less']\r\n})\r\nexport class LeftSideBarComponent implements OnInit {\r\n @Input() showSpinner = false;\r\n\r\n constructor() {\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n}\r\n","import {Directive, EventEmitter, HostListener, Input, Output} from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[gdTooltip]'\r\n})\r\nexport class TooltipDirective {\r\n\r\n @Output() showToolTip = new EventEmitter();\r\n\r\n constructor() {\r\n }\r\n\r\n @HostListener('mouseenter')\r\n public onHovering() {\r\n this.showToolTip.emit(true);\r\n }\r\n\r\n @HostListener('mouseleave')\r\n public onUnhovering() {\r\n this.showToolTip.emit(false);\r\n }\r\n\r\n}\r\n","import {\r\n ApplicationRef,\r\n ComponentFactoryResolver,\r\n Injectable,\r\n ViewContainerRef\r\n} from '@angular/core';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class AddDynamicComponentService {\r\n\r\n constructor(private _factoryResolver: ComponentFactoryResolver,\r\n private _appRef: ApplicationRef) {\r\n }\r\n\r\n addDynamicComponent(viewContainerRef: ViewContainerRef, component: any) {\r\n const factory = this._factoryResolver.resolveComponentFactory(component);\r\n const componentRef = viewContainerRef.createComponent(factory);\r\n\r\n componentRef.onDestroy(() => {\r\n this._appRef.detachView(componentRef.hostView);\r\n });\r\n\r\n return componentRef;\r\n }\r\n\r\n}\r\n","import {HostDynamicDirective} from \"./host-dynamic.directive\";\r\n\r\nexport class HostingDynamicComponentService {\r\n private hosts: HostDynamicDirective[];\r\n\r\n constructor() {\r\n this.hosts = [];\r\n }\r\n\r\n add(host: HostDynamicDirective) {\r\n this.hosts = this.hosts.filter(function (h) {\r\n return h.ident !== host.ident;\r\n });\r\n this.hosts.push(host);\r\n }\r\n\r\n remove(host: HostDynamicDirective) {\r\n this.hosts = this.hosts.filter(function (h) {\r\n return h.ident !== host.ident;\r\n });\r\n }\r\n\r\n find(ident: number) {\r\n return this.hosts.find(function (h) {\r\n return h.ident === ident;\r\n });\r\n }\r\n}\r\n","import {AfterViewInit, Directive, Input, OnDestroy, ViewContainerRef} from '@angular/core';\r\nimport {HostingDynamicComponentService} from \"./hosting-dynamic-component.service\";\r\n\r\n@Directive({\r\n selector: '[gdHostDynamic]'\r\n})\r\nexport class HostDynamicDirective implements AfterViewInit, OnDestroy {\r\n @Input() ident: number;\r\n\r\n constructor(public viewContainerRef: ViewContainerRef,\r\n private _hostingService: HostingDynamicComponentService) {\r\n }\r\n\r\n ngAfterViewInit(): void {\r\n this._hostingService.add(this);\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this._hostingService.remove(this);\r\n this.viewContainerRef.clear();\r\n }\r\n\r\n}\r\n","import {AfterViewInit, Component, EventEmitter, Input, OnInit, Output} from '@angular/core';\r\nimport * as jquery from \"jquery\";\r\nimport {Utils} from \"../file.service\";\r\n\r\nconst $ = jquery;\r\n\r\n@Component({\r\n selector: 'gd-resizing',\r\n templateUrl: './resizing.component.html',\r\n styleUrls: ['./resizing.component.less']\r\n})\r\nexport class ResizingComponent implements OnInit, AfterViewInit {\r\n\r\n @Input() init: boolean;\r\n @Input() id: number;\r\n @Input() se = false;\r\n @Input() ne = false;\r\n @Input() sw = false;\r\n @Input() nw = false;\r\n @Input() pageWidth: number;\r\n @Input() pageHeight: number;\r\n SE = 'se';\r\n NE = 'ne';\r\n SW = 'sw';\r\n NW = 'nw';\r\n\r\n @Output() offsetX = new EventEmitter();\r\n @Output() offsetY = new EventEmitter();\r\n @Output() offsetTop = new EventEmitter();\r\n @Output() offsetLeft = new EventEmitter();\r\n @Output() release = new EventEmitter();\r\n\r\n private grab = false;\r\n private oldPosition: { x: number, y: number };\r\n\r\n constructor() {\r\n }\r\n\r\n ngAfterViewInit(): void {\r\n const elSE = $(this.getElementId(this.SE));\r\n const elNW = $(this.getElementId(this.NW));\r\n if (this.init && elSE && elNW && elSE.offset() && elNW.offset()) {\r\n let width = elSE.offset().left - elNW.offset().left;\r\n let height = elSE.offset().top - elNW.offset().top;\r\n while (width >= this.pageWidth || height >= this.pageHeight) {\r\n width = width / 2;\r\n height = height / 2;\r\n }\r\n setTimeout(() => {\r\n this.offsetX.emit(width);\r\n this.offsetY.emit(height);\r\n }, 100);\r\n }\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n catchUp($event: DragEvent) {\r\n // ff\r\n $event.preventDefault();\r\n if ($event.dataTransfer) { // ff\r\n $event.dataTransfer.setData('text', 'foo');\r\n }\r\n this.grab = true;\r\n this.oldPosition = Utils.getMousePosition($event);\r\n }\r\n\r\n resize($event: DragEvent, el: string) {\r\n if (!this.grab) {\r\n return;\r\n }\r\n const position = Utils.getMousePosition($event);\r\n if (position.x === 0 && position.y === 0) {\r\n return;\r\n }\r\n const notSW = this.NE === el || this.NW === el;\r\n const notNE = this.SW === el || this.NW === el;\r\n this.setOffsets(position, notNE, notSW);\r\n if (notSW) {\r\n this.offsetTop.emit(position.y - this.oldPosition.y);\r\n }\r\n if (notNE) {\r\n this.offsetLeft.emit(position.x - this.oldPosition.x);\r\n }\r\n this.oldPosition = position;\r\n }\r\n\r\n private setOffsets(position, x: boolean, y: boolean) {\r\n const offsetX = x ? this.oldPosition.x - position.x : position.x - this.oldPosition.x;\r\n const offsetY = y ? this.oldPosition.y - position.y : position.y - this.oldPosition.y;\r\n this.offsetX.emit(offsetX);\r\n this.offsetY.emit(offsetY);\r\n }\r\n\r\n end($event: DragEvent, el: string) {\r\n // ff\r\n this.resize($event, el);\r\n this.release.emit(true);\r\n this.grab = false;\r\n }\r\n\r\n start($event: DragEvent) {\r\n this.drop($event);\r\n }\r\n\r\n drop($event: DragEvent) {\r\n $event.stopPropagation();\r\n $event.preventDefault();\r\n }\r\n\r\n private getElementId(el: string) {\r\n return \"#\" + el + \"-\" + this.id;\r\n }\r\n}\r\n","import {TabActivatorService} from \"./tab-activator.service\";\r\n\r\nexport class TopTabActivatorService extends TabActivatorService {\r\n\r\n constructor() {\r\n super();\r\n }\r\n}\r\n","import {Component, EventEmitter, Input, OnInit, Output} from '@angular/core';\r\nimport {ExceptionMessageService} from \"../exception-message.service\";\r\nimport {TopTabActivatorService} from \"../top-tab-activator.service\";\r\nimport {ModalService, CommonModals} from \"../modal.service\";\r\n\r\n@Component({\r\n selector: 'gd-top-tab',\r\n templateUrl: './top-tab.component.html',\r\n styleUrls: ['./top-tab.component.less']\r\n})\r\nexport class TopTabComponent implements OnInit {\r\n @Input() id: string;\r\n @Input() icon: string;\r\n @Input() disabled = false;\r\n @Input() tooltip: string;\r\n @Output() activeTab = new EventEmitter();\r\n @Input() elementPosition = 0;\r\n public active = false;\r\n public showToolTip = false;\r\n\r\n constructor(private _tabActivatorService: TopTabActivatorService,\r\n private _modalService: ModalService,\r\n private _excMessageService: ExceptionMessageService) {\r\n this._tabActivatorService.activeTabChange.subscribe((tabId: string) => {\r\n this.activation(tabId);\r\n if (tabId === null) {\r\n this.activeTab.emit(\"\");\r\n }\r\n });\r\n }\r\n\r\n private activation(tabId: string) {\r\n if (this.id === tabId) {\r\n this.active = !this.active;\r\n if (this.active) {\r\n this.activeTab.emit(this.id);\r\n } else {\r\n this.activeTab.emit(\"\");\r\n }\r\n } else {\r\n this.active = false;\r\n }\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n toggleTab() {\r\n if (this.disabled) {\r\n this._modalService.open(CommonModals.ErrorMessage);\r\n this._excMessageService.changeMessage(\"Please open document first\");\r\n return;\r\n }\r\n this._tabActivatorService.changeActiveTab(this.id);\r\n }\r\n\r\n}\r\n","import {Component, EventEmitter, Input, OnInit, Output, ElementRef, Renderer2} from '@angular/core';\r\nimport * as jquery from 'jquery';\r\nimport {FormattingService} from \"../formatting.service\";\r\nimport {OnCloseService} from \"../on-close.service\";\r\nimport {Option} from \"../select/select.component\";\r\nimport { ZoomService } from '../zoom.service';\r\nimport { WindowService } from '../window.service';\r\n\r\nconst $ = jquery;\r\n\r\n@Component({\r\n selector: 'gd-text-menu',\r\n templateUrl: './text-menu.component.html',\r\n styleUrls: ['./text-menu.component.less']\r\n})\r\nexport class TextMenuComponent implements OnInit {\r\n @Input() blur: boolean;\r\n @Input() fontSize: number;\r\n @Input() font: string;\r\n @Input() bold: boolean;\r\n @Input() italic: boolean;\r\n @Input() underline: boolean;\r\n @Input() color: string;\r\n @Input() decoration = true;\r\n @Input() showTooltips = true;\r\n\r\n @Output() outFontSize = new EventEmitter();\r\n @Output() outFont = new EventEmitter();\r\n @Output() outBold = new EventEmitter();\r\n @Output() outItalic = new EventEmitter();\r\n @Output() outUnderline = new EventEmitter();\r\n @Output() outColor = new EventEmitter();\r\n\r\n fontSizeOptions = FormattingService.getFontSizeOptions();\r\n fontOptions = FormattingService.getFontOptions();\r\n colorPickerShow = false;\r\n\r\n isMobile: boolean;\r\n\r\n constructor(private _onCloseService: OnCloseService,\r\n private _zoomService: ZoomService,\r\n private _windowService: WindowService,\r\n protected _elementRef: ElementRef,\r\n private renderer: Renderer2) {\r\n \r\n _onCloseService.onClose.subscribe(() => {\r\n this.colorPickerShow = false;\r\n });\r\n\r\n this.isMobile = _windowService.isMobile();\r\n _windowService.onResize.subscribe((w) => {\r\n this.isMobile = _windowService.isMobile();\r\n });\r\n\r\n _zoomService.zoomChange.subscribe((val: number) => {\r\n if (this.isMobile)\r\n {\r\n this.changePosition(val);\r\n }\r\n });\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n changePosition(val: number) {\r\n const top = (window.innerHeight - 24 - this._elementRef.nativeElement.parentElement.getBoundingClientRect().top - this._elementRef.nativeElement.parentElement.getBoundingClientRect().height);\r\n const left = this._elementRef.nativeElement.parentElement.getBoundingClientRect().left;\r\n this.renderer.setStyle(this._elementRef.nativeElement.querySelector('.gd-text-menu'), 'width', window.innerWidth + 'px');\r\n this.renderer.setStyle(this._elementRef.nativeElement.querySelector('.gd-text-menu'), 'top', top + 'px');\r\n this.renderer.setStyle(this._elementRef.nativeElement.querySelector('.gd-text-menu'), 'left', -left + 'px');\r\n }\r\n\r\n selectFontSize($event: Option) {\r\n $(\".gd-wrapper\").off(\"keyup\");\r\n this.outFontSize.emit($event.value);\r\n $(\".gd-wrapper\").on(\"keyup\", () => {\r\n const fontElements = document.getElementsByTagName(\"font\");\r\n for (let i = 0, len = fontElements.length; i < len; ++i) {\r\n if (fontElements[i].getAttribute('size') === \"7\") {\r\n fontElements[i].removeAttribute(\"size\");\r\n fontElements[i].style.fontSize = $event + \"px\";\r\n }\r\n }\r\n });\r\n }\r\n\r\n selectFont($event: Option) {\r\n event.preventDefault();\r\n event.stopPropagation();\r\n this.outFont.emit($event.value);\r\n }\r\n\r\n toggleColorPicker($event) {\r\n $event.preventDefault();\r\n $event.stopPropagation();\r\n this.colorPickerShow = !this.colorPickerShow;\r\n }\r\n\r\n selectColor($event: string) {\r\n this.colorPickerShow = false;\r\n this.outColor.emit($event);\r\n }\r\n\r\n toggleBold(event) {\r\n event.preventDefault();\r\n event.stopPropagation();\r\n this.outBold.emit(!this.bold);\r\n }\r\n\r\n toggleItalic(event) {\r\n event.preventDefault();\r\n event.stopPropagation();\r\n this.outItalic.emit(!this.italic);\r\n }\r\n\r\n toggleUnderline(event) {\r\n event.preventDefault();\r\n event.stopPropagation();\r\n this.outUnderline.emit(!this.underline);\r\n }\r\n\r\n closePicker($event) {\r\n this.colorPickerShow = !$event;\r\n }\r\n}\r\n","import {Component, EventEmitter, Input, OnInit, Output, Renderer2, ElementRef} from '@angular/core';\r\nimport {Formatting} from \"../formatting.service\";\r\nimport {WindowService} from \"../window.service\";\r\nimport { ZoomService } from '../zoom.service';\r\n\r\nexport class MenuType {\r\n public static FOR_SIGNATURE = \"signature\";\r\n public static FOR_ANNOTATION = \"annotation\";\r\n}\r\n\r\n@Component({\r\n selector: 'gd-context-menu',\r\n templateUrl: './context-menu.component.html',\r\n styleUrls: ['./context-menu.component.less']\r\n})\r\nexport class ContextMenuComponent implements OnInit {\r\n @Input() formatting: Formatting = Formatting.default();\r\n @Input() textMenu: boolean;\r\n @Input() topPosition: number;\r\n @Input() lock = false;\r\n @Input() translation = 0;\r\n @Input() menuType: string;\r\n @Output() changeFormatting = new EventEmitter();\r\n @Output() removeItem = new EventEmitter();\r\n @Output() copySign = new EventEmitter();\r\n @Output() lockOut = new EventEmitter();\r\n @Output() comment = new EventEmitter();\r\n\r\n isMobile: boolean;\r\n\r\n constructor(private _windowService: WindowService,\r\n private _zoomService: ZoomService,\r\n protected _elementRef: ElementRef,\r\n private renderer: Renderer2) {\r\n this.isMobile = _windowService.isMobile();\r\n _windowService.onResize.subscribe((w) => {\r\n this.isMobile = _windowService.isMobile();\r\n });\r\n\r\n _zoomService.zoomChange.subscribe((val: number) => {\r\n this.changeScale(val);\r\n });\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n changeScale(val: number){\r\n this.renderer.setStyle(this._elementRef.nativeElement.querySelector('.gd-context-menu'), 'transform', 'scale(' + 1/(val/100) + ')');\r\n if (!this.isMobile && val && val !== 100) {\r\n this.renderer.setStyle(this._elementRef.nativeElement.querySelector('.gd-context-menu'), 'left', this.translation + 'px');\r\n }\r\n }\r\n\r\n saveChanges() {\r\n this.changeFormatting.emit(this.formatting);\r\n }\r\n\r\n selectFontSize($event: number) {\r\n this.formatting.fontSize = $event;\r\n this.saveChanges();\r\n }\r\n\r\n selectFont($event: string) {\r\n this.formatting.font = $event;\r\n this.saveChanges();\r\n }\r\n\r\n selectColor($event: string) {\r\n this.formatting.color = $event;\r\n this.saveChanges();\r\n }\r\n\r\n toggleBold($event) {\r\n this.formatting.bold = $event;\r\n this.saveChanges();\r\n }\r\n\r\n toggleItalic($event) {\r\n this.formatting.italic = $event;\r\n this.saveChanges();\r\n }\r\n\r\n toggleUnderline($event) {\r\n this.formatting.underline = $event;\r\n this.saveChanges();\r\n }\r\n\r\n deleteItem() {\r\n this.removeItem.emit(true);\r\n }\r\n\r\n toggleLock() {\r\n this.lock = !this.lock;\r\n this.lockOut.emit(this.lock);\r\n }\r\n\r\n onCopySign() {\r\n this.copySign.emit(true);\r\n }\r\n\r\n isSignature() {\r\n return this.menuType === MenuType.FOR_SIGNATURE;\r\n }\r\n\r\n isAnnotation() {\r\n return this.menuType === MenuType.FOR_ANNOTATION;\r\n }\r\n\r\n addComment() {\r\n this.comment.emit(true);\r\n }\r\n}\r\n","import {NgModule} from '@angular/core';\r\nimport {CommonModule} from '@angular/common';\r\nimport {TopToolbarComponent} from './top-toolbar/top-toolbar.component';\r\nimport {SidePanelComponent} from './side-panel/side-panel.component';\r\nimport {ButtonComponent} from './button/button.component';\r\nimport {LogoComponent} from './logo/logo.component';\r\nimport {TooltipComponent} from './tooltip/tooltip.component';\r\nimport {FontAwesomeModule} from '@fortawesome/angular-fontawesome';\r\nimport {library} from '@fortawesome/fontawesome-svg-core';\r\nimport {fas} from '@fortawesome/free-solid-svg-icons';\r\nimport {far} from '@fortawesome/free-regular-svg-icons';\r\nimport {Api, ConfigService,} from \"./config.service\";\r\nimport {ModalService} from \"./modal.service\";\r\nimport {ModalComponent} from './modal/modal.component';\r\nimport {BrowseFilesModalComponent} from './browse-files-modal/browse-files-modal.component';\r\nimport {FileModel, FileService, FileUtil, Utils} from \"./file.service\";\r\nimport {DocumentComponent} from './document/document.component';\r\nimport {PageComponent} from './page/page.component';\r\nimport {HighlightSearchPipe, SanitizeHtmlPipe, SanitizeResourceHtmlPipe, SanitizeStylePipe} from \"./pipes\";\r\nimport {UploadFileZoneComponent} from './upload-file-zone/upload-file-zone.component';\r\nimport {UploadFilesService} from \"./upload-files.service\";\r\nimport {DndDirective} from './dnd.directive';\r\nimport {ScrollableDirective} from './scrollable.directive';\r\nimport {MouseWheelDirective} from './mousewheel.directive';\r\nimport {NavigateService} from \"./navigate.service\";\r\nimport {PagePreloadService} from \"./page-preload.service\";\r\nimport {ZoomDirective} from './zoom.directive';\r\nimport {ZoomService} from \"./zoom.service\";\r\nimport {SelectComponent} from './select/select.component';\r\nimport {DisabledCursorDirective} from './disabled-cursor.directive';\r\nimport {RotationDirective} from './rotation.directive';\r\nimport {InitStateComponent} from './init-state/init-state.component';\r\nimport {RenderPrintService} from \"./render-print.service\";\r\nimport {RenderPrintDirective} from './render-print.directive';\r\nimport {ErrorModalComponent} from './error-modal/error-modal.component';\r\nimport {PasswordRequiredComponent} from './password-required/password-required.component';\r\nimport {ExceptionMessageService} from \"./exception-message.service\";\r\nimport {PasswordService} from \"./password.service\";\r\nimport {ErrorInterceptorService} from \"./error-interceptor.service\";\r\nimport {SearchComponent} from './search/search.component';\r\nimport {SearchableDirective} from './searchable.directive';\r\nimport {SearchService} from \"./search.service\";\r\nimport {WindowService} from \"./window.service\";\r\nimport {ViewportService} from \"./viewport.service\";\r\nimport {TabbedToolbarsComponent} from './tabbed-toolbars/tabbed-toolbars.component';\r\nimport {TabComponent} from \"./tab/tab.component\";\r\nimport {TabsComponent} from \"./tabs/tabs.component\";\r\nimport {FormattingService} from \"./formatting.service\";\r\nimport {ColorPickerComponent} from './color-picker/color-picker.component';\r\nimport {FormattingDirective} from './formatting.directive';\r\nimport {BackFormattingService} from \"./back-formatting.service\";\r\nimport {OnCloseService} from \"./on-close.service\";\r\nimport {SuccessModalComponent} from './success-modal/success-modal.component';\r\nimport {EditorDirective} from './editor.directive';\r\nimport {LoadingMaskComponent} from './loading-mask/loading-mask.component';\r\nimport {LoadingMaskService} from './loading-mask.service';\r\nimport {LoadingMaskInterceptorService} from \"./loading-mask-interceptor.service\";\r\nimport {TabActivatorService} from \"./tab-activator.service\";\r\nimport {\r\n DropDownComponent,\r\n DropDownItemComponent,\r\n DropDownItemsComponent,\r\n DropDownToggleComponent\r\n} from './drop-down/drop-down.component';\r\nimport {ClickOutsideModule} from 'ng-click-outside';\r\nimport {LeftSideBarComponent} from './left-side-bar/left-side-bar.component';\r\nimport {TooltipDirective} from './tooltip.directive';\r\nimport {AddDynamicComponentService} from \"./add-dynamic-component.service\";\r\nimport {HostDynamicDirective} from './host-dynamic.directive';\r\nimport {HostingDynamicComponentService} from \"./hosting-dynamic-component.service\";\r\nimport {ResizingComponent} from './resizing/resizing.component';\r\nimport {TopTabComponent} from './top-tab/top-tab.component';\r\nimport {TopTabActivatorService} from \"./top-tab-activator.service\";\r\nimport {TextMenuComponent} from './text-menu/text-menu.component';\r\nimport {ContextMenuComponent} from './context-menu/context-menu.component';\r\n\r\nconst providers = [ConfigService,\r\n Api,\r\n ModalService,\r\n FileService,\r\n FileModel,\r\n FileUtil,\r\n Utils,\r\n SanitizeHtmlPipe,\r\n SanitizeResourceHtmlPipe,\r\n SanitizeStylePipe,\r\n HighlightSearchPipe,\r\n UploadFilesService,\r\n RenderPrintService,\r\n NavigateService,\r\n PagePreloadService,\r\n ZoomService,\r\n ExceptionMessageService,\r\n PasswordService,\r\n ErrorInterceptorService,\r\n SearchService,\r\n WindowService,\r\n ViewportService,\r\n FormattingService,\r\n BackFormattingService,\r\n OnCloseService,\r\n LoadingMaskInterceptorService,\r\n LoadingMaskService,\r\n TabActivatorService,\r\n AddDynamicComponentService,\r\n HostingDynamicComponentService,\r\n TopTabActivatorService];\r\n\r\n@NgModule({\r\n imports: [CommonModule, FontAwesomeModule, ClickOutsideModule],\r\n declarations: [\r\n TopToolbarComponent,\r\n SidePanelComponent,\r\n ButtonComponent,\r\n LogoComponent,\r\n TooltipComponent,\r\n ModalComponent,\r\n BrowseFilesModalComponent,\r\n DocumentComponent,\r\n PageComponent,\r\n SanitizeHtmlPipe,\r\n SanitizeResourceHtmlPipe,\r\n SanitizeStylePipe,\r\n HighlightSearchPipe,\r\n UploadFileZoneComponent,\r\n DndDirective,\r\n ScrollableDirective,\r\n MouseWheelDirective,\r\n ZoomDirective,\r\n SelectComponent,\r\n DisabledCursorDirective,\r\n RotationDirective,\r\n InitStateComponent,\r\n RenderPrintDirective,\r\n ErrorModalComponent,\r\n PasswordRequiredComponent,\r\n SearchComponent,\r\n SearchableDirective,\r\n TabbedToolbarsComponent,\r\n TabComponent,\r\n TabsComponent,\r\n ColorPickerComponent,\r\n FormattingDirective,\r\n SuccessModalComponent,\r\n EditorDirective,\r\n LoadingMaskComponent,\r\n DropDownComponent,\r\n DropDownItemComponent,\r\n DropDownItemsComponent,\r\n DropDownToggleComponent,\r\n LeftSideBarComponent,\r\n TooltipDirective,\r\n HostDynamicDirective,\r\n ResizingComponent,\r\n TopTabComponent,\r\n TextMenuComponent,\r\n ContextMenuComponent\r\n ],\r\n exports: [\r\n TopToolbarComponent,\r\n SidePanelComponent,\r\n ButtonComponent,\r\n LogoComponent,\r\n TooltipComponent,\r\n ModalComponent,\r\n BrowseFilesModalComponent,\r\n DocumentComponent,\r\n PageComponent,\r\n SanitizeResourceHtmlPipe,\r\n SanitizeStylePipe,\r\n HighlightSearchPipe,\r\n SanitizeHtmlPipe,\r\n UploadFileZoneComponent,\r\n ScrollableDirective,\r\n MouseWheelDirective,\r\n SelectComponent,\r\n RotationDirective,\r\n InitStateComponent,\r\n RenderPrintDirective,\r\n ErrorModalComponent,\r\n PasswordRequiredComponent,\r\n SearchComponent,\r\n SearchableDirective,\r\n TabbedToolbarsComponent,\r\n TabComponent,\r\n TabsComponent,\r\n ColorPickerComponent,\r\n FormattingDirective,\r\n SuccessModalComponent,\r\n LoadingMaskComponent,\r\n DndDirective,\r\n DropDownComponent,\r\n DropDownItemComponent,\r\n DropDownItemsComponent,\r\n DropDownToggleComponent,\r\n ZoomDirective,\r\n DropDownToggleComponent,\r\n LeftSideBarComponent,\r\n TooltipDirective,\r\n HostDynamicDirective,\r\n ResizingComponent,\r\n TopTabComponent,\r\n TextMenuComponent,\r\n ContextMenuComponent\r\n ],\r\n providers: providers\r\n})\r\nexport class CommonComponentsModule {\r\n constructor() {\r\n library.add(fas, far);\r\n }\r\n}\r\n"]} \ No newline at end of file diff --git a/dist/libs/common-components/esm2015/lib/context-menu/context-menu.component.js b/dist/libs/common-components/esm2015/lib/context-menu/context-menu.component.js index 3809b5493..c24f04351 100644 --- a/dist/libs/common-components/esm2015/lib/context-menu/context-menu.component.js +++ b/dist/libs/common-components/esm2015/lib/context-menu/context-menu.component.js @@ -49,9 +49,7 @@ export class ContextMenuComponent { * @return {?} */ (val) => { - if (this.isMobile) { - this.changeScale(val); - } + this.changeScale(val); })); } /** @@ -65,6 +63,9 @@ export class ContextMenuComponent { */ changeScale(val) { this.renderer.setStyle(this._elementRef.nativeElement.querySelector('.gd-context-menu'), 'transform', 'scale(' + 1 / (val / 100) + ')'); + if (!this.isMobile && val && val !== 100) { + this.renderer.setStyle(this._elementRef.nativeElement.querySelector('.gd-context-menu'), 'left', this.translation + 'px'); + } } /** * @return {?} @@ -161,7 +162,7 @@ export class ContextMenuComponent { ContextMenuComponent.decorators = [ { type: Component, args: [{ selector: 'gd-context-menu', - template: "
10 ? 'gd-context-menu-top' : 'gd-context-menu-bottom'\">\n \n \n \n \n \n \n
\n", + template: "
10 ? 'gd-context-menu-top' : 'gd-context-menu-bottom'\">\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n", styles: [".gd-context-menu-top{top:-44px}.gd-context-menu-bottom{bottom:-40px}.gd-context-menu{box-shadow:rgba(0,0,0,.52) 0 0 5px;background-color:#fff;position:absolute;left:0;right:0;margin:auto;cursor:default;width:max-content;width:-moz-max-content;width:-webkit-max-content;display:-webkit-box;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;flex-direction:row;z-index:999}.gd-context-menu .arrows{cursor:move}.gd-context-menu ::ng-deep .active{background-color:#e7e7e7}.gd-context-menu ::ng-deep .icon-button{margin:0!important}@media (max-width:1037px){.gd-context-menu-top{top:-42px;-webkit-transform-origin:bottom center;transform-origin:bottom center}}"] }] } ]; @@ -231,4 +232,4 @@ if (false) { */ ContextMenuComponent.prototype.renderer; } -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGV4dC1tZW51LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0Bncm91cGRvY3MuZXhhbXBsZXMuYW5ndWxhci9jb21tb24tY29tcG9uZW50cy8iLCJzb3VyY2VzIjpbImxpYi9jb250ZXh0LW1lbnUvY29udGV4dC1tZW51LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxFQUFDLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3BHLE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSx1QkFBdUIsQ0FBQztBQUNqRCxPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0sbUJBQW1CLENBQUM7QUFDaEQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRTlDLE1BQU0sT0FBTyxRQUFROztBQUNMLHNCQUFhLEdBQUcsV0FBVyxDQUFDO0FBQzVCLHVCQUFjLEdBQUcsWUFBWSxDQUFDOzs7SUFENUMsdUJBQTBDOztJQUMxQyx3QkFBNEM7O0FBUTlDLE1BQU0sT0FBTyxvQkFBb0I7Ozs7Ozs7SUFlL0IsWUFBb0IsY0FBNkIsRUFDN0IsWUFBeUIsRUFDdkIsV0FBb0MsRUFDdEMsUUFBbUI7UUFIbkIsbUJBQWMsR0FBZCxjQUFjLENBQWU7UUFDN0IsaUJBQVksR0FBWixZQUFZLENBQWE7UUFDdkIsZ0JBQVcsR0FBWCxXQUFXLENBQXlCO1FBQ3RDLGFBQVEsR0FBUixRQUFRLENBQVc7UUFqQjlCLGVBQVUsR0FBZSxVQUFVLENBQUMsT0FBTyxFQUFFLENBQUM7UUFHOUMsU0FBSSxHQUFHLEtBQUssQ0FBQztRQUNiLGdCQUFXLEdBQUcsQ0FBQyxDQUFDO1FBRWYscUJBQWdCLEdBQUcsSUFBSSxZQUFZLEVBQWMsQ0FBQztRQUNsRCxlQUFVLEdBQUcsSUFBSSxZQUFZLEVBQVcsQ0FBQztRQUN6QyxhQUFRLEdBQUcsSUFB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LElBQUksQ0FBQyxRQUFRLEtBQUssUUFBUSxDQUFDLGNBQWMsQ0FBQztJQUNuRCxDQUFDOzs7O0lBRUQsVUFBVTtRQUNSLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQzFCLENBQUM7OztZQXJHRixTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLGlCQUFpQjtnQkFDM0IsZ2pEQUE0Qzs7YUFFN0M7Ozs7WUFaTyxhQUFhO1lBQ1osV0FBVztZQUgrQyxVQUFVO1lBQXJCLFNBQVM7Ozt5QkFnQjlELEtBQUs7dUJBQ0wsS0FBSzswQkFDTCxLQUFLO21CQUNMLEtBQUs7MEJBQ0wsS0FBSzt1QkFDTCxLQUFLOytCQUNMLE1BQU07eUJBQ04sTUFBTTt1QkFDTixNQUFNO3NCQUNOLE1BQU07c0JBQ04sTUFBTTs7OztJQVZQLDBDQUF1RDs7SUFDdkQsd0NBQTJCOztJQUMzQiwyQ0FBNkI7O0lBQzdCLG9DQUFzQjs7SUFDdEIsMkNBQXlCOztJQUN6Qix3Q0FBMEI7O0lBQzFCLGdEQUE0RDs7SUFDNUQsMENBQW1EOztJQUNuRCx3Q0FBaUQ7O0lBQ2pELHVDQUFnRDs7SUFDaEQsdUNBQWdEOztJQUVoRCx3Q0FBa0I7Ozs7O0lBRU4sOENBQXFDOzs7OztJQUNyQyw0Q0FBaUM7Ozs7O0lBQ2pDLDJDQUE4Qzs7Ozs7SUFDOUMsd0NBQTJCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uSW5pdCwgT3V0cHV0LCBSZW5kZXJlcjIsIEVsZW1lbnRSZWZ9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtGb3JtYXR0aW5nfSBmcm9tIFwiLi4vZm9ybWF0dGluZy5zZXJ2aWNlXCI7XG5pbXBvcnQge1dpbmRvd1NlcnZpY2V9IGZyb20gXCIuLi93aW5kb3cuc2VydmljZVwiO1xuaW1wb3J0IHsgWm9vbVNlcnZpY2UgfSBmcm9tICcuLi96b29tLnNlcnZpY2UnO1xuXG5leHBvcnQgY2xhc3MgTWVudVR5cGUge1xuICBwdWJsaWMgc3RhdGljIEZPUl9TSUdOQVRVUkUgPSBcInNpZ25hdHVyZVwiO1xuICBwdWJsaWMgc3RhdGljIEZPUl9BTk5PVEFUSU9OID0gXCJhbm5vdGF0aW9uXCI7XG59XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2dkLWNvbnRleHQtbWVudScsXG4gIHRlbXBsYXRlVXJsOiAnLi9jb250ZXh0LW1lbnUuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9jb250ZXh0LW1lbnUuY29tcG9uZW50Lmxlc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBDb250ZXh0TWVudUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIEBJbnB1dCgpIGZvcm1hdHRpbmc6IEZvcm1hdHRpbmcgPSBGb3JtYXR0aW5nLmRlZmF1bHQoKTtcbiAgQElucHV0KCkgdGV4dE1lbnU6IGJvb2xlYW47XG4gIEBJbnB1dCgpIHRvcFBvc2l0aW9uOiBudW1iZXI7XG4gIEBJbnB1dCgpIGxvY2sgPSBmYWxzZTtcbiAgQElucHV0KCkgdHJhbnNsYXRpb24gPSAwO1xuICBASW5wdXQoKSBtZW51VHlwZTogc3RyaW5nO1xuICBAT3V0cHV0KCkgY2hhbmdlRm9ybWF0dGluZyA9IG5ldyBFdmVudEVtaXR0ZXI8Rm9ybWF0dGluZz4oKTtcbiAgQE91dHB1dCgpIHJlbW92ZUl0ZW0gPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XG4gIEBPdXRwdXQoKSBjb3B5U2lnbiA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcbiAgQE91dHB1dCgpIGxvY2tPdXQgPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XG4gIEBPdXRwdXQoKSBjb21tZW50ID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xuXG4gIGlzTW9iaWxlOiBib29sZWFuO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgX3dpbmRvd1NlcnZpY2U6IFdpbmRvd1NlcnZpY2UsXG4gICAgICAgICAgICAgIHByaXZhdGUgX3pvb21TZXJ2aWNlOiBab29tU2VydmljZSxcbiAgICAgICAgICAgICAgcHJvdGVjdGVkIF9lbGVtZW50UmVmOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PixcbiAgICAgICAgICAgICAgcHJpdmF0ZSByZW5kZXJlcjogUmVuZGVyZXIyKSB7XG4gICAgdGhpcy5pc01vYmlsZSA9IF93aW5kb3dTZXJ2aWNlLmlzTW9iaWxlKCk7XG4gICAgX3dpbmRvd1NlcnZpY2Uub25SZXNpemUuc3Vic2NyaWJlKCh3KSA9PiB7XG4gICAgICB0aGlzLmlzTW9iaWxlID0gX3dpbmRvd1NlcnZpY2UuaXNNb2JpbGUoKTtcbiAgICB9KTtcblxuICAgIF96b29tU2VydmljZS56b29tQ2hhbmdlLnN1YnNjcmliZSgodmFsOiBudW1iZXIpID0+IHtcbiAgICAgIGlmICh0aGlzLmlzTW9iaWxlKVxuICAgICAge1xuICAgICAgICB0aGlzLmNoYW5nZVNjYWxlKHZhbCk7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICBuZ09uSW5pdCgpIHtcbiAgfVxuXG4gIGNoYW5nZVNjYWxlKHZhbDogbnVtYmVyKXtcbiAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKHRoaXMuX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5xdWVyeVNlbGVjdG9yKCcuZ2QtY29udGV4dC1tZW51JyksICd0cmFuc2Zvcm0nLCAnc2NhbGUoJyArIDEvKHZhbC8xMDApICsgJyknKTtcbiAgfVxuXG4gIHNhdmVDaGFuZ2VzKCkge1xuICAgIHRoaXMuY2hhbmdlRm9ybWF0dGluZy5lbWl0KHRoaXMuZm9ybWF0dGluZyk7XG4gIH1cblxuICBzZWxlY3RGb250U2l6ZSgkZXZlbnQ6IG51bWJlcikge1xuICAgIHRoaXMuZm9ybWF0dGluZy5mb250U2l6ZSA9ICRldmVudDtcbiAgICB0aGlzLnNhdmVDaGFuZ2VzKCk7XG4gIH1cblxuICBzZWxlY3RGb250KCRldmVudDogc3RyaW5nKSB7XG4gICAgdGhpcy5mb3JtYXR0aW5nLmZvbnQgPSAkZXZlbnQ7XG4gICAgdGhpcy5zYXZlQ2hhbmdlcygpO1xuICB9XG5cbiAgc2VsZWN0Q29sb3IoJGV2ZW50OiBzdHJpbmcpIHtcbiAgICB0aGlzLmZvcm1hdHRpbmcuY29sb3IgPSAkZXZlbnQ7XG4gICAgdGhpcy5zYXZlQ2hhbmdlcygpO1xuICB9XG5cbiAgdG9nZ2xlQm9sZCgkZXZlbnQpIHtcbiAgICB0aGlzLmZvcm1hdHRpbmcuYm9sZCA9ICRldmVudDtcbiAgICB0aGlzLnNhdmVDaGFuZ2VzKCk7XG4gIH1cblxuICB0b2dnbGVJdGFsaWMoJGV2ZW50KSB7XG4gICAgdGhpcy5mb3JtYXR0aW5nLml0YWxpYyA9ICRldmVudDtcbiAgICB0aGlzLnNhdmVDaGFuZ2VzKCk7XG4gIH1cblxuICB0b2dnbGVVbmRlcmxpbmUoJGV2ZW50KSB7XG4gICAgdGhpcy5mb3JtYXR0aW5nLnVuZGVybGluZSA9ICRldmVudDtcbiAgICB0aGlzLnNhdmVDaGFuZ2VzKCk7XG4gIH1cblxuICBkZWxldGVJdGVtKCkge1xuICAgIHRoaXMucmVtb3ZlSXRlbS5lbWl0KHRydWUpO1xuICB9XG5cbiAgdG9nZ2xlTG9jaygpIHtcbiAgICB0aGlzLmxvY2sgPSAhdGhpcy5sb2NrO1xuICAgIHRoaXMubG9ja091dC5lbWl0KHRoaXMubG9jayk7XG4gIH1cblxuICBvbkNvcHlTaWduKCkge1xuICAgIHRoaXMuY29weVNpZ24uZW1pdCh0cnVlKTtcbiAgfVxuXG4gIGlzU2lnbmF0dXJlKCkge1xuICAgIHJldHVybiB0aGlzLm1lbnVUeXBlID09PSBNZW51VHlwZS5GT1JfU0lHTkFUVVJFO1xuICB9XG5cbiAgaXNBbm5vdGF0aW9uKCkge1xuICAgIHJldHVybiB0aGlzLm1lbnVUeXBlID09PSBNZW51VHlwZS5GT1JfQU5OT1RBVElPTjtcbiAgfVxuXG4gIGFkZENvbW1lbnQoKSB7XG4gICAgdGhpcy5jb21tZW50LmVtaXQodHJ1ZSk7XG4gIH1cbn1cbiJdfQ== \ No newline at end of file +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGV4dC1tZW51LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0Bncm91cGRvY3MuZXhhbXBsZXMuYW5ndWxhci9jb21tb24tY29tcG9uZW50cy8iLCJzb3VyY2VzIjpbImxpYi9jb250ZXh0LW1lbnUvY29udGV4dC1tZW51LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxFQUFDLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3BHLE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSx1QkFBdUIsQ0FBQztBQUNqRCxPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0sbUJBQW1CLENBQUM7QUFDaEQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRTlDLE1BQU0sT0FBTyxRQUFROztBQUNMLHNCQUFhLEdBQUcsV0FBVyxDQUFDO0FBQzVCLHVCQUFjLEdBQUcsWUFBWSxDQUFDOzs7SUFENUMsdUJBQTBDOztJQUMxQyx3QkFBNEM7O0FBUTlDLE1BQU0sT0FBTyxvQkFBb0I7Ozs7Ozs7SUFlL0IsWUFBb0IsY0FBNkIsRUFDN0IsWUFBeUIsRUFDdkIsV0FBb0MsRUFDdEMsUUFBbUI7UUFIbkIsbUJBQWMsR0FBZCxjQUFjLENBQWU7UUFDN0IsaUJBQVksR0FBWixZQUFZLENBQWE7UUFDdkIsZ0JBQVcsR0FBWCxXQUFXLENBQXlCO1FBQ3RDLGFBQVEsR0FBUixRQUFRLENBQVc7UUFqQjlCLGVBQVUsR0FBZSxVQUFVLENBQUMsT0FBTyxFQUFFLENBQUM7UUFHOUMsU0FBSSxHQUFHLEtBQUssQ0FBQztRQUNiLGdCQUFXLEdBQUcsQ0FBQyxDQUFDO1FBRWYscUJBQWdCLEdBQUcsSUFBSSxZQUFZLEVBQWMsQ0FBQztRQUNsRCxlQUFVLEdBQUcsSUFBSSxZQUFZLEVBQVcsQ0FBQztRQUN6QyxhQUFRLEdBQUcsSUFB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Qzs7OztJQUVELFVBQVU7UUFDUixJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUMzQixDQUFDOzs7O0lBRUQsV0FBVztRQUNULE9BQU8sSUFBSSxDQUFDLFFBQVEsS0FBSyxRQUFRLENBQUMsYUFBYSxDQUFDO0lBQ2xELENBQUM7Ozs7SUFFRCxZQUFZO1FBQ1YsT0FBTyxJQUFJLENBQUMsUUFBUSxLQUFLLFFBQVEsQ0FBQyxjQUFjLENBQUM7SUFDbkQsQ0FBQzs7OztJQUVELFVBQVU7UUFDUixJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUMxQixDQUFDOzs7WUFyR0YsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSxpQkFBaUI7Z0JBQzNCLG9sREFBNEM7O2FBRTdDOzs7O1lBWk8sYUFBYTtZQUNaLFdBQVc7WUFIK0MsVUFBVTtZQUFyQixTQUFTOzs7eUJBZ0I5RCxLQUFLO3VCQUNMLEtBQUs7MEJBQ0wsS0FBSzttQkFDTCxLQUFLOzBCQUNMLEtBQUs7dUJBQ0wsS0FBSzsrQkFDTCxNQUFNO3lCQUNOLE1BQU07dUJBQ04sTUFBTTtzQkFDTixNQUFNO3NCQUNOLE1BQU07Ozs7SUFWUCwwQ0FBdUQ7O0lBQ3ZELHdDQUEyQjs7SUFDM0IsMkNBQTZCOztJQUM3QixvQ0FBc0I7O0lBQ3RCLDJDQUF5Qjs7SUFDekIsd0NBQTBCOztJQUMxQixnREFBNEQ7O0lBQzVELDBDQUFtRDs7SUFDbkQsd0NBQWlEOztJQUNqRCx1Q0FBZ0Q7O0lBQ2hELHVDQUFnRDs7SUFFaEQsd0NBQWtCOzs7OztJQUVOLDhDQUFxQzs7Ozs7SUFDckMsNENBQWlDOzs7OztJQUNqQywyQ0FBOEM7Ozs7O0lBQzlDLHdDQUEyQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkluaXQsIE91dHB1dCwgUmVuZGVyZXIyLCBFbGVtZW50UmVmfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHtGb3JtYXR0aW5nfSBmcm9tIFwiLi4vZm9ybWF0dGluZy5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7V2luZG93U2VydmljZX0gZnJvbSBcIi4uL3dpbmRvdy5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7IFpvb21TZXJ2aWNlIH0gZnJvbSAnLi4vem9vbS5zZXJ2aWNlJztcclxuXHJcbmV4cG9ydCBjbGFzcyBNZW51VHlwZSB7XHJcbiAgcHVibGljIHN0YXRpYyBGT1JfU0lHTkFUVVJFID0gXCJzaWduYXR1cmVcIjtcclxuICBwdWJsaWMgc3RhdGljIEZPUl9BTk5PVEFUSU9OID0gXCJhbm5vdGF0aW9uXCI7XHJcbn1cclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnZ2QtY29udGV4dC1tZW51JyxcclxuICB0ZW1wbGF0ZVVybDogJy4vY29udGV4dC1tZW51LmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9jb250ZXh0LW1lbnUuY29tcG9uZW50Lmxlc3MnXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgQ29udGV4dE1lbnVDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG4gIEBJbnB1dCgpIGZvcm1hdHRpbmc6IEZvcm1hdHRpbmcgPSBGb3JtYXR0aW5nLmRlZmF1bHQoKTtcclxuICBASW5wdXQoKSB0ZXh0TWVudTogYm9vbGVhbjtcclxuICBASW5wdXQoKSB0b3BQb3NpdGlvbjogbnVtYmVyO1xyXG4gIEBJbnB1dCgpIGxvY2sgPSBmYWxzZTtcclxuICBASW5wdXQoKSB0cmFuc2xhdGlvbiA9IDA7XHJcbiAgQElucHV0KCkgbWVudVR5cGU6IHN0cmluZztcclxuICBAT3V0cHV0KCkgY2hhbmdlRm9ybWF0dGluZyA9IG5ldyBFdmVudEVtaXR0ZXI8Rm9ybWF0dGluZz4oKTtcclxuICBAT3V0cHV0KCkgcmVtb3ZlSXRlbSA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcclxuICBAT3V0cHV0KCkgY29weVNpZ24gPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XHJcbiAgQE91dHB1dCgpIGxvY2tPdXQgPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XHJcbiAgQE91dHB1dCgpIGNvbW1lbnQgPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XHJcblxyXG4gIGlzTW9iaWxlOiBib29sZWFuO1xyXG5cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIF93aW5kb3dTZXJ2aWNlOiBXaW5kb3dTZXJ2aWNlLFxyXG4gICAgICAgICAgICAgIHByaXZhdGUgX3pvb21TZXJ2aWNlOiBab29tU2VydmljZSxcclxuICAgICAgICAgICAgICBwcm90ZWN0ZWQgX2VsZW1lbnRSZWY6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+LFxyXG4gICAgICAgICAgICAgIHByaXZhdGUgcmVuZGVyZXI6IFJlbmRlcmVyMikge1xyXG4gICAgdGhpcy5pc01vYmlsZSA9IF93aW5kb3dTZXJ2aWNlLmlzTW9iaWxlKCk7XHJcbiAgICBfd2luZG93U2VydmljZS5vblJlc2l6ZS5zdWJzY3JpYmUoKHcpID0+IHtcclxuICAgICAgdGhpcy5pc01vYmlsZSA9IF93aW5kb3dTZXJ2aWNlLmlzTW9iaWxlKCk7XHJcbiAgICB9KTtcclxuXHJcbiAgICBfem9vbVNlcnZpY2Uuem9vbUNoYW5nZS5zdWJzY3JpYmUoKHZhbDogbnVtYmVyKSA9PiB7XHJcbiAgICAgIHRoaXMuY2hhbmdlU2NhbGUodmFsKTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgbmdPbkluaXQoKSB7XHJcbiAgfVxyXG5cclxuICBjaGFuZ2VTY2FsZSh2YWw6IG51bWJlcil7XHJcbiAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKHRoaXMuX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5xdWVyeVNlbGVjdG9yKCcuZ2QtY29udGV4dC1tZW51JyksICd0cmFuc2Zvcm0nLCAnc2NhbGUoJyArIDEvKHZhbC8xMDApICsgJyknKTtcclxuICAgIGlmICghdGhpcy5pc01vYmlsZSAmJiB2YWwgJiYgdmFsICE9PSAxMDApIHtcclxuICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0aGlzLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQucXVlcnlTZWxlY3RvcignLmdkLWNvbnRleHQtbWVudScpLCAnbGVmdCcsIHRoaXMudHJhbnNsYXRpb24gKyAncHgnKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHNhdmVDaGFuZ2VzKCkge1xyXG4gICAgdGhpcy5jaGFuZ2VGb3JtYXR0aW5nLmVtaXQodGhpcy5mb3JtYXR0aW5nKTtcclxuICB9XHJcblxyXG4gIHNlbGVjdEZvbnRTaXplKCRldmVudDogbnVtYmVyKSB7XHJcbiAgICB0aGlzLmZvcm1hdHRpbmcuZm9udFNpemUgPSAkZXZlbnQ7XHJcbiAgICB0aGlzLnNhdmVDaGFuZ2VzKCk7XHJcbiAgfVxyXG5cclxuICBzZWxlY3RGb250KCRldmVudDogc3RyaW5nKSB7XHJcbiAgICB0aGlzLmZvcm1hdHRpbmcuZm9udCA9ICRldmVudDtcclxuICAgIHRoaXMuc2F2ZUNoYW5nZXMoKTtcclxuICB9XHJcblxyXG4gIHNlbGVjdENvbG9yKCRldmVudDogc3RyaW5nKSB7XHJcbiAgICB0aGlzLmZvcm1hdHRpbmcuY29sb3IgPSAkZXZlbnQ7XHJcbiAgICB0aGlzLnNhdmVDaGFuZ2VzKCk7XHJcbiAgfVxyXG5cclxuICB0b2dnbGVCb2xkKCRldmVudCkge1xyXG4gICAgdGhpcy5mb3JtYXR0aW5nLmJvbGQgPSAkZXZlbnQ7XHJcbiAgICB0aGlzLnNhdmVDaGFuZ2VzKCk7XHJcbiAgfVxyXG5cclxuICB0b2dnbGVJdGFsaWMoJGV2ZW50KSB7XHJcbiAgICB0aGlzLmZvcm1hdHRpbmcuaXRhbGljID0gJGV2ZW50O1xyXG4gICAgdGhpcy5zYXZlQ2hhbmdlcygpO1xyXG4gIH1cclxuXHJcbiAgdG9nZ2xlVW5kZXJsaW5lKCRldmVudCkge1xyXG4gICAgdGhpcy5mb3JtYXR0aW5nLnVuZGVybGluZSA9ICRldmVudDtcclxuICAgIHRoaXMuc2F2ZUNoYW5nZXMoKTtcclxuICB9XHJcblxyXG4gIGRlbGV0ZUl0ZW0oKSB7XHJcbiAgICB0aGlzLnJlbW92ZUl0ZW0uZW1pdCh0cnVlKTtcclxuICB9XHJcblxyXG4gIHRvZ2dsZUxvY2soKSB7XHJcbiAgICB0aGlzLmxvY2sgPSAhdGhpcy5sb2NrO1xyXG4gICAgdGhpcy5sb2NrT3V0LmVtaXQodGhpcy5sb2NrKTtcclxuICB9XHJcblxyXG4gIG9uQ29weVNpZ24oKSB7XHJcbiAgICB0aGlzLmNvcHlTaWduLmVtaXQodHJ1ZSk7XHJcbiAgfVxyXG5cclxuICBpc1NpZ25hdHVyZSgpIHtcclxuICAgIHJldHVybiB0aGlzLm1lbnVUeXBlID09PSBNZW51VHlwZS5GT1JfU0lHTkFUVVJFO1xyXG4gIH1cclxuXHJcbiAgaXNBbm5vdGF0aW9uKCkge1xyXG4gICAgcmV0dXJuIHRoaXMubWVudVR5cGUgPT09IE1lbnVUeXBlLkZPUl9BTk5PVEFUSU9OO1xyXG4gIH1cclxuXHJcbiAgYWRkQ29tbWVudCgpIHtcclxuICAgIHRoaXMuY29tbWVudC5lbWl0KHRydWUpO1xyXG4gIH1cclxufVxyXG4iXX0= \ No newline at end of file diff --git a/dist/libs/common-components/esm5/lib/context-menu/context-menu.component.js b/dist/libs/common-components/esm5/lib/context-menu/context-menu.component.js index ea92d02b6..5afb565ba 100644 --- a/dist/libs/common-components/esm5/lib/context-menu/context-menu.component.js +++ b/dist/libs/common-components/esm5/lib/context-menu/context-menu.component.js @@ -48,9 +48,7 @@ var ContextMenuComponent = /** @class */ (function () { * @return {?} */ function (val) { - if (_this.isMobile) { - _this.changeScale(val); - } + _this.changeScale(val); })); } /** @@ -71,6 +69,9 @@ var ContextMenuComponent = /** @class */ (function () { */ function (val) { this.renderer.setStyle(this._elementRef.nativeElement.querySelector('.gd-context-menu'), 'transform', 'scale(' + 1 / (val / 100) + ')'); + if (!this.isMobile && val && val !== 100) { + this.renderer.setStyle(this._elementRef.nativeElement.querySelector('.gd-context-menu'), 'left', this.translation + 'px'); + } }; /** * @return {?} @@ -211,7 +212,7 @@ var ContextMenuComponent = /** @class */ (function () { ContextMenuComponent.decorators = [ { type: Component, args: [{ selector: 'gd-context-menu', - template: "
10 ? 'gd-context-menu-top' : 'gd-context-menu-bottom'\">\n \n \n \n \n \n \n
\n", + template: "
10 ? 'gd-context-menu-top' : 'gd-context-menu-bottom'\">\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n", styles: [".gd-context-menu-top{top:-44px}.gd-context-menu-bottom{bottom:-40px}.gd-context-menu{box-shadow:rgba(0,0,0,.52) 0 0 5px;background-color:#fff;position:absolute;left:0;right:0;margin:auto;cursor:default;width:max-content;width:-moz-max-content;width:-webkit-max-content;display:-webkit-box;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;flex-direction:row;z-index:999}.gd-context-menu .arrows{cursor:move}.gd-context-menu ::ng-deep .active{background-color:#e7e7e7}.gd-context-menu ::ng-deep .icon-button{margin:0!important}@media (max-width:1037px){.gd-context-menu-top{top:-42px;-webkit-transform-origin:bottom center;transform-origin:bottom center}}"] }] } ]; @@ -284,4 +285,4 @@ if (false) { */ ContextMenuComponent.prototype.renderer; } -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGV4dC1tZW51LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0Bncm91cGRvY3MuZXhhbXBsZXMuYW5ndWxhci9jb21tb24tY29tcG9uZW50cy8iLCJzb3VyY2VzIjpbImxpYi9jb250ZXh0LW1lbnUvY29udGV4dC1tZW51LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxFQUFDLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3BHLE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSx1QkFBdUIsQ0FBQztBQUNqRCxPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0sbUJBQW1CLENBQUM7QUFDaEQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRTlDO0lBQUE7SUFHQSxDQUFDO0lBRmUsc0JBQWEsR0FBRyxXQUFXLENBQUM7SUFDNUIsdUJBQWMsR0FBRyxZQUFZLENBQUM7SUFDOUMsZUFBQztDQUFBLEFBSEQsSUFHQztTQUhZLFFBQVE7OztJQUNuQix1QkFBMEM7O0lBQzFDLHdCQUE0Qzs7QUFHOUM7SUFvQkUsOEJBQW9CLGNBQTZCLEVBQzdCLFlBQXlCLEVBQ3ZCLFdBQW9DLEVBQ3RDLFFBQW1CO1FBSHZDLGlCQWVDO1FBZm1CLG1CQUFjLEdBQWQsY0FBYyxDQUFlO1FBQzdCLGlCQUFZLEdBQVosWUFBWSxDQUFhO1FBQ3ZCLGdCQUFXLEdBQVgsV0FBVyxDQUF5QjtRQUN0QyxhQUFRLEdBQVIsUUFBUSxDQUFXO1FBakI5QixlQUFVLEdBQWUsVUFBVSxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBRzlDLFNBQUksR0FBRyxLQUFLLENBQUM7UUFDYixnQkFBVyxHQUFHLENBQUMsQ0FBQztRQUVmLHFCQUFnQixHQUFHLElBQUksWUFBWSxFQUFjLENBQUM7UUFDbEQsZUFBVSxHQUFHLElBQUksWUFBWSxFQUFX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QztJQUMzQixDQUFDOzs7O0lBRUQsMENBQVc7OztJQUFYO1FBQ0UsT0FBTyxJQUFJLENBQUMsUUFBUSxLQUFLLFFBQVEsQ0FBQyxhQUFhLENBQUM7SUFDbEQsQ0FBQzs7OztJQUVELDJDQUFZOzs7SUFBWjtRQUNFLE9BQU8sSUFBSSxDQUFDLFFBQVEsS0FBSyxRQUFRLENBQUMsY0FBYyxDQUFDO0lBQ25ELENBQUM7Ozs7SUFFRCx5Q0FBVTs7O0lBQVY7UUFDRSxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUMxQixDQUFDOztnQkFyR0YsU0FBUyxTQUFDO29CQUNULFFBQVEsRUFBRSxpQkFBaUI7b0JBQzNCLGdqREFBNEM7O2lCQUU3Qzs7OztnQkFaTyxhQUFhO2dCQUNaLFdBQVc7Z0JBSCtDLFVBQVU7Z0JBQXJCLFNBQVM7Ozs2QkFnQjlELEtBQUs7MkJBQ0wsS0FBSzs4QkFDTCxLQUFLO3VCQUNMLEtBQUs7OEJBQ0wsS0FBSzsyQkFDTCxLQUFLO21DQUNMLE1BQU07NkJBQ04sTUFBTTsyQkFDTixNQUFNOzBCQUNOLE1BQU07MEJBQ04sTUFBTTs7SUFzRlQsMkJBQUM7Q0FBQSxBQXRHRCxJQXNHQztTQWpHWSxvQkFBb0I7OztJQUMvQiwwQ0FBdUQ7O0lBQ3ZELHdDQUEyQjs7SUFDM0IsMkNBQTZCOztJQUM3QixvQ0FBc0I7O0lBQ3RCLDJDQUF5Qjs7SUFDekIsd0NBQTBCOztJQUMxQixnREFBNEQ7O0lBQzVELDBDQUFtRDs7SUFDbkQsd0NBQWlEOztJQUNqRCx1Q0FBZ0Q7O0lBQ2hELHVDQUFnRDs7SUFFaEQsd0NBQWtCOzs7OztJQUVOLDhDQUFxQzs7Ozs7SUFDckMsNENBQWlDOzs7OztJQUNqQywyQ0FBOEM7Ozs7O0lBQzlDLHdDQUEyQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkluaXQsIE91dHB1dCwgUmVuZGVyZXIyLCBFbGVtZW50UmVmfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7Rm9ybWF0dGluZ30gZnJvbSBcIi4uL2Zvcm1hdHRpbmcuc2VydmljZVwiO1xuaW1wb3J0IHtXaW5kb3dTZXJ2aWNlfSBmcm9tIFwiLi4vd2luZG93LnNlcnZpY2VcIjtcbmltcG9ydCB7IFpvb21TZXJ2aWNlIH0gZnJvbSAnLi4vem9vbS5zZXJ2aWNlJztcblxuZXhwb3J0IGNsYXNzIE1lbnVUeXBlIHtcbiAgcHVibGljIHN0YXRpYyBGT1JfU0lHTkFUVVJFID0gXCJzaWduYXR1cmVcIjtcbiAgcHVibGljIHN0YXRpYyBGT1JfQU5OT1RBVElPTiA9IFwiYW5ub3RhdGlvblwiO1xufVxuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdnZC1jb250ZXh0LW1lbnUnLFxuICB0ZW1wbGF0ZVVybDogJy4vY29udGV4dC1tZW51LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vY29udGV4dC1tZW51LmNvbXBvbmVudC5sZXNzJ11cbn0pXG5leHBvcnQgY2xhc3MgQ29udGV4dE1lbnVDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBASW5wdXQoKSBmb3JtYXR0aW5nOiBGb3JtYXR0aW5nID0gRm9ybWF0dGluZy5kZWZhdWx0KCk7XG4gIEBJbnB1dCgpIHRleHRNZW51OiBib29sZWFuO1xuICBASW5wdXQoKSB0b3BQb3NpdGlvbjogbnVtYmVyO1xuICBASW5wdXQoKSBsb2NrID0gZmFsc2U7XG4gIEBJbnB1dCgpIHRyYW5zbGF0aW9uID0gMDtcbiAgQElucHV0KCkgbWVudVR5cGU6IHN0cmluZztcbiAgQE91dHB1dCgpIGNoYW5nZUZvcm1hdHRpbmcgPSBuZXcgRXZlbnRFbWl0dGVyPEZvcm1hdHRpbmc+KCk7XG4gIEBPdXRwdXQoKSByZW1vdmVJdGVtID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xuICBAT3V0cHV0KCkgY29weVNpZ24gPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XG4gIEBPdXRwdXQoKSBsb2NrT3V0ID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xuICBAT3V0cHV0KCkgY29tbWVudCA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcblxuICBpc01vYmlsZTogYm9vbGVhbjtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIF93aW5kb3dTZXJ2aWNlOiBXaW5kb3dTZXJ2aWNlLFxuICAgICAgICAgICAgICBwcml2YXRlIF96b29tU2VydmljZTogWm9vbVNlcnZpY2UsXG4gICAgICAgICAgICAgIHByb3RlY3RlZCBfZWxlbWVudFJlZjogRWxlbWVudFJlZjxIVE1MRWxlbWVudD4sXG4gICAgICAgICAgICAgIHByaXZhdGUgcmVuZGVyZXI6IFJlbmRlcmVyMikge1xuICAgIHRoaXMuaXNNb2JpbGUgPSBfd2luZG93U2VydmljZS5pc01vYmlsZSgpO1xuICAgIF93aW5kb3dTZXJ2aWNlLm9uUmVzaXplLnN1YnNjcmliZSgodykgPT4ge1xuICAgICAgdGhpcy5pc01vYmlsZSA9IF93aW5kb3dTZXJ2aWNlLmlzTW9iaWxlKCk7XG4gICAgfSk7XG5cbiAgICBfem9vbVNlcnZpY2Uuem9vbUNoYW5nZS5zdWJzY3JpYmUoKHZhbDogbnVtYmVyKSA9PiB7XG4gICAgICBpZiAodGhpcy5pc01vYmlsZSlcbiAgICAgIHtcbiAgICAgICAgdGhpcy5jaGFuZ2VTY2FsZSh2YWwpO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgbmdPbkluaXQoKSB7XG4gIH1cblxuICBjaGFuZ2VTY2FsZSh2YWw6IG51bWJlcil7XG4gICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0aGlzLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQucXVlcnlTZWxlY3RvcignLmdkLWNvbnRleHQtbWVudScpLCAndHJhbnNmb3JtJywgJ3NjYWxlKCcgKyAxLyh2YWwvMTAwKSArICcpJyk7XG4gIH1cblxuICBzYXZlQ2hhbmdlcygpIHtcbiAgICB0aGlzLmNoYW5nZUZvcm1hdHRpbmcuZW1pdCh0aGlzLmZvcm1hdHRpbmcpO1xuICB9XG5cbiAgc2VsZWN0Rm9udFNpemUoJGV2ZW50OiBudW1iZXIpIHtcbiAgICB0aGlzLmZvcm1hdHRpbmcuZm9udFNpemUgPSAkZXZlbnQ7XG4gICAgdGhpcy5zYXZlQ2hhbmdlcygpO1xuICB9XG5cbiAgc2VsZWN0Rm9udCgkZXZlbnQ6IHN0cmluZykge1xuICAgIHRoaXMuZm9ybWF0dGluZy5mb250ID0gJGV2ZW50O1xuICAgIHRoaXMuc2F2ZUNoYW5nZXMoKTtcbiAgfVxuXG4gIHNlbGVjdENvbG9yKCRldmVudDogc3RyaW5nKSB7XG4gICAgdGhpcy5mb3JtYXR0aW5nLmNvbG9yID0gJGV2ZW50O1xuICAgIHRoaXMuc2F2ZUNoYW5nZXMoKTtcbiAgfVxuXG4gIHRvZ2dsZUJvbGQoJGV2ZW50KSB7XG4gICAgdGhpcy5mb3JtYXR0aW5nLmJvbGQgPSAkZXZlbnQ7XG4gICAgdGhpcy5zYXZlQ2hhbmdlcygpO1xuICB9XG5cbiAgdG9nZ2xlSXRhbGljKCRldmVudCkge1xuICAgIHRoaXMuZm9ybWF0dGluZy5pdGFsaWMgPSAkZXZlbnQ7XG4gICAgdGhpcy5zYXZlQ2hhbmdlcygpO1xuICB9XG5cbiAgdG9nZ2xlVW5kZXJsaW5lKCRldmVudCkge1xuICAgIHRoaXMuZm9ybWF0dGluZy51bmRlcmxpbmUgPSAkZXZlbnQ7XG4gICAgdGhpcy5zYXZlQ2hhbmdlcygpO1xuICB9XG5cbiAgZGVsZXRlSXRlbSgpIHtcbiAgICB0aGlzLnJlbW92ZUl0ZW0uZW1pdCh0cnVlKTtcbiAgfVxuXG4gIHRvZ2dsZUxvY2soKSB7XG4gICAgdGhpcy5sb2NrID0gIXRoaXMubG9jaztcbiAgICB0aGlzLmxvY2tPdXQuZW1pdCh0aGlzLmxvY2spO1xuICB9XG5cbiAgb25Db3B5U2lnbigpIHtcbiAgICB0aGlzLmNvcHlTaWduLmVtaXQodHJ1ZSk7XG4gIH1cblxuICBpc1NpZ25hdHVyZSgpIHtcbiAgICByZXR1cm4gdGhpcy5tZW51VHlwZSA9PT0gTWVudVR5cGUuRk9SX1NJR05BVFVSRTtcbiAgfVxuXG4gIGlzQW5ub3RhdGlvbigpIHtcbiAgICByZXR1cm4gdGhpcy5tZW51VHlwZSA9PT0gTWVudVR5cGUuRk9SX0FOTk9UQVRJT047XG4gIH1cblxuICBhZGRDb21tZW50KCkge1xuICAgIHRoaXMuY29tbWVudC5lbWl0KHRydWUpO1xuICB9XG59XG4iXX0= \ No newline at end of file +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGV4dC1tZW51LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0Bncm91cGRvY3MuZXhhbXBsZXMuYW5ndWxhci9jb21tb24tY29tcG9uZW50cy8iLCJzb3VyY2VzIjpbImxpYi9jb250ZXh0LW1lbnUvY29udGV4dC1tZW51LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxFQUFDLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3BHLE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSx1QkFBdUIsQ0FBQztBQUNqRCxPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0sbUJBQW1CLENBQUM7QUFDaEQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRTlDO0lBQUE7SUFHQSxDQUFDO0lBRmUsc0JBQWEsR0FBRyxXQUFXLENBQUM7SUFDNUIsdUJBQWMsR0FBRyxZQUFZLENBQUM7SUFDOUMsZUFBQztDQUFBLEFBSEQsSUFHQztTQUhZLFFBQVE7OztJQUNuQix1QkFBMEM7O0lBQzFDLHdCQUE0Qzs7QUFHOUM7SUFvQkUsOEJBQW9CLGNBQTZCLEVBQzdCLFlBQXlCLEVBQ3ZCLFdBQW9DLEVBQ3RDLFFBQW1CO1FBSHZDLGlCQVlDO1FBWm1CLG1CQUFjLEdBQWQsY0FBYyxDQUFlO1FBQzdCLGlCQUFZLEdBQVosWUFBWSxDQUFhO1FBQ3ZCLGdCQUFXLEdBQVgsV0FBVyxDQUF5QjtRQUN0QyxhQUFRLEdBQVIsUUFBUSxDQUFXO1FBakI5QixlQUFVLEdBQWUsVUFBVSxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBRzlDLFNBQUksR0FBRyxLQUFLLENBQUM7UUFDYixnQkFBVyxHQUFHLENBQUMsQ0FBQztRQUVmLHFCQUFnQixHQUFHLElBQUksWUFBWSxFQUFjLENBQUM7UUFDbEQsZUFBVSxHQUFHLElBQUksWUFBWSxFQUFX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O0lBQ3JDLDRDQUFpQzs7Ozs7SUFDakMsMkNBQThDOzs7OztJQUM5Qyx3Q0FBMkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25Jbml0LCBPdXRwdXQsIFJlbmRlcmVyMiwgRWxlbWVudFJlZn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7Rm9ybWF0dGluZ30gZnJvbSBcIi4uL2Zvcm1hdHRpbmcuc2VydmljZVwiO1xyXG5pbXBvcnQge1dpbmRvd1NlcnZpY2V9IGZyb20gXCIuLi93aW5kb3cuc2VydmljZVwiO1xyXG5pbXBvcnQgeyBab29tU2VydmljZSB9IGZyb20gJy4uL3pvb20uc2VydmljZSc7XHJcblxyXG5leHBvcnQgY2xhc3MgTWVudVR5cGUge1xyXG4gIHB1YmxpYyBzdGF0aWMgRk9SX1NJR05BVFVSRSA9IFwic2lnbmF0dXJlXCI7XHJcbiAgcHVibGljIHN0YXRpYyBGT1JfQU5OT1RBVElPTiA9IFwiYW5ub3RhdGlvblwiO1xyXG59XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2dkLWNvbnRleHQtbWVudScsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2NvbnRleHQtbWVudS5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vY29udGV4dC1tZW51LmNvbXBvbmVudC5sZXNzJ11cclxufSlcclxuZXhwb3J0IGNsYXNzIENvbnRleHRNZW51Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuICBASW5wdXQoKSBmb3JtYXR0aW5nOiBGb3JtYXR0aW5nID0gRm9ybWF0dGluZy5kZWZhdWx0KCk7XHJcbiAgQElucHV0KCkgdGV4dE1lbnU6IGJvb2xlYW47XHJcbiAgQElucHV0KCkgdG9wUG9zaXRpb246IG51bWJlcjtcclxuICBASW5wdXQoKSBsb2NrID0gZmFsc2U7XHJcbiAgQElucHV0KCkgdHJhbnNsYXRpb24gPSAwO1xyXG4gIEBJbnB1dCgpIG1lbnVUeXBlOiBzdHJpbmc7XHJcbiAgQE91dHB1dCgpIGNoYW5nZUZvcm1hdHRpbmcgPSBuZXcgRXZlbnRFbWl0dGVyPEZvcm1hdHRpbmc+KCk7XHJcbiAgQE91dHB1dCgpIHJlbW92ZUl0ZW0gPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XHJcbiAgQE91dHB1dCgpIGNvcHlTaWduID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xyXG4gIEBPdXRwdXQoKSBsb2NrT3V0ID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xyXG4gIEBPdXRwdXQoKSBjb21tZW50ID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xyXG5cclxuICBpc01vYmlsZTogYm9vbGVhbjtcclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBfd2luZG93U2VydmljZTogV2luZG93U2VydmljZSxcclxuICAgICAgICAgICAgICBwcml2YXRlIF96b29tU2VydmljZTogWm9vbVNlcnZpY2UsXHJcbiAgICAgICAgICAgICAgcHJvdGVjdGVkIF9lbGVtZW50UmVmOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PixcclxuICAgICAgICAgICAgICBwcml2YXRlIHJlbmRlcmVyOiBSZW5kZXJlcjIpIHtcclxuICAgIHRoaXMuaXNNb2JpbGUgPSBfd2luZG93U2VydmljZS5pc01vYmlsZSgpO1xyXG4gICAgX3dpbmRvd1NlcnZpY2Uub25SZXNpemUuc3Vic2NyaWJlKCh3KSA9PiB7XHJcbiAgICAgIHRoaXMuaXNNb2JpbGUgPSBfd2luZG93U2VydmljZS5pc01vYmlsZSgpO1xyXG4gICAgfSk7XHJcblxyXG4gICAgX3pvb21TZXJ2aWNlLnpvb21DaGFuZ2Uuc3Vic2NyaWJlKCh2YWw6IG51bWJlcikgPT4ge1xyXG4gICAgICB0aGlzLmNoYW5nZVNjYWxlKHZhbCk7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIG5nT25Jbml0KCkge1xyXG4gIH1cclxuXHJcbiAgY2hhbmdlU2NhbGUodmFsOiBudW1iZXIpe1xyXG4gICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0aGlzLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQucXVlcnlTZWxlY3RvcignLmdkLWNvbnRleHQtbWVudScpLCAndHJhbnNmb3JtJywgJ3NjYWxlKCcgKyAxLyh2YWwvMTAwKSArICcpJyk7XHJcbiAgICBpZiAoIXRoaXMuaXNNb2JpbGUgJiYgdmFsICYmIHZhbCAhPT0gMTAwKSB7XHJcbiAgICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUodGhpcy5fZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LnF1ZXJ5U2VsZWN0b3IoJy5nZC1jb250ZXh0LW1lbnUnKSwgJ2xlZnQnLCB0aGlzLnRyYW5zbGF0aW9uICsgJ3B4Jyk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBzYXZlQ2hhbmdlcygpIHtcclxuICAgIHRoaXMuY2hhbmdlRm9ybWF0dGluZy5lbWl0KHRoaXMuZm9ybWF0dGluZyk7XHJcbiAgfVxyXG5cclxuICBzZWxlY3RGb250U2l6ZSgkZXZlbnQ6IG51bWJlcikge1xyXG4gICAgdGhpcy5mb3JtYXR0aW5nLmZvbnRTaXplID0gJGV2ZW50O1xyXG4gICAgdGhpcy5zYXZlQ2hhbmdlcygpO1xyXG4gIH1cclxuXHJcbiAgc2VsZWN0Rm9udCgkZXZlbnQ6IHN0cmluZykge1xyXG4gICAgdGhpcy5mb3JtYXR0aW5nLmZvbnQgPSAkZXZlbnQ7XHJcbiAgICB0aGlzLnNhdmVDaGFuZ2VzKCk7XHJcbiAgfVxyXG5cclxuICBzZWxlY3RDb2xvcigkZXZlbnQ6IHN0cmluZykge1xyXG4gICAgdGhpcy5mb3JtYXR0aW5nLmNvbG9yID0gJGV2ZW50O1xyXG4gICAgdGhpcy5zYXZlQ2hhbmdlcygpO1xyXG4gIH1cclxuXHJcbiAgdG9nZ2xlQm9sZCgkZXZlbnQpIHtcclxuICAgIHRoaXMuZm9ybWF0dGluZy5ib2xkID0gJGV2ZW50O1xyXG4gICAgdGhpcy5zYXZlQ2hhbmdlcygpO1xyXG4gIH1cclxuXHJcbiAgdG9nZ2xlSXRhbGljKCRldmVudCkge1xyXG4gICAgdGhpcy5mb3JtYXR0aW5nLml0YWxpYyA9ICRldmVudDtcclxuICAgIHRoaXMuc2F2ZUNoYW5nZXMoKTtcclxuICB9XHJcblxyXG4gIHRvZ2dsZVVuZGVybGluZSgkZXZlbnQpIHtcclxuICAgIHRoaXMuZm9ybWF0dGluZy51bmRlcmxpbmUgPSAkZXZlbnQ7XHJcbiAgICB0aGlzLnNhdmVDaGFuZ2VzKCk7XHJcbiAgfVxyXG5cclxuICBkZWxldGVJdGVtKCkge1xyXG4gICAgdGhpcy5yZW1vdmVJdGVtLmVtaXQodHJ1ZSk7XHJcbiAgfVxyXG5cclxuICB0b2dnbGVMb2NrKCkge1xyXG4gICAgdGhpcy5sb2NrID0gIXRoaXMubG9jaztcclxuICAgIHRoaXMubG9ja091dC5lbWl0KHRoaXMubG9jayk7XHJcbiAgfVxyXG5cclxuICBvbkNvcHlTaWduKCkge1xyXG4gICAgdGhpcy5jb3B5U2lnbi5lbWl0KHRydWUpO1xyXG4gIH1cclxuXHJcbiAgaXNTaWduYXR1cmUoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5tZW51VHlwZSA9PT0gTWVudVR5cGUuRk9SX1NJR05BVFVSRTtcclxuICB9XHJcblxyXG4gIGlzQW5ub3RhdGlvbigpIHtcclxuICAgIHJldHVybiB0aGlzLm1lbnVUeXBlID09PSBNZW51VHlwZS5GT1JfQU5OT1RBVElPTjtcclxuICB9XHJcblxyXG4gIGFkZENvbW1lbnQoKSB7XHJcbiAgICB0aGlzLmNvbW1lbnQuZW1pdCh0cnVlKTtcclxuICB9XHJcbn1cclxuIl19 \ No newline at end of file diff --git a/dist/libs/common-components/fesm2015/groupdocs.examples.angular-common-components.js b/dist/libs/common-components/fesm2015/groupdocs.examples.angular-common-components.js index b7b2fb8e4..7742f0602 100644 --- a/dist/libs/common-components/fesm2015/groupdocs.examples.angular-common-components.js +++ b/dist/libs/common-components/fesm2015/groupdocs.examples.angular-common-components.js @@ -23,7 +23,7 @@ class TopToolbarComponent { TopToolbarComponent.decorators = [ { type: Component, args: [{ selector: 'gd-top-toolbar', - template: "
\n
\n \n
\n
\n", + template: "
\r\n
\r\n \r\n
\r\n
\r\n", styles: [".top-toolbar{width:100%;height:60px;z-index:999;display:-webkit-box;display:flex;-webkit-box-align:center;align-items:center}.tools{width:100%;height:100%;display:-webkit-box;display:flex;-webkit-box-align:center;align-items:center}@media (max-width:1037px){.top-toolbar{height:60px}.tools{height:100%;overflow-x:auto;overflow-scrolling:touch;display:-webkit-box;display:flex;-webkit-box-align:center;align-items:center;-webkit-transition:.3s ease-in-out;transition:.3s ease-in-out;scroll-behavior:smooth;-webkit-overflow-scrolling:touch}.tools::-webkit-scrollbar{width:0;height:0;background-color:#3e4e5a}}"] }] } ]; @@ -66,7 +66,7 @@ class SidePanelComponent { SidePanelComponent.decorators = [ { type: Component, args: [{ selector: 'gd-side-panel', - template: "
\n
\n \n
{{title}}
\n
\n \n
\n
\n \n
\n
\n
\n \n
\n
\n", + template: "
\r\n
\r\n \r\n
{{title}}
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n", styles: [".gd-side-panel-wrapper{margin-right:0;width:334px;z-index:999;background-color:#fff;-webkit-transition:margin-right .2s;transition:margin-right .2s;display:-webkit-box;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-flow:column;height:100vh}.gd-side-panel-wrapper .gd-side-panel-header{height:60px;background-color:#222e35;display:-webkit-box;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;flex-direction:row;flex-wrap:nowrap}.gd-side-panel-wrapper .gd-side-panel-header .icon{font-size:24px;color:#959da5;margin:18px;line-height:24px}.gd-side-panel-wrapper .gd-side-panel-header .title{font-size:13px;font-weight:700;color:#edf0f2;opacity:.57;margin-top:20px;width:100%}.gd-side-panel-wrapper .gd-side-panel-header .close,.gd-side-panel-wrapper .gd-side-panel-header .save{display:-webkit-box;display:flex;-webkit-box-align:center;align-items:center}.gd-side-panel-wrapper .gd-side-panel-header ::ng-deep gd-button .text{padding:0}.gd-side-panel-wrapper .gd-side-panel-body{display:-webkit-box;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-flow:column;overflow:visible;overflow-y:auto;overflow-x:hidden;height:100%}@media (max-width:1037px){.gd-side-panel-wrapper{width:100%;position:absolute;left:0;right:0;top:0;bottom:0}.gd-side-panel-wrapper.only-title{height:60px!important}}"] }] } ]; @@ -257,7 +257,7 @@ class ButtonComponent { ButtonComponent.decorators = [ { type: Component, args: [{ selector: 'gd-button', - template: "
\n \n \n
\n \n
\n
\n", + template: "
\r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n", styles: [".icon-button{padding:0!important;margin:0 7px}.button{padding:0 10px;font-size:14px;color:#959da5;cursor:pointer;display:-webkit-box;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column;-webkit-box-align:center;align-items:center;align-content:center;-webkit-box-pack:center;justify-content:center;min-width:37px;height:37px;text-align:center;position:relative;white-space:nowrap}.button.inactive{cursor:not-allowed;opacity:.4}.button.active *{color:#ccd0d4}.button.primary{background-color:#3e4e5a;color:#fff}.button.primary.active{color:#fff;background-color:#688296}.button.brand{background-color:#25c2d4;color:#fff}.button.brand.active{color:#fff;background-color:#688296}.button .text{font-size:13px;padding-left:10px}.button .button-tooltip{display:-webkit-box;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column}@media (max-width:1037px){.button{font-size:22px}.arrow-button{margin:5px}}"] }] } ]; @@ -325,7 +325,7 @@ class LogoComponent { LogoComponent.decorators = [ { type: Component, args: [{ selector: 'gd-logo', - template: "
\n \n \n
\n\n", + template: "
\r\n \r\n \r\n
\r\n\r\n", styles: [".logo{background-color:#25c2d4;height:60px;display:-webkit-box;display:flex;-webkit-box-align:center;align-items:center;-webkit-box-pack:center;justify-content:center}.text{color:#fff;font-size:15px;text-transform:uppercase;margin:0 14px}.icon{display:none;font-size:32px;color:rgba(255,255,255,.5);margin:14px}@media (max-width:1037px){.logo{width:60px;height:60px}.logo .text{display:none}.logo .icon{display:block}}"] }] } ]; @@ -376,7 +376,7 @@ class TooltipComponent { TooltipComponent.decorators = [ { type: Component, args: [{ selector: 'gd-tooltip', - template: "\n", + template: "\r\n", styles: [".tooltip{position:absolute;width:-webkit-fit-content;width:-moz-fit-content;width:fit-content;background-color:#000;color:#fff;text-align:center;border-radius:0;padding:5px;z-index:1;font-size:10px;height:11px;line-height:11px;-ms-grid-row-align:center;align-self:center;margin:8px!important}.first-element{margin-left:10px!important}.last-element{margin-left:-10px!important}.tooltip.hidden{visibility:hidden}.tooltip.shown{visibility:visible}.shown:after{content:\" \";position:absolute;bottom:100%;left:50%;margin-left:-5px;border:5px solid transparent;border-bottom-color:#000}"] }] } ]; @@ -801,7 +801,7 @@ class ModalComponent { ModalComponent.decorators = [ { type: Component, args: [{ selector: 'gd-modal', - template: "
\n
\n
\n
\n\n
\n
×
\n

{{title}}

\n
\n\n
\n \n
\n\n
\n\n
\n
\n
\n\n\n", + template: "
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
×
\r\n

{{title}}

\r\n
\r\n\r\n
\r\n \r\n
\r\n\r\n
\r\n\r\n
\r\n
\r\n
\r\n\r\n\r\n", styles: ["@import url(https://fonts.googleapis.com/css?family=Montserrat&display=swap);:host *{font-family:'Open Sans',Arial,Helvetica,sans-serif}.gd-modal{overflow:hidden;position:fixed;top:0;right:0;bottom:0;left:0;z-index:1050;-webkit-overflow-scrolling:touch;outline:0;background-color:rgba(0,0,0,.5)}.gd-modal-dialog{box-shadow:#0005 0 0 10px;position:fixed;left:50%;top:50%;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%);z-index:1051}.gd-modal-dialog ::ng-deep .button{-webkit-box-orient:unset!important;-webkit-box-direction:unset!important;flex-direction:unset!important}.gd-modal-content{background-color:#fff;height:100%;display:-webkit-box;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column}.gd-modal-header{height:60px;padding:0 12px 0 24px;background-color:#3e4e5a}.gd-modal-close{position:absolute;right:12px;top:12px;cursor:pointer;color:#fff;width:37px;height:37px;text-align:center}.gd-modal-close span{font-size:18px;font-weight:900;height:19px;width:10px;line-height:36px}.gd-modal-title{font-size:16px;font-weight:400;padding-top:17px;padding-bottom:22px;margin:0;color:#fff}.gd-modal-body{background-color:#fff;overflow:hidden;overflow-y:auto;height:calc(100% - 75px)}.gd-modal-footer{height:auto}.gd-modal-footer>.btn{float:right;margin:20px 15px;padding:10px 20px;cursor:pointer;font-size:12px}@media (max-width:1037px){.gd-modal-dialog{width:100%;height:100%}.gd-modal-body{height:100%}}"] }] } ]; @@ -1351,7 +1351,7 @@ class BrowseFilesModalComponent { BrowseFilesModalComponent.decorators = [ { type: Component, args: [{ selector: 'gd-browse-files-modal', - template: "\n
\n
\n \n Drop file here to upload\n
\n
\n
\n \n
\n
\n \n \n \n Upload file\n \n \n \n \n \n
{{item.name}}
\n
\n
\n
\n
\n
\n
\n \n
\n \n
\n
\n
\n
\n
\n
\n
FILE
\n
SIZE
\n
\n
\n
\n
\n
\n
\n \n
\n
..
\n
\n
\n
\n \n
\n
{{file?.name}}
\n
{{getFormatName(file)}}
\n
\n
\n
\n {{getSize(file?.size)}}\n
\n
\n
\n
\n
\n \n  Loading... Please wait.\n
\n
\n
\n", + template: "\r\n
\r\n
\r\n \r\n Drop file here to upload\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n Upload file\r\n \r\n \r\n \r\n \r\n \r\n
{{item.name}}
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
FILE
\r\n
SIZE
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
..
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
{{file?.name}}
\r\n
{{getFormatName(file)}}
\r\n
\r\n
\r\n
\r\n {{getSize(file?.size)}}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n  Loading... Please wait.\r\n
\r\n
\r\n
\r\n", styles: [".gd-modal-table{width:100%;text-align:left}#gd-browse-section{width:1036px;height:561px;overflow-y:auto}.list-files-header{height:60px;color:#6e6e6e;font-size:13px;font-weight:700;background-color:#f4f4f4;margin-top:24px}.list-files-header.upload-url{margin-top:20px}.header-name{padding-left:24px;width:90%;line-height:60px}.header-size{padding-right:27px;line-height:60px}.file-size,.header-size{width:10%;color:#777;text-align:right}.file-description{display:-webkit-box;display:flex;width:90%;padding:18px 0 18px 24px;font-size:14px;-webkit-box-flex:1;flex:1;cursor:pointer;overflow:hidden}.file-size{font-size:12px;padding:0 27px 0 0;width:10%;line-height:79px}.list-files-header,.list-files-lines{display:-webkit-box;display:flex;width:100%;-webkit-box-pack:justify;justify-content:space-between}.gd-modal-spinner{background-color:#fff;width:100%;height:20px;text-align:center;font-size:16px}.gd-cancel-button{padding:7px;background:0 0;width:28px;overflow:hidden}.gd-cancel-button i{font-size:21px}.gd-file-name{white-space:nowrap;overflow:hidden;width:100%;text-overflow:ellipsis}.go-up{display:-webkit-box;display:flex;font-size:26px;cursor:pointer;color:#4b566c;height:79px}.go-up-dots{margin-left:20px;margin-top:22px;font-size:16px}.go-up-icon{display:block;padding:18px 0 18px 24px}.upload-panel{display:-webkit-box;display:flex;position:relative;width:100%}.upload-panel .context{display:-webkit-box;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column;width:100%;margin-left:24px;margin-top:24px;margin-right:24px}.upload-panel .context .context-actions{display:-webkit-box;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;flex-direction:row;width:100%}.upload-panel .context .context-actions :last-child{margin-right:0}.upload-panel .context .context-actions ::ng-deep .button{height:37px;width:96px;padding:0;-webkit-box-pack:center;justify-content:center}.upload-panel .context .context-actions ::ng-deep .button ::ng-deep .text{font-size:10px}.upload-panel .context .context-panel{display:-webkit-box;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;flex-direction:row;width:100%;margin-top:20px}.upload-panel .context .context-panel .upload-url{display:-webkit-box;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;flex-direction:row;width:100%}.upload-panel .context .context-panel .upload-url .url-input{width:100%;height:27px;border:1px solid #25c2d4;font-size:14px;padding-left:6px}.upload-panel .context .context-panel .upload-url .url-check{width:31px;height:31px;color:#fff;font-size:15px;background-color:#25c2d4}.upload-panel .context .context-panel .upload-url .url-check .ng-fa-icon{display:block;padding:8px}.upload-panel gd-drop-down{margin-right:10px}.file-description .ng-fa-icon.fa-file-pdf{color:#e04e4e}.file-description .ng-fa-icon.fa-file-word{color:#539cf0}.file-description .ng-fa-icon.fa-file-powerpoint{color:#e29e1e}.file-description .ng-fa-icon.fa-file-excel{color:#7cbc46}.file-description .ng-fa-icon.fa-file-image{color:#c375ed}.file-description .ng-fa-icon.fa-file,.file-description .ng-fa-icon.fa-file-alt,.file-description .ng-fa-icon.fa-file-text .fa-folder{color:#4b566c}.file-description .ng-fa-icon{font-size:32px}.file-name{font-size:16px;color:#6e6e6e;overflow:hidden;text-overflow:ellipsis}.file-name-format{padding-left:11px;overflow:hidden}.file-format{font-size:10px;padding-top:3px;color:#acacac}.go-up,.list-files-lines{border-bottom:1px solid #e7e7e7}.list-files-lines:hover{background-color:#e5e5e5}.gd-dnd-wrap{background-color:#fff;cursor:default;position:absolute;width:100%;height:calc(100% - 60px);background:rgba(255,255,255,.7);z-index:1;display:-webkit-box;display:flex;-webkit-box-pack:center;justify-content:center;-webkit-box-align:center;align-items:center}.dnd-wrapper{display:-webkit-box;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column;-webkit-box-align:center;align-items:center;-webkit-box-pack:center;justify-content:center;top:259px;position:absolute}.dnd-wrapper .text{color:#6e6e6e;font-size:14px}.dnd-wrapper .icon{display:-webkit-box;display:flex;width:113px;height:90px;font-size:90px;color:#3e4e5a;margin-bottom:30px}@media (max-width:1037px){.file-size,.header-size{width:18%}.gd-dnd-wrap{width:95%}#gd-browse-section{width:100%;height:calc(100% - 146px)}}"] }] } ]; @@ -1778,7 +1778,7 @@ class DocumentComponent { DocumentComponent.decorators = [ { type: Component, args: [{ selector: 'gd-document', - template: "
Please wait...
\n
\n
\n
\n \n
\n
\n \n
\n", + template: "
Please wait...
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n", styles: [":host{-webkit-box-flex:1;flex:1;-webkit-transition:.4s;transition:.4s;background-color:#e7e7e7;height:100%;overflow:scroll;touch-action:auto!important}:host .document{-webkit-user-select:text!important;-moz-user-select:text!important;-ms-user-select:text!important;user-select:text!important;touch-action:auto!important}.page{display:inline-block;background-color:#fff;margin:20px;box-shadow:0 3px 6px rgba(0,0,0,.16);-webkit-transition:.3s;transition:.3s}.page.excel{overflow:auto}.page.presentation{margin:0;-webkit-transition:unset;transition:unset}.page.presentation.active{margin:20px}.wait{position:absolute;top:55px;left:Calc(30%)}.panzoom{display:-webkit-box;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;flex-direction:row;flex-wrap:wrap;-webkit-box-pack:center;justify-content:center;align-content:flex-start}@media (max-width:1037px){.page{min-width:unset!important;min-height:unset!important;margin:5px 0}}"] }] } ]; @@ -1905,7 +1905,7 @@ class PageComponent { PageComponent.decorators = [ { type: Component, args: [{ selector: 'gd-page', - template: "
\n
\n \"\"\n\n
\n \n  Loading... Please wait.\n
\n
\n", + template: "
\r\n
\r\n \"\"\r\n\r\n
\r\n \r\n  Loading... Please wait.\r\n
\r\n
\r\n", styles: [".gd-page-spinner{margin-top:150px;text-align:center}.gd-wrapper{width:inherit;height:inherit}.gd-wrapper div{width:100%}::ng-deep .gd-highlight{background-color:#ff0}::ng-deep .gd-highlight-select{background-color:#ff9b00}"] }] } ]; @@ -2093,7 +2093,7 @@ class UploadFileZoneComponent { UploadFileZoneComponent.decorators = [ { type: Component, args: [{ selector: 'gd-upload-file-zone', - template: "
\n
\n \n
\n

Drag & Drop your files here

\n

OR

\n
\n \n
\n
\n", + template: "
\r\n
\r\n \r\n
\r\n

Drag & Drop your files here

\r\n

OR

\r\n
\r\n \r\n
\r\n
\r\n", styles: [".gd-drag-n-drop-wrap{border:2px dashed #ccc;background-color:#f8f8f8;text-align:center;cursor:default;position:absolute;width:-webkit-fill-available;left:1px;display:-webkit-box;display:flex;align-content:center;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column;-webkit-box-pack:center;justify-content:center;opacity:.9;z-index:1}.gd-drag-n-drop-wrap h2{color:#959da5;margin:5px 0;font-size:15px;font-weight:300}.gd-drag-n-drop-wrap h4{color:#cacaca;font-weight:300;font-size:12px;margin:10px 0 15px}.gd-drag-n-drop-icon .fa-cloud-download-alt{color:#d1d1d1;font-size:110px}.gd-drag-n-drop-buttons i{margin-right:5px}.gd-drag-n-drop-buttons .btn{width:134px;height:35px;margin:0 10px;font-size:12px;font-weight:400}.gd-drag-n-drop-wrap.hover{background:#ddd;border-color:#aaa}"] }] } ]; @@ -2966,7 +2966,7 @@ class SelectComponent { SelectComponent.decorators = [ { type: Component, args: [{ selector: 'gd-select', - template: "
\n
\n {{showSelected?.name}}\n
\n \n \n
\n
\n
{{option.name}}
\n
\n
\n
\n
\n", + template: "
\r\n
\r\n {{showSelected?.name}}\r\n
\r\n \r\n \r\n
\r\n
\r\n
{{option.name}}
\r\n
\r\n
\r\n
\r\n
\r\n", styles: [".select{min-width:50px;display:-webkit-box;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;flex-direction:row;-webkit-box-pack:center;justify-content:center;-webkit-box-align:center;align-items:center;color:#959da5}.selected-value{font-size:14px;cursor:pointer;white-space:nowrap;overflow:hidden;text-overflow:clip;max-width:70px}.selected-value.inactive{cursor:not-allowed;color:#ccc}.nav-caret{display:inline-block;width:0;height:0;margin-left:2px;vertical-align:middle;border-top:4px dashed;border-right:4px solid transparent;border-left:4px solid transparent;cursor:pointer}.nav-caret.inactive{cursor:not-allowed;color:#ccc}.dropdown-menu{position:absolute;top:49px;z-index:1000;float:left;min-width:96px;list-style:none;font-size:13px;text-align:left;background-color:#fff;box-shadow:0 3px 6px rgba(0,0,0,.3);background-clip:padding-box}.dropdown-menu .option{display:block;padding:7px 0 7px 7px;clear:both;font-weight:400;line-height:1.42857143;white-space:nowrap;cursor:pointer;font-size:10px}.dropdown-menu .option:hover{background-color:#25c2d4;color:#fff!important}.dropdown-menu-separator{height:1px;overflow:hidden;background-color:#f4f4f4;padding:0!important}"] }] } ]; @@ -3191,7 +3191,7 @@ class InitStateComponent { InitStateComponent.decorators = [ { type: Component, args: [{ selector: 'gd-init-state', - template: "
\n
\n \n \n \n \n
\n
\n \n {{text}}\n
\n
\n", + template: "
\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n \r\n {{text}}\r\n
\r\n
\r\n", styles: [".wrapper{color:#959da5;background-color:#e7e7e7;display:-webkit-box;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column;-webkit-box-pack:center;justify-content:center;-webkit-box-align:center;align-items:center;width:100%;height:100%}.icon{font-size:65px;margin-bottom:43px;display:-webkit-box;display:flex;color:#959da5}.start{font-size:15px;text-align:center;color:#959da5}.gd-drag-n-drop-wrap.active{background-color:#fff;position:fixed;top:0;background:rgba(255,255,255,.8)}.gd-drag-n-drop-wrap.active .init-state-wrapper{position:absolute;opacity:.2;top:unset}.gd-drag-n-drop-wrap.active .init-state-dnd-wrapper{top:0;z-index:999}.gd-drag-n-drop-wrap.active .init-state-dnd-wrapper .icon{width:113px;height:90px;font-size:90px;color:#3e4e5a;margin-bottom:30px}.gd-drag-n-drop-wrap.active .text{color:#6e6e6e;font-size:14px}.init-state-dnd-wrapper,.init-state-wrapper{display:-webkit-box;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column;width:250px;height:250px;-webkit-box-align:center;align-items:center;-webkit-box-pack:center;justify-content:center}.init-state-wrapper{top:-60px;position:relative}"] }] } ]; @@ -3484,7 +3484,7 @@ class ErrorModalComponent { ErrorModalComponent.decorators = [ { type: Component, args: [{ selector: 'gd-error-modal', - template: "\n
\n \n
\n
Something went wrong
\n
{{message ? message : 'Server is not available'}}
\n
\n
\n
\n", + template: "\r\n
\r\n \r\n
\r\n
Something went wrong
\r\n
{{message ? message : 'Server is not available'}}
\r\n
\r\n
\r\n
\r\n", styles: [".gd-modal-error{display:-webkit-inline-box;display:inline-flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column;-webkit-box-flex:1;flex:1}.gd-modal-error .gd-modal-error-message{font-size:12px;margin:0 24px 24px 0;word-break:break-word}.gd-modal-error .gd-modal-error-title{font-size:16px;font-weight:700;margin:14px 0 10px}#gd-error-section{max-width:468px;max-height:204px;display:-webkit-box;display:flex}#gd-error-section fa-icon{-webkit-box-flex:1;flex:1;color:#e04e4e;font-size:40px;margin:13px 23px 90px;text-align:center;max-width:46px}"] }] } ]; @@ -3598,7 +3598,7 @@ class PasswordRequiredComponent { PasswordRequiredComponent.decorators = [ { type: Component, args: [{ selector: 'gd-password-required', - template: "\n
\n
\n \n \n {{message}}\n \n Open\n \n
\n
\n
\n", + template: "\r\n
\r\n
\r\n \r\n \r\n {{message}}\r\n \r\n Open\r\n \r\n
\r\n
\r\n
\r\n", styles: ["#gd-password-section{width:375px;height:164px}.gd-password-wrap{display:-webkit-box;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column;margin:24px}.gd-password-wrap label{font-size:14px;color:#acacac;padding-bottom:12px}.gd-password-wrap input{height:30px;border:1px solid #25c2d4}.gd-password-wrap input.error{border-color:#e04e4e}.gd-password-wrap gd-button{align-self:flex-end}.gd-password-wrap ::ng-deep .button{height:37px;width:72px;padding:0;-webkit-box-pack:center;justify-content:center}.gd-password-wrap ::ng-deep .button ::ng-deep .text{font-size:10px!important}.gd-password-error{color:#e04e4e;padding:10px 0 12px;height:12px;line-height:12px;font-size:12px}@media (max-width:1037px){#gd-password-section{min-width:375px}}"] }] } ]; @@ -3874,7 +3874,7 @@ class SearchComponent { SearchComponent.decorators = [ { type: Component, args: [{ selector: 'gd-search', - template: "
\n \n
{{current}} of {{total}}
\n \n \n \n \n \n \n
\n", + template: "
\r\n \r\n
{{current}} of {{total}}
\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n", styles: [".gd-nav-search-btn{margin:3px 0 4px}.gd-nav-search-cancel{color:#fff;font-size:14px;width:37px}.gd-search-count{color:#959da5;font-size:12px;position:absolute;right:148px;top:14px}.gd-nav-search-container{background-color:#3e4e5a;width:410px;position:fixed;left:50%;top:60px;z-index:2;-webkit-transform:translate(-50%,0);transform:translate(-50%,0);display:-webkit-box;display:flex}.gd-search-input{float:left;height:30px;width:267px;font-size:14px;color:#6e6e6e;border:1px solid #25c2d4;margin:7px 0 7px 7px;box-sizing:border-box;padding:6px 0 5px 9px}input[type=text]::-ms-clear{display:none}@media (max-width:1037px){.gd-search-input{width:231px;height:30px;margin:7px 0 7px 5px}.gd-search-count{position:absolute;left:193px;top:15px}.gd-nav-search-container{width:100%}}"] }] } ]; @@ -4132,7 +4132,7 @@ class TabbedToolbarsComponent { TabbedToolbarsComponent.decorators = [ { type: Component, args: [{ selector: 'gd-tabbed-toolbars', - template: "
\n \n \n
\n", + template: "
\r\n \r\n \r\n
\r\n", styles: [".top-panel{background:#3e4e5a;display:-webkit-box;display:flex;width:100%;height:90px}.top-panel ::ng-deep .logo{height:30px;font-size:16px}@media (max-width:1037px){.top-panel{height:60px}.top-panel ::ng-deep .logo{height:60px}}"] }] } ]; @@ -4237,7 +4237,7 @@ class TabComponent { TabComponent.decorators = [ { type: Component, args: [{ selector: 'gd-tab', - template: "
\n
{{tabTitle}}
\n \n
\n
\n \n
\n", + template: "
\r\n
{{tabTitle}}
\r\n \r\n
\r\n
\r\n \r\n
\r\n", styles: [".tab-content{height:60px;position:absolute;background-color:#fff;width:100%;left:0;line-height:60px;display:none;z-index:9}.tab-content ::ng-deep .toolbar-panel{height:60px}.tab-content.active{display:-webkit-box;display:flex}.gd-tab{text-align:center;font-size:11px;color:#e5e5e5;height:30px;line-height:30px;cursor:pointer;display:-webkit-box;display:flex;-webkit-box-align:center;align-items:center;-webkit-box-pack:center;justify-content:center}.gd-tab .icon{display:none;font-size:14px}.gd-tab .smp-tab-title{margin:auto 23px}.gd-tab.active{background-color:#fff;color:#3e4e5a;font-weight:700}@media (max-width:1037px){.gd-tab{height:60px;line-height:60px;width:60px}.gd-tab .title{display:none}.gd-tab .icon{display:block;font-size:22px}}"] }] } ]; @@ -4284,7 +4284,7 @@ class TabsComponent { TabsComponent.decorators = [ { type: Component, args: [{ selector: 'gd-tabs', - template: "
\n \n
\n", + template: "
\r\n \r\n
\r\n", styles: [".gd-tabs{display:-webkit-box;display:flex}"] }] } ]; @@ -4751,7 +4751,7 @@ class ColorPickerComponent { ColorPickerComponent.decorators = [ { type: Component, args: [{ selector: 'gd-color-picker', - template: "
\n
\n
\n
\n
\n", + template: "
\r\n
\r\n
\r\n
\r\n
\r\n", styles: [".bcPicker-picker{border:1px;border-radius:100%}.bcPicker-palette{width:250px;background-color:#fdfdfd;z-index:999;box-shadow:0 0 5px #efefef;display:-webkit-box;display:flex;flex-wrap:wrap;-webkit-box-pack:center;justify-content:center}.bcPicker-palette>.bcPicker-color{width:18px;height:18px;margin:2px;cursor:pointer}"] }] } ]; @@ -5325,7 +5325,7 @@ class SuccessModalComponent { SuccessModalComponent.decorators = [ { type: Component, args: [{ selector: 'gd-success-modal', - template: "\n
\n
\n \n \n
\n
\n
\n
\n
\n", + template: "\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n", styles: [".check_mark{margin:47px auto}.sa-icon{width:80px;height:80px;border:4px solid gray;border-radius:50%;padding:0;position:relative;box-sizing:content-box}#gd-modal-success{display:-webkit-box;display:flex;overflow:hidden;width:469px;height:183px}.sa-icon.sa-success{border-color:#4caf50;-webkit-transform:scale(1.18);transform:scale(1.18)}.sa-icon.sa-success::after,.sa-icon.sa-success::before{content:'';position:absolute;width:60px;height:120px;background:#fff}.sa-icon.sa-success::before{border-radius:120px 0 0 120px;top:-7px;left:-33px;-webkit-transform:rotate(-45deg);transform:rotate(-45deg);-webkit-transform-origin:60px 60px;transform-origin:60px 60px}.sa-icon.sa-success::after{border-radius:0 120px 120px 0;top:-11px;left:30px;-webkit-transform:rotate(-45deg);transform:rotate(-45deg);-webkit-transform-origin:0 60px;transform-origin:0 60px}.sa-icon.sa-success .sa-placeholder{width:80px;height:80px;border:4px solid rgba(76,175,80,.5);border-radius:50%;box-sizing:content-box;position:absolute;left:-4px;top:-4px;z-index:2}.sa-icon.sa-success .sa-fix{width:5px;height:90px;background-color:#fff;position:absolute;left:28px;top:8px;z-index:1;-webkit-transform:rotate(-45deg);transform:rotate(-45deg)}.sa-icon.sa-success.animate::after{-webkit-animation:4.25s ease-in rotatePlaceholder;animation:4.25s ease-in rotatePlaceholder}.animateSuccessTip{-webkit-animation:.75s animateSuccessTip;animation:.75s animateSuccessTip}.animateSuccessLong{-webkit-animation:.75s animateSuccessLong;animation:.75s animateSuccessLong}@-webkit-keyframes animateSuccessLong{0%,65%{width:0;right:46px;top:54px}84%{width:55px;right:0;top:35px}100%{width:47px;right:8px;top:38px}}@-webkit-keyframes animateSuccessTip{0%,54%{width:0;left:1px;top:19px}70%{width:50px;left:-8px;top:37px}84%{width:17px;left:21px;top:48px}100%{width:25px;left:14px;top:45px}}@keyframes animateSuccessTip{0%,54%{width:0;left:1px;top:19px}70%{width:50px;left:-8px;top:37px}84%{width:17px;left:21px;top:48px}100%{width:25px;left:14px;top:45px}}@keyframes animateSuccessLong{0%,65%{width:0;right:46px;top:54px}84%{width:55px;right:0;top:35px}100%{width:47px;right:8px;top:38px}}.sa-icon.sa-success .sa-line{height:5px;background-color:#4caf50;display:block;border-radius:2px;position:absolute;z-index:2}.sa-icon.sa-success .sa-line.sa-tip{width:25px;left:14px;top:46px;-webkit-transform:rotate(45deg);transform:rotate(45deg)}.sa-icon.sa-success .sa-line.sa-long{width:47px;right:8px;top:38px;-webkit-transform:rotate(-45deg);transform:rotate(-45deg)}@-webkit-keyframes rotatePlaceholder{0%,5%{transform:rotate(-45deg);-webkit-transform:rotate(-45deg)}100%,12%{transform:rotate(-405deg);-webkit-transform:rotate(-405deg)}}@keyframes rotatePlaceholder{0%,5%{transform:rotate(-45deg);-webkit-transform:rotate(-45deg)}100%,12%{transform:rotate(-405deg);-webkit-transform:rotate(-405deg)}}@media (max-width:1037px){#gd-modal-success{left:50%;top:50%;position:relative;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%)}}"] }] } ]; @@ -5579,7 +5579,7 @@ class LoadingMaskComponent { LoadingMaskComponent.decorators = [ { type: Component, args: [{ selector: 'gd-loading-mask', - template: "
\n
\n  Loading... Please wait.\n
\n
\n", + template: "
\r\n
\r\n  Loading... Please wait.\r\n
\r\n
\r\n", styles: [".loading-wrapper{background:rgba(0,0,0,.5);width:100%;height:100%;font-size:14px;color:#fff;position:fixed;top:0;left:0;z-index:99999}.loading-message{position:absolute;left:50%;top:50%;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%)}"] }] } ]; @@ -5894,7 +5894,7 @@ class LeftSideBarComponent { LeftSideBarComponent.decorators = [ { type: Component, args: [{ selector: 'gd-left-side-bar', - template: "
\n
\n
 Loading...\n
\n
\n \n
\n", + template: "
\r\n
\r\n
 Loading...\r\n
\r\n
\r\n \r\n
\r\n", styles: [".left-panel{border-radius:0;float:left}.gd-left-bar-fade{margin:auto;overflow:hidden;-webkit-overflow-scrolling:touch;-webkit-transition:-webkit-transform .3s ease-out;transition:transform .3s ease-out;transition:transform .3s ease-out,-webkit-transform .3s ease-out;width:100%;height:100%;display:-webkit-box;display:flex;-webkit-box-pack:center;justify-content:center;-webkit-box-align:center;align-items:center;position:fixed;z-index:1000}@media (max-width:1037px){.gd-left-bar-fade{top:100px;right:0}.gd-left-bar-spinner{top:20%}}"] }] } ]; @@ -6258,7 +6258,7 @@ class ResizingComponent { ResizingComponent.decorators = [ { type: Component, args: [{ selector: 'gd-resizing', - template: "
\n\n
\n\n
\n\n
\n", + template: "
\r\n\r\n
\r\n\r\n
\r\n\r\n
\r\n", styles: [".ui-resizable-handle{background-color:#679ffa;width:8px;height:8px;border-radius:100%;position:absolute;font-size:.1px;display:block}.se-resize{bottom:-5px;right:-5px;cursor:se-resize}.ne-resize{top:-5px;right:-5px;cursor:ne-resize}.sw-resize{bottom:-5px;left:-5px;cursor:sw-resize}.nw-resize{top:-5px;left:-5px;cursor:nw-resize}"] }] } ]; @@ -6405,7 +6405,7 @@ class TopTabComponent { TopTabComponent.decorators = [ { type: Component, args: [{ selector: 'gd-top-tab', - template: "
\n \n \n
\n", + template: "
\r\n \r\n \r\n
\r\n", styles: [".gd-tab{font-size:14px;color:#3e4e5a;cursor:pointer;display:-webkit-box;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column;-webkit-box-align:center;align-items:center;align-content:center;-webkit-box-pack:center;justify-content:center;min-width:36px;height:36px;text-align:center;position:relative;white-space:nowrap;padding:0!important;margin:0 10px}.gd-tab .gd-tab-tooltip{display:-webkit-box;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column;margin:0!important}.gd-tab.active{background-color:#acacac;color:#fff!important;font-weight:700}.gd-tab.disabled{cursor:not-allowed;opacity:.4}.gd-tab ::ng-deep .tooltip{font-size:12px;margin:20px -57px}.gd-tab .title{margin:auto 23px}@media (max-width:1037px){.gd-tab{font-size:20px}}"] }] } ]; @@ -6615,7 +6615,7 @@ class TextMenuComponent { TextMenuComponent.decorators = [ { type: Component, args: [{ selector: 'gd-text-menu', - template: "
\n \n \n \n \n \n \n
\n
\n \n \n
\n", + template: "
\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n", styles: ["::ng-deep .active{background-color:#e7e7e7}.gd-text-menu{display:-webkit-box;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;flex-direction:row}.gd-text-menu .format-select{height:37px;display:-webkit-box;display:flex;-webkit-box-pack:center;justify-content:center;-webkit-box-align:center;align-items:center;max-width:80px;margin:0 3px}.gd-text-menu .first-component{margin-left:8px}.gd-text-menu ::ng-deep .dropdown-menu{top:40px!important;height:120px;overflow-y:auto}.gd-text-menu ::ng-deep .icon-button{margin:0!important}.bg-color-pic{border-radius:100%;border:1px solid #ccc;position:absolute;height:8px;width:8px;right:6px;bottom:6px}.palette{position:relative;top:40px;left:-55px;z-index:100}@media (max-width:1037px){.gd-text-menu{position:fixed;left:0;right:0;width:inherit;height:60px;-webkit-box-align:center;align-items:center;padding:0;margin:0;background-color:#fff;border-top:2px solid #707070;-webkit-transform-origin:top left;transform-origin:top left;z-index:1000}.gd-text-menu ::ng-deep .selected-value{white-space:normal!important;word-wrap:break-word}.gd-text-menu .icon{color:#fff;margin:0 9px}.gd-text-menu ::ng-deep .bcPicker-palette{left:-200px;top:-185px}.gd-text-menu .palette{top:unset;bottom:40px;left:unset;right:5px}.gd-text-menu ::ng-deep .dropdown-menu{bottom:40px;top:unset!important}.gd-text-menu ::ng-deep .first-component ::ng-deep .dropdown-menu{left:0}.gd-text-menu ::ng-deep .button{margin:3px!important;font-size:16px}}"] }] } ]; @@ -6757,9 +6757,7 @@ class ContextMenuComponent { * @return {?} */ (val) => { - if (this.isMobile) { - this.changeScale(val); - } + this.changeScale(val); })); } /** @@ -6773,6 +6771,9 @@ class ContextMenuComponent { */ changeScale(val) { this.renderer.setStyle(this._elementRef.nativeElement.querySelector('.gd-context-menu'), 'transform', 'scale(' + 1 / (val / 100) + ')'); + if (!this.isMobile && val && val !== 100) { + this.renderer.setStyle(this._elementRef.nativeElement.querySelector('.gd-context-menu'), 'left', this.translation + 'px'); + } } /** * @return {?} @@ -6869,7 +6870,7 @@ class ContextMenuComponent { ContextMenuComponent.decorators = [ { type: Component, args: [{ selector: 'gd-context-menu', - template: "
10 ? 'gd-context-menu-top' : 'gd-context-menu-bottom'\">\n \n \n \n \n \n \n
\n", + template: "
10 ? 'gd-context-menu-top' : 'gd-context-menu-bottom'\">\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n", styles: [".gd-context-menu-top{top:-44px}.gd-context-menu-bottom{bottom:-40px}.gd-context-menu{box-shadow:rgba(0,0,0,.52) 0 0 5px;background-color:#fff;position:absolute;left:0;right:0;margin:auto;cursor:default;width:max-content;width:-moz-max-content;width:-webkit-max-content;display:-webkit-box;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;flex-direction:row;z-index:999}.gd-context-menu .arrows{cursor:move}.gd-context-menu ::ng-deep .active{background-color:#e7e7e7}.gd-context-menu ::ng-deep .icon-button{margin:0!important}@media (max-width:1037px){.gd-context-menu-top{top:-42px;-webkit-transform-origin:bottom center;transform-origin:bottom center}}"] }] } ]; diff --git a/dist/libs/common-components/fesm2015/groupdocs.examples.angular-common-components.js.map b/dist/libs/common-components/fesm2015/groupdocs.examples.angular-common-components.js.map index 3eece6274..04a4d9c91 100644 --- a/dist/libs/common-components/fesm2015/groupdocs.examples.angular-common-components.js.map +++ b/dist/libs/common-components/fesm2015/groupdocs.examples.angular-common-components.js.map @@ -1 +1 @@ -{"version":3,"file":"groupdocs.examples.angular-common-components.js","sources":["ng://@groupdocs.examples.angular/common-components/lib/top-toolbar/top-toolbar.component.ts","ng://@groupdocs.examples.angular/common-components/lib/side-panel/side-panel.component.ts","ng://@groupdocs.examples.angular/common-components/lib/window.service.ts","ng://@groupdocs.examples.angular/common-components/lib/button/button.component.ts","ng://@groupdocs.examples.angular/common-components/lib/logo/logo.component.ts","ng://@groupdocs.examples.angular/common-components/lib/tooltip/tooltip.component.ts","ng://@groupdocs.examples.angular/common-components/lib/config.service.ts","ng://@groupdocs.examples.angular/common-components/lib/modal.service.ts","ng://@groupdocs.examples.angular/common-components/lib/modal/modal.component.ts","ng://@groupdocs.examples.angular/common-components/lib/file.service.ts","ng://@groupdocs.examples.angular/common-components/lib/upload-files.service.ts","ng://@groupdocs.examples.angular/common-components/lib/browse-files-modal/browse-files-modal.component.ts","ng://@groupdocs.examples.angular/common-components/lib/zoom.service.ts","ng://@groupdocs.examples.angular/common-components/lib/page-preload.service.ts","ng://@groupdocs.examples.angular/common-components/lib/navigate.service.ts","ng://@groupdocs.examples.angular/common-components/lib/document/document.component.ts","ng://@groupdocs.examples.angular/common-components/lib/page/page.component.ts","ng://@groupdocs.examples.angular/common-components/lib/pipes.ts","ng://@groupdocs.examples.angular/common-components/lib/upload-file-zone/upload-file-zone.component.ts","ng://@groupdocs.examples.angular/common-components/lib/dnd.directive.ts","ng://@groupdocs.examples.angular/common-components/lib/viewport.service.ts","ng://@groupdocs.examples.angular/common-components/lib/scrollable.directive.ts","ng://@groupdocs.examples.angular/common-components/lib/mousewheel.directive.ts","ng://@groupdocs.examples.angular/common-components/lib/zoom.directive.ts","ng://@groupdocs.examples.angular/common-components/lib/on-close.service.ts","ng://@groupdocs.examples.angular/common-components/lib/select/select.component.ts","ng://@groupdocs.examples.angular/common-components/lib/disabled-cursor.directive.ts","ng://@groupdocs.examples.angular/common-components/lib/rotation.directive.ts","ng://@groupdocs.examples.angular/common-components/lib/init-state/init-state.component.ts","ng://@groupdocs.examples.angular/common-components/lib/render-print.service.ts","ng://@groupdocs.examples.angular/common-components/lib/render-print.directive.ts","ng://@groupdocs.examples.angular/common-components/lib/exception-message.service.ts","ng://@groupdocs.examples.angular/common-components/lib/error-modal/error-modal.component.ts","ng://@groupdocs.examples.angular/common-components/lib/password.service.ts","ng://@groupdocs.examples.angular/common-components/lib/password-required/password-required.component.ts","ng://@groupdocs.examples.angular/common-components/lib/error-interceptor.service.ts","ng://@groupdocs.examples.angular/common-components/lib/search.service.ts","ng://@groupdocs.examples.angular/common-components/lib/search/search.component.ts","ng://@groupdocs.examples.angular/common-components/lib/searchable.directive.ts","ng://@groupdocs.examples.angular/common-components/lib/tabbed-toolbars/tabbed-toolbars.component.ts","ng://@groupdocs.examples.angular/common-components/lib/tab-activator.service.ts","ng://@groupdocs.examples.angular/common-components/lib/tab/tab.component.ts","ng://@groupdocs.examples.angular/common-components/lib/tabs/tabs.component.ts","ng://@groupdocs.examples.angular/common-components/lib/formatting.service.ts","ng://@groupdocs.examples.angular/common-components/lib/color-picker/color-picker.component.ts","ng://@groupdocs.examples.angular/common-components/lib/back-formatting.service.ts","ng://@groupdocs.examples.angular/common-components/lib/selection.service.ts","ng://@groupdocs.examples.angular/common-components/lib/formatting.directive.ts","ng://@groupdocs.examples.angular/common-components/lib/success-modal/success-modal.component.ts","ng://@groupdocs.examples.angular/common-components/lib/edit-html.service.ts","ng://@groupdocs.examples.angular/common-components/lib/editor.directive.ts","ng://@groupdocs.examples.angular/common-components/lib/loading-mask.service.ts","ng://@groupdocs.examples.angular/common-components/lib/loading-mask/loading-mask.component.ts","ng://@groupdocs.examples.angular/common-components/lib/loading-mask-interceptor.service.ts","ng://@groupdocs.examples.angular/common-components/lib/drop-down/drop-down.component.ts","ng://@groupdocs.examples.angular/common-components/lib/left-side-bar/left-side-bar.component.ts","ng://@groupdocs.examples.angular/common-components/lib/tooltip.directive.ts","ng://@groupdocs.examples.angular/common-components/lib/add-dynamic-component.service.ts","ng://@groupdocs.examples.angular/common-components/lib/hosting-dynamic-component.service.ts","ng://@groupdocs.examples.angular/common-components/lib/host-dynamic.directive.ts","ng://@groupdocs.examples.angular/common-components/lib/resizing/resizing.component.ts","ng://@groupdocs.examples.angular/common-components/lib/top-tab-activator.service.ts","ng://@groupdocs.examples.angular/common-components/lib/top-tab/top-tab.component.ts","ng://@groupdocs.examples.angular/common-components/lib/text-menu/text-menu.component.ts","ng://@groupdocs.examples.angular/common-components/lib/context-menu/context-menu.component.ts","ng://@groupdocs.examples.angular/common-components/lib/common-components.module.ts"],"sourcesContent":["import {Component, Input} from '@angular/core';\n\n@Component({\n selector: 'gd-top-toolbar',\n templateUrl: './top-toolbar.component.html',\n styleUrls: ['./top-toolbar.component.less']\n})\nexport class TopToolbarComponent {\n\n constructor() {\n }\n}\n","import {Component, EventEmitter, Input, Output} from '@angular/core';\n\n@Component({\n selector: 'gd-side-panel',\n templateUrl: './side-panel.component.html',\n styleUrls: ['./side-panel.component.less']\n})\n\nexport class SidePanelComponent {\n @Input() title: string;\n @Input() icon: string;\n @Input() closable = true;\n @Input() saveable = true;\n @Output() hideSidePanel = new EventEmitter();\n @Output() saveInSidePanel = new EventEmitter();\n\n onlyTitle = false;\n\n constructor() {\n }\n\n closeSidePanel() {\n this.hideSidePanel.emit(true);\n }\n\n saveBySidePanel() {\n this.saveInSidePanel.emit(true);\n }\n\n toggleTitleMode(){\n if (this.closable && !this.saveable) {\n this.onlyTitle = !this.onlyTitle;\n }\n }\n}\n","import {fromEvent, Observable, Subject} from \"rxjs\";\nimport {debounceTime, distinctUntilChanged, startWith, tap} from \"rxjs/operators\";\n\nconst MOBILE_MAX_WIDTH = 425;\nconst TABLET_MAX_WIDTH = 1024;\n\nexport class WindowService {\n\n private resizeSubject: Subject = new Subject();\n private _resize$;\n private width: number;\n private height: number;\n\n constructor() {\n this.width = window.innerWidth;\n this.height = window.innerHeight;\n\n this._resize$ = fromEvent(window, 'resize')\n .pipe(\n debounceTime(200),\n distinctUntilChanged(),\n startWith({target: {innerWidth: window.innerWidth, innerHeight: window.innerHeight}}),\n tap(event => {\n this.resizeSubject.next(event.target);\n this.width = (event.target as Window).innerWidth;\n this.height = (event.target as Window).innerHeight;\n }),\n );\n this._resize$.subscribe();\n }\n\n get onResize(): Observable {\n return this.resizeSubject.asObservable();\n }\n\n isMobile() {\n return this.width <= MOBILE_MAX_WIDTH;\n }\n\n isTablet() {\n return this.width <= TABLET_MAX_WIDTH;\n }\n\n isDesktop() {\n return !this.isMobile() && !this.isTablet();\n }\n\n getWidth() {\n return this.width;\n }\n\n getHeight() {\n return this.height;\n }\n\n isEdge() {\n return window.navigator.userAgent.toLowerCase().indexOf('edge') > -1;\n }\n\n isFirefox() {\n return navigator.userAgent.toLowerCase().indexOf('firefox') > -1;\n }\n}\n","import {Component, Input} from '@angular/core';\nimport {WindowService} from \"../window.service\";\n\n@Component({\n selector: 'gd-button',\n templateUrl: './button.component.html',\n styleUrls: ['./button.component.less']\n})\nexport class ButtonComponent {\n @Input() iconOnly = true;\n @Input() intent = 'default';\n @Input() disabled = false;\n @Input() icon: string;\n @Input() iconClass: string;\n @Input() tooltip: string;\n @Input() className: string;\n @Input() toggle = false;\n @Input() iconSize: string;\n @Input() iconRegular = false;\n @Input() elementPosition = 0;\n\n showToolTip = false;\n private isDesktop: boolean;\n\n constructor(windowService: WindowService) {\n this.isDesktop = windowService.isDesktop();\n windowService.onResize.subscribe((w) => {\n this.isDesktop = windowService.isDesktop();\n });\n }\n\n iconButtonClass() {\n return this.iconOnly ? 'icon-button' : '';\n }\n\n onHovering() {\n if (this.isDesktop && !this.disabled) {\n this.className += ' active';\n }\n }\n\n onUnhovering() {\n if (this.isDesktop && !this.disabled) {\n this.className = this.cleanAll(this.className, ' active');\n }\n }\n\n private cleanAll(str: string, val: string) {\n while (str && str.indexOf(val) !== -1) {\n str = str.replace(val, '');\n }\n return str;\n }\n}\n","import {Component, Input, OnInit} from '@angular/core';\n\n@Component({\n selector: 'gd-logo',\n templateUrl: './logo.component.html',\n styleUrls: ['./logo.component.less']\n})\nexport class LogoComponent implements OnInit {\n\n @Input() logo;\n @Input() icon;\n\n constructor() { }\n\n ngOnInit() {\n }\n\n}\n","import {Component, Input, OnInit} from '@angular/core';\n\n@Component({\n selector: 'gd-tooltip',\n templateUrl: './tooltip.component.html',\n styleUrls: ['./tooltip.component.less']\n})\nexport class TooltipComponent implements OnInit {\n\n @Input() text: string;\n @Input() position = 0;\n visibility = 'hidden';\n\n constructor() {\n }\n\n getClass() {\n if (this.position === 0) {\n return 'tooltip';\n }\n return 'tooltip ' + (this.position > 0 ? 'last-element' : 'first-element');\n }\n\n @Input()\n set show(value: boolean) {\n this.visibility = value ? 'shown' : 'hidden';\n }\n\n ngOnInit() {\n }\n\n}\n","import {HttpHeaders} from \"@angular/common/http\";\nimport {Injectable} from \"@angular/core\";\n\nexport class Api {\n public static VIEWER_APP = '/viewer';\n public static SIGNATURE_APP = '/signature';\n public static ANNOTATION_APP = '/annotation';\n public static SEARCH_APP = '/search';\n public static EDITOR_APP = '/editor';\n public static COMPARISON_APP = '/comparison';\n public static CONVERSION_APP = '/conversion';\n public static METADATA_APP = '/metadata';\n public static DEFAULT_API_ENDPOINT = window.location.href;\n public static LOAD_FILE_TREE = '/loadFileTree';\n public static LOAD_CONFIG = '/loadConfig';\n public static LOAD_DOCUMENT_DESCRIPTION = '/loadDocumentDescription';\n public static LOAD_DOCUMENT_PAGE = '/loadDocumentPage';\n public static LOAD_DOCUMENT_PROPERTIES = '/loadProperties';\n public static LOAD_DOCUMENT_PROPERTIES_NAMES = '/loadPropertiesNames';\n public static SAVE_PROPERTY = '/saveProperty';\n public static REMOVE_PROPERTY = '/removeProperty';\n public static ROTATE_DOCUMENT_PAGE = '/rotateDocumentPages';\n public static UPLOAD_DOCUMENTS = '/uploadDocument';\n public static DOWNLOAD_DOCUMENTS = '/downloadDocument';\n public static DOWNLOAD_ANNOTATED = '/downloadAnnotated';\n public static LOAD_PRINT = '/loadPrint';\n public static LOAD_PRINT_PDF = '/printPdf';\n public static LOAD_THUMBNAILS = '/loadThumbnails';\n public static LOAD_FORMATS = '/loadFormats';\n public static SAVE_FILE = '/saveFile';\n public static CREATE_FILE = '/createFile';\n public static COMPARE_FILES = '/compare';\n public static CONVERT_FILE = '/convert';\n public static DELETE_SIGNATURE_FILE = '/deleteSignatureFile';\n public static REMOVE_FROM_INDEX = '/removeFromIndex';\n public static GET_FILE_STATUS = '/getFileStatus';\n public static SAVE_OPTICAL_CODE = '/saveOpticalCode';\n public static SAVE_TEXT = '/saveText';\n public static SAVE_IMAGE = '/saveImage';\n public static SAVE_STAMP = '/saveStamp';\n public static SIGN = '/sign';\n public static DOWNLOAD_SIGNED = '/downloadSigned';\n public static LOAD_SIGNATURE_IMAGE = '/loadSignatureImage';\n public static ANNOTATE = '/annotate';\n public static SEARCH = '/search';\n public static ADD_FILES_TO_INDEX = '/addFilesToIndex';\n public static CLEAN_METADATA = '/clean';\n public static EXPORT_METADATA = '/export';\n\n public static httpOptionsJson = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n })\n };\n public static httpOptionsJsonResponseTypeBlob = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n }),\n responseType: 'blob' as 'blob'\n };\n}\n\n@Injectable()\nexport class ConfigService {\n\n private _apiEndpoint: string;\n\n constructor() {\n this.apiEndpoint = Api.DEFAULT_API_ENDPOINT;\n }\n\n set apiEndpoint(url: string) {\n this._apiEndpoint = url && url.trim().endsWith('/') ? url.substring(0, url.length - 1) : url;\n }\n\n getConfigEndpoint(app) {\n return (this.apiEndpoint.endsWith(app) ? this.apiEndpoint : this.apiEndpoint + app) + Api.LOAD_CONFIG;\n }\n\n getViewerApiEndpoint() {\n return this._apiEndpoint.endsWith(Api.VIEWER_APP) ? this._apiEndpoint : this._apiEndpoint + Api.VIEWER_APP;\n }\n\n getEditorApiEndpoint() {\n return this._apiEndpoint.trim().endsWith(Api.EDITOR_APP) ? this._apiEndpoint : this._apiEndpoint + Api.EDITOR_APP;\n }\n\n getComparisonApiEndpoint() {\n return this._apiEndpoint.trim().endsWith(Api.COMPARISON_APP) ? this._apiEndpoint : this._apiEndpoint + Api.COMPARISON_APP;\n }\n\n getConversionApiEndpoint() {\n return this._apiEndpoint.trim().endsWith(Api.CONVERSION_APP) ? this._apiEndpoint : this._apiEndpoint + Api.CONVERSION_APP;\n }\n\n getMetadataApiEndpoint() {\n return this._apiEndpoint.trim().endsWith(Api.METADATA_APP) ? this._apiEndpoint : this._apiEndpoint + Api.METADATA_APP;\n }\n\n get apiEndpoint() {\n return this._apiEndpoint;\n }\n\n getSignatureApiEndpoint() {\n return this._apiEndpoint.endsWith(Api.SIGNATURE_APP) ? this._apiEndpoint : this._apiEndpoint + Api.SIGNATURE_APP;\n }\n\n getAnnotationApiEndpoint() {\n return this._apiEndpoint.endsWith(Api.ANNOTATION_APP) ? this._apiEndpoint : this._apiEndpoint + Api.ANNOTATION_APP;\n }\n\n getSearchApiEndpoint() {\n return this._apiEndpoint.endsWith(Api.SEARCH_APP) ? this._apiEndpoint : this._apiEndpoint + Api.SEARCH_APP;\n }\n}\n","export class CommonModals {\n static PasswordRequired = \"gd-password-required\";\n static ErrorMessage = \"gd-error-message\";\n static BrowseFiles = \"gd-browse-files\";\n static CreateDocument = \"gd-create-document\";\n static OperationSuccess = \"gd-success-modal\";\n static DrawHandSignature = \"gd-draw-hand-signature\";\n static DrawStampSignature = \"gd-draw-stamp-signature\";\n static InformationMessage = \"gd-information-message\";\n}\n\nexport class ModalService {\n private modals: any[] = [];\n\n add(modal: any) {\n this.modals.push(modal);\n }\n\n remove(id: string) {\n this.modals = this.modals.filter(x => x.id !== id);\n }\n\n open(id: string) {\n const modal: any = this.modals.filter(x => x.id === id)[0];\n if (modal) {\n modal.open();\n }\n }\n\n close(id: string) {\n const modal: any = this.modals.filter(x => x.id === id)[0];\n if (modal) {\n modal.close();\n }\n }\n}\n","import {Component, ElementRef, EventEmitter, Input, OnDestroy, OnInit, Output} from '@angular/core';\nimport {ModalService} from \"../modal.service\";\n\n@Component({\n selector: 'gd-modal',\n templateUrl: './modal.component.html',\n styleUrls: ['./modal.component.less']\n})\nexport class ModalComponent implements OnInit, OnDestroy {\n @Input() id: string;\n @Input() title: string;\n @Output() visible = new EventEmitter();\n @Output() cancel = new EventEmitter();\n visibility = false;\n private element: any;\n\n constructor(private modalService: ModalService, el: ElementRef) {\n this.element = el.nativeElement;\n }\n\n ngOnInit(): void {\n if (!this.id) {\n console.error('modal must have an id');\n return;\n }\n\n document.body.appendChild(this.element);\n\n this.modalService.add(this);\n }\n\n ngOnDestroy(): void {\n this.modalService.remove(this.id);\n this.element.remove();\n }\n\n open(): void {\n this.visibility = true;\n this.visible.emit(true);\n }\n\n close(): void {\n event.preventDefault();\n event.stopPropagation();\n this.visibility = false;\n this.visible.emit(false);\n }\n\n onClose($event: MouseEvent) {\n $event.stopPropagation();\n if ($event && $event.target && ($event.target).id === 'modalDialog') {\n this.close();\n }\n }\n\n cancelClose() {\n this.cancel.emit(false);\n this.close();\n }\n}\n","export class PageModel {\n data: string;\n angle: number;\n width: number;\n height: number;\n number: number;\n editable: boolean;\n}\n\nexport class RotatedPage {\n pageNumber: number;\n angle: number;\n}\n\nexport class FileCredentials {\n guid: string;\n password: string;\n\n constructor(guid: string, password: string) {\n this.guid = guid;\n this.password = password;\n }\n}\n\nexport class SaveFile extends FileCredentials {\n content: string;\n\n constructor(guid: string, password: string, content: string) {\n super(guid, password);\n this.content = content;\n }\n}\n\nexport class FileDescription {\n guid: string;\n pages: PageModel[];\n printAllowed = true;\n showGridLines: boolean;\n thumbnails: PageModel[];\n}\n\nexport class FileModel {\n guid: string;\n name: string;\n directory: boolean;\n size: number;\n isDirectory: boolean;\n}\n\nexport class HttpError {\n static BadRequest = 400;\n static Unauthorized = 401;\n static Forbidden = 403;\n static NotFound = 404;\n static TimeOut = 408;\n static Conflict = 409;\n static InternalServerError = 500;\n}\n\nexport class Utils {\n public static getMousePosition(event) {\n const mouse = {\n x: 0,\n y: 0\n };\n const wEvent: DragEvent = window.event;\n const ev = event || wEvent; //Moz || IE\n if (ev.pageX || wEvent.pageX || wEvent.screenX || (ev.touches && ev.touches[0] && ev.touches[0].pageX)) { //Moz\n const pageX = typeof ev.pageX !== \"undefined\" && ev.pageX !== 0 ? ev.pageX : wEvent.pageX;\n const pageY = typeof ev.pageY !== \"undefined\" && ev.pageY !== 0 ? ev.pageY : wEvent.pageY;\n const screenX = typeof wEvent.screenX !== \"undefined\" && wEvent.screenY !== 0;\n const screenY = typeof wEvent.screenY !== \"undefined\" && wEvent.screenY !== 0;\n mouse.x = pageX ? pageX : (screenX ? wEvent.screenX : ev.touches[0].pageX);\n mouse.y = pageY ? pageY : (screenY ? wEvent.screenY : ev.touches[0].pageY);\n } else if (ev.clientX) { //IE\n mouse.x = ev.clientX + document.body.scrollLeft;\n mouse.y = ev.clientY + document.body.scrollTop;\n }\n return mouse;\n }\n\n public static toRgb(color: string) {\n const result = /^#?([a-f\\d]{2})([a-f\\d]{2})([a-f\\d]{2})$/i.exec(color);\n if (result) {\n const r = parseInt(result[1], 16);\n const g = parseInt(result[2], 16);\n const b = parseInt(result[3], 16);\n return result ? 'rgb(' + r + ',' + g + ',' + b + ')' : '';\n }\n return color;\n }\n\n public static toHex(color: string) {\n // check if color is standard hex value\n if (color.match(/[0-9A-F]{6}|[0-9A-F]{3}$/i)) {\n return (color.charAt(0) === \"#\") ? color : (\"#\" + color);\n // check if color is RGB value -> convert to hex\n } else if (color.match(/^rgb\\(\\s*(\\d{1,3})\\s*,\\s*(\\d{1,3})\\s*,\\s*(\\d{1,3})\\s*\\)$/)) {\n const c = ([parseInt(RegExp.$1, 10), parseInt(RegExp.$2, 10), parseInt(RegExp.$3, 10)]),\n pad = function (str) {\n if (str.length < 2) {\n for (let i = 0, len = 2 - str.length; i < len; i++) {\n str = '0' + str;\n }\n }\n return str;\n };\n if (c.length === 3) {\n const r = pad(c[0].toString(16)),\n g = pad(c[1].toString(16)),\n b = pad(c[2].toString(16));\n return '#' + r + g + b;\n }\n // else do nothing\n } else {\n return '';\n }\n }\n}\n\nexport class FileUtil {\n public static map = {\n 'folder': {'format': '', 'icon': 'folder'},\n 'pdf': {'format': 'Portable Document Format', 'icon': 'file-pdf', 'unit': 'pt'},\n 'doc': {'format': 'Microsoft Word', 'icon': 'file-word', 'unit': 'pt'},\n 'docx': {'format': 'Microsoft Word', 'icon': 'file-word', 'unit': 'pt'},\n 'docm': {'format': 'Microsoft Word', 'icon': 'file-word', 'unit': 'pt'},\n 'dot': {'format': 'Microsoft Word', 'icon': 'file-word', 'unit': 'pt'},\n 'dotx': {'format': 'Microsoft Word', 'icon': 'file-word', 'unit': 'pt'},\n 'dotm': {'format': 'Microsoft Word', 'icon': 'file-word', 'unit': 'pt'},\n 'xls': {'format': 'Microsoft Excel', 'icon': 'file-excel', 'unit': 'px'},\n 'xlsx': {'format': 'Microsoft Excel', 'icon': 'file-excel', 'unit': 'px'},\n 'xlsm': {'format': 'Microsoft Excel', 'icon': 'file-excel', 'unit': 'px'},\n 'xlsb': {'format': 'Microsoft Excel', 'icon': 'file-excel', 'unit': 'px'},\n 'xls2003': {'format': 'Microsoft Excel', 'icon': 'file-excel', 'unit': 'px'},\n 'xltx': {'format': 'Microsoft Excel', 'icon': 'file-excel', 'unit': 'px'},\n 'xltm': {'format': 'Microsoft Excel', 'icon': 'file-excel', 'unit': 'px'},\n 'ppt': {'format': 'Microsoft PowerPoint', 'icon': 'file-powerpoint', 'unit': 'pt'},\n 'pptx': {'format': 'Microsoft PowerPoint', 'icon': 'file-powerpoint', 'unit': 'pt'},\n 'pps': {'format': 'Microsoft PowerPoint', 'icon': 'file-powerpoint', 'unit': 'pt'},\n 'ppsx': {'format': 'Microsoft PowerPoint', 'icon': 'file-powerpoint', 'unit': 'pt'},\n 'vsd': {'format': 'Microsoft Visio', 'icon': 'file-code', 'unit': 'px'},\n 'vdx': {'format': 'Microsoft Visio', 'icon': 'file-code', 'unit': 'px'},\n 'vss': {'format': 'Microsoft Visio', 'icon': 'file-code', 'unit': 'px'},\n 'vsx': {'format': 'Microsoft Visio', 'icon': 'file-code', 'unit': 'px'},\n 'vst': {'format': 'Microsoft Visio', 'icon': 'file-code', 'unit': 'px'},\n 'vtx': {'format': 'Microsoft Visio', 'icon': 'file-code', 'unit': 'px'},\n 'vsdx': {'format': 'Microsoft Visio', 'icon': 'file-code', 'unit': 'px'},\n 'vdw': {'format': 'Microsoft Visio', 'icon': 'file-code', 'unit': 'px'},\n 'vstx': {'format': 'Microsoft Visio', 'icon': 'file-code', 'unit': 'px'},\n 'vssx': {'format': 'Microsoft Visio', 'icon': 'file-code', 'unit': 'px'},\n 'mpp': {'format': 'Microsoft Project', 'icon': 'file-alt', 'unit': 'pt'},\n 'mpt': {'format': 'Microsoft Project', 'icon': 'file-alt', 'unit': 'pt'},\n 'msg': {'format': 'Microsoft Outlook', 'icon': 'file-alt', 'unit': 'pt'},\n 'eml': {'format': 'Microsoft Outlook', 'icon': 'file-alt', 'unit': 'pt'},\n 'emlx': {'format': 'Microsoft Outlook', 'icon': 'file-alt', 'unit': 'pt'},\n 'one': {'format': 'Microsoft OneNote', 'icon': 'file-word', 'unit': 'pt'},\n 'odt': {'format': 'Open Document Text', 'icon': 'file-word', 'unit': 'pt'},\n 'ott': {'format': 'Open Document Text Template', 'icon': 'file-word', 'unit': 'pt'},\n 'ods': {'format': 'Open Document Spreadsheet', 'icon': 'file-excel', 'unit': 'px'},\n 'odp': {'format': 'Open Document Presentation', 'icon': 'file-powerpoint', 'unit': 'pt'},\n 'otp': {'format': 'Open Document Presentation', 'icon': 'file-powerpoint', 'unit': 'pt'},\n 'ots': {'format': 'Open Document Presentation', 'icon': 'file-powerpoint', 'unit': 'pt'},\n 'potx': {'format': 'Open Document Presentation', 'icon': 'file-powerpoint', 'unit': 'pt'},\n 'potm': {'format': 'Open Document Presentation', 'icon': 'file-powerpoint', 'unit': 'pt'},\n 'pptm': {'format': 'Open Document Presentation', 'icon': 'file-powerpoint', 'unit': 'pt'},\n 'ppsm': {'format': 'Open Document Presentation', 'icon': 'file-powerpoint', 'unit': 'pt'},\n 'rtf': {'format': 'Rich Text Format', 'icon': 'file-alt', 'unit': 'pt'},\n 'txt': {'format': 'Plain Text File', 'icon': 'file-alt', 'unit': 'pt'},\n 'csv': {'format': 'Comma-Separated Values', 'icon': 'file-excel', 'unit': 'px'},\n 'html': {'format': 'HyperText Markup Language', 'icon': 'file-word', 'unit': 'pt'},\n 'mht': {'format': 'HyperText Markup Language', 'icon': 'file-word', 'unit': 'pt'},\n 'mhtml': {'format': 'HyperText Markup Language', 'icon': 'file-word', 'unit': 'pt'},\n 'xml': {'format': 'Extensible Markup Language', 'icon': 'file-word', 'unit': 'pt'},\n 'xps': {'format': 'XML Paper Specification', 'icon': 'file-word', 'unit': 'pt'},\n 'dxf': {'format': 'AutoCAD Drawing File Format', 'icon': 'file-image', 'unit': 'px'},\n 'dwg': {'format': 'AutoCAD Drawing File Format', 'icon': 'file-image', 'unit': 'px'},\n 'bmp': {'format': 'Bitmap Picture', 'icon': 'file-image', 'unit': 'px'},\n 'gif': {'format': 'Graphics Interchange Format', 'icon': 'file-image', 'unit': 'px'},\n 'jpg': {'format': 'Joint Photographic Experts Group', 'icon': 'file-image', 'unit': 'px'},\n 'jpe': {'format': 'Joint Photographic Experts Group', 'icon': 'file-image', 'unit': 'px'},\n 'jpeg': {'format': 'Joint Photographic Experts Group', 'icon': 'file-image', 'unit': 'px'},\n 'jfif': {'format': 'Joint Photographic Experts Group', 'icon': 'file-image', 'unit': 'px'},\n 'png': {'format': 'Portable Network Graphics', 'icon': 'file-image', 'unit': 'px'},\n 'tiff': {'format': 'Tagged Image File Format', 'icon': 'file-image', 'unit': 'px'},\n 'tif': {'format': 'Tagged Image File Format', 'icon': 'file-image', 'unit': 'px'},\n 'psd': {'format': 'Tagged Image File Format', 'icon': 'file-image', 'unit': 'px'},\n 'svg': {'format': 'Tagged Image File Format', 'icon': 'file-image', 'unit': 'px'},\n 'jp2': {'format': 'Tagged Image File Format', 'icon': 'file-image', 'unit': 'px'},\n 'epub': {'format': 'Electronic Publication', 'icon': 'file-pdf', 'unit': 'pt'},\n 'ico': {'format': 'Windows Icon', 'icon': 'file-image', 'unit': 'px'},\n 'webp': {'format': 'Compressed Image', 'icon': 'file-image', 'unit': 'px'},\n 'mobi': {'format': 'Mobipocket eBook', 'icon': 'file-pdf', 'unit': 'pt'},\n 'tex': {'format': 'LaTeX Source Document', 'icon': 'file-pdf', 'unit': 'pt'},\n 'djvu': {'format': 'Multi-Layer Raster Image', 'icon': 'file-alt', 'unit': 'pt'},\n 'unknown': {'format': 'This format is not supported', 'icon': 'file'},\n };\n\n public static find(filename: string, isDirectory: boolean) {\n if (filename && !isDirectory) {\n const strings = filename.split('.');\n const name = strings.pop().toLowerCase();\n if (typeof FileUtil.map[name] === \"undefined\") {\n return strings.length > 0 ? FileUtil.map['unknown'] : FileUtil.map['folder'];\n } else {\n return FileUtil.map[name];\n }\n } else {\n return FileUtil.map['folder'];\n }\n }\n}\n\nexport class FileService {\n\n constructor() {\n }\n}\n","import {Observable, Observer} from \"rxjs\";\n\nexport class UploadFilesService {\n private _uploadsChange: Observable;\n private _observer: Observer;\n\n constructor() {\n this._uploadsChange = new Observable(observer =>\n this._observer = observer);\n }\n\n get uploadsChange(): Observable {\n return this._uploadsChange;\n }\n\n changeFilesList(filesList: FileList) {\n this._observer.next(filesList);\n }\n}\n","import {Component, EventEmitter, Input, OnInit, Output} from '@angular/core';\nimport {FileModel, FileUtil} from \"../file.service\";\nimport {UploadFilesService} from \"../upload-files.service\";\nimport * as jquery from \"jquery\";\nconst $ = jquery;\n\nconst upload_disc = 'Disc';\n\nconst upload_url = 'URL';\n\nconst uploads_choices = [{name: upload_disc, icon: 'hdd'}, {name: upload_url, icon: 'link'}];\n\n@Component({\n selector: 'gd-browse-files-modal',\n templateUrl: './browse-files-modal.component.html',\n styleUrls: ['./browse-files-modal.component.less']\n})\nexport class BrowseFilesModalComponent implements OnInit {\n uploads = uploads_choices;\n\n @Input() files;\n @Input() uploadConfig;\n @Output() selectedFileGuid = new EventEmitter();\n @Output() selectedDirectory = new EventEmitter();\n @Output() urlForUpload = new EventEmitter();\n @Output() closing = new EventEmitter();\n private selectedFile: FileModel;\n showUploadUrl = false;\n showUploadFile = false;\n\n constructor(private _uploadService: UploadFilesService) {\n }\n\n ngOnInit() {\n }\n\n getSize(size: number) {\n const mb = size / 1024 / 1024;\n if (mb > 1) {\n return (Math.round(mb * 100) / 100) + ' MB';\n } else {\n const kb = size / 1024;\n if (kb > 1) {\n return (Math.round(kb * 100) / 100) + ' KB';\n }\n }\n return size + ' Bytes';\n }\n\n getFormatName(file: FileModel) {\n return FileUtil.find(file.name, file.directory).format;\n }\n\n getFormatIcon(file: FileModel) {\n return FileUtil.find(file.name, file.directory).icon;\n }\n\n choose(file: FileModel) {\n this.selectedFile = file;\n if (file.directory || file.isDirectory) {\n this.selectedDirectory.emit(file.name);\n } else {\n this.selectedFileGuid.emit(file.guid);\n }\n }\n\n goUp() {\n if (this.selectedFile) {\n let guid = this.selectedFile.guid;\n if (guid.length > 0 && guid.indexOf('/') === -1) {\n guid = '';\n } else {\n guid = guid.replace(/\\/[^\\/]+\\/?$/, '');\n }\n this.selectedDirectory.emit(guid);\n }\n }\n\n selectUpload($event: string) {\n if (upload_url === $event) {\n this.showUploadUrl = true;\n } else {\n this.showUploadUrl = false;\n $(\"#gd-upload-input\").trigger('click');\n }\n }\n\n refresh($event) {\n\n if ($event) {\n this.files = null;\n this.selectedDirectory.emit('');\n this.showUploadUrl = false;\n this.selectedFile = null;\n } else {\n this.closing.emit(true);\n }\n }\n\n showSpinner() {\n return !this.files;\n }\n\n uploadUrl(url: string) {\n if (url) {\n this.urlForUpload.emit(url);\n this.cleanUpload();\n }\n }\n\n handleFileInput(files: FileList) {\n this._uploadService.changeFilesList(files);\n }\n\n cleanUpload() {\n this.showUploadFile = false;\n this.showUploadUrl = false;\n }\n}\n","import {Observable, Subject} from \"rxjs\";\n\nexport class ZoomService {\n private _observer: Subject = new Subject();\n private readonly _zoomChange: Observable = this._observer.asObservable();\n private _zoom: number;\n\n constructor() {\n }\n\n get zoom(): number {\n return this._zoom;\n }\n\n get zoomChange(): Observable {\n return this._zoomChange;\n }\n\n changeZoom(zoom: number) {\n this._zoom = zoom;\n this._observer.next(zoom);\n }\n\n private createZoomOption(val: any, name: string, sep: boolean = false) {\n return {value: val, name: name, separator: sep}\n }\n\n zoomOptions(width, height) {\n return [this.createZoomOption(25, '25%'),\n this.createZoomOption(50, '50%'),\n this.createZoomOption(100,'100%'),\n this.createZoomOption(150, '150%'),\n this.createZoomOption(200, '200%'),\n this.createZoomOption(300, '300%'),\n this.createZoomOption(0, '', true),\n this.createZoomOption(width, 'Fit Width'),\n this.createZoomOption(height, 'Fit Height')];\n }\n}\n","import {Observable, Observer} from \"rxjs\";\n\nexport class PagePreloadService {\n private readonly _checkPreload: Observable;\n private _observer: Observer;\n\n constructor() {\n this._checkPreload = new Observable(observer =>\n this._observer = observer);\n }\n\n get checkPreload(): Observable {\n return this._checkPreload;\n }\n\n changeLastPageInView(page: number) {\n if(this._observer) {\n this._observer.next(page);\n }\n }\n}\n","import {BehaviorSubject, Observable, Subject} from \"rxjs\";\nimport {PagePreloadService} from \"./page-preload.service\";\nimport {Injectable} from \"@angular/core\";\n\n@Injectable({\n providedIn: 'root'\n})\nexport class NavigateService {\n private _currentPage = 0;\n private _countPages = 0;\n private _observer: Subject = new Subject();\n private _navigate: Observable = this._observer;\n\n constructor(private _pagePreloadService: PagePreloadService) {\n }\n\n get navigate(): Observable {\n return this._navigate;\n }\n\n get countPages(): number {\n return this._countPages;\n }\n\n set countPages(value: number) {\n this._countPages = value;\n }\n\n get currentPage(): number {\n return this._currentPage;\n }\n\n set currentPage(value: number) {\n this._currentPage = value;\n }\n\n nextPage() {\n if (this._currentPage < this._countPages) {\n this._currentPage++;\n this.navigateTo(this._currentPage);\n }\n }\n\n prevPage() {\n if (this._currentPage > 1) {\n this._currentPage--;\n this.navigateTo(this._currentPage);\n }\n }\n\n toLastPage() {\n this._currentPage = this._countPages;\n this.navigateTo(this._currentPage);\n }\n\n toFirstPage() {\n this._currentPage = 1;\n this.navigateTo(this._currentPage);\n }\n\n navigateTo(page: number) {\n this.currentPage = page;\n this._pagePreloadService.changeLastPageInView(page);\n this._observer.next(page);\n }\n}\n","import {\n AfterViewChecked,\n Component,\n ElementRef,\n Input,\n OnInit,\n AfterViewInit,\n OnChanges\n} from '@angular/core';\nimport {FileDescription, FileUtil} from \"../file.service\";\nimport {ZoomService} from \"../zoom.service\";\nimport * as Hammer from 'hammerjs';\nimport {WindowService} from '../window.service';\nimport * as jquery from 'jquery';\nimport { NavigateService } from '../navigate.service';\n\nconst $ = jquery;\n\n@Component({\n selector: 'gd-document',\n templateUrl: './document.component.html',\n styleUrls: ['./document.component.less']\n})\nexport class DocumentComponent implements OnInit, AfterViewChecked, AfterViewInit, OnChanges {\n\n @Input() mode: boolean;\n @Input() preloadPageCount: number;\n @Input() file: FileDescription;\n @Input() selectedPage: number;\n @Input() showActiveSlide: boolean;\n wait = false;\n zoom: number;\n\n docWidth = null;\n docHeight = null;\n viewportWidth = null;\n viewportHeight = null;\n scale = null;\n lastScale = null;\n container = null;\n doc = null;\n x = 0;\n lastX = 0;\n y = 0;\n lastY = 0;\n pinchCenter = null;\n pinchCenterOffset = null;\n curWidth = 0;\n curHeight = 0;\n isDesktop: boolean;\n\n constructor(protected _elementRef: ElementRef,\n private _zoomService: ZoomService,\n private _windowService: WindowService,\n private _navigateService: NavigateService) {\n _zoomService.zoomChange.subscribe((val: number) => {\n this.zoom = val;\n });\n\n this.isDesktop = _windowService.isDesktop();\n\n this._navigateService.navigate.subscribe(((\n value => {\n this.selectedPage = value;\n })));\n }\n\n ngOnInit() {\n if (this.ifPresentation())\n {\n this.selectedPage = this._navigateService.currentPage;\n }\n }\n\n ngOnChanges() {\n }\n\n ngAfterViewInit() {\n // For current iteration we take .panzoom as a document\n this.doc = this._elementRef.nativeElement.children.item(0).children.item(0);\n // For current iteration we take .gd-document as a container\n this.container = this._elementRef.nativeElement;\n\n this.docWidth = this.doc.clientWidth;\n this.docHeight = this.doc.clientHeight;\n this.viewportWidth = this.doc.offsetWidth;\n\n // For cases where we already have zoom defined we should include it\n this.scale = (this.viewportWidth / this.docWidth) * this._zoomService.zoom / 100;\n\n this.lastScale = this.scale;\n this.viewportHeight = this.container.offsetHeight;\n this.curWidth = this.docWidth * this.scale;\n this.curHeight = this.docHeight * this.scale;\n\n const hammer = new Hammer(this.container);\n }\n\n // TODO: this temporary crutch for Excel files should be documented\n ifExcel() {\n return FileUtil.find(this.file.guid, false).format === \"Microsoft Excel\";\n }\n\n ifPresentation() {\n return FileUtil.find(this.file.guid, false).format === \"Microsoft PowerPoint\";\n }\n\n getDimensionWithUnit(value: number, pageNumber: number) {\n return this.ifPresentation() && this.showActiveSlide && !this.isVisible(pageNumber) ? 0 : value + (this.mode ? FileUtil.find(this.file.guid, false).unit : 'px');\n }\n\n ifEdge() {\n return navigator.userAgent.toLowerCase().indexOf('edge') > -1;\n }\n\n ngAfterViewChecked(): void {\n // for now we are not sure that need this action in current implementation\n // const elementNodeListOf = this._elementRef.nativeElement.querySelectorAll('.gd-wrapper');\n // const element = elementNodeListOf.item(0);\n // if (element) {\n // $(element).trigger('focus');\n // }\n }\n\n isVisible(pageNumber) {\n if (this.ifPresentation()) {\n return pageNumber === this.selectedPage ? true : false;\n }\n else {\n return true;\n }\n }\n}\n","import {Component, Input, OnChanges, OnInit, SimpleChanges} from '@angular/core';\n\n@Component({\n selector: 'gd-page',\n templateUrl: './page.component.html',\n styleUrls: ['./page.component.less']\n})\nexport class PageComponent implements OnInit, OnChanges {\n\n @Input() angle: number;\n @Input() width: number;\n @Input() height: number;\n @Input() number: number;\n @Input() data: string;\n @Input() isHtml: boolean;\n @Input() editable: boolean;\n imgData: string;\n\n constructor() {\n }\n\n ngOnInit() {\n const isIE = /*@cc_on!@*/false || !!/(MSIE|Trident\\/|Edge\\/)/i.test(navigator.userAgent);\n if(isIE && this.number === 0){\n this.editable = false;\n }\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n if(this.isHtml) {\n // TODO: this is temporary needed to remove unneeded spaces and BOM symbol \n // which leads to undesired spaces on the top of the docs pages\n this.data = this.data \n ? this.data.replace(/>\\s+<')\n .replace(/\\uFEFF/g,\"\")\n : null;\n } else {\n this.imgData = 'data:image/png;base64,' + this.data;\n }\n }\n}\n","import {Pipe, PipeTransform} from '@angular/core';\nimport {DomSanitizer, SafeHtml} from '@angular/platform-browser';\n\n@Pipe({name: 'safeHtml'})\nexport class SanitizeHtmlPipe implements PipeTransform{\n constructor(private sanitizer: DomSanitizer) {\n }\n\n transform(html: string): SafeHtml {\n return this.sanitizer.bypassSecurityTrustHtml(html);\n }\n}\n\n@Pipe({name: 'safeResourceHtml'})\nexport class SanitizeResourceHtmlPipe implements PipeTransform{\n constructor(private sanitizer: DomSanitizer) {\n }\n\n transform(html: string): SafeHtml {\n return this.sanitizer.bypassSecurityTrustResourceUrl(html);\n }\n}\n\n@Pipe({name: 'safeStyle'})\nexport class SanitizeStylePipe implements PipeTransform{\n constructor(private sanitizer: DomSanitizer) {\n }\n\n transform(html: string): SafeHtml {\n return this.sanitizer.bypassSecurityTrustStyle(html);\n }\n}\n\n@Pipe({name: 'highlight'})\nexport class HighlightSearchPipe implements PipeTransform {\n\n transform(value: string, args: string): any {\n if (!args) {\n return value;\n }\n const re = new RegExp(args, 'gi'); //'gi' for case insensitive and can use 'g' if you want the search to be case sensitive.\n return value.replace(re, \"$&\");\n }\n}\n","import {Component, EventEmitter, OnInit, Output} from '@angular/core';\nimport {UploadFilesService} from \"../upload-files.service\";\n\n@Component({\n selector: 'gd-upload-file-zone',\n templateUrl: './upload-file-zone.component.html',\n styleUrls: ['./upload-file-zone.component.less']\n})\nexport class UploadFileZoneComponent implements OnInit {\n\n @Output() closeUpload = new EventEmitter();\n\n constructor(private _uploadService: UploadFilesService) { }\n\n ngOnInit() {\n }\n\n handleFileInput(files: FileList) {\n this._uploadService.changeFilesList(files);\n this.onCloseUpload();\n }\n\n onCloseUpload() {\n this.closeUpload.emit(true);\n }\n\n close($event) {\n if ($event.target.id === 'gd-dropZone') {\n this.onCloseUpload();\n }\n }\n}\n","import {Directive, EventEmitter, HostBinding, HostListener, Input, Output} from '@angular/core';\nimport {UploadFilesService} from \"./upload-files.service\";\n\n@Directive({\n selector: '[gdDnd]'\n})\nexport class DndDirective {\n\n @Output() closing = new EventEmitter();\n @Output() opening = new EventEmitter();\n @Output() dropped = new EventEmitter();\n\n @HostBinding('class.active') active = false;\n\n private dragCounter = 0;\n\n constructor(protected _uploadFilesService: UploadFilesService) {\n }\n\n @HostListener('dragenter', ['$event'])\n public onDragEnter(evt) {\n evt.preventDefault();\n evt.stopPropagation();\n this.dragCounter++;\n this.active = true;\n this.opening.emit(true);\n }\n\n @HostListener('dragover', ['$event'])\n public onDragOver(evt) {\n evt.preventDefault();\n evt.stopPropagation();\n return false;\n }\n\n @HostListener('dragleave', ['$event'])\n public onDragLeave(evt) {\n evt.preventDefault();\n evt.stopPropagation();\n this.dragCounter--;\n if (this.dragCounter === 0) {\n this.active = false;\n this.closeArea();\n }\n }\n\n @HostListener('drop', ['$event'])\n public onDrop(evt) {\n evt.preventDefault();\n evt.stopPropagation();\n const files = evt.dataTransfer.files;\n if (files.length > 0) {\n this.active = false;\n this.dropped.emit(true);\n this._uploadFilesService.changeFilesList(files);\n this.closeArea();\n }\n }\n\n @HostListener('click', ['$event'])\n public onClick(event) {\n this.closeArea();\n }\n\n private closeArea() {\n this.closing.emit(true);\n this.opening.emit(false);\n }\n}\n","import {Injectable} from '@angular/core';\nimport * as jquery from \"jquery\";\nconst $ = jquery;\n\n@Injectable({\n providedIn: 'root'\n})\nexport class ViewportService {\n\n constructor() {\n }\n\n checkInViewport(el, zoom: number = 100, leftOffset: number = 0, deltaX: number = 0.5) {\n if (!el) {\n return false;\n }\n const x = deltaX;\n const y = 0.5;\n\n const win = $(window);\n\n const viewport = {\n top: win.scrollTop(),\n left: win.scrollLeft() + leftOffset,\n right: win.scrollLeft() + win.width() - 10,\n bottom: win.scrollTop() + win.height()\n };\n\n\n if (isNaN(zoom)) {\n zoom = 100;\n }\n\n const zoomN = zoom / 100;\n const height = $(el).outerHeight() * (zoomN);\n const width = $(el).outerWidth() * (zoomN);\n\n if (!width || !height) {\n return false;\n }\n\n const bounds = $(el).offset();\n const right = (bounds.left * (zoomN)) + width;\n const bottom = (bounds.top * (zoomN)) + height;\n\n const visible = (!(viewport.right < (bounds.left * (zoomN)) || viewport.left > right || viewport.bottom < (bounds.top * (zoomN)) || viewport.top > bottom));\n\n if (!visible) {\n return false;\n }\n\n const deltas = {\n top: parseFloat(Math.min(1, (bottom - viewport.top) / height).toFixed(2)),\n bottom: parseFloat(Math.min(1, (viewport.bottom - (bounds.top * (zoomN))) / height).toFixed(2)),\n left: parseFloat(Math.min(1, (right - viewport.left) / width).toFixed(2)),\n right: parseFloat(Math.min(1, (viewport.right - (bounds.left * (zoomN))) / width).toFixed(2))\n };\n\n return (deltas.left * deltas.right) >= x && (deltas.top * deltas.bottom) >= y;\n }\n}\n","import {\n AfterViewInit,\n Directive,\n ElementRef,\n HostListener,\n Input,\n OnChanges,\n OnInit,\n SimpleChanges\n} from '@angular/core';\nimport {NavigateService} from \"./navigate.service\";\nimport {PagePreloadService} from \"./page-preload.service\";\nimport {ZoomService} from \"./zoom.service\";\nimport {WindowService} from \"./window.service\";\nimport {ViewportService} from \"./viewport.service\";\nimport * as jquery from \"jquery\";\nconst $ = jquery;\n\n@Directive({\n selector: '[gdScrollable]'\n})\nexport class ScrollableDirective implements AfterViewInit, OnChanges, OnInit {\n @Input() isPresentation: boolean;\n\n private currentPage: number;\n private zoom = 100;\n private loadedPagesSet = new Set();\n\n constructor(private _elementRef: ElementRef,\n private _navigateService: NavigateService,\n private _pagePreloadService: PagePreloadService,\n private _zoomService: ZoomService,\n private _windowService: WindowService,\n private _viewportService: ViewportService) {\n\n this.zoom = _zoomService.zoom ? _zoomService.zoom : this.zoom;\n _zoomService.zoomChange.subscribe((val: number) => {\n this.zoom = val ? val : this.zoom;\n this.refresh();\n });\n }\n\n ngAfterViewInit() {\n this.zoom = this._zoomService.zoom ? this._zoomService.zoom : this.zoom;\n this._navigateService.navigate.subscribe((value => {\n this.currentPage = value;\n this.scrollToPage(value);\n }));\n this.refresh();\n }\n\n @HostListener('scroll') scrolling() {\n this.refresh();\n }\n\n @HostListener('window:resize') resizing() {\n this.refresh();\n }\n\n scrollToPage(pageNumber: number) {\n const el = this._elementRef.nativeElement;\n const page = this.getPage(pageNumber);\n const prev = pageNumber > 0 ? this.getPage(pageNumber - 1) : null;\n const isSameTop = (prev && $(prev).offset().top === $(page).offset().top);\n if (this._viewportService.checkInViewport(page, this.zoom) && isSameTop) {\n return;\n }\n const pagesHeight = this.calculateOffset(pageNumber);\n const options = {\n left: 0,\n top: pagesHeight\n };\n if(el){\n // using polyfill\n el.scroll(options);\n }\n }\n\n private getChildren() {\n const el = this._elementRef ? this._elementRef.nativeElement : null;\n if (el) {\n // here and in the similar line below we getting the document pages\n return el.children.item(0).children.item(0).children;\n }\n }\n\n private getPage(pageNumber: number) {\n const el = this._elementRef ? this._elementRef.nativeElement : null;\n if (el) {\n return el.children.item(0).children.item(0).children.item(pageNumber - 1);\n }\n }\n\n private calculateOffset(pageNumber: number) {\n const count = this._windowService.isFirefox() ? 1 : this.countPagesOnWidth();\n const margin = this._windowService.isDesktop() ? 40 : 10;\n let pagesHeight = 0;\n for (let i = 1; i < pageNumber / count; i++) {\n const item = this.getPage(i);\n const clientHeight = item ? item.clientHeight : 0;\n pagesHeight += clientHeight > 0 ? clientHeight * this.getZoom() + margin : 0;\n }\n return pagesHeight;\n }\n\n private countPagesOnWidth() {\n const pageEl = this.getPage(1);\n const offset = 150;\n if (pageEl) {\n const count = Math.floor((this.getWidth() - offset) / (pageEl.getBoundingClientRect().width * this.getZoom()));\n if (count !== 0) {\n return count;\n }\n }\n return 1;\n }\n\n refresh() {\n let page;\n let currentPageSet = false;\n const pageElem = this.getPage(this.currentPage);\n const currentPageRect = this.currentPage && pageElem ? pageElem.getBoundingClientRect() : null;\n for (page = 1; page < this.getChildren().length + 1; page++) {\n const element = this.getPage(page);\n if (this._viewportService.checkInViewport(element, this.zoom)) {\n if (!currentPageSet) {\n if (!this.currentPage || !pageElem || (this.currentPage && currentPageRect && element.getBoundingClientRect().top !== currentPageRect.top)) {\n this.currentPage = page;\n if ((this.isPresentation && this._navigateService.currentPage === 0) || !this.isPresentation) {\n this._navigateService.currentPage = page;\n }\n }\n currentPageSet = true;\n }\n if (!this.loadedPagesSet.has(page)) {\n this._pagePreloadService.changeLastPageInView(page);\n this.loadedPagesSet.add(page);\n }\n }\n }\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n this.refresh();\n }\n\n ngOnInit(): void {\n this.zoom = this._zoomService.zoom ? this._zoomService.zoom : this.zoom;\n }\n\n\n private getWidth() {\n return this._elementRef ? this._elementRef.nativeElement.offsetWidth : window.innerWidth;\n }\n\n private getZoom() {\n return this.zoom / 100;\n }\n}\n","import {\n Directive,\n EventEmitter,\n HostListener,\n Output} from '@angular/core';\nimport * as jquery from \"jquery\";\nconst $ = jquery;\n\n@Directive({\n selector: '[gdMouseWheel]'\n})\nexport class MouseWheelDirective {\n @Output() mouseWheelUp = new EventEmitter();\n @Output() mouseWheelDown = new EventEmitter();\n\n @HostListener('mousewheel', ['$event']) onMouseWheelChrome(event: any) {\n this.mouseWheelFunc(event);\n }\n\n @HostListener('DOMMouseScroll', ['$event']) onMouseWheelFirefox(event: any) {\n this.mouseWheelFunc(event);\n }\n\n @HostListener('onmousewheel', ['$event']) onMouseWheelIE(event: any) {\n this.mouseWheelFunc(event);\n }\n\n mouseWheelFunc(event: any) {\n event = window.event ;\n const delta = Math.max(-1, Math.min(1, (event.wheelDelta || -event.detail)));\n if(delta > 0) {\n this.mouseWheelUp.emit(event);\n } else if(delta < 0) {\n this.mouseWheelDown.emit(event);\n }\n }\n}\n","import {AfterViewInit, Directive, HostBinding, Input, OnDestroy, OnInit, ElementRef, OnChanges} from '@angular/core';\nimport {ZoomService} from \"./zoom.service\";\nimport {FileUtil} from \"./file.service\";\nimport { WindowService } from './window.service';\n\n@Directive({\n selector: '[gdZoom]'\n})\nexport class ZoomDirective implements OnInit, OnDestroy, AfterViewInit, OnChanges {\n\n @Input() zoomActive = true;\n @Input() file;\n\n @HostBinding('style.zoom') zoomInt: number;\n @HostBinding('style.transform') transform: string;\n @HostBinding('style.transform-origin') transformOrigin: string;\n @HostBinding('style.width') width: string;\n @HostBinding('style.height') height: string;\n @HostBinding('style.min-width') minWidth: string;\n el: ElementRef;\n\n constructor(private _zoomService: ZoomService, private _windowService: WindowService, el: ElementRef) {\n this.el = el;\n }\n\n ngOnDestroy(): void {\n }\n\n ngOnChanges(): void {\n this.setStyles(this._zoomService.zoom);\n this.resizePages(this._zoomService.zoom);\n }\n\n ngOnInit(): void {\n if (! this.zoomActive) {\n return;\n }\n\n this.setStyles(this._zoomService.zoom);\n this._zoomService.zoomChange.subscribe((zoom) => {\n this.setStyles(zoom);\n this.resizePages(zoom);\n });\n }\n\n private setStyles(zoom) {\n if (! this.zoomActive) {\n return;\n }\n\n const zoomInt = zoom === 100 ? 1 : zoom / 100;\n \n if (this._windowService.isEdge()) {\n this.zoomInt = zoomInt;\n }\n else {\n this.zoomInt = null;\n }\n \n if (!this._windowService.isEdge()) {\n this.transform = 'scale(' + zoomInt + ')';\n this.transformOrigin = 'top left';\n }\n else {\n this.transform = \"\";\n this.transformOrigin = \"\";\n }\n\n let maxWidth = 0;\n this.file.pages.forEach(page => {\n {\n if (page.width > maxWidth){\n maxWidth = page.width;\n }\n }\n });\n\n // Images and Excel-related files receiving dimensions in px from server\n this.minWidth = maxWidth + FileUtil.find(this.file.guid, false).unit;\n }\n\n private getScrollWidth(elm){\n return elm.offsetWidth - elm.clientWidth;\n }\n\n private getScrollHeight(elm){\n return elm.offsetHeight - elm.clientHeight;\n }\n\n private resizePages(zoom){\n const zoomInt = zoom === 100 ? 1 : zoom / 100;\n\n const viewPortWidth = this.el.nativeElement.parentElement.offsetWidth;\n const viewPortHeight = this.el.nativeElement.parentElement.offsetHeight;\n const scrollWidth = this.getScrollWidth(this.el.nativeElement.parentElement);\n const scrollHeight = this.getScrollHeight(this.el.nativeElement.parentElement);\n this.width = (viewPortWidth/zoomInt - scrollWidth/zoomInt) + 'px';\n this.height = (viewPortHeight/zoomInt - scrollHeight/zoomInt) + 'px';\n }\n\n ngAfterViewInit(): void {\n this.setStyles(this._zoomService.zoom);\n }\n}\n","import {Injectable} from '@angular/core';\nimport {Observable, Subject} from \"rxjs\";\n\n@Injectable({\n providedIn: 'root'\n})\nexport class OnCloseService {\n private _observer: Subject = new Subject();\n private readonly _onClose: Observable = this._observer.asObservable();\n\n constructor() {\n }\n\n get onClose() {\n return this._onClose;\n }\n\n close(close: boolean) {\n this._observer.next(close)\n }\n}\n","import {Component, EventEmitter, Input, Output} from '@angular/core';\nimport {OnCloseService} from \"../on-close.service\";\n\nexport interface Option {\n name: string;\n value: any;\n separator: boolean;\n}\n\n@Component({\n selector: 'gd-select',\n templateUrl: './select.component.html',\n styleUrls: ['./select.component.less']\n})\nexport class SelectComponent {\n\n @Input() options: Option[];\n @Input() disabled = false;\n @Input() showSelected: Option;\n @Output() selected: EventEmitter = new EventEmitter();\n @Output() opened: EventEmitter = new EventEmitter();\n @Input() isOpen = false;\n @Input() icon: string;\n\n constructor(protected _onCloseService: OnCloseService) {\n _onCloseService.onClose.subscribe(() => {\n this.close();\n });\n }\n\n open() {\n if (!this.disabled) {\n this.isOpen = true;\n }\n }\n\n close() {\n this.isOpen = false;\n }\n\n onClickOutside(event : Event){\n this.close();\n }\n\n toggle($event) {\n // TODO: following lines were uncommented due to needness in signature app\n $event.preventDefault();\n $event.stopPropagation();\n if (!this.disabled) {\n this.isOpen = !this.isOpen;\n if (this.isOpen) this.opened.emit(true);\n }\n }\n\n select($event, value: Option) {\n $event.preventDefault();\n $event.stopPropagation();\n this.selected.emit(value);\n this.close();\n }\n}\n","import {Directive, HostBinding, Input, OnChanges, OnInit, SimpleChanges} from '@angular/core';\n\n@Directive({\n selector: '[gdDisabledCursor]'\n})\nexport class DisabledCursorDirective implements OnInit, OnChanges {\n\n @Input() dis: boolean;\n\n constructor() {\n }\n\n @HostBinding('class.inactive') cursor: boolean;\n\n private updateCursor() {\n this.cursor = this.dis ? true : false;\n }\n\n ngOnInit(): void {\n this.updateCursor();\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n this.updateCursor()\n }\n}\n","import {Directive, HostBinding, Input, OnChanges, OnInit, SimpleChanges} from '@angular/core';\n\n@Directive({\n selector: '[gdRotation]'\n})\nexport class RotationDirective implements OnInit, OnChanges {\n\n @Input() angle: number;\n @Input() isHtmlMode: boolean;\n @Input() width: number;\n @Input() height: number;\n @Input() withMargin = true;\n\n @HostBinding('style.animation') animation: string;\n @HostBinding('style.transition-property') transition: string;\n @HostBinding('style.transform') transform: string;\n\n @HostBinding('style.margin') margin: string;\n\n constructor() {\n }\n\n private updateCursor() {\n if (typeof this.angle === \"string\"){\n this.angle = parseInt(this.angle, 10);\n }\n\n if (this.angle) {\n this.animation = 'none';\n this.transition = 'none';\n this.transform = 'rotate(' + this.angle + 'deg)';\n } else if (this.angle === 0 && this.animation) {\n this.animation = null;\n this.transition = null;\n this.transform = null;\n }\n\n if (this.withMargin) {\n if (this.angle === 90 || this.angle === 270 || this.angle === -90 || this.angle === -270) {\n if (this.isHtmlMode) {\n if (this.isLandscape()) {\n this.margin = '164px 254px';\n } else {\n this.margin = '-111px 254px';\n }\n } else {\n if (this.isLandscape()) {\n this.margin = '129px 100px -79px';\n } else {\n this.margin = '-72px 100px -79px';\n }\n }\n } else if (this.angle === -180 || this.angle === 180) {\n this.margin = '280px';\n } else {\n this.margin = null;\n }\n }\n\n }\n\n isLandscape() {\n return this.width > this.height;\n }\n\n ngOnInit(): void {\n this.updateCursor();\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n this.updateCursor()\n }\n\n}\n","import {Component, Input, Output, EventEmitter, OnInit} from '@angular/core';\n\n@Component({\n selector: 'gd-init-state',\n templateUrl: './init-state.component.html',\n styleUrls: ['./init-state.component.less']\n})\nexport class InitStateComponent implements OnInit {\n @Input() icon: string;\n @Input() text: string;\n @Output() fileDropped = new EventEmitter();\n showUploadFile = false;\n\n constructor() {\n }\n\n ngOnInit() {\n }\n\n dropped($event) {\n if ($event) {\n this.fileDropped.emit($event);\n this.showUploadFile = false;\n }\n }\n}\n","import {Observable, Observer} from \"rxjs\";\nimport {PageModel} from \"./file.service\";\n\nexport class RenderPrintService {\n private _render: Observable;\n private _observer: Observer;\n private _renderBlob: Observable;\n private _observerBlob: Observer;\n\n constructor() {\n this._render = new Observable(observer =>\n this._observer = observer);\n this._renderBlob = new Observable(observer =>\n this._observerBlob = observer);\n }\n\n get renderPrint(): Observable {\n return this._render;\n }\n\n changePages(pages: PageModel[]) {\n this._observer.next(pages);\n }\n\n get renderPrintBlob(): Observable {\n return this._renderBlob;\n }\n\n changeBlob(file: Blob) {\n this._observerBlob.next(file);\n }\n}\n","import {Directive, Input} from '@angular/core';\nimport {PageModel} from \"./file.service\";\nimport {RenderPrintService} from \"./render-print.service\";\n\n@Directive({\n selector: '[gdRenderPrint]'\n})\nexport class RenderPrintDirective {\n @Input() htmlMode: boolean;\n\n constructor(private _renderService: RenderPrintService) {\n _renderService.renderPrint.subscribe(pages => {\n this.renderPrint(pages);\n });\n _renderService.renderPrintBlob.subscribe(file => {\n this.renderPrintBlob(file);\n });\n }\n\n private renderPrint(pages: PageModel[]) {\n let pagesHtml = '';\n\n for (const page of pages) {\n pagesHtml += '
' +\n '
' +\n '
';\n }\n\n this.openWindow(pagesHtml, pages[0].width, pages[0].height);\n }\n\n private openWindow(pagesHtml, width, height) {\n const a4Height = 842;\n const a4Width = 595;\n let imageA4Adjusted = '';\n if(width > a4Width && height > a4Height){\n const zoom = Math.round(height / a4Height) / 100;\n imageA4Adjusted = '.gd-page img { width: 100%; margin: 0; padding: 0;}';\n if(navigator.userAgent.toLowerCase().indexOf('firefox') > -1){\n imageA4Adjusted = '.gd-page img { transform: scale(' + zoom + ');}';\n }\n }\n let cssPrint = '';\n\n const windowObject = window.open('', \"PrintWindow\", \"width=750,height=650,top=50,left=50,toolbars=yes,scrollbars=yes,status=yes,resizable=yes\");\n windowObject.focus();\n windowObject.document.writeln(cssPrint);\n windowObject.document.writeln(pagesHtml);\n windowObject.document.close();\n setTimeout(() => {\n windowObject.focus();\n windowObject.print();\n windowObject.close();\n }, 100);\n }\n\n private renderPrintBlob(file: Blob) {\n const fileURL = URL.createObjectURL(file);\n const windowObject = window.open(fileURL, \"PrintWindow\", \"width=750,height=650,top=50,left=50,toolbars=yes,scrollbars=yes,status=yes,resizable=yes\");\n windowObject.focus();\n windowObject.print();\n windowObject.close();\n }\n}\n","import { HttpEvent } from \"@angular/common/http\";\nimport {BehaviorSubject, Observable} from \"rxjs\";\n\nexport class ExceptionMessageService {\n private _observer: BehaviorSubject = new BehaviorSubject('Server is not available');\n private _messageChange: Observable = this._observer.asObservable();\n\n private _observerHttpEvent: BehaviorSubject> = new BehaviorSubject(null);\n private _httpEventChange: Observable> = this._observerHttpEvent.asObservable();\n\n constructor() {\n }\n\n get messageChange(): Observable {\n return this._messageChange;\n }\n\n get httpEventChange(): Observable> {\n return this._httpEventChange;\n }\n\n changeMessage(message: string) {\n this._observer.next(message);\n }\n\n changeHttpEvent(httpEvent:HttpEvent) {\n this._observerHttpEvent.next(httpEvent);\n }\n}\n","import {Component, OnInit} from '@angular/core';\nimport {ExceptionMessageService} from \"../exception-message.service\";\n\n@Component({\n selector: 'gd-error-modal',\n templateUrl: './error-modal.component.html',\n styleUrls: ['./error-modal.component.less']\n})\nexport class ErrorModalComponent implements OnInit {\n\n message: string;\n\n constructor(messageService: ExceptionMessageService) {\n messageService.messageChange.subscribe(message => this.message = message);\n }\n\n ngOnInit() {\n }\n\n}\n","import {Observable, Subject} from \"rxjs\";\n\nexport class PasswordService {\n private _observer: Subject = new Subject();\n private readonly _passChange: Observable = this._observer.asObservable();\n\n constructor() {\n }\n\n get passChange(): Observable {\n return this._passChange;\n }\n\n setPassword(pass: string) {\n this._observer.next(pass);\n }\n}\n","import {Component, EventEmitter, OnInit, Output} from '@angular/core';\nimport {ExceptionMessageService} from \"../exception-message.service\";\nimport {PasswordService} from \"../password.service\";\nimport * as jquery from \"jquery\";\n\nconst $ = jquery;\n\n@Component({\n selector: 'gd-password-required',\n templateUrl: './password-required.component.html',\n styleUrls: ['./password-required.component.less']\n})\nexport class PasswordRequiredComponent implements OnInit {\n message: string;\n @Output() cancelEvent = new EventEmitter();\n\n constructor(messageService: ExceptionMessageService, private _passwordService: PasswordService) {\n messageService.messageChange.subscribe(message => this.message = message);\n }\n\n ngOnInit() {\n }\n\n setPassword(value: string) {\n this._passwordService.setPassword(value);\n }\n\n onCloseOpen($event: boolean) {\n if ($event) {\n setTimeout(() => {\n const element = $(\"#password\");\n if (element) {\n element.focus();\n }\n }, 100);\n } else {\n $(\"#password\").val(\"\");\n }\n }\n\n cancel($event: boolean) {\n $(\"#password\").val(\"\");\n this.cancelEvent.emit(true);\n }\n}\n","import {Injectable} from '@angular/core';\nimport {HttpErrorResponse, HttpEvent, HttpHandler, HttpInterceptor, HttpRequest} from \"@angular/common/http\";\nimport {Observable, throwError} from \"rxjs\";\nimport {catchError, map} from \"rxjs/operators\";\nimport {ExceptionMessageService} from \"./exception-message.service\";\nimport {HttpError} from \"./file.service\";\nimport {CommonModals, ModalService} from \"./modal.service\";\n\n@Injectable({\n providedIn: 'root'\n})\nexport class ErrorInterceptorService implements HttpInterceptor {\n\n public static ErrorMessageWindowName:string = CommonModals.ErrorMessage;\n\n constructor(private _modalService: ModalService, private _messageService: ExceptionMessageService) {\n }\n\n intercept(req: HttpRequest, next: HttpHandler): Observable> {\n const logFormat = 'background: maroon; color: white';\n\n return next.handle(req)\n .pipe(map(data => {\n return data;\n }),\n catchError((exception: HttpEvent) => {\n if (exception instanceof HttpErrorResponse) {\n switch (exception.status) {\n\n case HttpError.BadRequest:\n console.error('%c Bad Request 400', logFormat);\n break;\n case HttpError.Unauthorized:\n console.error('%c Unauthorized 401', logFormat);\n break;\n case HttpError.NotFound:\n console.error('%c Not Found 404', logFormat);\n break;\n case HttpError.TimeOut:\n console.error('%c TimeOut 408', logFormat);\n break;\n case HttpError.InternalServerError:\n console.error('%c big bad 500', logFormat);\n this._messageService.changeMessage(exception.error.message);\n this._messageService.changeHttpEvent(exception);\n this._modalService.open(ErrorInterceptorService.ErrorMessageWindowName);\n break;\n\n case HttpError.Forbidden:\n console.error('%c Forbidden 403', logFormat);\n this._messageService.changeMessage(exception.error.message);\n this._modalService.open(CommonModals.PasswordRequired);\n break;\n }\n }\n return throwError(exception);\n }));\n }\n}\n","import {Observable, Subject} from \"rxjs\";\n\nexport class SearchService {\n private _observer: Subject = new Subject();\n private readonly _textChange: Observable = this._observer.asObservable();\n\n private _observerCurrent: Subject = new Subject();\n private readonly _currentChange: Observable = this._observerCurrent.asObservable();\n\n private _observerTotal: Subject = new Subject();\n private readonly _totalChange: Observable = this._observerTotal.asObservable();\n\n constructor() {\n }\n\n get textChange(): Observable {\n return this._textChange;\n }\n\n setText(text: string) {\n this._observer.next(text);\n }\n\n get currentChange(): Observable {\n return this._currentChange;\n }\n\n get totalChange(): Observable {\n return this._totalChange;\n }\n\n setCurrent(current: number) {\n this._observerCurrent.next(current);\n }\n\n setTotal(total: number) {\n this._observerTotal.next(total);\n }\n}\n","import {AfterViewInit, Component, ElementRef, EventEmitter, OnInit, Output, ViewChild} from '@angular/core';\nimport {SearchService} from \"../search.service\";\n\n@Component({\n selector: 'gd-search',\n templateUrl: './search.component.html',\n styleUrls: ['./search.component.less']\n})\nexport class SearchComponent implements OnInit, AfterViewInit {\n\n @Output() hidePanel = new EventEmitter(false);\n\n current = 0;\n total = 0;\n\n @ViewChild('text',{\n static : true\n }) textElement: ElementRef;\n\n constructor(private _searchService: SearchService) {\n _searchService.totalChange.subscribe((total: number) => {\n this.total = total;\n if (total !== 0) {\n this.current = 1;\n } else {\n this.current = 0;\n }\n this._searchService.setCurrent(this.current);\n });\n }\n\n ngOnInit() {\n }\n\n setText(text: string) {\n this._searchService.setText(text);\n }\n\n hide() {\n this.setText('');\n this.hidePanel.emit(true);\n }\n\n prev() {\n if (this.current > 1) {\n this.current--;\n this._searchService.setCurrent(this.current);\n }\n }\n\n next() {\n if (this.current < this.total) {\n this.current++;\n this._searchService.setCurrent(this.current);\n }\n }\n\n ngAfterViewInit(): void {\n this.textElement.nativeElement.focus();\n }\n}\n","import {Directive, ElementRef} from '@angular/core';\nimport {SearchService} from \"./search.service\";\nimport {HighlightSearchPipe} from \"./pipes\";\nimport {ZoomService} from \"./zoom.service\";\nimport * as jquery from \"jquery\";\nconst $ = jquery;\n\n@Directive({\n selector: '[gdSearchable]'\n})\nexport class SearchableDirective {\n\n text: string;\n current = 0;\n total = 0;\n private zoom = 100;\n\n constructor(private _elementRef: ElementRef,\n private _searchService: SearchService,\n private _highlight: HighlightSearchPipe,\n private _zoomService: ZoomService) {\n _searchService.currentChange.subscribe((current: number) => {\n this.current = current;\n if (this.current !== 0) {\n this.moveToCurrent();\n }\n });\n\n _searchService.textChange.subscribe((text: string) => {\n this.text = text;\n this.highlightSearch();\n });\n\n this.zoom = _zoomService.zoom ? _zoomService.zoom : this.zoom;\n _zoomService.zoomChange.subscribe((val: number) => {\n this.zoom = val ? val : this.zoom;\n });\n }\n\n private highlightSearch() {\n const el = this._elementRef ? this._elementRef.nativeElement : null;\n if (el) {\n this.cleanHighlight(el);\n if (this.text) {\n this.highlightEl(el);\n const count = el.querySelectorAll('.gd-highlight').length;\n this.total = count;\n } else {\n this.total = 0;\n }\n this._searchService.setTotal(this.total);\n }\n }\n\n private moveToCurrent() {\n if (this.current === 0) {\n return;\n }\n const currentZoom = this.getZoom();\n const el = this._elementRef ? this._elementRef.nativeElement : null;\n if (el) {\n el.querySelectorAll('.gd-highlight-select').forEach(function (value) {\n $(value).removeClass('gd-highlight-select');\n });\n const currentEl = el.querySelectorAll('.gd-highlight')[this.current - 1];\n $(currentEl).addClass('gd-highlight-select');\n if (currentEl) {\n const options = {\n left: 0,\n top: ($(currentEl).offset().top) + el.parentElement.parentElement.scrollTop - 150,\n };\n // using polyfill\n el.parentElement.parentElement.scroll(options);\n }\n }\n }\n\n private highlightEl(el: Element) {\n const textNodes = $(el).find('*').contents().filter(function () {\n const nodeName = this.parentElement.nodeName.toLowerCase();\n const checkClass = (this).classList ? !(this).classList.contains('gd-highlight') : true;\n return this.nodeType === 3 &&\n this.textContent.trim().length !== 0 &&\n nodeName !== 'style' &&\n nodeName !== 'title' &&\n nodeName !== 'body' &&\n nodeName !== 'script' &&\n checkClass;\n });\n const text = this.text;\n const highlight = this._highlight;\n textNodes.each(function () {\n const $this = $(this);\n let content = $this.text();\n content = highlight.transform(content, text);\n $this.replaceWith(content);\n });\n el.normalize();\n }\n\n private cleanHighlight(el: HTMLElement) {\n const nodeListOf = el.querySelectorAll('.gd-highlight');\n for (let i = 0; i < nodeListOf.length; i++) {\n const element = nodeListOf.item(i);\n element.replaceWith((element).innerText);\n }\n el.normalize();\n }\n\n private getZoom() {\n return this.zoom / 100;\n }\n}\n","import {Component, Input, OnInit} from '@angular/core';\n\n@Component({\n selector: 'gd-tabbed-toolbars',\n templateUrl: './tabbed-toolbars.component.html',\n styleUrls: ['./tabbed-toolbars.component.less']\n})\nexport class TabbedToolbarsComponent implements OnInit {\n @Input() logo: string;\n @Input() icon: string;\n\n constructor() {\n }\n\n ngOnInit() {\n }\n\n}\n","import {Observable, Subject} from \"rxjs\";\n\nexport class TabActivatorService {\n private _observer: Subject = new Subject();\n private readonly _activeTabChange: Observable = this._observer.asObservable();\n\n constructor() {\n }\n\n get activeTabChange(): Observable {\n return this._activeTabChange;\n }\n\n changeActiveTab(tabId: string) {\n this._observer.next(tabId);\n }\n}\n","import {Component, Input, OnInit} from '@angular/core';\nimport {TabActivatorService} from \"../tab-activator.service\";\n\n@Component({\n selector: 'gd-tab',\n templateUrl: './tab.component.html',\n styleUrls: ['./tab.component.less']\n})\nexport class TabComponent implements OnInit {\n @Input() id: string;\n @Input() tabTitle: string;\n @Input() icon: string;\n @Input() disabled = false;\n @Input() active = false;\n @Input() content = true;\n\n constructor(private _tabActivatorService: TabActivatorService) {\n this._tabActivatorService.activeTabChange.subscribe((tabId: string) => {\n this.activation(tabId);\n });\n }\n\n private activation(tabId: string) {\n if (this.id === tabId) {\n this.active = true;\n } else {\n this.active = false;\n }\n }\n\n ngOnInit() {\n }\n\n selectTab() {\n if (this.disabled) {\n return;\n }\n this._tabActivatorService.changeActiveTab(this.id);\n }\n}\n","import {Component} from '@angular/core';\n\n@Component({\n selector: 'gd-tabs',\n templateUrl: './tabs.component.html',\n styleUrls: ['./tabs.component.less']\n})\nexport class TabsComponent {\n constructor() {\n }\n\n}\n","import {Observable, Subject} from \"rxjs\";\n\nexport class Formatting {\n constructor(fontSize: number, color: string, bgColor: string, bold: boolean, italic: boolean, underline: boolean, font: string, strikeout: boolean, align: string, list: string) {\n this.fontSize = fontSize;\n this.color = color;\n this.bgColor = bgColor;\n this.bold = bold;\n this.italic = italic;\n this.underline = underline;\n this.font = font;\n this.strikeout = strikeout;\n this.align = align;\n this.list = list;\n }\n\n bold: boolean;\n italic: boolean;\n underline: boolean;\n fontSize: number;\n color: string;\n bgColor: string;\n font: string;\n strikeout: boolean;\n align: string;\n list: string;\n\n public static default(): Formatting {\n return new Formatting(10, '#000000', '#FFFFFF', false, false, false, 'Arial', false, \"\", \"\");\n }\n}\n\nexport class FormattingService {\n private _observerBold: Subject = new Subject();\n private readonly _formatBoldChange: Observable = this._observerBold.asObservable();\n private _observerUnderline: Subject = new Subject();\n private readonly _formatUnderlineChange: Observable = this._observerUnderline.asObservable();\n private _observerUndo: Subject = new Subject();\n private readonly _undo: Observable = this._observerUndo.asObservable();\n private _observerRedo: Subject = new Subject();\n private readonly _redo: Observable = this._observerRedo.asObservable();\n private _observerItalic: Subject = new Subject();\n private readonly _formatItalicChange: Observable = this._observerItalic.asObservable();\n private _observerColor: Subject = new Subject();\n private readonly _formatColorChange: Observable = this._observerColor.asObservable();\n private _observerBgColor: Subject = new Subject();\n private readonly _formatBgColorChange: Observable = this._observerBgColor.asObservable();\n private _observerFontSize: Subject = new Subject();\n private readonly _formatFontSizeChange: Observable = this._observerFontSize.asObservable();\n private _observerFont: Subject = new Subject();\n private readonly _formatFontChange: Observable = this._observerFont.asObservable();\n private _observerStrikeout: Subject = new Subject();\n private readonly _formatStrikeoutChange: Observable = this._observerStrikeout.asObservable();\n private _observerAlign: Subject = new Subject();\n private readonly _formatAlignChange: Observable = this._observerAlign.asObservable();\n private _observerList: Subject = new Subject();\n private readonly _formatListChange: Observable = this._observerList.asObservable();\n\n constructor() {\n }\n\n get formatBoldChange() {\n return this._formatBoldChange;\n }\n\n get formatUnderlineChange() {\n return this._formatUnderlineChange;\n }\n\n get formatColorChange() {\n return this._formatColorChange;\n }\n\n get formatBgColorChange() {\n return this._formatBgColorChange;\n }\n\n get formatFontSizeChange() {\n return this._formatFontSizeChange;\n }\n\n get formatFontChange() {\n return this._formatFontChange;\n }\n\n get undo() {\n return this._undo;\n }\n\n get redo() {\n return this._redo;\n }\n\n get formatItalicChange() {\n return this._formatItalicChange;\n }\n\n get formatStrikeoutChange() {\n return this._formatStrikeoutChange;\n }\n\n get formatAlignChange() {\n return this._formatAlignChange;\n }\n\n get formatListChange() {\n return this._formatListChange;\n }\n\n static createFontSizeOption(val: number) {\n return {value: val, name: val + 'px', separator: false}\n }\n\n static getFontSizeOptions() {\n return [\n FormattingService.createFontSizeOption(8),\n FormattingService.createFontSizeOption(10),\n FormattingService.createFontSizeOption(12),\n FormattingService.createFontSizeOption(14),\n FormattingService.createFontSizeOption(16),\n FormattingService.createFontSizeOption(18),\n FormattingService.createFontSizeOption(20),\n FormattingService.createFontSizeOption(22),\n FormattingService.createFontSizeOption(24),\n ];\n }\n\n static createFontOption(val: string) {\n return {value: val, name: val, separator: false}\n }\n\n static getFontOptions() {\n const fonts = [\"Arial\", \"Calibri\", \"Century Gothic\", \"Comic Sans\", \"Consolas\", \"Courier\", \"Dejavu Sans\", \"Dejavu Serif\", \"Georgia\", \"Gill Sans\", \"Helvetica\", \"Impact\", \"Lucida Sans\",\n \"Myriad Pro\", \"Open Sans\", \"Palatino\", \"Tahoma\", \"Times New Roman\", \"Trebuchet\"];\n const fontOptions = [];\n fonts.forEach(font => {\n fontOptions.push(this.createFontOption(font));\n })\n\n return fontOptions;\n }\n\n changeFormatFontSize($event: number) {\n this._observerFontSize.next($event);\n }\n\n changeFormatBold(bold: boolean) {\n this._observerBold.next(bold);\n }\n\n changeFormatUnderline(underline: boolean) {\n this._observerUnderline.next(underline);\n }\n\n Undo() {\n this._observerUndo.next();\n }\n\n Redo() {\n this._observerRedo.next();\n }\n\n changeFormatItalic(italic: boolean) {\n this._observerItalic.next(italic);\n }\n\n changeFormatColor(color: string) {\n this._observerColor.next(color);\n }\n\n changeFormatBgColor(bgcolor: string) {\n this._observerBgColor.next(bgcolor);\n }\n\n changeFormatFont(font: string) {\n this._observerFont.next(font);\n }\n\n changeFormatStrikeout(strikeout: boolean) {\n this._observerStrikeout.next(strikeout);\n }\n\n changeFormatAlign(align: string) {\n this._observerAlign.next(align);\n }\n\n changeFormatList(list: string) {\n this._observerList.next(list);\n }\n}\n","import {Component, EventEmitter, Input, OnInit, Output} from '@angular/core';\n\nconst DEFAULT_COLORS = [\n '#000000', '#434343', '#666666', '#999999', '#B7B7B7', '#CCCCCC', '#D9D9D9', '#EFEFEF', '#F3F3F3', '#FFFFFF',\n '#980000', '#FF0000', '#FF9900', '#FFFF00', '#00FF00', '#00FFFF', '#4986E8', '#0000FF', '#9900FF', '#FF00FF',\n '#E6B8AF', '#F4CCCC', '#FDE5CD', '#FFF2CC', '#D9EAD3', '#D0E0E2', '#C9DAF8', '#CFE2F3', '#D9D2E9', '#EAD1DC',\n '#DD7E6B', '#EA9899', '#F9CB9C', '#FFE59A', '#B7D7A8', '#A2C4C9', '#A4C2F4', '#9FC5E8', '#B4A7D7', '#D5A6BD',\n '#CC4125', '#E06666', '#F6B26B', '#FFD966', '#92C47D', '#75A5AF', '#6D9EEB', '#6FA9DB', '#8E7CC3', '#C27BA0',\n '#A61C00', '#CC0000', '#E69138', '#F2C131', '#6AA84F', '#45818E', '#3C78D8', '#3C85C6', '#674EA7', '#A64D79',\n '#85200B', '#990000', '#B45F05', '#BF9000', '#37761D', '#144F5C', '#1254CC', '#0A5394', '#351C75', '#741B47',\n '#5B0F00', '#660000', '#783F03', '#7F6000', '#284E13', '#0B343D', '#1B4586', '#063763', '#20124D', '#4C1030',\n];\n\n@Component({\n selector: 'gd-color-picker',\n templateUrl: './color-picker.component.html',\n styleUrls: ['./color-picker.component.less']\n})\nexport class ColorPickerComponent implements OnInit {\n @Input() isOpen = false;\n @Output() selectedColor = new EventEmitter();\n @Output() closeOutside = new EventEmitter();\n colors: any = DEFAULT_COLORS;\n white = '#FFFFFF';\n\n constructor() {\n }\n\n ngOnInit() {\n }\n\n select($event, color: string) {\n $event.preventDefault();\n $event.stopPropagation();\n this.selectedColor.emit(color);\n }\n\n close() {\n this.isOpen = false;\n this.closeOutside.emit(true);\n }\n}\n","import {Injectable} from '@angular/core';\nimport {FormattingService} from \"./formatting.service\";\n\n@Injectable({\n providedIn: 'root'\n})\nexport class BackFormattingService extends FormattingService {\n\n constructor() {\n super();\n }\n}\n","import {Injectable} from '@angular/core';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class SelectionService {\n selection: Range;\n isIE = /*@cc_on!@*/false || !!/(MSIE|Trident\\/|Edge\\/)/i.test(navigator.userAgent);\n\n restoreSelection() {\n if(this.selection && !this.selection.collapsed || this.isIE){\n this.putSelection(this.selection );\n }\n }\n\n captureSelection() {\n const selection = window.getSelection();\n if (selection.rangeCount > 0) {\n this.selection = selection.getRangeAt(0);\n }\n }\n\n private putSelection(selection) {\n const sel = window.getSelection();\n sel.removeAllRanges();\n sel.addRange(selection.cloneRange());\n }\n\n refreshSelection() {\n this.captureSelection();\n this.restoreSelection();\n }\n}\n","import {Directive, HostListener, OnInit} from '@angular/core';\nimport {FormattingService} from \"./formatting.service\";\nimport {BackFormattingService} from \"./back-formatting.service\";\nimport * as jquery from 'jquery';\nconst $ = jquery;\nimport {SelectionService} from './selection.service';\n\n@Directive({\n selector: '[gdFormatting]'\n})\nexport class FormattingDirective implements OnInit {\n\n private bold = false;\n private italic = false;\n private underline = false;\n private color: string;\n private bgColor: string;\n private font: string;\n private strikeout = false;\n private align: string;\n private list: string;\n private isIE = false;\n\n constructor(private _formattingService: FormattingService,\n private _backFormattingService: BackFormattingService,\n private _selectionService: SelectionService) {\n this.isIE = /*@cc_on!@*/false || !!/(MSIE|Trident\\/|Edge\\/)/i.test(navigator.userAgent);\n }\n\n @HostListener('mouseup') mouseup() {\n\n this.bold = document.queryCommandState(\"bold\");\n this.strikeout = document.queryCommandState(\"strikeThrough\");\n this.italic = document.queryCommandState(\"italic\");\n this.bgColor = document.queryCommandValue(\"backColor\");\n this.underline = document.queryCommandState(\"underline\");\n this.align = this.checkJustify();\n this.list = this.checkList();\n\n //fix required by FireFox to get correct background color\n if (this.bgColor === \"transparent\") {\n this.bgColor = $(window.getSelection().focusNode.parentNode).css('background-color').toString();\n }\n this.font = document.queryCommandValue(\"FontName\").replace(/\"/g, '');\n if(this.font.split(\",\").length > 1){\n this.font = this.font.split(\",\")[0];\n }\n this.color = document.queryCommandValue(\"foreColor\");\n this._backFormattingService.changeFormatBold(this.bold);\n this._backFormattingService.changeFormatUnderline(this.underline);\n this._backFormattingService.changeFormatItalic(this.italic);\n this._backFormattingService.changeFormatColor(this.color);\n this._backFormattingService.changeFormatBgColor(this.bgColor);\n this._backFormattingService.changeFormatFontSize(this.reportFontSize());\n this._backFormattingService.changeFormatFont(this.font);\n this._backFormattingService.changeFormatStrikeout(this.strikeout);\n this._backFormattingService.changeFormatAlign(this.align);\n this._backFormattingService.changeFormatList(this.list);\n }\n\n private checkJustify() {\n let align = \"\";\n align = document.queryCommandState(\"justifyCenter\") ? \"center\" : align;\n align = document.queryCommandState(\"justifyFull\") ? \"full\" : align;\n align = document.queryCommandState(\"justifyLeft\") ? \"left\" : align;\n align = document.queryCommandState(\"justifyRight\") ? \"right\" : align;\n return align;\n }\n\n private checkList() {\n let list = \"\";\n list = document.queryCommandState(\"insertUnorderedList\") ? \"unordered\" : list;\n list = document.queryCommandState(\"insertOrderedList\") ? \"ordered\" : list;\n return list;\n }\n\n reportFontSize(): number {\n let containerEl, sel;\n if (window.getSelection) {\n sel = window.getSelection();\n if (sel.rangeCount) {\n containerEl = sel.getRangeAt(0).commonAncestorContainer;\n // Make sure we have an element rather than a text node\n if (containerEl.nodeType === 3) {\n containerEl = containerEl.parentNode;\n }\n }\n } else if ((sel = document.getSelection()) && sel.type !== \"Control\") {\n containerEl = sel.createRange().parentElement();\n }\n\n if (containerEl) {\n return parseInt(this.getComputedStyleProperty(containerEl, \"fontSize\").replace(\"px\", \"\"), 10);\n }\n }\n\n getComputedStyleProperty(el, propName) {\n if (window.getComputedStyle) {\n return window.getComputedStyle(el, null)[propName];\n } else if (el.currentStyle) {\n return el.currentStyle[propName];\n }\n }\n\n ngOnInit(): void {\n this._formattingService.undo.subscribe(() => {\n this.toggleUndo();\n });\n this._formattingService.redo.subscribe(() => {\n this.toggleRedo();\n });\n this._formattingService.formatBoldChange.subscribe((bold: boolean) => {\n this.bold = bold;\n this.toggleBold();\n });\n this._formattingService.formatUnderlineChange.subscribe((underline: boolean) => {\n this.underline = underline;\n this.toggleUnderline();\n });\n this._formattingService.formatItalicChange.subscribe((italic: boolean) => {\n this.italic = italic;\n this.toggleItalic();\n });\n this._formattingService.formatColorChange.subscribe(((color: string) => {\n this.color = color;\n this.setColor(color);\n }));\n this._formattingService.formatBgColorChange.subscribe(((bgcolor: string) => {\n this.bgColor = bgcolor;\n this.setBgColor(bgcolor);\n }));\n this._formattingService.formatFontSizeChange.subscribe(((fontSize: number) => {\n this.setFontSize(fontSize);\n }));\n\n this._formattingService.formatFontChange.subscribe(((font: string) => {\n this.font = font;\n this.setFont(font);\n }));\n this._formattingService.formatStrikeoutChange.subscribe((strikeout: boolean) => {\n this.strikeout = strikeout;\n this.toggleStrikeout();\n });\n this._formattingService.formatAlignChange.subscribe((align: string) => {\n this.align = align;\n this.toggleAlign(this.align);\n });\n this._formattingService.formatListChange.subscribe((list: string) => {\n const remove = this.list === list;\n this.list = list;\n this.toggleList(this.list, remove);\n });\n }\n\n private toggleBold() {\n document.execCommand(\"bold\");\n this._selectionService.refreshSelection();\n }\n\n private toggleUnderline() {\n document.execCommand(\"underline\");\n this._selectionService.refreshSelection();\n }\n\n private toggleItalic() {\n document.execCommand(\"italic\");\n this._selectionService.refreshSelection();\n }\n\n private setBgColor(bgColor: string) {\n document.execCommand(\"backColor\", false, bgColor);\n this._selectionService.refreshSelection();\n }\n\n private setColor(color: string) {\n document.execCommand(\"foreColor\", false, color);\n this._selectionService.refreshSelection();\n }\n\n private setFontSize(fontSize: number) {\n if (document.getSelection().toString()) {\n let spanString = \"\" +\n document.getSelection() + \"\";\n if (this.bold) {\n spanString = \"\" + spanString + \"\";\n }\n if (this.italic) {\n spanString = \"\" + spanString + \"\";\n }\n if (this.underline) {\n spanString = \"\" + spanString + \"\";\n }\n if (this.strikeout) {\n spanString = \"\" + spanString + \"\";\n }\n document.execCommand('insertHTML', false, spanString);\n } else {\n document.execCommand(\"fontsize\", false, \"7\");\n }\n this._selectionService.refreshSelection();\n }\n\n private toggleUndo() {\n document.execCommand(\"undo\");\n }\n\n private toggleRedo() {\n document.execCommand(\"redo\");\n }\n\n private setFont(font: string) {\n document.execCommand(\"fontName\", false, font);\n this._selectionService.refreshSelection();\n }\n\n private toggleStrikeout() {\n document.execCommand(\"strikeThrough\");\n this._selectionService.refreshSelection();\n }\n\n private toggleAlign(align: string) {\n if(this.isIE) {\n this.toggleAlignIE(align);\n return;\n }\n document.execCommand(\"styleWithCSS\", false, 'true');\n switch (align) {\n case 'center':\n document.execCommand('justifyCenter');\n break;\n case 'full':\n document.execCommand('justifyFull');\n break;\n case 'left':\n document.execCommand('justifyLeft');\n break;\n case 'right':\n document.execCommand('justifyRight');\n break;\n }\n this._selectionService.refreshSelection();\n }\n\n private toggleAlignIE(align: string) {\n this._selectionService.restoreSelection()\n this._selectionService.captureSelection()\n const selection = window.getSelection().focusNode.parentNode.parentNode;\n if(align === \"full\"){\n align = \"justify\";\n }\n $(selection).css(\"text-align\", align);\n this._selectionService.refreshSelection()\n }\n\n private toggleList(list: string, remove: boolean) {\n switch (list) {\n case 'unordered':\n document.execCommand('insertUnorderedList', remove);\n break;\n case 'ordered':\n document.execCommand('insertOrderedList', remove);\n break;\n }\n this._selectionService.refreshSelection();\n }\n}\n","import { Component, OnInit } from '@angular/core';\n\n@Component({\n selector: 'gd-success-modal',\n templateUrl: './success-modal.component.html',\n styleUrls: ['./success-modal.component.less']\n})\nexport class SuccessModalComponent implements OnInit {\n\n constructor() { }\n\n ngOnInit() {\n }\n\n}\n","import {Injectable} from '@angular/core';\nimport {Observable, Subject} from \"rxjs\";\n\n@Injectable({\n providedIn: 'root'\n})\nexport class EditHtmlService {\n private _observer: Subject = new Subject();\n private readonly _htmlContent: Observable = this._observer.asObservable();\n\n constructor() {\n }\n\n get observer(): Subject {\n return this._observer;\n }\n\n get htmlContent(): Observable {\n return this._htmlContent;\n }\n\n}\n","import {Directive, HostListener, Input} from '@angular/core';\nimport {SelectionService} from './selection.service';\nimport {EditHtmlService} from \"./edit-html.service\";\n\n@Directive({\n selector: '[gdEditor]'\n})\nexport class EditorDirective {\n @Input() text: any;\n\n private isIE: boolean = /*@cc_on!@*/false || !!/(MSIE|Trident\\/|Edge\\/)/i.test(navigator.userAgent);\n\n constructor(private _selectionService: SelectionService, private _htmlService: EditHtmlService) {\n }\n\n @HostListener('keyup', ['$event'])\n public onInput(event) {\n this.text = event.target;\n if(this.isIE){\n if (this.text.innerHTML) {\n const html = this.text.innerHTML.toString();\n this._htmlService.observer.next(html);\n }\n }\n }\n\n @HostListener('mouseleave', ['$event'])\n public onMouseleave(event) {\n this._selectionService.captureSelection();\n // this code is required to fix IE11 issue - it doesn't trigger blur event, since that we need to save updated HTML here\n if(this.isIE){\n this._htmlService.observer.next(event.target.innerHTML.toString());\n }\n }\n\n @HostListener('blur', ['$event'])\n public onBlur(event) {\n event.preventDefault();\n this._selectionService.restoreSelection();\n if (this.text.innerHTML) {\n const html = this.text.innerHTML.toString();\n this._htmlService.observer.next(html);\n } else {\n this._htmlService.observer.next(event.target.innerHTML.toString());\n }\n }\n}\n","import {EventEmitter, Injectable} from '@angular/core'\nimport {HttpRequest} from '@angular/common/http';\nimport {Api} from \"./config.service\";\n\n@Injectable()\nexport class LoadingMaskService {\n onLoadingChanged: EventEmitter = new EventEmitter();\n\n private stopList = [];\n private requests: HttpRequest[] = [];\n\n constructor() {\n this.stopList.push(Api.SAVE_TEXT);\n this.stopList.push(Api.SAVE_OPTICAL_CODE);\n this.stopList.push(Api.LOAD_DOCUMENT_PAGE);\n this.stopList.push(Api.LOAD_THUMBNAILS);\n this.stopList.push(Api.GET_FILE_STATUS);\n this.stopList.push(Api.LOAD_PRINT);\n }\n\n onRequestStart(req: HttpRequest): void {\n const stop = this.stopList.find(x => req.url.includes(x));\n if (!stop) {\n this.requests.push(req);\n this.notify();\n }\n }\n\n onRequestFinish(req: HttpRequest): void {\n const index = this.requests.indexOf(req);\n if (index !== -1) {\n this.requests.splice(index, 1);\n }\n this.notify();\n }\n\n addStopUrl(url: string) {\n this.stopList.push(url);\n }\n\n private notify(): void {\n this.onLoadingChanged.emit(this.requests.length !== 0);\n }\n}\n","import {AfterViewInit, Component, Input, OnInit} from '@angular/core';\nimport {LoadingMaskService} from \"../loading-mask.service\";\n\n@Component({\n selector: 'gd-loading-mask',\n templateUrl: './loading-mask.component.html',\n styleUrls: ['./loading-mask.component.less']\n})\n\nexport class LoadingMaskComponent implements OnInit, AfterViewInit {\n @Input() loadingMask = false;\n\n constructor(private _loadingMaskService: LoadingMaskService) {\n }\n\n ngOnInit() {\n }\n\n ngAfterViewInit() {\n this._loadingMaskService\n .onLoadingChanged\n .subscribe((loading: boolean) => this.loadingMask = loading);\n }\n}\n","import {Injectable} from '@angular/core';\nimport {HttpEvent, HttpHandler, HttpInterceptor, HttpRequest} from \"@angular/common/http\";\nimport {Observable} from \"rxjs\";\nimport {finalize} from 'rxjs/operators'\nimport {LoadingMaskService} from \"./loading-mask.service\";\n\n@Injectable({\n providedIn: 'root'\n})\nexport class LoadingMaskInterceptorService implements HttpInterceptor {\n\n constructor(private _loadingMaskService: LoadingMaskService) {\n }\n\n intercept(req: HttpRequest, next: HttpHandler): Observable> {\n this._loadingMaskService.onRequestStart(req);\n const callback = () => this._loadingMaskService.onRequestFinish(req);\n return next.handle(req).pipe( finalize( callback));\n }\n}\n","import {\n Component,\n EventEmitter,\n forwardRef,\n HostBinding,\n HostListener,\n Inject,\n Input,\n Output,\n ViewEncapsulation\n} from '@angular/core';\n\n\nconst horizontalAlignment = {\n center : {\n right: 'auto'\n },\n left : {\n right: '100%'\n },\n right : {\n right: '-100%'\n }\n};\n\nconst verticalAlignment = {\n center : {\n top : '0px',\n },\n top : {\n top : '-100%',\n right: '100%'\n },\n bottom : {\n top: 'autos'\n }\n};\n\n/**\n * DropDownToggleComponent\n */\n@Component({\n selector: 'gd-drop-down-toggle',\n template: '',\n styleUrls: ['./drop-down.component.less'],\n encapsulation : ViewEncapsulation.None\n})\nexport class DropDownToggleComponent{\n @HostListener('click',['$event'])\n click = (event: any) => this.dropdown.toggle(event);\n constructor(@Inject(forwardRef(() => DropDownComponent)) public dropdown) {}\n}\n\n/**\n * DropDownItemsComponent\n */\n@Component({\n selector: 'gd-drop-down-items',\n template: '
',\n styleUrls: ['./drop-down.component.less'],\n encapsulation : ViewEncapsulation.None\n})\nexport class DropDownItemsComponent{\n\n get horizontalAlign(){\n return horizontalAlignment[this.dropdown.getPlacement().h].right;\n }\n\n get verticalAlign(){\n return verticalAlignment[this.dropdown.getPlacement().v].top;\n }\n\n get isOpen(){\n return this.dropdown.open;\n }\n\n constructor(@Inject(forwardRef(() => DropDownComponent)) public dropdown) {}\n\n onClickOutside(event : Event ){\n this.dropdown.close();\n }\n}\n\n/**\n * DropDownItemComponent\n */\n@Component({\n selector: 'gd-drop-down-item',\n template: '
',\n styleUrls: ['./drop-down.component.less'],\n})\nexport class DropDownItemComponent{\n @HostBinding('class')\n class = 'drop-down-item';\n\n @Output()\n selected = new EventEmitter();\n\n @HostListener('click')\n click = () => this.selectEntry();\n\n constructor(@Inject(forwardRef(() => DropDownComponent)) public dropdown) {}\n\n selectEntry(){\n this.selected.next();\n this.dropdown.close();\n }\n}\n\n/**\n * DropDownComponent\n */\n@Component({\n selector: 'gd-drop-down',\n template: '
',\n styleUrls: ['./drop-down.component.less'],\n encapsulation : ViewEncapsulation.None\n})\nexport class DropDownComponent{\n @Input()\n placement = {\n h: \"center\",\n v: \"bottom\"\n };\n\n\n @Input()\n @HostBinding('class.show')\n open = false;\n\n @HostBinding('class')\n class = 'drop-down';\n\n close(){\n this.open = false;\n }\n\n toggle(event : MouseEvent){\n event.stopPropagation();\n this.open = !this.open;\n document.body.click();\n }\n\n getPlacement(){\n return this.placement;\n }\n}\n","import {Component, Input, OnInit} from '@angular/core';\n\n@Component({\n selector: 'gd-left-side-bar',\n templateUrl: './left-side-bar.component.html',\n styleUrls: ['./left-side-bar.component.less']\n})\nexport class LeftSideBarComponent implements OnInit {\n @Input() showSpinner = false;\n\n constructor() {\n }\n\n ngOnInit() {\n }\n\n}\n","import {Directive, EventEmitter, HostListener, Input, Output} from '@angular/core';\n\n@Directive({\n selector: '[gdTooltip]'\n})\nexport class TooltipDirective {\n\n @Output() showToolTip = new EventEmitter();\n\n constructor() {\n }\n\n @HostListener('mouseenter')\n public onHovering() {\n this.showToolTip.emit(true);\n }\n\n @HostListener('mouseleave')\n public onUnhovering() {\n this.showToolTip.emit(false);\n }\n\n}\n","import {\n ApplicationRef,\n ComponentFactoryResolver,\n Injectable,\n ViewContainerRef\n} from '@angular/core';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class AddDynamicComponentService {\n\n constructor(private _factoryResolver: ComponentFactoryResolver,\n private _appRef: ApplicationRef) {\n }\n\n addDynamicComponent(viewContainerRef: ViewContainerRef, component: any) {\n const factory = this._factoryResolver.resolveComponentFactory(component);\n const componentRef = viewContainerRef.createComponent(factory);\n\n componentRef.onDestroy(() => {\n this._appRef.detachView(componentRef.hostView);\n });\n\n return componentRef;\n }\n\n}\n","import {HostDynamicDirective} from \"./host-dynamic.directive\";\n\nexport class HostingDynamicComponentService {\n private hosts: HostDynamicDirective[];\n\n constructor() {\n this.hosts = [];\n }\n\n add(host: HostDynamicDirective) {\n this.hosts = this.hosts.filter(function (h) {\n return h.ident !== host.ident;\n });\n this.hosts.push(host);\n }\n\n remove(host: HostDynamicDirective) {\n this.hosts = this.hosts.filter(function (h) {\n return h.ident !== host.ident;\n });\n }\n\n find(ident: number) {\n return this.hosts.find(function (h) {\n return h.ident === ident;\n });\n }\n}\n","import {AfterViewInit, Directive, Input, OnDestroy, ViewContainerRef} from '@angular/core';\nimport {HostingDynamicComponentService} from \"./hosting-dynamic-component.service\";\n\n@Directive({\n selector: '[gdHostDynamic]'\n})\nexport class HostDynamicDirective implements AfterViewInit, OnDestroy {\n @Input() ident: number;\n\n constructor(public viewContainerRef: ViewContainerRef,\n private _hostingService: HostingDynamicComponentService) {\n }\n\n ngAfterViewInit(): void {\n this._hostingService.add(this);\n }\n\n ngOnDestroy(): void {\n this._hostingService.remove(this);\n this.viewContainerRef.clear();\n }\n\n}\n","import {AfterViewInit, Component, EventEmitter, Input, OnInit, Output} from '@angular/core';\nimport * as jquery from \"jquery\";\nimport {Utils} from \"../file.service\";\n\nconst $ = jquery;\n\n@Component({\n selector: 'gd-resizing',\n templateUrl: './resizing.component.html',\n styleUrls: ['./resizing.component.less']\n})\nexport class ResizingComponent implements OnInit, AfterViewInit {\n\n @Input() init: boolean;\n @Input() id: number;\n @Input() se = false;\n @Input() ne = false;\n @Input() sw = false;\n @Input() nw = false;\n @Input() pageWidth: number;\n @Input() pageHeight: number;\n SE = 'se';\n NE = 'ne';\n SW = 'sw';\n NW = 'nw';\n\n @Output() offsetX = new EventEmitter();\n @Output() offsetY = new EventEmitter();\n @Output() offsetTop = new EventEmitter();\n @Output() offsetLeft = new EventEmitter();\n @Output() release = new EventEmitter();\n\n private grab = false;\n private oldPosition: { x: number, y: number };\n\n constructor() {\n }\n\n ngAfterViewInit(): void {\n const elSE = $(this.getElementId(this.SE));\n const elNW = $(this.getElementId(this.NW));\n if (this.init && elSE && elNW && elSE.offset() && elNW.offset()) {\n let width = elSE.offset().left - elNW.offset().left;\n let height = elSE.offset().top - elNW.offset().top;\n while (width >= this.pageWidth || height >= this.pageHeight) {\n width = width / 2;\n height = height / 2;\n }\n setTimeout(() => {\n this.offsetX.emit(width);\n this.offsetY.emit(height);\n }, 100);\n }\n }\n\n ngOnInit() {\n }\n\n catchUp($event: DragEvent) {\n // ff\n $event.preventDefault();\n if ($event.dataTransfer) { // ff\n $event.dataTransfer.setData('text', 'foo');\n }\n this.grab = true;\n this.oldPosition = Utils.getMousePosition($event);\n }\n\n resize($event: DragEvent, el: string) {\n if (!this.grab) {\n return;\n }\n const position = Utils.getMousePosition($event);\n if (position.x === 0 && position.y === 0) {\n return;\n }\n const notSW = this.NE === el || this.NW === el;\n const notNE = this.SW === el || this.NW === el;\n this.setOffsets(position, notNE, notSW);\n if (notSW) {\n this.offsetTop.emit(position.y - this.oldPosition.y);\n }\n if (notNE) {\n this.offsetLeft.emit(position.x - this.oldPosition.x);\n }\n this.oldPosition = position;\n }\n\n private setOffsets(position, x: boolean, y: boolean) {\n const offsetX = x ? this.oldPosition.x - position.x : position.x - this.oldPosition.x;\n const offsetY = y ? this.oldPosition.y - position.y : position.y - this.oldPosition.y;\n this.offsetX.emit(offsetX);\n this.offsetY.emit(offsetY);\n }\n\n end($event: DragEvent, el: string) {\n // ff\n this.resize($event, el);\n this.release.emit(true);\n this.grab = false;\n }\n\n start($event: DragEvent) {\n this.drop($event);\n }\n\n drop($event: DragEvent) {\n $event.stopPropagation();\n $event.preventDefault();\n }\n\n private getElementId(el: string) {\n return \"#\" + el + \"-\" + this.id;\n }\n}\n","import {TabActivatorService} from \"./tab-activator.service\";\n\nexport class TopTabActivatorService extends TabActivatorService {\n\n constructor() {\n super();\n }\n}\n","import {Component, EventEmitter, Input, OnInit, Output} from '@angular/core';\nimport {ExceptionMessageService} from \"../exception-message.service\";\nimport {TopTabActivatorService} from \"../top-tab-activator.service\";\nimport {ModalService, CommonModals} from \"../modal.service\";\n\n@Component({\n selector: 'gd-top-tab',\n templateUrl: './top-tab.component.html',\n styleUrls: ['./top-tab.component.less']\n})\nexport class TopTabComponent implements OnInit {\n @Input() id: string;\n @Input() icon: string;\n @Input() disabled = false;\n @Input() tooltip: string;\n @Output() activeTab = new EventEmitter();\n @Input() elementPosition = 0;\n public active = false;\n public showToolTip = false;\n\n constructor(private _tabActivatorService: TopTabActivatorService,\n private _modalService: ModalService,\n private _excMessageService: ExceptionMessageService) {\n this._tabActivatorService.activeTabChange.subscribe((tabId: string) => {\n this.activation(tabId);\n if (tabId === null) {\n this.activeTab.emit(\"\");\n }\n });\n }\n\n private activation(tabId: string) {\n if (this.id === tabId) {\n this.active = !this.active;\n if (this.active) {\n this.activeTab.emit(this.id);\n } else {\n this.activeTab.emit(\"\");\n }\n } else {\n this.active = false;\n }\n }\n\n ngOnInit() {\n }\n\n toggleTab() {\n if (this.disabled) {\n this._modalService.open(CommonModals.ErrorMessage);\n this._excMessageService.changeMessage(\"Please open document first\");\n return;\n }\n this._tabActivatorService.changeActiveTab(this.id);\n }\n\n}\n","import {Component, EventEmitter, Input, OnInit, Output, ElementRef, Renderer2} from '@angular/core';\nimport * as jquery from 'jquery';\nimport {FormattingService} from \"../formatting.service\";\nimport {OnCloseService} from \"../on-close.service\";\nimport {Option} from \"../select/select.component\";\nimport { ZoomService } from '../zoom.service';\nimport { WindowService } from '../window.service';\n\nconst $ = jquery;\n\n@Component({\n selector: 'gd-text-menu',\n templateUrl: './text-menu.component.html',\n styleUrls: ['./text-menu.component.less']\n})\nexport class TextMenuComponent implements OnInit {\n @Input() blur: boolean;\n @Input() fontSize: number;\n @Input() font: string;\n @Input() bold: boolean;\n @Input() italic: boolean;\n @Input() underline: boolean;\n @Input() color: string;\n @Input() decoration = true;\n @Input() showTooltips = true;\n\n @Output() outFontSize = new EventEmitter();\n @Output() outFont = new EventEmitter();\n @Output() outBold = new EventEmitter();\n @Output() outItalic = new EventEmitter();\n @Output() outUnderline = new EventEmitter();\n @Output() outColor = new EventEmitter();\n\n fontSizeOptions = FormattingService.getFontSizeOptions();\n fontOptions = FormattingService.getFontOptions();\n colorPickerShow = false;\n\n isMobile: boolean;\n\n constructor(private _onCloseService: OnCloseService,\n private _zoomService: ZoomService,\n private _windowService: WindowService,\n protected _elementRef: ElementRef,\n private renderer: Renderer2) {\n \n _onCloseService.onClose.subscribe(() => {\n this.colorPickerShow = false;\n });\n\n this.isMobile = _windowService.isMobile();\n _windowService.onResize.subscribe((w) => {\n this.isMobile = _windowService.isMobile();\n });\n\n _zoomService.zoomChange.subscribe((val: number) => {\n if (this.isMobile)\n {\n this.changePosition(val);\n }\n });\n }\n\n ngOnInit() {\n }\n\n changePosition(val: number) {\n const top = (window.innerHeight - 24 - this._elementRef.nativeElement.parentElement.getBoundingClientRect().top - this._elementRef.nativeElement.parentElement.getBoundingClientRect().height);\n const left = this._elementRef.nativeElement.parentElement.getBoundingClientRect().left;\n this.renderer.setStyle(this._elementRef.nativeElement.querySelector('.gd-text-menu'), 'width', window.innerWidth + 'px');\n this.renderer.setStyle(this._elementRef.nativeElement.querySelector('.gd-text-menu'), 'top', top + 'px');\n this.renderer.setStyle(this._elementRef.nativeElement.querySelector('.gd-text-menu'), 'left', -left + 'px');\n }\n\n selectFontSize($event: Option) {\n $(\".gd-wrapper\").off(\"keyup\");\n this.outFontSize.emit($event.value);\n $(\".gd-wrapper\").on(\"keyup\", () => {\n const fontElements = document.getElementsByTagName(\"font\");\n for (let i = 0, len = fontElements.length; i < len; ++i) {\n if (fontElements[i].getAttribute('size') === \"7\") {\n fontElements[i].removeAttribute(\"size\");\n fontElements[i].style.fontSize = $event + \"px\";\n }\n }\n });\n }\n\n selectFont($event: Option) {\n event.preventDefault();\n event.stopPropagation();\n this.outFont.emit($event.value);\n }\n\n toggleColorPicker($event) {\n $event.preventDefault();\n $event.stopPropagation();\n this.colorPickerShow = !this.colorPickerShow;\n }\n\n selectColor($event: string) {\n this.colorPickerShow = false;\n this.outColor.emit($event);\n }\n\n toggleBold(event) {\n event.preventDefault();\n event.stopPropagation();\n this.outBold.emit(!this.bold);\n }\n\n toggleItalic(event) {\n event.preventDefault();\n event.stopPropagation();\n this.outItalic.emit(!this.italic);\n }\n\n toggleUnderline(event) {\n event.preventDefault();\n event.stopPropagation();\n this.outUnderline.emit(!this.underline);\n }\n\n closePicker($event) {\n this.colorPickerShow = !$event;\n }\n}\n","import {Component, EventEmitter, Input, OnInit, Output, Renderer2, ElementRef} from '@angular/core';\nimport {Formatting} from \"../formatting.service\";\nimport {WindowService} from \"../window.service\";\nimport { ZoomService } from '../zoom.service';\n\nexport class MenuType {\n public static FOR_SIGNATURE = \"signature\";\n public static FOR_ANNOTATION = \"annotation\";\n}\n\n@Component({\n selector: 'gd-context-menu',\n templateUrl: './context-menu.component.html',\n styleUrls: ['./context-menu.component.less']\n})\nexport class ContextMenuComponent implements OnInit {\n @Input() formatting: Formatting = Formatting.default();\n @Input() textMenu: boolean;\n @Input() topPosition: number;\n @Input() lock = false;\n @Input() translation = 0;\n @Input() menuType: string;\n @Output() changeFormatting = new EventEmitter();\n @Output() removeItem = new EventEmitter();\n @Output() copySign = new EventEmitter();\n @Output() lockOut = new EventEmitter();\n @Output() comment = new EventEmitter();\n\n isMobile: boolean;\n\n constructor(private _windowService: WindowService,\n private _zoomService: ZoomService,\n protected _elementRef: ElementRef,\n private renderer: Renderer2) {\n this.isMobile = _windowService.isMobile();\n _windowService.onResize.subscribe((w) => {\n this.isMobile = _windowService.isMobile();\n });\n\n _zoomService.zoomChange.subscribe((val: number) => {\n if (this.isMobile)\n {\n this.changeScale(val);\n }\n });\n }\n\n ngOnInit() {\n }\n\n changeScale(val: number){\n this.renderer.setStyle(this._elementRef.nativeElement.querySelector('.gd-context-menu'), 'transform', 'scale(' + 1/(val/100) + ')');\n }\n\n saveChanges() {\n this.changeFormatting.emit(this.formatting);\n }\n\n selectFontSize($event: number) {\n this.formatting.fontSize = $event;\n this.saveChanges();\n }\n\n selectFont($event: string) {\n this.formatting.font = $event;\n this.saveChanges();\n }\n\n selectColor($event: string) {\n this.formatting.color = $event;\n this.saveChanges();\n }\n\n toggleBold($event) {\n this.formatting.bold = $event;\n this.saveChanges();\n }\n\n toggleItalic($event) {\n this.formatting.italic = $event;\n this.saveChanges();\n }\n\n toggleUnderline($event) {\n this.formatting.underline = $event;\n this.saveChanges();\n }\n\n deleteItem() {\n this.removeItem.emit(true);\n }\n\n toggleLock() {\n this.lock = !this.lock;\n this.lockOut.emit(this.lock);\n }\n\n onCopySign() {\n this.copySign.emit(true);\n }\n\n isSignature() {\n return this.menuType === MenuType.FOR_SIGNATURE;\n }\n\n isAnnotation() {\n return this.menuType === MenuType.FOR_ANNOTATION;\n }\n\n addComment() {\n this.comment.emit(true);\n }\n}\n","import {NgModule} from '@angular/core';\nimport {CommonModule} from '@angular/common';\nimport {TopToolbarComponent} from './top-toolbar/top-toolbar.component';\nimport {SidePanelComponent} from './side-panel/side-panel.component';\nimport {ButtonComponent} from './button/button.component';\nimport {LogoComponent} from './logo/logo.component';\nimport {TooltipComponent} from './tooltip/tooltip.component';\nimport {FontAwesomeModule} from '@fortawesome/angular-fontawesome';\nimport {library} from '@fortawesome/fontawesome-svg-core';\nimport {fas} from '@fortawesome/free-solid-svg-icons';\nimport {far} from '@fortawesome/free-regular-svg-icons';\nimport {Api, ConfigService,} from \"./config.service\";\nimport {ModalService} from \"./modal.service\";\nimport {ModalComponent} from './modal/modal.component';\nimport {BrowseFilesModalComponent} from './browse-files-modal/browse-files-modal.component';\nimport {FileModel, FileService, FileUtil, Utils} from \"./file.service\";\nimport {DocumentComponent} from './document/document.component';\nimport {PageComponent} from './page/page.component';\nimport {HighlightSearchPipe, SanitizeHtmlPipe, SanitizeResourceHtmlPipe, SanitizeStylePipe} from \"./pipes\";\nimport {UploadFileZoneComponent} from './upload-file-zone/upload-file-zone.component';\nimport {UploadFilesService} from \"./upload-files.service\";\nimport {DndDirective} from './dnd.directive';\nimport {ScrollableDirective} from './scrollable.directive';\nimport {MouseWheelDirective} from './mousewheel.directive';\nimport {NavigateService} from \"./navigate.service\";\nimport {PagePreloadService} from \"./page-preload.service\";\nimport {ZoomDirective} from './zoom.directive';\nimport {ZoomService} from \"./zoom.service\";\nimport {SelectComponent} from './select/select.component';\nimport {DisabledCursorDirective} from './disabled-cursor.directive';\nimport {RotationDirective} from './rotation.directive';\nimport {InitStateComponent} from './init-state/init-state.component';\nimport {RenderPrintService} from \"./render-print.service\";\nimport {RenderPrintDirective} from './render-print.directive';\nimport {ErrorModalComponent} from './error-modal/error-modal.component';\nimport {PasswordRequiredComponent} from './password-required/password-required.component';\nimport {ExceptionMessageService} from \"./exception-message.service\";\nimport {PasswordService} from \"./password.service\";\nimport {ErrorInterceptorService} from \"./error-interceptor.service\";\nimport {SearchComponent} from './search/search.component';\nimport {SearchableDirective} from './searchable.directive';\nimport {SearchService} from \"./search.service\";\nimport {WindowService} from \"./window.service\";\nimport {ViewportService} from \"./viewport.service\";\nimport {TabbedToolbarsComponent} from './tabbed-toolbars/tabbed-toolbars.component';\nimport {TabComponent} from \"./tab/tab.component\";\nimport {TabsComponent} from \"./tabs/tabs.component\";\nimport {FormattingService} from \"./formatting.service\";\nimport {ColorPickerComponent} from './color-picker/color-picker.component';\nimport {FormattingDirective} from './formatting.directive';\nimport {BackFormattingService} from \"./back-formatting.service\";\nimport {OnCloseService} from \"./on-close.service\";\nimport {SuccessModalComponent} from './success-modal/success-modal.component';\nimport {EditorDirective} from './editor.directive';\nimport {LoadingMaskComponent} from './loading-mask/loading-mask.component';\nimport {LoadingMaskService} from './loading-mask.service';\nimport {LoadingMaskInterceptorService} from \"./loading-mask-interceptor.service\";\nimport {TabActivatorService} from \"./tab-activator.service\";\nimport {\n DropDownComponent,\n DropDownItemComponent,\n DropDownItemsComponent,\n DropDownToggleComponent\n} from './drop-down/drop-down.component';\nimport {ClickOutsideModule} from 'ng-click-outside';\nimport {LeftSideBarComponent} from './left-side-bar/left-side-bar.component';\nimport {TooltipDirective} from './tooltip.directive';\nimport {AddDynamicComponentService} from \"./add-dynamic-component.service\";\nimport {HostDynamicDirective} from './host-dynamic.directive';\nimport {HostingDynamicComponentService} from \"./hosting-dynamic-component.service\";\nimport {ResizingComponent} from './resizing/resizing.component';\nimport {TopTabComponent} from './top-tab/top-tab.component';\nimport {TopTabActivatorService} from \"./top-tab-activator.service\";\nimport {TextMenuComponent} from './text-menu/text-menu.component';\nimport {ContextMenuComponent} from './context-menu/context-menu.component';\n\nconst providers = [ConfigService,\n Api,\n ModalService,\n FileService,\n FileModel,\n FileUtil,\n Utils,\n SanitizeHtmlPipe,\n SanitizeResourceHtmlPipe,\n SanitizeStylePipe,\n HighlightSearchPipe,\n UploadFilesService,\n RenderPrintService,\n NavigateService,\n PagePreloadService,\n ZoomService,\n ExceptionMessageService,\n PasswordService,\n ErrorInterceptorService,\n SearchService,\n WindowService,\n ViewportService,\n FormattingService,\n BackFormattingService,\n OnCloseService,\n LoadingMaskInterceptorService,\n LoadingMaskService,\n TabActivatorService,\n AddDynamicComponentService,\n HostingDynamicComponentService,\n TopTabActivatorService];\n\n@NgModule({\n imports: [CommonModule, FontAwesomeModule, ClickOutsideModule],\n declarations: [\n TopToolbarComponent,\n SidePanelComponent,\n ButtonComponent,\n LogoComponent,\n TooltipComponent,\n ModalComponent,\n BrowseFilesModalComponent,\n DocumentComponent,\n PageComponent,\n SanitizeHtmlPipe,\n SanitizeResourceHtmlPipe,\n SanitizeStylePipe,\n HighlightSearchPipe,\n UploadFileZoneComponent,\n DndDirective,\n ScrollableDirective,\n MouseWheelDirective,\n ZoomDirective,\n SelectComponent,\n DisabledCursorDirective,\n RotationDirective,\n InitStateComponent,\n RenderPrintDirective,\n ErrorModalComponent,\n PasswordRequiredComponent,\n SearchComponent,\n SearchableDirective,\n TabbedToolbarsComponent,\n TabComponent,\n TabsComponent,\n ColorPickerComponent,\n FormattingDirective,\n SuccessModalComponent,\n EditorDirective,\n LoadingMaskComponent,\n DropDownComponent,\n DropDownItemComponent,\n DropDownItemsComponent,\n DropDownToggleComponent,\n LeftSideBarComponent,\n TooltipDirective,\n HostDynamicDirective,\n ResizingComponent,\n TopTabComponent,\n TextMenuComponent,\n ContextMenuComponent\n ],\n exports: [\n TopToolbarComponent,\n SidePanelComponent,\n ButtonComponent,\n LogoComponent,\n TooltipComponent,\n ModalComponent,\n BrowseFilesModalComponent,\n DocumentComponent,\n PageComponent,\n SanitizeResourceHtmlPipe,\n SanitizeStylePipe,\n HighlightSearchPipe,\n SanitizeHtmlPipe,\n UploadFileZoneComponent,\n ScrollableDirective,\n MouseWheelDirective,\n SelectComponent,\n RotationDirective,\n InitStateComponent,\n RenderPrintDirective,\n ErrorModalComponent,\n PasswordRequiredComponent,\n SearchComponent,\n SearchableDirective,\n TabbedToolbarsComponent,\n TabComponent,\n TabsComponent,\n ColorPickerComponent,\n FormattingDirective,\n SuccessModalComponent,\n LoadingMaskComponent,\n DndDirective,\n DropDownComponent,\n DropDownItemComponent,\n DropDownItemsComponent,\n DropDownToggleComponent,\n ZoomDirective,\n DropDownToggleComponent,\n LeftSideBarComponent,\n TooltipDirective,\n HostDynamicDirective,\n ResizingComponent,\n TopTabComponent,\n TextMenuComponent,\n ContextMenuComponent\n ],\n providers: providers\n})\nexport class CommonComponentsModule {\n constructor() {\n library.add(fas, far);\n }\n}\n"],"names":["$"],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"groupdocs.examples.angular-common-components.js","sources":["ng://@groupdocs.examples.angular/common-components/lib/top-toolbar/top-toolbar.component.ts","ng://@groupdocs.examples.angular/common-components/lib/side-panel/side-panel.component.ts","ng://@groupdocs.examples.angular/common-components/lib/window.service.ts","ng://@groupdocs.examples.angular/common-components/lib/button/button.component.ts","ng://@groupdocs.examples.angular/common-components/lib/logo/logo.component.ts","ng://@groupdocs.examples.angular/common-components/lib/tooltip/tooltip.component.ts","ng://@groupdocs.examples.angular/common-components/lib/config.service.ts","ng://@groupdocs.examples.angular/common-components/lib/modal.service.ts","ng://@groupdocs.examples.angular/common-components/lib/modal/modal.component.ts","ng://@groupdocs.examples.angular/common-components/lib/file.service.ts","ng://@groupdocs.examples.angular/common-components/lib/upload-files.service.ts","ng://@groupdocs.examples.angular/common-components/lib/browse-files-modal/browse-files-modal.component.ts","ng://@groupdocs.examples.angular/common-components/lib/zoom.service.ts","ng://@groupdocs.examples.angular/common-components/lib/page-preload.service.ts","ng://@groupdocs.examples.angular/common-components/lib/navigate.service.ts","ng://@groupdocs.examples.angular/common-components/lib/document/document.component.ts","ng://@groupdocs.examples.angular/common-components/lib/page/page.component.ts","ng://@groupdocs.examples.angular/common-components/lib/pipes.ts","ng://@groupdocs.examples.angular/common-components/lib/upload-file-zone/upload-file-zone.component.ts","ng://@groupdocs.examples.angular/common-components/lib/dnd.directive.ts","ng://@groupdocs.examples.angular/common-components/lib/viewport.service.ts","ng://@groupdocs.examples.angular/common-components/lib/scrollable.directive.ts","ng://@groupdocs.examples.angular/common-components/lib/mousewheel.directive.ts","ng://@groupdocs.examples.angular/common-components/lib/zoom.directive.ts","ng://@groupdocs.examples.angular/common-components/lib/on-close.service.ts","ng://@groupdocs.examples.angular/common-components/lib/select/select.component.ts","ng://@groupdocs.examples.angular/common-components/lib/disabled-cursor.directive.ts","ng://@groupdocs.examples.angular/common-components/lib/rotation.directive.ts","ng://@groupdocs.examples.angular/common-components/lib/init-state/init-state.component.ts","ng://@groupdocs.examples.angular/common-components/lib/render-print.service.ts","ng://@groupdocs.examples.angular/common-components/lib/render-print.directive.ts","ng://@groupdocs.examples.angular/common-components/lib/exception-message.service.ts","ng://@groupdocs.examples.angular/common-components/lib/error-modal/error-modal.component.ts","ng://@groupdocs.examples.angular/common-components/lib/password.service.ts","ng://@groupdocs.examples.angular/common-components/lib/password-required/password-required.component.ts","ng://@groupdocs.examples.angular/common-components/lib/error-interceptor.service.ts","ng://@groupdocs.examples.angular/common-components/lib/search.service.ts","ng://@groupdocs.examples.angular/common-components/lib/search/search.component.ts","ng://@groupdocs.examples.angular/common-components/lib/searchable.directive.ts","ng://@groupdocs.examples.angular/common-components/lib/tabbed-toolbars/tabbed-toolbars.component.ts","ng://@groupdocs.examples.angular/common-components/lib/tab-activator.service.ts","ng://@groupdocs.examples.angular/common-components/lib/tab/tab.component.ts","ng://@groupdocs.examples.angular/common-components/lib/tabs/tabs.component.ts","ng://@groupdocs.examples.angular/common-components/lib/formatting.service.ts","ng://@groupdocs.examples.angular/common-components/lib/color-picker/color-picker.component.ts","ng://@groupdocs.examples.angular/common-components/lib/back-formatting.service.ts","ng://@groupdocs.examples.angular/common-components/lib/selection.service.ts","ng://@groupdocs.examples.angular/common-components/lib/formatting.directive.ts","ng://@groupdocs.examples.angular/common-components/lib/success-modal/success-modal.component.ts","ng://@groupdocs.examples.angular/common-components/lib/edit-html.service.ts","ng://@groupdocs.examples.angular/common-components/lib/editor.directive.ts","ng://@groupdocs.examples.angular/common-components/lib/loading-mask.service.ts","ng://@groupdocs.examples.angular/common-components/lib/loading-mask/loading-mask.component.ts","ng://@groupdocs.examples.angular/common-components/lib/loading-mask-interceptor.service.ts","ng://@groupdocs.examples.angular/common-components/lib/drop-down/drop-down.component.ts","ng://@groupdocs.examples.angular/common-components/lib/left-side-bar/left-side-bar.component.ts","ng://@groupdocs.examples.angular/common-components/lib/tooltip.directive.ts","ng://@groupdocs.examples.angular/common-components/lib/add-dynamic-component.service.ts","ng://@groupdocs.examples.angular/common-components/lib/hosting-dynamic-component.service.ts","ng://@groupdocs.examples.angular/common-components/lib/host-dynamic.directive.ts","ng://@groupdocs.examples.angular/common-components/lib/resizing/resizing.component.ts","ng://@groupdocs.examples.angular/common-components/lib/top-tab-activator.service.ts","ng://@groupdocs.examples.angular/common-components/lib/top-tab/top-tab.component.ts","ng://@groupdocs.examples.angular/common-components/lib/text-menu/text-menu.component.ts","ng://@groupdocs.examples.angular/common-components/lib/context-menu/context-menu.component.ts","ng://@groupdocs.examples.angular/common-components/lib/common-components.module.ts"],"sourcesContent":["import {Component, Input} from '@angular/core';\r\n\r\n@Component({\r\n selector: 'gd-top-toolbar',\r\n templateUrl: './top-toolbar.component.html',\r\n styleUrls: ['./top-toolbar.component.less']\r\n})\r\nexport class TopToolbarComponent {\r\n\r\n constructor() {\r\n }\r\n}\r\n","import {Component, EventEmitter, Input, Output} from '@angular/core';\r\n\r\n@Component({\r\n selector: 'gd-side-panel',\r\n templateUrl: './side-panel.component.html',\r\n styleUrls: ['./side-panel.component.less']\r\n})\r\n\r\nexport class SidePanelComponent {\r\n @Input() title: string;\r\n @Input() icon: string;\r\n @Input() closable = true;\r\n @Input() saveable = true;\r\n @Output() hideSidePanel = new EventEmitter();\r\n @Output() saveInSidePanel = new EventEmitter();\r\n\r\n onlyTitle = false;\r\n\r\n constructor() {\r\n }\r\n\r\n closeSidePanel() {\r\n this.hideSidePanel.emit(true);\r\n }\r\n\r\n saveBySidePanel() {\r\n this.saveInSidePanel.emit(true);\r\n }\r\n\r\n toggleTitleMode(){\r\n if (this.closable && !this.saveable) {\r\n this.onlyTitle = !this.onlyTitle;\r\n }\r\n }\r\n}\r\n","import {fromEvent, Observable, Subject} from \"rxjs\";\r\nimport {debounceTime, distinctUntilChanged, startWith, tap} from \"rxjs/operators\";\r\n\r\nconst MOBILE_MAX_WIDTH = 425;\r\nconst TABLET_MAX_WIDTH = 1024;\r\n\r\nexport class WindowService {\r\n\r\n private resizeSubject: Subject = new Subject();\r\n private _resize$;\r\n private width: number;\r\n private height: number;\r\n\r\n constructor() {\r\n this.width = window.innerWidth;\r\n this.height = window.innerHeight;\r\n\r\n this._resize$ = fromEvent(window, 'resize')\r\n .pipe(\r\n debounceTime(200),\r\n distinctUntilChanged(),\r\n startWith({target: {innerWidth: window.innerWidth, innerHeight: window.innerHeight}}),\r\n tap(event => {\r\n this.resizeSubject.next(event.target);\r\n this.width = (event.target as Window).innerWidth;\r\n this.height = (event.target as Window).innerHeight;\r\n }),\r\n );\r\n this._resize$.subscribe();\r\n }\r\n\r\n get onResize(): Observable {\r\n return this.resizeSubject.asObservable();\r\n }\r\n\r\n isMobile() {\r\n return this.width <= MOBILE_MAX_WIDTH;\r\n }\r\n\r\n isTablet() {\r\n return this.width <= TABLET_MAX_WIDTH;\r\n }\r\n\r\n isDesktop() {\r\n return !this.isMobile() && !this.isTablet();\r\n }\r\n\r\n getWidth() {\r\n return this.width;\r\n }\r\n\r\n getHeight() {\r\n return this.height;\r\n }\r\n\r\n isEdge() {\r\n return window.navigator.userAgent.toLowerCase().indexOf('edge') > -1;\r\n }\r\n\r\n isFirefox() {\r\n return navigator.userAgent.toLowerCase().indexOf('firefox') > -1;\r\n }\r\n}\r\n","import {Component, Input} from '@angular/core';\r\nimport {WindowService} from \"../window.service\";\r\n\r\n@Component({\r\n selector: 'gd-button',\r\n templateUrl: './button.component.html',\r\n styleUrls: ['./button.component.less']\r\n})\r\nexport class ButtonComponent {\r\n @Input() iconOnly = true;\r\n @Input() intent = 'default';\r\n @Input() disabled = false;\r\n @Input() icon: string;\r\n @Input() iconClass: string;\r\n @Input() tooltip: string;\r\n @Input() className: string;\r\n @Input() toggle = false;\r\n @Input() iconSize: string;\r\n @Input() iconRegular = false;\r\n @Input() elementPosition = 0;\r\n\r\n showToolTip = false;\r\n private isDesktop: boolean;\r\n\r\n constructor(windowService: WindowService) {\r\n this.isDesktop = windowService.isDesktop();\r\n windowService.onResize.subscribe((w) => {\r\n this.isDesktop = windowService.isDesktop();\r\n });\r\n }\r\n\r\n iconButtonClass() {\r\n return this.iconOnly ? 'icon-button' : '';\r\n }\r\n\r\n onHovering() {\r\n if (this.isDesktop && !this.disabled) {\r\n this.className += ' active';\r\n }\r\n }\r\n\r\n onUnhovering() {\r\n if (this.isDesktop && !this.disabled) {\r\n this.className = this.cleanAll(this.className, ' active');\r\n }\r\n }\r\n\r\n private cleanAll(str: string, val: string) {\r\n while (str && str.indexOf(val) !== -1) {\r\n str = str.replace(val, '');\r\n }\r\n return str;\r\n }\r\n}\r\n","import {Component, Input, OnInit} from '@angular/core';\r\n\r\n@Component({\r\n selector: 'gd-logo',\r\n templateUrl: './logo.component.html',\r\n styleUrls: ['./logo.component.less']\r\n})\r\nexport class LogoComponent implements OnInit {\r\n\r\n @Input() logo;\r\n @Input() icon;\r\n\r\n constructor() { }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n}\r\n","import {Component, Input, OnInit} from '@angular/core';\r\n\r\n@Component({\r\n selector: 'gd-tooltip',\r\n templateUrl: './tooltip.component.html',\r\n styleUrls: ['./tooltip.component.less']\r\n})\r\nexport class TooltipComponent implements OnInit {\r\n\r\n @Input() text: string;\r\n @Input() position = 0;\r\n visibility = 'hidden';\r\n\r\n constructor() {\r\n }\r\n\r\n getClass() {\r\n if (this.position === 0) {\r\n return 'tooltip';\r\n }\r\n return 'tooltip ' + (this.position > 0 ? 'last-element' : 'first-element');\r\n }\r\n\r\n @Input()\r\n set show(value: boolean) {\r\n this.visibility = value ? 'shown' : 'hidden';\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n}\r\n","import {HttpHeaders} from \"@angular/common/http\";\r\nimport {Injectable} from \"@angular/core\";\r\n\r\nexport class Api {\r\n public static VIEWER_APP = '/viewer';\r\n public static SIGNATURE_APP = '/signature';\r\n public static ANNOTATION_APP = '/annotation';\r\n public static SEARCH_APP = '/search';\r\n public static EDITOR_APP = '/editor';\r\n public static COMPARISON_APP = '/comparison';\r\n public static CONVERSION_APP = '/conversion';\r\n public static METADATA_APP = '/metadata';\r\n public static DEFAULT_API_ENDPOINT = window.location.href;\r\n public static LOAD_FILE_TREE = '/loadFileTree';\r\n public static LOAD_CONFIG = '/loadConfig';\r\n public static LOAD_DOCUMENT_DESCRIPTION = '/loadDocumentDescription';\r\n public static LOAD_DOCUMENT_PAGE = '/loadDocumentPage';\r\n public static LOAD_DOCUMENT_PROPERTIES = '/loadProperties';\r\n public static LOAD_DOCUMENT_PROPERTIES_NAMES = '/loadPropertiesNames';\r\n public static SAVE_PROPERTY = '/saveProperty';\r\n public static REMOVE_PROPERTY = '/removeProperty';\r\n public static ROTATE_DOCUMENT_PAGE = '/rotateDocumentPages';\r\n public static UPLOAD_DOCUMENTS = '/uploadDocument';\r\n public static DOWNLOAD_DOCUMENTS = '/downloadDocument';\r\n public static DOWNLOAD_ANNOTATED = '/downloadAnnotated';\r\n public static LOAD_PRINT = '/loadPrint';\r\n public static LOAD_PRINT_PDF = '/printPdf';\r\n public static LOAD_THUMBNAILS = '/loadThumbnails';\r\n public static LOAD_FORMATS = '/loadFormats';\r\n public static SAVE_FILE = '/saveFile';\r\n public static CREATE_FILE = '/createFile';\r\n public static COMPARE_FILES = '/compare';\r\n public static CONVERT_FILE = '/convert';\r\n public static DELETE_SIGNATURE_FILE = '/deleteSignatureFile';\r\n public static REMOVE_FROM_INDEX = '/removeFromIndex';\r\n public static GET_FILE_STATUS = '/getFileStatus';\r\n public static SAVE_OPTICAL_CODE = '/saveOpticalCode';\r\n public static SAVE_TEXT = '/saveText';\r\n public static SAVE_IMAGE = '/saveImage';\r\n public static SAVE_STAMP = '/saveStamp';\r\n public static SIGN = '/sign';\r\n public static DOWNLOAD_SIGNED = '/downloadSigned';\r\n public static LOAD_SIGNATURE_IMAGE = '/loadSignatureImage';\r\n public static ANNOTATE = '/annotate';\r\n public static SEARCH = '/search';\r\n public static ADD_FILES_TO_INDEX = '/addFilesToIndex';\r\n public static CLEAN_METADATA = '/clean';\r\n public static EXPORT_METADATA = '/export';\r\n\r\n public static httpOptionsJson = {\r\n headers: new HttpHeaders({\r\n 'Content-Type': 'application/json',\r\n })\r\n };\r\n public static httpOptionsJsonResponseTypeBlob = {\r\n headers: new HttpHeaders({\r\n 'Content-Type': 'application/json',\r\n }),\r\n responseType: 'blob' as 'blob'\r\n };\r\n}\r\n\r\n@Injectable()\r\nexport class ConfigService {\r\n\r\n private _apiEndpoint: string;\r\n\r\n constructor() {\r\n this.apiEndpoint = Api.DEFAULT_API_ENDPOINT;\r\n }\r\n\r\n set apiEndpoint(url: string) {\r\n this._apiEndpoint = url && url.trim().endsWith('/') ? url.substring(0, url.length - 1) : url;\r\n }\r\n\r\n getConfigEndpoint(app) {\r\n return (this.apiEndpoint.endsWith(app) ? this.apiEndpoint : this.apiEndpoint + app) + Api.LOAD_CONFIG;\r\n }\r\n\r\n getViewerApiEndpoint() {\r\n return this._apiEndpoint.endsWith(Api.VIEWER_APP) ? this._apiEndpoint : this._apiEndpoint + Api.VIEWER_APP;\r\n }\r\n\r\n getEditorApiEndpoint() {\r\n return this._apiEndpoint.trim().endsWith(Api.EDITOR_APP) ? this._apiEndpoint : this._apiEndpoint + Api.EDITOR_APP;\r\n }\r\n\r\n getComparisonApiEndpoint() {\r\n return this._apiEndpoint.trim().endsWith(Api.COMPARISON_APP) ? this._apiEndpoint : this._apiEndpoint + Api.COMPARISON_APP;\r\n }\r\n\r\n getConversionApiEndpoint() {\r\n return this._apiEndpoint.trim().endsWith(Api.CONVERSION_APP) ? this._apiEndpoint : this._apiEndpoint + Api.CONVERSION_APP;\r\n }\r\n\r\n getMetadataApiEndpoint() {\r\n return this._apiEndpoint.trim().endsWith(Api.METADATA_APP) ? this._apiEndpoint : this._apiEndpoint + Api.METADATA_APP;\r\n }\r\n\r\n get apiEndpoint() {\r\n return this._apiEndpoint;\r\n }\r\n\r\n getSignatureApiEndpoint() {\r\n return this._apiEndpoint.endsWith(Api.SIGNATURE_APP) ? this._apiEndpoint : this._apiEndpoint + Api.SIGNATURE_APP;\r\n }\r\n\r\n getAnnotationApiEndpoint() {\r\n return this._apiEndpoint.endsWith(Api.ANNOTATION_APP) ? this._apiEndpoint : this._apiEndpoint + Api.ANNOTATION_APP;\r\n }\r\n\r\n getSearchApiEndpoint() {\r\n return this._apiEndpoint.endsWith(Api.SEARCH_APP) ? this._apiEndpoint : this._apiEndpoint + Api.SEARCH_APP;\r\n }\r\n}\r\n","export class CommonModals {\r\n static PasswordRequired = \"gd-password-required\";\r\n static ErrorMessage = \"gd-error-message\";\r\n static BrowseFiles = \"gd-browse-files\";\r\n static CreateDocument = \"gd-create-document\";\r\n static OperationSuccess = \"gd-success-modal\";\r\n static DrawHandSignature = \"gd-draw-hand-signature\";\r\n static DrawStampSignature = \"gd-draw-stamp-signature\";\r\n static InformationMessage = \"gd-information-message\";\r\n}\r\n\r\nexport class ModalService {\r\n private modals: any[] = [];\r\n\r\n add(modal: any) {\r\n this.modals.push(modal);\r\n }\r\n\r\n remove(id: string) {\r\n this.modals = this.modals.filter(x => x.id !== id);\r\n }\r\n\r\n open(id: string) {\r\n const modal: any = this.modals.filter(x => x.id === id)[0];\r\n if (modal) {\r\n modal.open();\r\n }\r\n }\r\n\r\n close(id: string) {\r\n const modal: any = this.modals.filter(x => x.id === id)[0];\r\n if (modal) {\r\n modal.close();\r\n }\r\n }\r\n}\r\n","import {Component, ElementRef, EventEmitter, Input, OnDestroy, OnInit, Output} from '@angular/core';\r\nimport {ModalService} from \"../modal.service\";\r\n\r\n@Component({\r\n selector: 'gd-modal',\r\n templateUrl: './modal.component.html',\r\n styleUrls: ['./modal.component.less']\r\n})\r\nexport class ModalComponent implements OnInit, OnDestroy {\r\n @Input() id: string;\r\n @Input() title: string;\r\n @Output() visible = new EventEmitter();\r\n @Output() cancel = new EventEmitter();\r\n visibility = false;\r\n private element: any;\r\n\r\n constructor(private modalService: ModalService, el: ElementRef) {\r\n this.element = el.nativeElement;\r\n }\r\n\r\n ngOnInit(): void {\r\n if (!this.id) {\r\n console.error('modal must have an id');\r\n return;\r\n }\r\n\r\n document.body.appendChild(this.element);\r\n\r\n this.modalService.add(this);\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.modalService.remove(this.id);\r\n this.element.remove();\r\n }\r\n\r\n open(): void {\r\n this.visibility = true;\r\n this.visible.emit(true);\r\n }\r\n\r\n close(): void {\r\n event.preventDefault();\r\n event.stopPropagation();\r\n this.visibility = false;\r\n this.visible.emit(false);\r\n }\r\n\r\n onClose($event: MouseEvent) {\r\n $event.stopPropagation();\r\n if ($event && $event.target && ($event.target).id === 'modalDialog') {\r\n this.close();\r\n }\r\n }\r\n\r\n cancelClose() {\r\n this.cancel.emit(false);\r\n this.close();\r\n }\r\n}\r\n","export class PageModel {\r\n data: string;\r\n angle: number;\r\n width: number;\r\n height: number;\r\n number: number;\r\n editable: boolean;\r\n}\r\n\r\nexport class RotatedPage {\r\n pageNumber: number;\r\n angle: number;\r\n}\r\n\r\nexport class FileCredentials {\r\n guid: string;\r\n password: string;\r\n\r\n constructor(guid: string, password: string) {\r\n this.guid = guid;\r\n this.password = password;\r\n }\r\n}\r\n\r\nexport class SaveFile extends FileCredentials {\r\n content: string;\r\n\r\n constructor(guid: string, password: string, content: string) {\r\n super(guid, password);\r\n this.content = content;\r\n }\r\n}\r\n\r\nexport class FileDescription {\r\n guid: string;\r\n pages: PageModel[];\r\n printAllowed = true;\r\n showGridLines: boolean;\r\n thumbnails: PageModel[];\r\n}\r\n\r\nexport class FileModel {\r\n guid: string;\r\n name: string;\r\n directory: boolean;\r\n size: number;\r\n isDirectory: boolean;\r\n}\r\n\r\nexport class HttpError {\r\n static BadRequest = 400;\r\n static Unauthorized = 401;\r\n static Forbidden = 403;\r\n static NotFound = 404;\r\n static TimeOut = 408;\r\n static Conflict = 409;\r\n static InternalServerError = 500;\r\n}\r\n\r\nexport class Utils {\r\n public static getMousePosition(event) {\r\n const mouse = {\r\n x: 0,\r\n y: 0\r\n };\r\n const wEvent: DragEvent = window.event;\r\n const ev = event || wEvent; //Moz || IE\r\n if (ev.pageX || wEvent.pageX || wEvent.screenX || (ev.touches && ev.touches[0] && ev.touches[0].pageX)) { //Moz\r\n const pageX = typeof ev.pageX !== \"undefined\" && ev.pageX !== 0 ? ev.pageX : wEvent.pageX;\r\n const pageY = typeof ev.pageY !== \"undefined\" && ev.pageY !== 0 ? ev.pageY : wEvent.pageY;\r\n const screenX = typeof wEvent.screenX !== \"undefined\" && wEvent.screenY !== 0;\r\n const screenY = typeof wEvent.screenY !== \"undefined\" && wEvent.screenY !== 0;\r\n mouse.x = pageX ? pageX : (screenX ? wEvent.screenX : ev.touches[0].pageX);\r\n mouse.y = pageY ? pageY : (screenY ? wEvent.screenY : ev.touches[0].pageY);\r\n } else if (ev.clientX) { //IE\r\n mouse.x = ev.clientX + document.body.scrollLeft;\r\n mouse.y = ev.clientY + document.body.scrollTop;\r\n }\r\n return mouse;\r\n }\r\n\r\n public static toRgb(color: string) {\r\n const result = /^#?([a-f\\d]{2})([a-f\\d]{2})([a-f\\d]{2})$/i.exec(color);\r\n if (result) {\r\n const r = parseInt(result[1], 16);\r\n const g = parseInt(result[2], 16);\r\n const b = parseInt(result[3], 16);\r\n return result ? 'rgb(' + r + ',' + g + ',' + b + ')' : '';\r\n }\r\n return color;\r\n }\r\n\r\n public static toHex(color: string) {\r\n // check if color is standard hex value\r\n if (color.match(/[0-9A-F]{6}|[0-9A-F]{3}$/i)) {\r\n return (color.charAt(0) === \"#\") ? color : (\"#\" + color);\r\n // check if color is RGB value -> convert to hex\r\n } else if (color.match(/^rgb\\(\\s*(\\d{1,3})\\s*,\\s*(\\d{1,3})\\s*,\\s*(\\d{1,3})\\s*\\)$/)) {\r\n const c = ([parseInt(RegExp.$1, 10), parseInt(RegExp.$2, 10), parseInt(RegExp.$3, 10)]),\r\n pad = function (str) {\r\n if (str.length < 2) {\r\n for (let i = 0, len = 2 - str.length; i < len; i++) {\r\n str = '0' + str;\r\n }\r\n }\r\n return str;\r\n };\r\n if (c.length === 3) {\r\n const r = pad(c[0].toString(16)),\r\n g = pad(c[1].toString(16)),\r\n b = pad(c[2].toString(16));\r\n return '#' + r + g + b;\r\n }\r\n // else do nothing\r\n } else {\r\n return '';\r\n }\r\n }\r\n}\r\n\r\nexport class FileUtil {\r\n public static map = {\r\n 'folder': {'format': '', 'icon': 'folder'},\r\n 'pdf': {'format': 'Portable Document Format', 'icon': 'file-pdf', 'unit': 'pt'},\r\n 'doc': {'format': 'Microsoft Word', 'icon': 'file-word', 'unit': 'pt'},\r\n 'docx': {'format': 'Microsoft Word', 'icon': 'file-word', 'unit': 'pt'},\r\n 'docm': {'format': 'Microsoft Word', 'icon': 'file-word', 'unit': 'pt'},\r\n 'dot': {'format': 'Microsoft Word', 'icon': 'file-word', 'unit': 'pt'},\r\n 'dotx': {'format': 'Microsoft Word', 'icon': 'file-word', 'unit': 'pt'},\r\n 'dotm': {'format': 'Microsoft Word', 'icon': 'file-word', 'unit': 'pt'},\r\n 'xls': {'format': 'Microsoft Excel', 'icon': 'file-excel', 'unit': 'px'},\r\n 'xlsx': {'format': 'Microsoft Excel', 'icon': 'file-excel', 'unit': 'px'},\r\n 'xlsm': {'format': 'Microsoft Excel', 'icon': 'file-excel', 'unit': 'px'},\r\n 'xlsb': {'format': 'Microsoft Excel', 'icon': 'file-excel', 'unit': 'px'},\r\n 'xls2003': {'format': 'Microsoft Excel', 'icon': 'file-excel', 'unit': 'px'},\r\n 'xltx': {'format': 'Microsoft Excel', 'icon': 'file-excel', 'unit': 'px'},\r\n 'xltm': {'format': 'Microsoft Excel', 'icon': 'file-excel', 'unit': 'px'},\r\n 'ppt': {'format': 'Microsoft PowerPoint', 'icon': 'file-powerpoint', 'unit': 'pt'},\r\n 'pptx': {'format': 'Microsoft PowerPoint', 'icon': 'file-powerpoint', 'unit': 'pt'},\r\n 'pps': {'format': 'Microsoft PowerPoint', 'icon': 'file-powerpoint', 'unit': 'pt'},\r\n 'ppsx': {'format': 'Microsoft PowerPoint', 'icon': 'file-powerpoint', 'unit': 'pt'},\r\n 'vsd': {'format': 'Microsoft Visio', 'icon': 'file-code', 'unit': 'px'},\r\n 'vdx': {'format': 'Microsoft Visio', 'icon': 'file-code', 'unit': 'px'},\r\n 'vss': {'format': 'Microsoft Visio', 'icon': 'file-code', 'unit': 'px'},\r\n 'vsx': {'format': 'Microsoft Visio', 'icon': 'file-code', 'unit': 'px'},\r\n 'vst': {'format': 'Microsoft Visio', 'icon': 'file-code', 'unit': 'px'},\r\n 'vtx': {'format': 'Microsoft Visio', 'icon': 'file-code', 'unit': 'px'},\r\n 'vsdx': {'format': 'Microsoft Visio', 'icon': 'file-code', 'unit': 'px'},\r\n 'vdw': {'format': 'Microsoft Visio', 'icon': 'file-code', 'unit': 'px'},\r\n 'vstx': {'format': 'Microsoft Visio', 'icon': 'file-code', 'unit': 'px'},\r\n 'vssx': {'format': 'Microsoft Visio', 'icon': 'file-code', 'unit': 'px'},\r\n 'mpp': {'format': 'Microsoft Project', 'icon': 'file-alt', 'unit': 'pt'},\r\n 'mpt': {'format': 'Microsoft Project', 'icon': 'file-alt', 'unit': 'pt'},\r\n 'msg': {'format': 'Microsoft Outlook', 'icon': 'file-alt', 'unit': 'pt'},\r\n 'eml': {'format': 'Microsoft Outlook', 'icon': 'file-alt', 'unit': 'pt'},\r\n 'emlx': {'format': 'Microsoft Outlook', 'icon': 'file-alt', 'unit': 'pt'},\r\n 'one': {'format': 'Microsoft OneNote', 'icon': 'file-word', 'unit': 'pt'},\r\n 'odt': {'format': 'Open Document Text', 'icon': 'file-word', 'unit': 'pt'},\r\n 'ott': {'format': 'Open Document Text Template', 'icon': 'file-word', 'unit': 'pt'},\r\n 'ods': {'format': 'Open Document Spreadsheet', 'icon': 'file-excel', 'unit': 'px'},\r\n 'odp': {'format': 'Open Document Presentation', 'icon': 'file-powerpoint', 'unit': 'pt'},\r\n 'otp': {'format': 'Open Document Presentation', 'icon': 'file-powerpoint', 'unit': 'pt'},\r\n 'ots': {'format': 'Open Document Presentation', 'icon': 'file-powerpoint', 'unit': 'pt'},\r\n 'potx': {'format': 'Open Document Presentation', 'icon': 'file-powerpoint', 'unit': 'pt'},\r\n 'potm': {'format': 'Open Document Presentation', 'icon': 'file-powerpoint', 'unit': 'pt'},\r\n 'pptm': {'format': 'Open Document Presentation', 'icon': 'file-powerpoint', 'unit': 'pt'},\r\n 'ppsm': {'format': 'Open Document Presentation', 'icon': 'file-powerpoint', 'unit': 'pt'},\r\n 'rtf': {'format': 'Rich Text Format', 'icon': 'file-alt', 'unit': 'pt'},\r\n 'txt': {'format': 'Plain Text File', 'icon': 'file-alt', 'unit': 'pt'},\r\n 'csv': {'format': 'Comma-Separated Values', 'icon': 'file-excel', 'unit': 'px'},\r\n 'html': {'format': 'HyperText Markup Language', 'icon': 'file-word', 'unit': 'pt'},\r\n 'mht': {'format': 'HyperText Markup Language', 'icon': 'file-word', 'unit': 'pt'},\r\n 'mhtml': {'format': 'HyperText Markup Language', 'icon': 'file-word', 'unit': 'pt'},\r\n 'xml': {'format': 'Extensible Markup Language', 'icon': 'file-word', 'unit': 'pt'},\r\n 'xps': {'format': 'XML Paper Specification', 'icon': 'file-word', 'unit': 'pt'},\r\n 'dxf': {'format': 'AutoCAD Drawing File Format', 'icon': 'file-image', 'unit': 'px'},\r\n 'dwg': {'format': 'AutoCAD Drawing File Format', 'icon': 'file-image', 'unit': 'px'},\r\n 'bmp': {'format': 'Bitmap Picture', 'icon': 'file-image', 'unit': 'px'},\r\n 'gif': {'format': 'Graphics Interchange Format', 'icon': 'file-image', 'unit': 'px'},\r\n 'jpg': {'format': 'Joint Photographic Experts Group', 'icon': 'file-image', 'unit': 'px'},\r\n 'jpe': {'format': 'Joint Photographic Experts Group', 'icon': 'file-image', 'unit': 'px'},\r\n 'jpeg': {'format': 'Joint Photographic Experts Group', 'icon': 'file-image', 'unit': 'px'},\r\n 'jfif': {'format': 'Joint Photographic Experts Group', 'icon': 'file-image', 'unit': 'px'},\r\n 'png': {'format': 'Portable Network Graphics', 'icon': 'file-image', 'unit': 'px'},\r\n 'tiff': {'format': 'Tagged Image File Format', 'icon': 'file-image', 'unit': 'px'},\r\n 'tif': {'format': 'Tagged Image File Format', 'icon': 'file-image', 'unit': 'px'},\r\n 'psd': {'format': 'Tagged Image File Format', 'icon': 'file-image', 'unit': 'px'},\r\n 'svg': {'format': 'Tagged Image File Format', 'icon': 'file-image', 'unit': 'px'},\r\n 'jp2': {'format': 'Tagged Image File Format', 'icon': 'file-image', 'unit': 'px'},\r\n 'epub': {'format': 'Electronic Publication', 'icon': 'file-pdf', 'unit': 'pt'},\r\n 'ico': {'format': 'Windows Icon', 'icon': 'file-image', 'unit': 'px'},\r\n 'webp': {'format': 'Compressed Image', 'icon': 'file-image', 'unit': 'px'},\r\n 'mobi': {'format': 'Mobipocket eBook', 'icon': 'file-pdf', 'unit': 'pt'},\r\n 'tex': {'format': 'LaTeX Source Document', 'icon': 'file-pdf', 'unit': 'pt'},\r\n 'djvu': {'format': 'Multi-Layer Raster Image', 'icon': 'file-alt', 'unit': 'pt'},\r\n 'unknown': {'format': 'This format is not supported', 'icon': 'file'},\r\n };\r\n\r\n public static find(filename: string, isDirectory: boolean) {\r\n if (filename && !isDirectory) {\r\n const strings = filename.split('.');\r\n const name = strings.pop().toLowerCase();\r\n if (typeof FileUtil.map[name] === \"undefined\") {\r\n return strings.length > 0 ? FileUtil.map['unknown'] : FileUtil.map['folder'];\r\n } else {\r\n return FileUtil.map[name];\r\n }\r\n } else {\r\n return FileUtil.map['folder'];\r\n }\r\n }\r\n}\r\n\r\nexport class FileService {\r\n\r\n constructor() {\r\n }\r\n}\r\n","import {Observable, Observer} from \"rxjs\";\r\n\r\nexport class UploadFilesService {\r\n private _uploadsChange: Observable;\r\n private _observer: Observer;\r\n\r\n constructor() {\r\n this._uploadsChange = new Observable(observer =>\r\n this._observer = observer);\r\n }\r\n\r\n get uploadsChange(): Observable {\r\n return this._uploadsChange;\r\n }\r\n\r\n changeFilesList(filesList: FileList) {\r\n this._observer.next(filesList);\r\n }\r\n}\r\n","import {Component, EventEmitter, Input, OnInit, Output} from '@angular/core';\r\nimport {FileModel, FileUtil} from \"../file.service\";\r\nimport {UploadFilesService} from \"../upload-files.service\";\r\nimport * as jquery from \"jquery\";\r\nconst $ = jquery;\r\n\r\nconst upload_disc = 'Disc';\r\n\r\nconst upload_url = 'URL';\r\n\r\nconst uploads_choices = [{name: upload_disc, icon: 'hdd'}, {name: upload_url, icon: 'link'}];\r\n\r\n@Component({\r\n selector: 'gd-browse-files-modal',\r\n templateUrl: './browse-files-modal.component.html',\r\n styleUrls: ['./browse-files-modal.component.less']\r\n})\r\nexport class BrowseFilesModalComponent implements OnInit {\r\n uploads = uploads_choices;\r\n\r\n @Input() files;\r\n @Input() uploadConfig;\r\n @Output() selectedFileGuid = new EventEmitter();\r\n @Output() selectedDirectory = new EventEmitter();\r\n @Output() urlForUpload = new EventEmitter();\r\n @Output() closing = new EventEmitter();\r\n private selectedFile: FileModel;\r\n showUploadUrl = false;\r\n showUploadFile = false;\r\n\r\n constructor(private _uploadService: UploadFilesService) {\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n getSize(size: number) {\r\n const mb = size / 1024 / 1024;\r\n if (mb > 1) {\r\n return (Math.round(mb * 100) / 100) + ' MB';\r\n } else {\r\n const kb = size / 1024;\r\n if (kb > 1) {\r\n return (Math.round(kb * 100) / 100) + ' KB';\r\n }\r\n }\r\n return size + ' Bytes';\r\n }\r\n\r\n getFormatName(file: FileModel) {\r\n return FileUtil.find(file.name, file.directory).format;\r\n }\r\n\r\n getFormatIcon(file: FileModel) {\r\n return FileUtil.find(file.name, file.directory).icon;\r\n }\r\n\r\n choose(file: FileModel) {\r\n this.selectedFile = file;\r\n if (file.directory || file.isDirectory) {\r\n this.selectedDirectory.emit(file.name);\r\n } else {\r\n this.selectedFileGuid.emit(file.guid);\r\n }\r\n }\r\n\r\n goUp() {\r\n if (this.selectedFile) {\r\n let guid = this.selectedFile.guid;\r\n if (guid.length > 0 && guid.indexOf('/') === -1) {\r\n guid = '';\r\n } else {\r\n guid = guid.replace(/\\/[^\\/]+\\/?$/, '');\r\n }\r\n this.selectedDirectory.emit(guid);\r\n }\r\n }\r\n\r\n selectUpload($event: string) {\r\n if (upload_url === $event) {\r\n this.showUploadUrl = true;\r\n } else {\r\n this.showUploadUrl = false;\r\n $(\"#gd-upload-input\").trigger('click');\r\n }\r\n }\r\n\r\n refresh($event) {\r\n\r\n if ($event) {\r\n this.files = null;\r\n this.selectedDirectory.emit('');\r\n this.showUploadUrl = false;\r\n this.selectedFile = null;\r\n } else {\r\n this.closing.emit(true);\r\n }\r\n }\r\n\r\n showSpinner() {\r\n return !this.files;\r\n }\r\n\r\n uploadUrl(url: string) {\r\n if (url) {\r\n this.urlForUpload.emit(url);\r\n this.cleanUpload();\r\n }\r\n }\r\n\r\n handleFileInput(files: FileList) {\r\n this._uploadService.changeFilesList(files);\r\n }\r\n\r\n cleanUpload() {\r\n this.showUploadFile = false;\r\n this.showUploadUrl = false;\r\n }\r\n}\r\n","import {Observable, Subject} from \"rxjs\";\r\n\r\nexport class ZoomService {\r\n private _observer: Subject = new Subject();\r\n private readonly _zoomChange: Observable = this._observer.asObservable();\r\n private _zoom: number;\r\n\r\n constructor() {\r\n }\r\n\r\n get zoom(): number {\r\n return this._zoom;\r\n }\r\n\r\n get zoomChange(): Observable {\r\n return this._zoomChange;\r\n }\r\n\r\n changeZoom(zoom: number) {\r\n this._zoom = zoom;\r\n this._observer.next(zoom);\r\n }\r\n\r\n private createZoomOption(val: any, name: string, sep: boolean = false) {\r\n return {value: val, name: name, separator: sep}\r\n }\r\n\r\n zoomOptions(width, height) {\r\n return [this.createZoomOption(25, '25%'),\r\n this.createZoomOption(50, '50%'),\r\n this.createZoomOption(100,'100%'),\r\n this.createZoomOption(150, '150%'),\r\n this.createZoomOption(200, '200%'),\r\n this.createZoomOption(300, '300%'),\r\n this.createZoomOption(0, '', true),\r\n this.createZoomOption(width, 'Fit Width'),\r\n this.createZoomOption(height, 'Fit Height')];\r\n }\r\n}\r\n","import {Observable, Observer} from \"rxjs\";\r\n\r\nexport class PagePreloadService {\r\n private readonly _checkPreload: Observable;\r\n private _observer: Observer;\r\n\r\n constructor() {\r\n this._checkPreload = new Observable(observer =>\r\n this._observer = observer);\r\n }\r\n\r\n get checkPreload(): Observable {\r\n return this._checkPreload;\r\n }\r\n\r\n changeLastPageInView(page: number) {\r\n if(this._observer) {\r\n this._observer.next(page);\r\n }\r\n }\r\n}\r\n","import {BehaviorSubject, Observable, Subject} from \"rxjs\";\r\nimport {PagePreloadService} from \"./page-preload.service\";\r\nimport {Injectable} from \"@angular/core\";\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class NavigateService {\r\n private _currentPage = 0;\r\n private _countPages = 0;\r\n private _observer: Subject = new Subject();\r\n private _navigate: Observable = this._observer;\r\n\r\n constructor(private _pagePreloadService: PagePreloadService) {\r\n }\r\n\r\n get navigate(): Observable {\r\n return this._navigate;\r\n }\r\n\r\n get countPages(): number {\r\n return this._countPages;\r\n }\r\n\r\n set countPages(value: number) {\r\n this._countPages = value;\r\n }\r\n\r\n get currentPage(): number {\r\n return this._currentPage;\r\n }\r\n\r\n set currentPage(value: number) {\r\n this._currentPage = value;\r\n }\r\n\r\n nextPage() {\r\n if (this._currentPage < this._countPages) {\r\n this._currentPage++;\r\n this.navigateTo(this._currentPage);\r\n }\r\n }\r\n\r\n prevPage() {\r\n if (this._currentPage > 1) {\r\n this._currentPage--;\r\n this.navigateTo(this._currentPage);\r\n }\r\n }\r\n\r\n toLastPage() {\r\n this._currentPage = this._countPages;\r\n this.navigateTo(this._currentPage);\r\n }\r\n\r\n toFirstPage() {\r\n this._currentPage = 1;\r\n this.navigateTo(this._currentPage);\r\n }\r\n\r\n navigateTo(page: number) {\r\n this.currentPage = page;\r\n this._pagePreloadService.changeLastPageInView(page);\r\n this._observer.next(page);\r\n }\r\n}\r\n","import {\r\n AfterViewChecked,\r\n Component,\r\n ElementRef,\r\n Input,\r\n OnInit,\r\n AfterViewInit,\r\n OnChanges\r\n} from '@angular/core';\r\nimport {FileDescription, FileUtil} from \"../file.service\";\r\nimport {ZoomService} from \"../zoom.service\";\r\nimport * as Hammer from 'hammerjs';\r\nimport {WindowService} from '../window.service';\r\nimport * as jquery from 'jquery';\r\nimport { NavigateService } from '../navigate.service';\r\n\r\nconst $ = jquery;\r\n\r\n@Component({\r\n selector: 'gd-document',\r\n templateUrl: './document.component.html',\r\n styleUrls: ['./document.component.less']\r\n})\r\nexport class DocumentComponent implements OnInit, AfterViewChecked, AfterViewInit, OnChanges {\r\n\r\n @Input() mode: boolean;\r\n @Input() preloadPageCount: number;\r\n @Input() file: FileDescription;\r\n @Input() selectedPage: number;\r\n @Input() showActiveSlide: boolean;\r\n wait = false;\r\n zoom: number;\r\n\r\n docWidth = null;\r\n docHeight = null;\r\n viewportWidth = null;\r\n viewportHeight = null;\r\n scale = null;\r\n lastScale = null;\r\n container = null;\r\n doc = null;\r\n x = 0;\r\n lastX = 0;\r\n y = 0;\r\n lastY = 0;\r\n pinchCenter = null;\r\n pinchCenterOffset = null;\r\n curWidth = 0;\r\n curHeight = 0;\r\n isDesktop: boolean;\r\n\r\n constructor(protected _elementRef: ElementRef,\r\n private _zoomService: ZoomService,\r\n private _windowService: WindowService,\r\n private _navigateService: NavigateService) {\r\n _zoomService.zoomChange.subscribe((val: number) => {\r\n this.zoom = val;\r\n });\r\n\r\n this.isDesktop = _windowService.isDesktop();\r\n\r\n this._navigateService.navigate.subscribe(((\r\n value => {\r\n this.selectedPage = value;\r\n })));\r\n }\r\n\r\n ngOnInit() {\r\n if (this.ifPresentation())\r\n {\r\n this.selectedPage = this._navigateService.currentPage;\r\n }\r\n }\r\n\r\n ngOnChanges() {\r\n }\r\n\r\n ngAfterViewInit() {\r\n // For current iteration we take .panzoom as a document\r\n this.doc = this._elementRef.nativeElement.children.item(0).children.item(0);\r\n // For current iteration we take .gd-document as a container\r\n this.container = this._elementRef.nativeElement;\r\n\r\n this.docWidth = this.doc.clientWidth;\r\n this.docHeight = this.doc.clientHeight;\r\n this.viewportWidth = this.doc.offsetWidth;\r\n\r\n // For cases where we already have zoom defined we should include it\r\n this.scale = (this.viewportWidth / this.docWidth) * this._zoomService.zoom / 100;\r\n\r\n this.lastScale = this.scale;\r\n this.viewportHeight = this.container.offsetHeight;\r\n this.curWidth = this.docWidth * this.scale;\r\n this.curHeight = this.docHeight * this.scale;\r\n\r\n const hammer = new Hammer(this.container);\r\n }\r\n\r\n // TODO: this temporary crutch for Excel files should be documented\r\n ifExcel() {\r\n return FileUtil.find(this.file.guid, false).format === \"Microsoft Excel\";\r\n }\r\n\r\n ifPresentation() {\r\n return FileUtil.find(this.file.guid, false).format === \"Microsoft PowerPoint\";\r\n }\r\n\r\n getDimensionWithUnit(value: number, pageNumber: number) {\r\n return this.ifPresentation() && this.showActiveSlide && !this.isVisible(pageNumber) ? 0 : value + (this.mode ? FileUtil.find(this.file.guid, false).unit : 'px');\r\n }\r\n\r\n ifEdge() {\r\n return navigator.userAgent.toLowerCase().indexOf('edge') > -1;\r\n }\r\n\r\n ngAfterViewChecked(): void {\r\n // for now we are not sure that need this action in current implementation\r\n // const elementNodeListOf = this._elementRef.nativeElement.querySelectorAll('.gd-wrapper');\r\n // const element = elementNodeListOf.item(0);\r\n // if (element) {\r\n // $(element).trigger('focus');\r\n // }\r\n }\r\n\r\n isVisible(pageNumber) {\r\n if (this.ifPresentation()) {\r\n return pageNumber === this.selectedPage ? true : false;\r\n }\r\n else {\r\n return true;\r\n }\r\n }\r\n}\r\n","import {Component, Input, OnChanges, OnInit, SimpleChanges} from '@angular/core';\r\n\r\n@Component({\r\n selector: 'gd-page',\r\n templateUrl: './page.component.html',\r\n styleUrls: ['./page.component.less']\r\n})\r\nexport class PageComponent implements OnInit, OnChanges {\r\n\r\n @Input() angle: number;\r\n @Input() width: number;\r\n @Input() height: number;\r\n @Input() number: number;\r\n @Input() data: string;\r\n @Input() isHtml: boolean;\r\n @Input() editable: boolean;\r\n imgData: string;\r\n\r\n constructor() {\r\n }\r\n\r\n ngOnInit() {\r\n const isIE = /*@cc_on!@*/false || !!/(MSIE|Trident\\/|Edge\\/)/i.test(navigator.userAgent);\r\n if(isIE && this.number === 0){\r\n this.editable = false;\r\n }\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n if(this.isHtml) {\r\n // TODO: this is temporary needed to remove unneeded spaces and BOM symbol \r\n // which leads to undesired spaces on the top of the docs pages\r\n this.data = this.data \r\n ? this.data.replace(/>\\s+<')\r\n .replace(/\\uFEFF/g,\"\")\r\n : null;\r\n } else {\r\n this.imgData = 'data:image/png;base64,' + this.data;\r\n }\r\n }\r\n}\r\n","import {Pipe, PipeTransform} from '@angular/core';\r\nimport {DomSanitizer, SafeHtml} from '@angular/platform-browser';\r\n\r\n@Pipe({name: 'safeHtml'})\r\nexport class SanitizeHtmlPipe implements PipeTransform{\r\n constructor(private sanitizer: DomSanitizer) {\r\n }\r\n\r\n transform(html: string): SafeHtml {\r\n return this.sanitizer.bypassSecurityTrustHtml(html);\r\n }\r\n}\r\n\r\n@Pipe({name: 'safeResourceHtml'})\r\nexport class SanitizeResourceHtmlPipe implements PipeTransform{\r\n constructor(private sanitizer: DomSanitizer) {\r\n }\r\n\r\n transform(html: string): SafeHtml {\r\n return this.sanitizer.bypassSecurityTrustResourceUrl(html);\r\n }\r\n}\r\n\r\n@Pipe({name: 'safeStyle'})\r\nexport class SanitizeStylePipe implements PipeTransform{\r\n constructor(private sanitizer: DomSanitizer) {\r\n }\r\n\r\n transform(html: string): SafeHtml {\r\n return this.sanitizer.bypassSecurityTrustStyle(html);\r\n }\r\n}\r\n\r\n@Pipe({name: 'highlight'})\r\nexport class HighlightSearchPipe implements PipeTransform {\r\n\r\n transform(value: string, args: string): any {\r\n if (!args) {\r\n return value;\r\n }\r\n const re = new RegExp(args, 'gi'); //'gi' for case insensitive and can use 'g' if you want the search to be case sensitive.\r\n return value.replace(re, \"$&\");\r\n }\r\n}\r\n","import {Component, EventEmitter, OnInit, Output} from '@angular/core';\r\nimport {UploadFilesService} from \"../upload-files.service\";\r\n\r\n@Component({\r\n selector: 'gd-upload-file-zone',\r\n templateUrl: './upload-file-zone.component.html',\r\n styleUrls: ['./upload-file-zone.component.less']\r\n})\r\nexport class UploadFileZoneComponent implements OnInit {\r\n\r\n @Output() closeUpload = new EventEmitter();\r\n\r\n constructor(private _uploadService: UploadFilesService) { }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n handleFileInput(files: FileList) {\r\n this._uploadService.changeFilesList(files);\r\n this.onCloseUpload();\r\n }\r\n\r\n onCloseUpload() {\r\n this.closeUpload.emit(true);\r\n }\r\n\r\n close($event) {\r\n if ($event.target.id === 'gd-dropZone') {\r\n this.onCloseUpload();\r\n }\r\n }\r\n}\r\n","import {Directive, EventEmitter, HostBinding, HostListener, Input, Output} from '@angular/core';\r\nimport {UploadFilesService} from \"./upload-files.service\";\r\n\r\n@Directive({\r\n selector: '[gdDnd]'\r\n})\r\nexport class DndDirective {\r\n\r\n @Output() closing = new EventEmitter();\r\n @Output() opening = new EventEmitter();\r\n @Output() dropped = new EventEmitter();\r\n\r\n @HostBinding('class.active') active = false;\r\n\r\n private dragCounter = 0;\r\n\r\n constructor(protected _uploadFilesService: UploadFilesService) {\r\n }\r\n\r\n @HostListener('dragenter', ['$event'])\r\n public onDragEnter(evt) {\r\n evt.preventDefault();\r\n evt.stopPropagation();\r\n this.dragCounter++;\r\n this.active = true;\r\n this.opening.emit(true);\r\n }\r\n\r\n @HostListener('dragover', ['$event'])\r\n public onDragOver(evt) {\r\n evt.preventDefault();\r\n evt.stopPropagation();\r\n return false;\r\n }\r\n\r\n @HostListener('dragleave', ['$event'])\r\n public onDragLeave(evt) {\r\n evt.preventDefault();\r\n evt.stopPropagation();\r\n this.dragCounter--;\r\n if (this.dragCounter === 0) {\r\n this.active = false;\r\n this.closeArea();\r\n }\r\n }\r\n\r\n @HostListener('drop', ['$event'])\r\n public onDrop(evt) {\r\n evt.preventDefault();\r\n evt.stopPropagation();\r\n const files = evt.dataTransfer.files;\r\n if (files.length > 0) {\r\n this.active = false;\r\n this.dropped.emit(true);\r\n this._uploadFilesService.changeFilesList(files);\r\n this.closeArea();\r\n }\r\n }\r\n\r\n @HostListener('click', ['$event'])\r\n public onClick(event) {\r\n this.closeArea();\r\n }\r\n\r\n private closeArea() {\r\n this.closing.emit(true);\r\n this.opening.emit(false);\r\n }\r\n}\r\n","import {Injectable} from '@angular/core';\r\nimport * as jquery from \"jquery\";\r\nconst $ = jquery;\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ViewportService {\r\n\r\n constructor() {\r\n }\r\n\r\n checkInViewport(el, zoom: number = 100, leftOffset: number = 0, deltaX: number = 0.5) {\r\n if (!el) {\r\n return false;\r\n }\r\n const x = deltaX;\r\n const y = 0.5;\r\n\r\n const win = $(window);\r\n\r\n const viewport = {\r\n top: win.scrollTop(),\r\n left: win.scrollLeft() + leftOffset,\r\n right: win.scrollLeft() + win.width() - 10,\r\n bottom: win.scrollTop() + win.height()\r\n };\r\n\r\n\r\n if (isNaN(zoom)) {\r\n zoom = 100;\r\n }\r\n\r\n const zoomN = zoom / 100;\r\n const height = $(el).outerHeight() * (zoomN);\r\n const width = $(el).outerWidth() * (zoomN);\r\n\r\n if (!width || !height) {\r\n return false;\r\n }\r\n\r\n const bounds = $(el).offset();\r\n const right = (bounds.left * (zoomN)) + width;\r\n const bottom = (bounds.top * (zoomN)) + height;\r\n\r\n const visible = (!(viewport.right < (bounds.left * (zoomN)) || viewport.left > right || viewport.bottom < (bounds.top * (zoomN)) || viewport.top > bottom));\r\n\r\n if (!visible) {\r\n return false;\r\n }\r\n\r\n const deltas = {\r\n top: parseFloat(Math.min(1, (bottom - viewport.top) / height).toFixed(2)),\r\n bottom: parseFloat(Math.min(1, (viewport.bottom - (bounds.top * (zoomN))) / height).toFixed(2)),\r\n left: parseFloat(Math.min(1, (right - viewport.left) / width).toFixed(2)),\r\n right: parseFloat(Math.min(1, (viewport.right - (bounds.left * (zoomN))) / width).toFixed(2))\r\n };\r\n\r\n return (deltas.left * deltas.right) >= x && (deltas.top * deltas.bottom) >= y;\r\n }\r\n}\r\n","import {\r\n AfterViewInit,\r\n Directive,\r\n ElementRef,\r\n HostListener,\r\n Input,\r\n OnChanges,\r\n OnInit,\r\n SimpleChanges\r\n} from '@angular/core';\r\nimport {NavigateService} from \"./navigate.service\";\r\nimport {PagePreloadService} from \"./page-preload.service\";\r\nimport {ZoomService} from \"./zoom.service\";\r\nimport {WindowService} from \"./window.service\";\r\nimport {ViewportService} from \"./viewport.service\";\r\nimport * as jquery from \"jquery\";\r\nconst $ = jquery;\r\n\r\n@Directive({\r\n selector: '[gdScrollable]'\r\n})\r\nexport class ScrollableDirective implements AfterViewInit, OnChanges, OnInit {\r\n @Input() isPresentation: boolean;\r\n\r\n private currentPage: number;\r\n private zoom = 100;\r\n private loadedPagesSet = new Set();\r\n\r\n constructor(private _elementRef: ElementRef,\r\n private _navigateService: NavigateService,\r\n private _pagePreloadService: PagePreloadService,\r\n private _zoomService: ZoomService,\r\n private _windowService: WindowService,\r\n private _viewportService: ViewportService) {\r\n\r\n this.zoom = _zoomService.zoom ? _zoomService.zoom : this.zoom;\r\n _zoomService.zoomChange.subscribe((val: number) => {\r\n this.zoom = val ? val : this.zoom;\r\n this.refresh();\r\n });\r\n }\r\n\r\n ngAfterViewInit() {\r\n this.zoom = this._zoomService.zoom ? this._zoomService.zoom : this.zoom;\r\n this._navigateService.navigate.subscribe((value => {\r\n this.currentPage = value;\r\n this.scrollToPage(value);\r\n }));\r\n this.refresh();\r\n }\r\n\r\n @HostListener('scroll') scrolling() {\r\n this.refresh();\r\n }\r\n\r\n @HostListener('window:resize') resizing() {\r\n this.refresh();\r\n }\r\n\r\n scrollToPage(pageNumber: number) {\r\n const el = this._elementRef.nativeElement;\r\n const page = this.getPage(pageNumber);\r\n const prev = pageNumber > 0 ? this.getPage(pageNumber - 1) : null;\r\n const isSameTop = (prev && $(prev).offset().top === $(page).offset().top);\r\n if (this._viewportService.checkInViewport(page, this.zoom) && isSameTop) {\r\n return;\r\n }\r\n const pagesHeight = this.calculateOffset(pageNumber);\r\n const options = {\r\n left: 0,\r\n top: pagesHeight\r\n };\r\n if(el){\r\n // using polyfill\r\n el.scroll(options);\r\n }\r\n }\r\n\r\n private getChildren() {\r\n const el = this._elementRef ? this._elementRef.nativeElement : null;\r\n if (el) {\r\n // here and in the similar line below we getting the document pages\r\n return el.children.item(0).children.item(0).children;\r\n }\r\n }\r\n\r\n private getPage(pageNumber: number) {\r\n const el = this._elementRef ? this._elementRef.nativeElement : null;\r\n if (el) {\r\n return el.children.item(0).children.item(0).children.item(pageNumber - 1);\r\n }\r\n }\r\n\r\n private calculateOffset(pageNumber: number) {\r\n const count = this._windowService.isFirefox() ? 1 : this.countPagesOnWidth();\r\n const margin = this._windowService.isDesktop() ? 40 : 10;\r\n let pagesHeight = 0;\r\n for (let i = 1; i < pageNumber / count; i++) {\r\n const item = this.getPage(i);\r\n const clientHeight = item ? item.clientHeight : 0;\r\n pagesHeight += clientHeight > 0 ? clientHeight * this.getZoom() + margin : 0;\r\n }\r\n return pagesHeight;\r\n }\r\n\r\n private countPagesOnWidth() {\r\n const pageEl = this.getPage(1);\r\n const offset = 150;\r\n if (pageEl) {\r\n const count = Math.floor((this.getWidth() - offset) / (pageEl.getBoundingClientRect().width * this.getZoom()));\r\n if (count !== 0) {\r\n return count;\r\n }\r\n }\r\n return 1;\r\n }\r\n\r\n refresh() {\r\n let page;\r\n let currentPageSet = false;\r\n const pageElem = this.getPage(this.currentPage);\r\n const currentPageRect = this.currentPage && pageElem ? pageElem.getBoundingClientRect() : null;\r\n for (page = 1; page < this.getChildren().length + 1; page++) {\r\n const element = this.getPage(page);\r\n if (this._viewportService.checkInViewport(element, this.zoom)) {\r\n if (!currentPageSet) {\r\n if (!this.currentPage || !pageElem || (this.currentPage && currentPageRect && element.getBoundingClientRect().top !== currentPageRect.top)) {\r\n this.currentPage = page;\r\n if ((this.isPresentation && this._navigateService.currentPage === 0) || !this.isPresentation) {\r\n this._navigateService.currentPage = page;\r\n }\r\n }\r\n currentPageSet = true;\r\n }\r\n if (!this.loadedPagesSet.has(page)) {\r\n this._pagePreloadService.changeLastPageInView(page);\r\n this.loadedPagesSet.add(page);\r\n }\r\n }\r\n }\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n this.refresh();\r\n }\r\n\r\n ngOnInit(): void {\r\n this.zoom = this._zoomService.zoom ? this._zoomService.zoom : this.zoom;\r\n }\r\n\r\n\r\n private getWidth() {\r\n return this._elementRef ? this._elementRef.nativeElement.offsetWidth : window.innerWidth;\r\n }\r\n\r\n private getZoom() {\r\n return this.zoom / 100;\r\n }\r\n}\r\n","import {\r\n Directive,\r\n EventEmitter,\r\n HostListener,\r\n Output} from '@angular/core';\r\nimport * as jquery from \"jquery\";\r\nconst $ = jquery;\r\n\r\n@Directive({\r\n selector: '[gdMouseWheel]'\r\n})\r\nexport class MouseWheelDirective {\r\n @Output() mouseWheelUp = new EventEmitter();\r\n @Output() mouseWheelDown = new EventEmitter();\r\n\r\n @HostListener('mousewheel', ['$event']) onMouseWheelChrome(event: any) {\r\n this.mouseWheelFunc(event);\r\n }\r\n\r\n @HostListener('DOMMouseScroll', ['$event']) onMouseWheelFirefox(event: any) {\r\n this.mouseWheelFunc(event);\r\n }\r\n\r\n @HostListener('onmousewheel', ['$event']) onMouseWheelIE(event: any) {\r\n this.mouseWheelFunc(event);\r\n }\r\n\r\n mouseWheelFunc(event: any) {\r\n event = window.event ;\r\n const delta = Math.max(-1, Math.min(1, (event.wheelDelta || -event.detail)));\r\n if(delta > 0) {\r\n this.mouseWheelUp.emit(event);\r\n } else if(delta < 0) {\r\n this.mouseWheelDown.emit(event);\r\n }\r\n }\r\n}\r\n","import {AfterViewInit, Directive, HostBinding, Input, OnDestroy, OnInit, ElementRef, OnChanges} from '@angular/core';\r\nimport {ZoomService} from \"./zoom.service\";\r\nimport {FileUtil} from \"./file.service\";\r\nimport { WindowService } from './window.service';\r\n\r\n@Directive({\r\n selector: '[gdZoom]'\r\n})\r\nexport class ZoomDirective implements OnInit, OnDestroy, AfterViewInit, OnChanges {\r\n\r\n @Input() zoomActive = true;\r\n @Input() file;\r\n\r\n @HostBinding('style.zoom') zoomInt: number;\r\n @HostBinding('style.transform') transform: string;\r\n @HostBinding('style.transform-origin') transformOrigin: string;\r\n @HostBinding('style.width') width: string;\r\n @HostBinding('style.height') height: string;\r\n @HostBinding('style.min-width') minWidth: string;\r\n el: ElementRef;\r\n\r\n constructor(private _zoomService: ZoomService, private _windowService: WindowService, el: ElementRef) {\r\n this.el = el;\r\n }\r\n\r\n ngOnDestroy(): void {\r\n }\r\n\r\n ngOnChanges(): void {\r\n this.setStyles(this._zoomService.zoom);\r\n this.resizePages(this._zoomService.zoom);\r\n }\r\n\r\n ngOnInit(): void {\r\n if (! this.zoomActive) {\r\n return;\r\n }\r\n\r\n this.setStyles(this._zoomService.zoom);\r\n this._zoomService.zoomChange.subscribe((zoom) => {\r\n this.setStyles(zoom);\r\n this.resizePages(zoom);\r\n });\r\n }\r\n\r\n private setStyles(zoom) {\r\n if (! this.zoomActive) {\r\n return;\r\n }\r\n\r\n const zoomInt = zoom === 100 ? 1 : zoom / 100;\r\n \r\n if (this._windowService.isEdge()) {\r\n this.zoomInt = zoomInt;\r\n }\r\n else {\r\n this.zoomInt = null;\r\n }\r\n \r\n if (!this._windowService.isEdge()) {\r\n this.transform = 'scale(' + zoomInt + ')';\r\n this.transformOrigin = 'top left';\r\n }\r\n else {\r\n this.transform = \"\";\r\n this.transformOrigin = \"\";\r\n }\r\n\r\n let maxWidth = 0;\r\n this.file.pages.forEach(page => {\r\n {\r\n if (page.width > maxWidth){\r\n maxWidth = page.width;\r\n }\r\n }\r\n });\r\n\r\n // Images and Excel-related files receiving dimensions in px from server\r\n this.minWidth = maxWidth + FileUtil.find(this.file.guid, false).unit;\r\n }\r\n\r\n private getScrollWidth(elm){\r\n return elm.offsetWidth - elm.clientWidth;\r\n }\r\n\r\n private getScrollHeight(elm){\r\n return elm.offsetHeight - elm.clientHeight;\r\n }\r\n\r\n private resizePages(zoom){\r\n const zoomInt = zoom === 100 ? 1 : zoom / 100;\r\n\r\n const viewPortWidth = this.el.nativeElement.parentElement.offsetWidth;\r\n const viewPortHeight = this.el.nativeElement.parentElement.offsetHeight;\r\n const scrollWidth = this.getScrollWidth(this.el.nativeElement.parentElement);\r\n const scrollHeight = this.getScrollHeight(this.el.nativeElement.parentElement);\r\n this.width = (viewPortWidth/zoomInt - scrollWidth/zoomInt) + 'px';\r\n this.height = (viewPortHeight/zoomInt - scrollHeight/zoomInt) + 'px';\r\n }\r\n\r\n ngAfterViewInit(): void {\r\n this.setStyles(this._zoomService.zoom);\r\n }\r\n}\r\n","import {Injectable} from '@angular/core';\r\nimport {Observable, Subject} from \"rxjs\";\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class OnCloseService {\r\n private _observer: Subject = new Subject();\r\n private readonly _onClose: Observable = this._observer.asObservable();\r\n\r\n constructor() {\r\n }\r\n\r\n get onClose() {\r\n return this._onClose;\r\n }\r\n\r\n close(close: boolean) {\r\n this._observer.next(close)\r\n }\r\n}\r\n","import {Component, EventEmitter, Input, Output} from '@angular/core';\r\nimport {OnCloseService} from \"../on-close.service\";\r\n\r\nexport interface Option {\r\n name: string;\r\n value: any;\r\n separator: boolean;\r\n}\r\n\r\n@Component({\r\n selector: 'gd-select',\r\n templateUrl: './select.component.html',\r\n styleUrls: ['./select.component.less']\r\n})\r\nexport class SelectComponent {\r\n\r\n @Input() options: Option[];\r\n @Input() disabled = false;\r\n @Input() showSelected: Option;\r\n @Output() selected: EventEmitter = new EventEmitter();\r\n @Output() opened: EventEmitter = new EventEmitter();\r\n @Input() isOpen = false;\r\n @Input() icon: string;\r\n\r\n constructor(protected _onCloseService: OnCloseService) {\r\n _onCloseService.onClose.subscribe(() => {\r\n this.close();\r\n });\r\n }\r\n\r\n open() {\r\n if (!this.disabled) {\r\n this.isOpen = true;\r\n }\r\n }\r\n\r\n close() {\r\n this.isOpen = false;\r\n }\r\n\r\n onClickOutside(event : Event){\r\n this.close();\r\n }\r\n\r\n toggle($event) {\r\n // TODO: following lines were uncommented due to needness in signature app\r\n $event.preventDefault();\r\n $event.stopPropagation();\r\n if (!this.disabled) {\r\n this.isOpen = !this.isOpen;\r\n if (this.isOpen) this.opened.emit(true);\r\n }\r\n }\r\n\r\n select($event, value: Option) {\r\n $event.preventDefault();\r\n $event.stopPropagation();\r\n this.selected.emit(value);\r\n this.close();\r\n }\r\n}\r\n","import {Directive, HostBinding, Input, OnChanges, OnInit, SimpleChanges} from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[gdDisabledCursor]'\r\n})\r\nexport class DisabledCursorDirective implements OnInit, OnChanges {\r\n\r\n @Input() dis: boolean;\r\n\r\n constructor() {\r\n }\r\n\r\n @HostBinding('class.inactive') cursor: boolean;\r\n\r\n private updateCursor() {\r\n this.cursor = this.dis ? true : false;\r\n }\r\n\r\n ngOnInit(): void {\r\n this.updateCursor();\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n this.updateCursor()\r\n }\r\n}\r\n","import {Directive, HostBinding, Input, OnChanges, OnInit, SimpleChanges} from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[gdRotation]'\r\n})\r\nexport class RotationDirective implements OnInit, OnChanges {\r\n\r\n @Input() angle: number;\r\n @Input() isHtmlMode: boolean;\r\n @Input() width: number;\r\n @Input() height: number;\r\n @Input() withMargin = true;\r\n\r\n @HostBinding('style.animation') animation: string;\r\n @HostBinding('style.transition-property') transition: string;\r\n @HostBinding('style.transform') transform: string;\r\n\r\n @HostBinding('style.margin') margin: string;\r\n\r\n constructor() {\r\n }\r\n\r\n private updateCursor() {\r\n if (typeof this.angle === \"string\"){\r\n this.angle = parseInt(this.angle, 10);\r\n }\r\n\r\n if (this.angle) {\r\n this.animation = 'none';\r\n this.transition = 'none';\r\n this.transform = 'rotate(' + this.angle + 'deg)';\r\n } else if (this.angle === 0 && this.animation) {\r\n this.animation = null;\r\n this.transition = null;\r\n this.transform = null;\r\n }\r\n\r\n if (this.withMargin) {\r\n if (this.angle === 90 || this.angle === 270 || this.angle === -90 || this.angle === -270) {\r\n if (this.isHtmlMode) {\r\n if (this.isLandscape()) {\r\n this.margin = '164px 254px';\r\n } else {\r\n this.margin = '-111px 254px';\r\n }\r\n } else {\r\n if (this.isLandscape()) {\r\n this.margin = '129px 100px -79px';\r\n } else {\r\n this.margin = '-72px 100px -79px';\r\n }\r\n }\r\n } else if (this.angle === -180 || this.angle === 180) {\r\n this.margin = '280px';\r\n } else {\r\n this.margin = null;\r\n }\r\n }\r\n\r\n }\r\n\r\n isLandscape() {\r\n return this.width > this.height;\r\n }\r\n\r\n ngOnInit(): void {\r\n this.updateCursor();\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n this.updateCursor()\r\n }\r\n\r\n}\r\n","import {Component, Input, Output, EventEmitter, OnInit} from '@angular/core';\r\n\r\n@Component({\r\n selector: 'gd-init-state',\r\n templateUrl: './init-state.component.html',\r\n styleUrls: ['./init-state.component.less']\r\n})\r\nexport class InitStateComponent implements OnInit {\r\n @Input() icon: string;\r\n @Input() text: string;\r\n @Output() fileDropped = new EventEmitter();\r\n showUploadFile = false;\r\n\r\n constructor() {\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n dropped($event) {\r\n if ($event) {\r\n this.fileDropped.emit($event);\r\n this.showUploadFile = false;\r\n }\r\n }\r\n}\r\n","import {Observable, Observer} from \"rxjs\";\r\nimport {PageModel} from \"./file.service\";\r\n\r\nexport class RenderPrintService {\r\n private _render: Observable;\r\n private _observer: Observer;\r\n private _renderBlob: Observable;\r\n private _observerBlob: Observer;\r\n\r\n constructor() {\r\n this._render = new Observable(observer =>\r\n this._observer = observer);\r\n this._renderBlob = new Observable(observer =>\r\n this._observerBlob = observer);\r\n }\r\n\r\n get renderPrint(): Observable {\r\n return this._render;\r\n }\r\n\r\n changePages(pages: PageModel[]) {\r\n this._observer.next(pages);\r\n }\r\n\r\n get renderPrintBlob(): Observable {\r\n return this._renderBlob;\r\n }\r\n\r\n changeBlob(file: Blob) {\r\n this._observerBlob.next(file);\r\n }\r\n}\r\n","import {Directive, Input} from '@angular/core';\r\nimport {PageModel} from \"./file.service\";\r\nimport {RenderPrintService} from \"./render-print.service\";\r\n\r\n@Directive({\r\n selector: '[gdRenderPrint]'\r\n})\r\nexport class RenderPrintDirective {\r\n @Input() htmlMode: boolean;\r\n\r\n constructor(private _renderService: RenderPrintService) {\r\n _renderService.renderPrint.subscribe(pages => {\r\n this.renderPrint(pages);\r\n });\r\n _renderService.renderPrintBlob.subscribe(file => {\r\n this.renderPrintBlob(file);\r\n });\r\n }\r\n\r\n private renderPrint(pages: PageModel[]) {\r\n let pagesHtml = '';\r\n\r\n for (const page of pages) {\r\n pagesHtml += '
' +\r\n '
' +\r\n '
';\r\n }\r\n\r\n this.openWindow(pagesHtml, pages[0].width, pages[0].height);\r\n }\r\n\r\n private openWindow(pagesHtml, width, height) {\r\n const a4Height = 842;\r\n const a4Width = 595;\r\n let imageA4Adjusted = '';\r\n if(width > a4Width && height > a4Height){\r\n const zoom = Math.round(height / a4Height) / 100;\r\n imageA4Adjusted = '.gd-page img { width: 100%; margin: 0; padding: 0;}';\r\n if(navigator.userAgent.toLowerCase().indexOf('firefox') > -1){\r\n imageA4Adjusted = '.gd-page img { transform: scale(' + zoom + ');}';\r\n }\r\n }\r\n let cssPrint = '';\r\n\r\n const windowObject = window.open('', \"PrintWindow\", \"width=750,height=650,top=50,left=50,toolbars=yes,scrollbars=yes,status=yes,resizable=yes\");\r\n windowObject.focus();\r\n windowObject.document.writeln(cssPrint);\r\n windowObject.document.writeln(pagesHtml);\r\n windowObject.document.close();\r\n setTimeout(() => {\r\n windowObject.focus();\r\n windowObject.print();\r\n windowObject.close();\r\n }, 100);\r\n }\r\n\r\n private renderPrintBlob(file: Blob) {\r\n const fileURL = URL.createObjectURL(file);\r\n const windowObject = window.open(fileURL, \"PrintWindow\", \"width=750,height=650,top=50,left=50,toolbars=yes,scrollbars=yes,status=yes,resizable=yes\");\r\n windowObject.focus();\r\n windowObject.print();\r\n windowObject.close();\r\n }\r\n}\r\n","import { HttpEvent } from \"@angular/common/http\";\r\nimport {BehaviorSubject, Observable} from \"rxjs\";\r\n\r\nexport class ExceptionMessageService {\r\n private _observer: BehaviorSubject = new BehaviorSubject('Server is not available');\r\n private _messageChange: Observable = this._observer.asObservable();\r\n\r\n private _observerHttpEvent: BehaviorSubject> = new BehaviorSubject(null);\r\n private _httpEventChange: Observable> = this._observerHttpEvent.asObservable();\r\n\r\n constructor() {\r\n }\r\n\r\n get messageChange(): Observable {\r\n return this._messageChange;\r\n }\r\n\r\n get httpEventChange(): Observable> {\r\n return this._httpEventChange;\r\n }\r\n\r\n changeMessage(message: string) {\r\n this._observer.next(message);\r\n }\r\n\r\n changeHttpEvent(httpEvent:HttpEvent) {\r\n this._observerHttpEvent.next(httpEvent);\r\n }\r\n}\r\n","import {Component, OnInit} from '@angular/core';\r\nimport {ExceptionMessageService} from \"../exception-message.service\";\r\n\r\n@Component({\r\n selector: 'gd-error-modal',\r\n templateUrl: './error-modal.component.html',\r\n styleUrls: ['./error-modal.component.less']\r\n})\r\nexport class ErrorModalComponent implements OnInit {\r\n\r\n message: string;\r\n\r\n constructor(messageService: ExceptionMessageService) {\r\n messageService.messageChange.subscribe(message => this.message = message);\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n}\r\n","import {Observable, Subject} from \"rxjs\";\r\n\r\nexport class PasswordService {\r\n private _observer: Subject = new Subject();\r\n private readonly _passChange: Observable = this._observer.asObservable();\r\n\r\n constructor() {\r\n }\r\n\r\n get passChange(): Observable {\r\n return this._passChange;\r\n }\r\n\r\n setPassword(pass: string) {\r\n this._observer.next(pass);\r\n }\r\n}\r\n","import {Component, EventEmitter, OnInit, Output} from '@angular/core';\r\nimport {ExceptionMessageService} from \"../exception-message.service\";\r\nimport {PasswordService} from \"../password.service\";\r\nimport * as jquery from \"jquery\";\r\n\r\nconst $ = jquery;\r\n\r\n@Component({\r\n selector: 'gd-password-required',\r\n templateUrl: './password-required.component.html',\r\n styleUrls: ['./password-required.component.less']\r\n})\r\nexport class PasswordRequiredComponent implements OnInit {\r\n message: string;\r\n @Output() cancelEvent = new EventEmitter();\r\n\r\n constructor(messageService: ExceptionMessageService, private _passwordService: PasswordService) {\r\n messageService.messageChange.subscribe(message => this.message = message);\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n setPassword(value: string) {\r\n this._passwordService.setPassword(value);\r\n }\r\n\r\n onCloseOpen($event: boolean) {\r\n if ($event) {\r\n setTimeout(() => {\r\n const element = $(\"#password\");\r\n if (element) {\r\n element.focus();\r\n }\r\n }, 100);\r\n } else {\r\n $(\"#password\").val(\"\");\r\n }\r\n }\r\n\r\n cancel($event: boolean) {\r\n $(\"#password\").val(\"\");\r\n this.cancelEvent.emit(true);\r\n }\r\n}\r\n","import {Injectable} from '@angular/core';\r\nimport {HttpErrorResponse, HttpEvent, HttpHandler, HttpInterceptor, HttpRequest} from \"@angular/common/http\";\r\nimport {Observable, throwError} from \"rxjs\";\r\nimport {catchError, map} from \"rxjs/operators\";\r\nimport {ExceptionMessageService} from \"./exception-message.service\";\r\nimport {HttpError} from \"./file.service\";\r\nimport {CommonModals, ModalService} from \"./modal.service\";\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ErrorInterceptorService implements HttpInterceptor {\r\n\r\n public static ErrorMessageWindowName:string = CommonModals.ErrorMessage;\r\n\r\n constructor(private _modalService: ModalService, private _messageService: ExceptionMessageService) {\r\n }\r\n\r\n intercept(req: HttpRequest, next: HttpHandler): Observable> {\r\n const logFormat = 'background: maroon; color: white';\r\n\r\n return next.handle(req)\r\n .pipe(map(data => {\r\n return data;\r\n }),\r\n catchError((exception: HttpEvent) => {\r\n if (exception instanceof HttpErrorResponse) {\r\n switch (exception.status) {\r\n\r\n case HttpError.BadRequest:\r\n console.error('%c Bad Request 400', logFormat);\r\n break;\r\n case HttpError.Unauthorized:\r\n console.error('%c Unauthorized 401', logFormat);\r\n break;\r\n case HttpError.NotFound:\r\n console.error('%c Not Found 404', logFormat);\r\n break;\r\n case HttpError.TimeOut:\r\n console.error('%c TimeOut 408', logFormat);\r\n break;\r\n case HttpError.InternalServerError:\r\n console.error('%c big bad 500', logFormat);\r\n this._messageService.changeMessage(exception.error.message);\r\n this._messageService.changeHttpEvent(exception);\r\n this._modalService.open(ErrorInterceptorService.ErrorMessageWindowName);\r\n break;\r\n\r\n case HttpError.Forbidden:\r\n console.error('%c Forbidden 403', logFormat);\r\n this._messageService.changeMessage(exception.error.message);\r\n this._modalService.open(CommonModals.PasswordRequired);\r\n break;\r\n }\r\n }\r\n return throwError(exception);\r\n }));\r\n }\r\n}\r\n","import {Observable, Subject} from \"rxjs\";\r\n\r\nexport class SearchService {\r\n private _observer: Subject = new Subject();\r\n private readonly _textChange: Observable = this._observer.asObservable();\r\n\r\n private _observerCurrent: Subject = new Subject();\r\n private readonly _currentChange: Observable = this._observerCurrent.asObservable();\r\n\r\n private _observerTotal: Subject = new Subject();\r\n private readonly _totalChange: Observable = this._observerTotal.asObservable();\r\n\r\n constructor() {\r\n }\r\n\r\n get textChange(): Observable {\r\n return this._textChange;\r\n }\r\n\r\n setText(text: string) {\r\n this._observer.next(text);\r\n }\r\n\r\n get currentChange(): Observable {\r\n return this._currentChange;\r\n }\r\n\r\n get totalChange(): Observable {\r\n return this._totalChange;\r\n }\r\n\r\n setCurrent(current: number) {\r\n this._observerCurrent.next(current);\r\n }\r\n\r\n setTotal(total: number) {\r\n this._observerTotal.next(total);\r\n }\r\n}\r\n","import {AfterViewInit, Component, ElementRef, EventEmitter, OnInit, Output, ViewChild} from '@angular/core';\r\nimport {SearchService} from \"../search.service\";\r\n\r\n@Component({\r\n selector: 'gd-search',\r\n templateUrl: './search.component.html',\r\n styleUrls: ['./search.component.less']\r\n})\r\nexport class SearchComponent implements OnInit, AfterViewInit {\r\n\r\n @Output() hidePanel = new EventEmitter(false);\r\n\r\n current = 0;\r\n total = 0;\r\n\r\n @ViewChild('text',{\r\n static : true\r\n }) textElement: ElementRef;\r\n\r\n constructor(private _searchService: SearchService) {\r\n _searchService.totalChange.subscribe((total: number) => {\r\n this.total = total;\r\n if (total !== 0) {\r\n this.current = 1;\r\n } else {\r\n this.current = 0;\r\n }\r\n this._searchService.setCurrent(this.current);\r\n });\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n setText(text: string) {\r\n this._searchService.setText(text);\r\n }\r\n\r\n hide() {\r\n this.setText('');\r\n this.hidePanel.emit(true);\r\n }\r\n\r\n prev() {\r\n if (this.current > 1) {\r\n this.current--;\r\n this._searchService.setCurrent(this.current);\r\n }\r\n }\r\n\r\n next() {\r\n if (this.current < this.total) {\r\n this.current++;\r\n this._searchService.setCurrent(this.current);\r\n }\r\n }\r\n\r\n ngAfterViewInit(): void {\r\n this.textElement.nativeElement.focus();\r\n }\r\n}\r\n","import {Directive, ElementRef} from '@angular/core';\r\nimport {SearchService} from \"./search.service\";\r\nimport {HighlightSearchPipe} from \"./pipes\";\r\nimport {ZoomService} from \"./zoom.service\";\r\nimport * as jquery from \"jquery\";\r\nconst $ = jquery;\r\n\r\n@Directive({\r\n selector: '[gdSearchable]'\r\n})\r\nexport class SearchableDirective {\r\n\r\n text: string;\r\n current = 0;\r\n total = 0;\r\n private zoom = 100;\r\n\r\n constructor(private _elementRef: ElementRef,\r\n private _searchService: SearchService,\r\n private _highlight: HighlightSearchPipe,\r\n private _zoomService: ZoomService) {\r\n _searchService.currentChange.subscribe((current: number) => {\r\n this.current = current;\r\n if (this.current !== 0) {\r\n this.moveToCurrent();\r\n }\r\n });\r\n\r\n _searchService.textChange.subscribe((text: string) => {\r\n this.text = text;\r\n this.highlightSearch();\r\n });\r\n\r\n this.zoom = _zoomService.zoom ? _zoomService.zoom : this.zoom;\r\n _zoomService.zoomChange.subscribe((val: number) => {\r\n this.zoom = val ? val : this.zoom;\r\n });\r\n }\r\n\r\n private highlightSearch() {\r\n const el = this._elementRef ? this._elementRef.nativeElement : null;\r\n if (el) {\r\n this.cleanHighlight(el);\r\n if (this.text) {\r\n this.highlightEl(el);\r\n const count = el.querySelectorAll('.gd-highlight').length;\r\n this.total = count;\r\n } else {\r\n this.total = 0;\r\n }\r\n this._searchService.setTotal(this.total);\r\n }\r\n }\r\n\r\n private moveToCurrent() {\r\n if (this.current === 0) {\r\n return;\r\n }\r\n const currentZoom = this.getZoom();\r\n const el = this._elementRef ? this._elementRef.nativeElement : null;\r\n if (el) {\r\n el.querySelectorAll('.gd-highlight-select').forEach(function (value) {\r\n $(value).removeClass('gd-highlight-select');\r\n });\r\n const currentEl = el.querySelectorAll('.gd-highlight')[this.current - 1];\r\n $(currentEl).addClass('gd-highlight-select');\r\n if (currentEl) {\r\n const options = {\r\n left: 0,\r\n top: ($(currentEl).offset().top) + el.parentElement.parentElement.scrollTop - 150,\r\n };\r\n // using polyfill\r\n el.parentElement.parentElement.scroll(options);\r\n }\r\n }\r\n }\r\n\r\n private highlightEl(el: Element) {\r\n const textNodes = $(el).find('*').contents().filter(function () {\r\n const nodeName = this.parentElement.nodeName.toLowerCase();\r\n const checkClass = (this).classList ? !(this).classList.contains('gd-highlight') : true;\r\n return this.nodeType === 3 &&\r\n this.textContent.trim().length !== 0 &&\r\n nodeName !== 'style' &&\r\n nodeName !== 'title' &&\r\n nodeName !== 'body' &&\r\n nodeName !== 'script' &&\r\n checkClass;\r\n });\r\n const text = this.text;\r\n const highlight = this._highlight;\r\n textNodes.each(function () {\r\n const $this = $(this);\r\n let content = $this.text();\r\n content = highlight.transform(content, text);\r\n $this.replaceWith(content);\r\n });\r\n el.normalize();\r\n }\r\n\r\n private cleanHighlight(el: HTMLElement) {\r\n const nodeListOf = el.querySelectorAll('.gd-highlight');\r\n for (let i = 0; i < nodeListOf.length; i++) {\r\n const element = nodeListOf.item(i);\r\n element.replaceWith((element).innerText);\r\n }\r\n el.normalize();\r\n }\r\n\r\n private getZoom() {\r\n return this.zoom / 100;\r\n }\r\n}\r\n","import {Component, Input, OnInit} from '@angular/core';\r\n\r\n@Component({\r\n selector: 'gd-tabbed-toolbars',\r\n templateUrl: './tabbed-toolbars.component.html',\r\n styleUrls: ['./tabbed-toolbars.component.less']\r\n})\r\nexport class TabbedToolbarsComponent implements OnInit {\r\n @Input() logo: string;\r\n @Input() icon: string;\r\n\r\n constructor() {\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n}\r\n","import {Observable, Subject} from \"rxjs\";\r\n\r\nexport class TabActivatorService {\r\n private _observer: Subject = new Subject();\r\n private readonly _activeTabChange: Observable = this._observer.asObservable();\r\n\r\n constructor() {\r\n }\r\n\r\n get activeTabChange(): Observable {\r\n return this._activeTabChange;\r\n }\r\n\r\n changeActiveTab(tabId: string) {\r\n this._observer.next(tabId);\r\n }\r\n}\r\n","import {Component, Input, OnInit} from '@angular/core';\r\nimport {TabActivatorService} from \"../tab-activator.service\";\r\n\r\n@Component({\r\n selector: 'gd-tab',\r\n templateUrl: './tab.component.html',\r\n styleUrls: ['./tab.component.less']\r\n})\r\nexport class TabComponent implements OnInit {\r\n @Input() id: string;\r\n @Input() tabTitle: string;\r\n @Input() icon: string;\r\n @Input() disabled = false;\r\n @Input() active = false;\r\n @Input() content = true;\r\n\r\n constructor(private _tabActivatorService: TabActivatorService) {\r\n this._tabActivatorService.activeTabChange.subscribe((tabId: string) => {\r\n this.activation(tabId);\r\n });\r\n }\r\n\r\n private activation(tabId: string) {\r\n if (this.id === tabId) {\r\n this.active = true;\r\n } else {\r\n this.active = false;\r\n }\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n selectTab() {\r\n if (this.disabled) {\r\n return;\r\n }\r\n this._tabActivatorService.changeActiveTab(this.id);\r\n }\r\n}\r\n","import {Component} from '@angular/core';\r\n\r\n@Component({\r\n selector: 'gd-tabs',\r\n templateUrl: './tabs.component.html',\r\n styleUrls: ['./tabs.component.less']\r\n})\r\nexport class TabsComponent {\r\n constructor() {\r\n }\r\n\r\n}\r\n","import {Observable, Subject} from \"rxjs\";\r\n\r\nexport class Formatting {\r\n constructor(fontSize: number, color: string, bgColor: string, bold: boolean, italic: boolean, underline: boolean, font: string, strikeout: boolean, align: string, list: string) {\r\n this.fontSize = fontSize;\r\n this.color = color;\r\n this.bgColor = bgColor;\r\n this.bold = bold;\r\n this.italic = italic;\r\n this.underline = underline;\r\n this.font = font;\r\n this.strikeout = strikeout;\r\n this.align = align;\r\n this.list = list;\r\n }\r\n\r\n bold: boolean;\r\n italic: boolean;\r\n underline: boolean;\r\n fontSize: number;\r\n color: string;\r\n bgColor: string;\r\n font: string;\r\n strikeout: boolean;\r\n align: string;\r\n list: string;\r\n\r\n public static default(): Formatting {\r\n return new Formatting(10, '#000000', '#FFFFFF', false, false, false, 'Arial', false, \"\", \"\");\r\n }\r\n}\r\n\r\nexport class FormattingService {\r\n private _observerBold: Subject = new Subject();\r\n private readonly _formatBoldChange: Observable = this._observerBold.asObservable();\r\n private _observerUnderline: Subject = new Subject();\r\n private readonly _formatUnderlineChange: Observable = this._observerUnderline.asObservable();\r\n private _observerUndo: Subject = new Subject();\r\n private readonly _undo: Observable = this._observerUndo.asObservable();\r\n private _observerRedo: Subject = new Subject();\r\n private readonly _redo: Observable = this._observerRedo.asObservable();\r\n private _observerItalic: Subject = new Subject();\r\n private readonly _formatItalicChange: Observable = this._observerItalic.asObservable();\r\n private _observerColor: Subject = new Subject();\r\n private readonly _formatColorChange: Observable = this._observerColor.asObservable();\r\n private _observerBgColor: Subject = new Subject();\r\n private readonly _formatBgColorChange: Observable = this._observerBgColor.asObservable();\r\n private _observerFontSize: Subject = new Subject();\r\n private readonly _formatFontSizeChange: Observable = this._observerFontSize.asObservable();\r\n private _observerFont: Subject = new Subject();\r\n private readonly _formatFontChange: Observable = this._observerFont.asObservable();\r\n private _observerStrikeout: Subject = new Subject();\r\n private readonly _formatStrikeoutChange: Observable = this._observerStrikeout.asObservable();\r\n private _observerAlign: Subject = new Subject();\r\n private readonly _formatAlignChange: Observable = this._observerAlign.asObservable();\r\n private _observerList: Subject = new Subject();\r\n private readonly _formatListChange: Observable = this._observerList.asObservable();\r\n\r\n constructor() {\r\n }\r\n\r\n get formatBoldChange() {\r\n return this._formatBoldChange;\r\n }\r\n\r\n get formatUnderlineChange() {\r\n return this._formatUnderlineChange;\r\n }\r\n\r\n get formatColorChange() {\r\n return this._formatColorChange;\r\n }\r\n\r\n get formatBgColorChange() {\r\n return this._formatBgColorChange;\r\n }\r\n\r\n get formatFontSizeChange() {\r\n return this._formatFontSizeChange;\r\n }\r\n\r\n get formatFontChange() {\r\n return this._formatFontChange;\r\n }\r\n\r\n get undo() {\r\n return this._undo;\r\n }\r\n\r\n get redo() {\r\n return this._redo;\r\n }\r\n\r\n get formatItalicChange() {\r\n return this._formatItalicChange;\r\n }\r\n\r\n get formatStrikeoutChange() {\r\n return this._formatStrikeoutChange;\r\n }\r\n\r\n get formatAlignChange() {\r\n return this._formatAlignChange;\r\n }\r\n\r\n get formatListChange() {\r\n return this._formatListChange;\r\n }\r\n\r\n static createFontSizeOption(val: number) {\r\n return {value: val, name: val + 'px', separator: false}\r\n }\r\n\r\n static getFontSizeOptions() {\r\n return [\r\n FormattingService.createFontSizeOption(8),\r\n FormattingService.createFontSizeOption(10),\r\n FormattingService.createFontSizeOption(12),\r\n FormattingService.createFontSizeOption(14),\r\n FormattingService.createFontSizeOption(16),\r\n FormattingService.createFontSizeOption(18),\r\n FormattingService.createFontSizeOption(20),\r\n FormattingService.createFontSizeOption(22),\r\n FormattingService.createFontSizeOption(24),\r\n ];\r\n }\r\n\r\n static createFontOption(val: string) {\r\n return {value: val, name: val, separator: false}\r\n }\r\n\r\n static getFontOptions() {\r\n const fonts = [\"Arial\", \"Calibri\", \"Century Gothic\", \"Comic Sans\", \"Consolas\", \"Courier\", \"Dejavu Sans\", \"Dejavu Serif\", \"Georgia\", \"Gill Sans\", \"Helvetica\", \"Impact\", \"Lucida Sans\",\r\n \"Myriad Pro\", \"Open Sans\", \"Palatino\", \"Tahoma\", \"Times New Roman\", \"Trebuchet\"];\r\n const fontOptions = [];\r\n fonts.forEach(font => {\r\n fontOptions.push(this.createFontOption(font));\r\n })\r\n\r\n return fontOptions;\r\n }\r\n\r\n changeFormatFontSize($event: number) {\r\n this._observerFontSize.next($event);\r\n }\r\n\r\n changeFormatBold(bold: boolean) {\r\n this._observerBold.next(bold);\r\n }\r\n\r\n changeFormatUnderline(underline: boolean) {\r\n this._observerUnderline.next(underline);\r\n }\r\n\r\n Undo() {\r\n this._observerUndo.next();\r\n }\r\n\r\n Redo() {\r\n this._observerRedo.next();\r\n }\r\n\r\n changeFormatItalic(italic: boolean) {\r\n this._observerItalic.next(italic);\r\n }\r\n\r\n changeFormatColor(color: string) {\r\n this._observerColor.next(color);\r\n }\r\n\r\n changeFormatBgColor(bgcolor: string) {\r\n this._observerBgColor.next(bgcolor);\r\n }\r\n\r\n changeFormatFont(font: string) {\r\n this._observerFont.next(font);\r\n }\r\n\r\n changeFormatStrikeout(strikeout: boolean) {\r\n this._observerStrikeout.next(strikeout);\r\n }\r\n\r\n changeFormatAlign(align: string) {\r\n this._observerAlign.next(align);\r\n }\r\n\r\n changeFormatList(list: string) {\r\n this._observerList.next(list);\r\n }\r\n}\r\n","import {Component, EventEmitter, Input, OnInit, Output} from '@angular/core';\r\n\r\nconst DEFAULT_COLORS = [\r\n '#000000', '#434343', '#666666', '#999999', '#B7B7B7', '#CCCCCC', '#D9D9D9', '#EFEFEF', '#F3F3F3', '#FFFFFF',\r\n '#980000', '#FF0000', '#FF9900', '#FFFF00', '#00FF00', '#00FFFF', '#4986E8', '#0000FF', '#9900FF', '#FF00FF',\r\n '#E6B8AF', '#F4CCCC', '#FDE5CD', '#FFF2CC', '#D9EAD3', '#D0E0E2', '#C9DAF8', '#CFE2F3', '#D9D2E9', '#EAD1DC',\r\n '#DD7E6B', '#EA9899', '#F9CB9C', '#FFE59A', '#B7D7A8', '#A2C4C9', '#A4C2F4', '#9FC5E8', '#B4A7D7', '#D5A6BD',\r\n '#CC4125', '#E06666', '#F6B26B', '#FFD966', '#92C47D', '#75A5AF', '#6D9EEB', '#6FA9DB', '#8E7CC3', '#C27BA0',\r\n '#A61C00', '#CC0000', '#E69138', '#F2C131', '#6AA84F', '#45818E', '#3C78D8', '#3C85C6', '#674EA7', '#A64D79',\r\n '#85200B', '#990000', '#B45F05', '#BF9000', '#37761D', '#144F5C', '#1254CC', '#0A5394', '#351C75', '#741B47',\r\n '#5B0F00', '#660000', '#783F03', '#7F6000', '#284E13', '#0B343D', '#1B4586', '#063763', '#20124D', '#4C1030',\r\n];\r\n\r\n@Component({\r\n selector: 'gd-color-picker',\r\n templateUrl: './color-picker.component.html',\r\n styleUrls: ['./color-picker.component.less']\r\n})\r\nexport class ColorPickerComponent implements OnInit {\r\n @Input() isOpen = false;\r\n @Output() selectedColor = new EventEmitter();\r\n @Output() closeOutside = new EventEmitter();\r\n colors: any = DEFAULT_COLORS;\r\n white = '#FFFFFF';\r\n\r\n constructor() {\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n select($event, color: string) {\r\n $event.preventDefault();\r\n $event.stopPropagation();\r\n this.selectedColor.emit(color);\r\n }\r\n\r\n close() {\r\n this.isOpen = false;\r\n this.closeOutside.emit(true);\r\n }\r\n}\r\n","import {Injectable} from '@angular/core';\r\nimport {FormattingService} from \"./formatting.service\";\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class BackFormattingService extends FormattingService {\r\n\r\n constructor() {\r\n super();\r\n }\r\n}\r\n","import {Injectable} from '@angular/core';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class SelectionService {\r\n selection: Range;\r\n isIE = /*@cc_on!@*/false || !!/(MSIE|Trident\\/|Edge\\/)/i.test(navigator.userAgent);\r\n\r\n restoreSelection() {\r\n if(this.selection && !this.selection.collapsed || this.isIE){\r\n this.putSelection(this.selection );\r\n }\r\n }\r\n\r\n captureSelection() {\r\n const selection = window.getSelection();\r\n if (selection.rangeCount > 0) {\r\n this.selection = selection.getRangeAt(0);\r\n }\r\n }\r\n\r\n private putSelection(selection) {\r\n const sel = window.getSelection();\r\n sel.removeAllRanges();\r\n sel.addRange(selection.cloneRange());\r\n }\r\n\r\n refreshSelection() {\r\n this.captureSelection();\r\n this.restoreSelection();\r\n }\r\n}\r\n","import {Directive, HostListener, OnInit} from '@angular/core';\r\nimport {FormattingService} from \"./formatting.service\";\r\nimport {BackFormattingService} from \"./back-formatting.service\";\r\nimport * as jquery from 'jquery';\r\nconst $ = jquery;\r\nimport {SelectionService} from './selection.service';\r\n\r\n@Directive({\r\n selector: '[gdFormatting]'\r\n})\r\nexport class FormattingDirective implements OnInit {\r\n\r\n private bold = false;\r\n private italic = false;\r\n private underline = false;\r\n private color: string;\r\n private bgColor: string;\r\n private font: string;\r\n private strikeout = false;\r\n private align: string;\r\n private list: string;\r\n private isIE = false;\r\n\r\n constructor(private _formattingService: FormattingService,\r\n private _backFormattingService: BackFormattingService,\r\n private _selectionService: SelectionService) {\r\n this.isIE = /*@cc_on!@*/false || !!/(MSIE|Trident\\/|Edge\\/)/i.test(navigator.userAgent);\r\n }\r\n\r\n @HostListener('mouseup') mouseup() {\r\n\r\n this.bold = document.queryCommandState(\"bold\");\r\n this.strikeout = document.queryCommandState(\"strikeThrough\");\r\n this.italic = document.queryCommandState(\"italic\");\r\n this.bgColor = document.queryCommandValue(\"backColor\");\r\n this.underline = document.queryCommandState(\"underline\");\r\n this.align = this.checkJustify();\r\n this.list = this.checkList();\r\n\r\n //fix required by FireFox to get correct background color\r\n if (this.bgColor === \"transparent\") {\r\n this.bgColor = $(window.getSelection().focusNode.parentNode).css('background-color').toString();\r\n }\r\n this.font = document.queryCommandValue(\"FontName\").replace(/\"/g, '');\r\n if(this.font.split(\",\").length > 1){\r\n this.font = this.font.split(\",\")[0];\r\n }\r\n this.color = document.queryCommandValue(\"foreColor\");\r\n this._backFormattingService.changeFormatBold(this.bold);\r\n this._backFormattingService.changeFormatUnderline(this.underline);\r\n this._backFormattingService.changeFormatItalic(this.italic);\r\n this._backFormattingService.changeFormatColor(this.color);\r\n this._backFormattingService.changeFormatBgColor(this.bgColor);\r\n this._backFormattingService.changeFormatFontSize(this.reportFontSize());\r\n this._backFormattingService.changeFormatFont(this.font);\r\n this._backFormattingService.changeFormatStrikeout(this.strikeout);\r\n this._backFormattingService.changeFormatAlign(this.align);\r\n this._backFormattingService.changeFormatList(this.list);\r\n }\r\n\r\n private checkJustify() {\r\n let align = \"\";\r\n align = document.queryCommandState(\"justifyCenter\") ? \"center\" : align;\r\n align = document.queryCommandState(\"justifyFull\") ? \"full\" : align;\r\n align = document.queryCommandState(\"justifyLeft\") ? \"left\" : align;\r\n align = document.queryCommandState(\"justifyRight\") ? \"right\" : align;\r\n return align;\r\n }\r\n\r\n private checkList() {\r\n let list = \"\";\r\n list = document.queryCommandState(\"insertUnorderedList\") ? \"unordered\" : list;\r\n list = document.queryCommandState(\"insertOrderedList\") ? \"ordered\" : list;\r\n return list;\r\n }\r\n\r\n reportFontSize(): number {\r\n let containerEl, sel;\r\n if (window.getSelection) {\r\n sel = window.getSelection();\r\n if (sel.rangeCount) {\r\n containerEl = sel.getRangeAt(0).commonAncestorContainer;\r\n // Make sure we have an element rather than a text node\r\n if (containerEl.nodeType === 3) {\r\n containerEl = containerEl.parentNode;\r\n }\r\n }\r\n } else if ((sel = document.getSelection()) && sel.type !== \"Control\") {\r\n containerEl = sel.createRange().parentElement();\r\n }\r\n\r\n if (containerEl) {\r\n return parseInt(this.getComputedStyleProperty(containerEl, \"fontSize\").replace(\"px\", \"\"), 10);\r\n }\r\n }\r\n\r\n getComputedStyleProperty(el, propName) {\r\n if (window.getComputedStyle) {\r\n return window.getComputedStyle(el, null)[propName];\r\n } else if (el.currentStyle) {\r\n return el.currentStyle[propName];\r\n }\r\n }\r\n\r\n ngOnInit(): void {\r\n this._formattingService.undo.subscribe(() => {\r\n this.toggleUndo();\r\n });\r\n this._formattingService.redo.subscribe(() => {\r\n this.toggleRedo();\r\n });\r\n this._formattingService.formatBoldChange.subscribe((bold: boolean) => {\r\n this.bold = bold;\r\n this.toggleBold();\r\n });\r\n this._formattingService.formatUnderlineChange.subscribe((underline: boolean) => {\r\n this.underline = underline;\r\n this.toggleUnderline();\r\n });\r\n this._formattingService.formatItalicChange.subscribe((italic: boolean) => {\r\n this.italic = italic;\r\n this.toggleItalic();\r\n });\r\n this._formattingService.formatColorChange.subscribe(((color: string) => {\r\n this.color = color;\r\n this.setColor(color);\r\n }));\r\n this._formattingService.formatBgColorChange.subscribe(((bgcolor: string) => {\r\n this.bgColor = bgcolor;\r\n this.setBgColor(bgcolor);\r\n }));\r\n this._formattingService.formatFontSizeChange.subscribe(((fontSize: number) => {\r\n this.setFontSize(fontSize);\r\n }));\r\n\r\n this._formattingService.formatFontChange.subscribe(((font: string) => {\r\n this.font = font;\r\n this.setFont(font);\r\n }));\r\n this._formattingService.formatStrikeoutChange.subscribe((strikeout: boolean) => {\r\n this.strikeout = strikeout;\r\n this.toggleStrikeout();\r\n });\r\n this._formattingService.formatAlignChange.subscribe((align: string) => {\r\n this.align = align;\r\n this.toggleAlign(this.align);\r\n });\r\n this._formattingService.formatListChange.subscribe((list: string) => {\r\n const remove = this.list === list;\r\n this.list = list;\r\n this.toggleList(this.list, remove);\r\n });\r\n }\r\n\r\n private toggleBold() {\r\n document.execCommand(\"bold\");\r\n this._selectionService.refreshSelection();\r\n }\r\n\r\n private toggleUnderline() {\r\n document.execCommand(\"underline\");\r\n this._selectionService.refreshSelection();\r\n }\r\n\r\n private toggleItalic() {\r\n document.execCommand(\"italic\");\r\n this._selectionService.refreshSelection();\r\n }\r\n\r\n private setBgColor(bgColor: string) {\r\n document.execCommand(\"backColor\", false, bgColor);\r\n this._selectionService.refreshSelection();\r\n }\r\n\r\n private setColor(color: string) {\r\n document.execCommand(\"foreColor\", false, color);\r\n this._selectionService.refreshSelection();\r\n }\r\n\r\n private setFontSize(fontSize: number) {\r\n if (document.getSelection().toString()) {\r\n let spanString = \"\" +\r\n document.getSelection() + \"\";\r\n if (this.bold) {\r\n spanString = \"\" + spanString + \"\";\r\n }\r\n if (this.italic) {\r\n spanString = \"\" + spanString + \"\";\r\n }\r\n if (this.underline) {\r\n spanString = \"\" + spanString + \"\";\r\n }\r\n if (this.strikeout) {\r\n spanString = \"\" + spanString + \"\";\r\n }\r\n document.execCommand('insertHTML', false, spanString);\r\n } else {\r\n document.execCommand(\"fontsize\", false, \"7\");\r\n }\r\n this._selectionService.refreshSelection();\r\n }\r\n\r\n private toggleUndo() {\r\n document.execCommand(\"undo\");\r\n }\r\n\r\n private toggleRedo() {\r\n document.execCommand(\"redo\");\r\n }\r\n\r\n private setFont(font: string) {\r\n document.execCommand(\"fontName\", false, font);\r\n this._selectionService.refreshSelection();\r\n }\r\n\r\n private toggleStrikeout() {\r\n document.execCommand(\"strikeThrough\");\r\n this._selectionService.refreshSelection();\r\n }\r\n\r\n private toggleAlign(align: string) {\r\n if(this.isIE) {\r\n this.toggleAlignIE(align);\r\n return;\r\n }\r\n document.execCommand(\"styleWithCSS\", false, 'true');\r\n switch (align) {\r\n case 'center':\r\n document.execCommand('justifyCenter');\r\n break;\r\n case 'full':\r\n document.execCommand('justifyFull');\r\n break;\r\n case 'left':\r\n document.execCommand('justifyLeft');\r\n break;\r\n case 'right':\r\n document.execCommand('justifyRight');\r\n break;\r\n }\r\n this._selectionService.refreshSelection();\r\n }\r\n\r\n private toggleAlignIE(align: string) {\r\n this._selectionService.restoreSelection()\r\n this._selectionService.captureSelection()\r\n const selection = window.getSelection().focusNode.parentNode.parentNode;\r\n if(align === \"full\"){\r\n align = \"justify\";\r\n }\r\n $(selection).css(\"text-align\", align);\r\n this._selectionService.refreshSelection()\r\n }\r\n\r\n private toggleList(list: string, remove: boolean) {\r\n switch (list) {\r\n case 'unordered':\r\n document.execCommand('insertUnorderedList', remove);\r\n break;\r\n case 'ordered':\r\n document.execCommand('insertOrderedList', remove);\r\n break;\r\n }\r\n this._selectionService.refreshSelection();\r\n }\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'gd-success-modal',\r\n templateUrl: './success-modal.component.html',\r\n styleUrls: ['./success-modal.component.less']\r\n})\r\nexport class SuccessModalComponent implements OnInit {\r\n\r\n constructor() { }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n}\r\n","import {Injectable} from '@angular/core';\r\nimport {Observable, Subject} from \"rxjs\";\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class EditHtmlService {\r\n private _observer: Subject = new Subject();\r\n private readonly _htmlContent: Observable = this._observer.asObservable();\r\n\r\n constructor() {\r\n }\r\n\r\n get observer(): Subject {\r\n return this._observer;\r\n }\r\n\r\n get htmlContent(): Observable {\r\n return this._htmlContent;\r\n }\r\n\r\n}\r\n","import {Directive, HostListener, Input} from '@angular/core';\r\nimport {SelectionService} from './selection.service';\r\nimport {EditHtmlService} from \"./edit-html.service\";\r\n\r\n@Directive({\r\n selector: '[gdEditor]'\r\n})\r\nexport class EditorDirective {\r\n @Input() text: any;\r\n\r\n private isIE: boolean = /*@cc_on!@*/false || !!/(MSIE|Trident\\/|Edge\\/)/i.test(navigator.userAgent);\r\n\r\n constructor(private _selectionService: SelectionService, private _htmlService: EditHtmlService) {\r\n }\r\n\r\n @HostListener('keyup', ['$event'])\r\n public onInput(event) {\r\n this.text = event.target;\r\n if(this.isIE){\r\n if (this.text.innerHTML) {\r\n const html = this.text.innerHTML.toString();\r\n this._htmlService.observer.next(html);\r\n }\r\n }\r\n }\r\n\r\n @HostListener('mouseleave', ['$event'])\r\n public onMouseleave(event) {\r\n this._selectionService.captureSelection();\r\n // this code is required to fix IE11 issue - it doesn't trigger blur event, since that we need to save updated HTML here\r\n if(this.isIE){\r\n this._htmlService.observer.next(event.target.innerHTML.toString());\r\n }\r\n }\r\n\r\n @HostListener('blur', ['$event'])\r\n public onBlur(event) {\r\n event.preventDefault();\r\n this._selectionService.restoreSelection();\r\n if (this.text.innerHTML) {\r\n const html = this.text.innerHTML.toString();\r\n this._htmlService.observer.next(html);\r\n } else {\r\n this._htmlService.observer.next(event.target.innerHTML.toString());\r\n }\r\n }\r\n}\r\n","import {EventEmitter, Injectable} from '@angular/core'\r\nimport {HttpRequest} from '@angular/common/http';\r\nimport {Api} from \"./config.service\";\r\n\r\n@Injectable()\r\nexport class LoadingMaskService {\r\n onLoadingChanged: EventEmitter = new EventEmitter();\r\n\r\n private stopList = [];\r\n private requests: HttpRequest[] = [];\r\n\r\n constructor() {\r\n this.stopList.push(Api.SAVE_TEXT);\r\n this.stopList.push(Api.SAVE_OPTICAL_CODE);\r\n this.stopList.push(Api.LOAD_DOCUMENT_PAGE);\r\n this.stopList.push(Api.LOAD_THUMBNAILS);\r\n this.stopList.push(Api.GET_FILE_STATUS);\r\n this.stopList.push(Api.LOAD_PRINT);\r\n }\r\n\r\n onRequestStart(req: HttpRequest): void {\r\n const stop = this.stopList.find(x => req.url.includes(x));\r\n if (!stop) {\r\n this.requests.push(req);\r\n this.notify();\r\n }\r\n }\r\n\r\n onRequestFinish(req: HttpRequest): void {\r\n const index = this.requests.indexOf(req);\r\n if (index !== -1) {\r\n this.requests.splice(index, 1);\r\n }\r\n this.notify();\r\n }\r\n\r\n addStopUrl(url: string) {\r\n this.stopList.push(url);\r\n }\r\n\r\n private notify(): void {\r\n this.onLoadingChanged.emit(this.requests.length !== 0);\r\n }\r\n}\r\n","import {AfterViewInit, Component, Input, OnInit} from '@angular/core';\r\nimport {LoadingMaskService} from \"../loading-mask.service\";\r\n\r\n@Component({\r\n selector: 'gd-loading-mask',\r\n templateUrl: './loading-mask.component.html',\r\n styleUrls: ['./loading-mask.component.less']\r\n})\r\n\r\nexport class LoadingMaskComponent implements OnInit, AfterViewInit {\r\n @Input() loadingMask = false;\r\n\r\n constructor(private _loadingMaskService: LoadingMaskService) {\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n ngAfterViewInit() {\r\n this._loadingMaskService\r\n .onLoadingChanged\r\n .subscribe((loading: boolean) => this.loadingMask = loading);\r\n }\r\n}\r\n","import {Injectable} from '@angular/core';\r\nimport {HttpEvent, HttpHandler, HttpInterceptor, HttpRequest} from \"@angular/common/http\";\r\nimport {Observable} from \"rxjs\";\r\nimport {finalize} from 'rxjs/operators'\r\nimport {LoadingMaskService} from \"./loading-mask.service\";\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class LoadingMaskInterceptorService implements HttpInterceptor {\r\n\r\n constructor(private _loadingMaskService: LoadingMaskService) {\r\n }\r\n\r\n intercept(req: HttpRequest, next: HttpHandler): Observable> {\r\n this._loadingMaskService.onRequestStart(req);\r\n const callback = () => this._loadingMaskService.onRequestFinish(req);\r\n return next.handle(req).pipe( finalize( callback));\r\n }\r\n}\r\n","import {\r\n Component,\r\n EventEmitter,\r\n forwardRef,\r\n HostBinding,\r\n HostListener,\r\n Inject,\r\n Input,\r\n Output,\r\n ViewEncapsulation\r\n} from '@angular/core';\r\n\r\n\r\nconst horizontalAlignment = {\r\n center : {\r\n right: 'auto'\r\n },\r\n left : {\r\n right: '100%'\r\n },\r\n right : {\r\n right: '-100%'\r\n }\r\n};\r\n\r\nconst verticalAlignment = {\r\n center : {\r\n top : '0px',\r\n },\r\n top : {\r\n top : '-100%',\r\n right: '100%'\r\n },\r\n bottom : {\r\n top: 'autos'\r\n }\r\n};\r\n\r\n/**\r\n * DropDownToggleComponent\r\n */\r\n@Component({\r\n selector: 'gd-drop-down-toggle',\r\n template: '',\r\n styleUrls: ['./drop-down.component.less'],\r\n encapsulation : ViewEncapsulation.None\r\n})\r\nexport class DropDownToggleComponent{\r\n @HostListener('click',['$event'])\r\n click = (event: any) => this.dropdown.toggle(event);\r\n constructor(@Inject(forwardRef(() => DropDownComponent)) public dropdown) {}\r\n}\r\n\r\n/**\r\n * DropDownItemsComponent\r\n */\r\n@Component({\r\n selector: 'gd-drop-down-items',\r\n template: '
',\r\n styleUrls: ['./drop-down.component.less'],\r\n encapsulation : ViewEncapsulation.None\r\n})\r\nexport class DropDownItemsComponent{\r\n\r\n get horizontalAlign(){\r\n return horizontalAlignment[this.dropdown.getPlacement().h].right;\r\n }\r\n\r\n get verticalAlign(){\r\n return verticalAlignment[this.dropdown.getPlacement().v].top;\r\n }\r\n\r\n get isOpen(){\r\n return this.dropdown.open;\r\n }\r\n\r\n constructor(@Inject(forwardRef(() => DropDownComponent)) public dropdown) {}\r\n\r\n onClickOutside(event : Event ){\r\n this.dropdown.close();\r\n }\r\n}\r\n\r\n/**\r\n * DropDownItemComponent\r\n */\r\n@Component({\r\n selector: 'gd-drop-down-item',\r\n template: '
',\r\n styleUrls: ['./drop-down.component.less'],\r\n})\r\nexport class DropDownItemComponent{\r\n @HostBinding('class')\r\n class = 'drop-down-item';\r\n\r\n @Output()\r\n selected = new EventEmitter();\r\n\r\n @HostListener('click')\r\n click = () => this.selectEntry();\r\n\r\n constructor(@Inject(forwardRef(() => DropDownComponent)) public dropdown) {}\r\n\r\n selectEntry(){\r\n this.selected.next();\r\n this.dropdown.close();\r\n }\r\n}\r\n\r\n/**\r\n * DropDownComponent\r\n */\r\n@Component({\r\n selector: 'gd-drop-down',\r\n template: '
',\r\n styleUrls: ['./drop-down.component.less'],\r\n encapsulation : ViewEncapsulation.None\r\n})\r\nexport class DropDownComponent{\r\n @Input()\r\n placement = {\r\n h: \"center\",\r\n v: \"bottom\"\r\n };\r\n\r\n\r\n @Input()\r\n @HostBinding('class.show')\r\n open = false;\r\n\r\n @HostBinding('class')\r\n class = 'drop-down';\r\n\r\n close(){\r\n this.open = false;\r\n }\r\n\r\n toggle(event : MouseEvent){\r\n event.stopPropagation();\r\n this.open = !this.open;\r\n document.body.click();\r\n }\r\n\r\n getPlacement(){\r\n return this.placement;\r\n }\r\n}\r\n","import {Component, Input, OnInit} from '@angular/core';\r\n\r\n@Component({\r\n selector: 'gd-left-side-bar',\r\n templateUrl: './left-side-bar.component.html',\r\n styleUrls: ['./left-side-bar.component.less']\r\n})\r\nexport class LeftSideBarComponent implements OnInit {\r\n @Input() showSpinner = false;\r\n\r\n constructor() {\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n}\r\n","import {Directive, EventEmitter, HostListener, Input, Output} from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[gdTooltip]'\r\n})\r\nexport class TooltipDirective {\r\n\r\n @Output() showToolTip = new EventEmitter();\r\n\r\n constructor() {\r\n }\r\n\r\n @HostListener('mouseenter')\r\n public onHovering() {\r\n this.showToolTip.emit(true);\r\n }\r\n\r\n @HostListener('mouseleave')\r\n public onUnhovering() {\r\n this.showToolTip.emit(false);\r\n }\r\n\r\n}\r\n","import {\r\n ApplicationRef,\r\n ComponentFactoryResolver,\r\n Injectable,\r\n ViewContainerRef\r\n} from '@angular/core';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class AddDynamicComponentService {\r\n\r\n constructor(private _factoryResolver: ComponentFactoryResolver,\r\n private _appRef: ApplicationRef) {\r\n }\r\n\r\n addDynamicComponent(viewContainerRef: ViewContainerRef, component: any) {\r\n const factory = this._factoryResolver.resolveComponentFactory(component);\r\n const componentRef = viewContainerRef.createComponent(factory);\r\n\r\n componentRef.onDestroy(() => {\r\n this._appRef.detachView(componentRef.hostView);\r\n });\r\n\r\n return componentRef;\r\n }\r\n\r\n}\r\n","import {HostDynamicDirective} from \"./host-dynamic.directive\";\r\n\r\nexport class HostingDynamicComponentService {\r\n private hosts: HostDynamicDirective[];\r\n\r\n constructor() {\r\n this.hosts = [];\r\n }\r\n\r\n add(host: HostDynamicDirective) {\r\n this.hosts = this.hosts.filter(function (h) {\r\n return h.ident !== host.ident;\r\n });\r\n this.hosts.push(host);\r\n }\r\n\r\n remove(host: HostDynamicDirective) {\r\n this.hosts = this.hosts.filter(function (h) {\r\n return h.ident !== host.ident;\r\n });\r\n }\r\n\r\n find(ident: number) {\r\n return this.hosts.find(function (h) {\r\n return h.ident === ident;\r\n });\r\n }\r\n}\r\n","import {AfterViewInit, Directive, Input, OnDestroy, ViewContainerRef} from '@angular/core';\r\nimport {HostingDynamicComponentService} from \"./hosting-dynamic-component.service\";\r\n\r\n@Directive({\r\n selector: '[gdHostDynamic]'\r\n})\r\nexport class HostDynamicDirective implements AfterViewInit, OnDestroy {\r\n @Input() ident: number;\r\n\r\n constructor(public viewContainerRef: ViewContainerRef,\r\n private _hostingService: HostingDynamicComponentService) {\r\n }\r\n\r\n ngAfterViewInit(): void {\r\n this._hostingService.add(this);\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this._hostingService.remove(this);\r\n this.viewContainerRef.clear();\r\n }\r\n\r\n}\r\n","import {AfterViewInit, Component, EventEmitter, Input, OnInit, Output} from '@angular/core';\r\nimport * as jquery from \"jquery\";\r\nimport {Utils} from \"../file.service\";\r\n\r\nconst $ = jquery;\r\n\r\n@Component({\r\n selector: 'gd-resizing',\r\n templateUrl: './resizing.component.html',\r\n styleUrls: ['./resizing.component.less']\r\n})\r\nexport class ResizingComponent implements OnInit, AfterViewInit {\r\n\r\n @Input() init: boolean;\r\n @Input() id: number;\r\n @Input() se = false;\r\n @Input() ne = false;\r\n @Input() sw = false;\r\n @Input() nw = false;\r\n @Input() pageWidth: number;\r\n @Input() pageHeight: number;\r\n SE = 'se';\r\n NE = 'ne';\r\n SW = 'sw';\r\n NW = 'nw';\r\n\r\n @Output() offsetX = new EventEmitter();\r\n @Output() offsetY = new EventEmitter();\r\n @Output() offsetTop = new EventEmitter();\r\n @Output() offsetLeft = new EventEmitter();\r\n @Output() release = new EventEmitter();\r\n\r\n private grab = false;\r\n private oldPosition: { x: number, y: number };\r\n\r\n constructor() {\r\n }\r\n\r\n ngAfterViewInit(): void {\r\n const elSE = $(this.getElementId(this.SE));\r\n const elNW = $(this.getElementId(this.NW));\r\n if (this.init && elSE && elNW && elSE.offset() && elNW.offset()) {\r\n let width = elSE.offset().left - elNW.offset().left;\r\n let height = elSE.offset().top - elNW.offset().top;\r\n while (width >= this.pageWidth || height >= this.pageHeight) {\r\n width = width / 2;\r\n height = height / 2;\r\n }\r\n setTimeout(() => {\r\n this.offsetX.emit(width);\r\n this.offsetY.emit(height);\r\n }, 100);\r\n }\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n catchUp($event: DragEvent) {\r\n // ff\r\n $event.preventDefault();\r\n if ($event.dataTransfer) { // ff\r\n $event.dataTransfer.setData('text', 'foo');\r\n }\r\n this.grab = true;\r\n this.oldPosition = Utils.getMousePosition($event);\r\n }\r\n\r\n resize($event: DragEvent, el: string) {\r\n if (!this.grab) {\r\n return;\r\n }\r\n const position = Utils.getMousePosition($event);\r\n if (position.x === 0 && position.y === 0) {\r\n return;\r\n }\r\n const notSW = this.NE === el || this.NW === el;\r\n const notNE = this.SW === el || this.NW === el;\r\n this.setOffsets(position, notNE, notSW);\r\n if (notSW) {\r\n this.offsetTop.emit(position.y - this.oldPosition.y);\r\n }\r\n if (notNE) {\r\n this.offsetLeft.emit(position.x - this.oldPosition.x);\r\n }\r\n this.oldPosition = position;\r\n }\r\n\r\n private setOffsets(position, x: boolean, y: boolean) {\r\n const offsetX = x ? this.oldPosition.x - position.x : position.x - this.oldPosition.x;\r\n const offsetY = y ? this.oldPosition.y - position.y : position.y - this.oldPosition.y;\r\n this.offsetX.emit(offsetX);\r\n this.offsetY.emit(offsetY);\r\n }\r\n\r\n end($event: DragEvent, el: string) {\r\n // ff\r\n this.resize($event, el);\r\n this.release.emit(true);\r\n this.grab = false;\r\n }\r\n\r\n start($event: DragEvent) {\r\n this.drop($event);\r\n }\r\n\r\n drop($event: DragEvent) {\r\n $event.stopPropagation();\r\n $event.preventDefault();\r\n }\r\n\r\n private getElementId(el: string) {\r\n return \"#\" + el + \"-\" + this.id;\r\n }\r\n}\r\n","import {TabActivatorService} from \"./tab-activator.service\";\r\n\r\nexport class TopTabActivatorService extends TabActivatorService {\r\n\r\n constructor() {\r\n super();\r\n }\r\n}\r\n","import {Component, EventEmitter, Input, OnInit, Output} from '@angular/core';\r\nimport {ExceptionMessageService} from \"../exception-message.service\";\r\nimport {TopTabActivatorService} from \"../top-tab-activator.service\";\r\nimport {ModalService, CommonModals} from \"../modal.service\";\r\n\r\n@Component({\r\n selector: 'gd-top-tab',\r\n templateUrl: './top-tab.component.html',\r\n styleUrls: ['./top-tab.component.less']\r\n})\r\nexport class TopTabComponent implements OnInit {\r\n @Input() id: string;\r\n @Input() icon: string;\r\n @Input() disabled = false;\r\n @Input() tooltip: string;\r\n @Output() activeTab = new EventEmitter();\r\n @Input() elementPosition = 0;\r\n public active = false;\r\n public showToolTip = false;\r\n\r\n constructor(private _tabActivatorService: TopTabActivatorService,\r\n private _modalService: ModalService,\r\n private _excMessageService: ExceptionMessageService) {\r\n this._tabActivatorService.activeTabChange.subscribe((tabId: string) => {\r\n this.activation(tabId);\r\n if (tabId === null) {\r\n this.activeTab.emit(\"\");\r\n }\r\n });\r\n }\r\n\r\n private activation(tabId: string) {\r\n if (this.id === tabId) {\r\n this.active = !this.active;\r\n if (this.active) {\r\n this.activeTab.emit(this.id);\r\n } else {\r\n this.activeTab.emit(\"\");\r\n }\r\n } else {\r\n this.active = false;\r\n }\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n toggleTab() {\r\n if (this.disabled) {\r\n this._modalService.open(CommonModals.ErrorMessage);\r\n this._excMessageService.changeMessage(\"Please open document first\");\r\n return;\r\n }\r\n this._tabActivatorService.changeActiveTab(this.id);\r\n }\r\n\r\n}\r\n","import {Component, EventEmitter, Input, OnInit, Output, ElementRef, Renderer2} from '@angular/core';\r\nimport * as jquery from 'jquery';\r\nimport {FormattingService} from \"../formatting.service\";\r\nimport {OnCloseService} from \"../on-close.service\";\r\nimport {Option} from \"../select/select.component\";\r\nimport { ZoomService } from '../zoom.service';\r\nimport { WindowService } from '../window.service';\r\n\r\nconst $ = jquery;\r\n\r\n@Component({\r\n selector: 'gd-text-menu',\r\n templateUrl: './text-menu.component.html',\r\n styleUrls: ['./text-menu.component.less']\r\n})\r\nexport class TextMenuComponent implements OnInit {\r\n @Input() blur: boolean;\r\n @Input() fontSize: number;\r\n @Input() font: string;\r\n @Input() bold: boolean;\r\n @Input() italic: boolean;\r\n @Input() underline: boolean;\r\n @Input() color: string;\r\n @Input() decoration = true;\r\n @Input() showTooltips = true;\r\n\r\n @Output() outFontSize = new EventEmitter();\r\n @Output() outFont = new EventEmitter();\r\n @Output() outBold = new EventEmitter();\r\n @Output() outItalic = new EventEmitter();\r\n @Output() outUnderline = new EventEmitter();\r\n @Output() outColor = new EventEmitter();\r\n\r\n fontSizeOptions = FormattingService.getFontSizeOptions();\r\n fontOptions = FormattingService.getFontOptions();\r\n colorPickerShow = false;\r\n\r\n isMobile: boolean;\r\n\r\n constructor(private _onCloseService: OnCloseService,\r\n private _zoomService: ZoomService,\r\n private _windowService: WindowService,\r\n protected _elementRef: ElementRef,\r\n private renderer: Renderer2) {\r\n \r\n _onCloseService.onClose.subscribe(() => {\r\n this.colorPickerShow = false;\r\n });\r\n\r\n this.isMobile = _windowService.isMobile();\r\n _windowService.onResize.subscribe((w) => {\r\n this.isMobile = _windowService.isMobile();\r\n });\r\n\r\n _zoomService.zoomChange.subscribe((val: number) => {\r\n if (this.isMobile)\r\n {\r\n this.changePosition(val);\r\n }\r\n });\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n changePosition(val: number) {\r\n const top = (window.innerHeight - 24 - this._elementRef.nativeElement.parentElement.getBoundingClientRect().top - this._elementRef.nativeElement.parentElement.getBoundingClientRect().height);\r\n const left = this._elementRef.nativeElement.parentElement.getBoundingClientRect().left;\r\n this.renderer.setStyle(this._elementRef.nativeElement.querySelector('.gd-text-menu'), 'width', window.innerWidth + 'px');\r\n this.renderer.setStyle(this._elementRef.nativeElement.querySelector('.gd-text-menu'), 'top', top + 'px');\r\n this.renderer.setStyle(this._elementRef.nativeElement.querySelector('.gd-text-menu'), 'left', -left + 'px');\r\n }\r\n\r\n selectFontSize($event: Option) {\r\n $(\".gd-wrapper\").off(\"keyup\");\r\n this.outFontSize.emit($event.value);\r\n $(\".gd-wrapper\").on(\"keyup\", () => {\r\n const fontElements = document.getElementsByTagName(\"font\");\r\n for (let i = 0, len = fontElements.length; i < len; ++i) {\r\n if (fontElements[i].getAttribute('size') === \"7\") {\r\n fontElements[i].removeAttribute(\"size\");\r\n fontElements[i].style.fontSize = $event + \"px\";\r\n }\r\n }\r\n });\r\n }\r\n\r\n selectFont($event: Option) {\r\n event.preventDefault();\r\n event.stopPropagation();\r\n this.outFont.emit($event.value);\r\n }\r\n\r\n toggleColorPicker($event) {\r\n $event.preventDefault();\r\n $event.stopPropagation();\r\n this.colorPickerShow = !this.colorPickerShow;\r\n }\r\n\r\n selectColor($event: string) {\r\n this.colorPickerShow = false;\r\n this.outColor.emit($event);\r\n }\r\n\r\n toggleBold(event) {\r\n event.preventDefault();\r\n event.stopPropagation();\r\n this.outBold.emit(!this.bold);\r\n }\r\n\r\n toggleItalic(event) {\r\n event.preventDefault();\r\n event.stopPropagation();\r\n this.outItalic.emit(!this.italic);\r\n }\r\n\r\n toggleUnderline(event) {\r\n event.preventDefault();\r\n event.stopPropagation();\r\n this.outUnderline.emit(!this.underline);\r\n }\r\n\r\n closePicker($event) {\r\n this.colorPickerShow = !$event;\r\n }\r\n}\r\n","import {Component, EventEmitter, Input, OnInit, Output, Renderer2, ElementRef} from '@angular/core';\r\nimport {Formatting} from \"../formatting.service\";\r\nimport {WindowService} from \"../window.service\";\r\nimport { ZoomService } from '../zoom.service';\r\n\r\nexport class MenuType {\r\n public static FOR_SIGNATURE = \"signature\";\r\n public static FOR_ANNOTATION = \"annotation\";\r\n}\r\n\r\n@Component({\r\n selector: 'gd-context-menu',\r\n templateUrl: './context-menu.component.html',\r\n styleUrls: ['./context-menu.component.less']\r\n})\r\nexport class ContextMenuComponent implements OnInit {\r\n @Input() formatting: Formatting = Formatting.default();\r\n @Input() textMenu: boolean;\r\n @Input() topPosition: number;\r\n @Input() lock = false;\r\n @Input() translation = 0;\r\n @Input() menuType: string;\r\n @Output() changeFormatting = new EventEmitter();\r\n @Output() removeItem = new EventEmitter();\r\n @Output() copySign = new EventEmitter();\r\n @Output() lockOut = new EventEmitter();\r\n @Output() comment = new EventEmitter();\r\n\r\n isMobile: boolean;\r\n\r\n constructor(private _windowService: WindowService,\r\n private _zoomService: ZoomService,\r\n protected _elementRef: ElementRef,\r\n private renderer: Renderer2) {\r\n this.isMobile = _windowService.isMobile();\r\n _windowService.onResize.subscribe((w) => {\r\n this.isMobile = _windowService.isMobile();\r\n });\r\n\r\n _zoomService.zoomChange.subscribe((val: number) => {\r\n this.changeScale(val);\r\n });\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n changeScale(val: number){\r\n this.renderer.setStyle(this._elementRef.nativeElement.querySelector('.gd-context-menu'), 'transform', 'scale(' + 1/(val/100) + ')');\r\n if (!this.isMobile && val && val !== 100) {\r\n this.renderer.setStyle(this._elementRef.nativeElement.querySelector('.gd-context-menu'), 'left', this.translation + 'px');\r\n }\r\n }\r\n\r\n saveChanges() {\r\n this.changeFormatting.emit(this.formatting);\r\n }\r\n\r\n selectFontSize($event: number) {\r\n this.formatting.fontSize = $event;\r\n this.saveChanges();\r\n }\r\n\r\n selectFont($event: string) {\r\n this.formatting.font = $event;\r\n this.saveChanges();\r\n }\r\n\r\n selectColor($event: string) {\r\n this.formatting.color = $event;\r\n this.saveChanges();\r\n }\r\n\r\n toggleBold($event) {\r\n this.formatting.bold = $event;\r\n this.saveChanges();\r\n }\r\n\r\n toggleItalic($event) {\r\n this.formatting.italic = $event;\r\n this.saveChanges();\r\n }\r\n\r\n toggleUnderline($event) {\r\n this.formatting.underline = $event;\r\n this.saveChanges();\r\n }\r\n\r\n deleteItem() {\r\n this.removeItem.emit(true);\r\n }\r\n\r\n toggleLock() {\r\n this.lock = !this.lock;\r\n this.lockOut.emit(this.lock);\r\n }\r\n\r\n onCopySign() {\r\n this.copySign.emit(true);\r\n }\r\n\r\n isSignature() {\r\n return this.menuType === MenuType.FOR_SIGNATURE;\r\n }\r\n\r\n isAnnotation() {\r\n return this.menuType === MenuType.FOR_ANNOTATION;\r\n }\r\n\r\n addComment() {\r\n this.comment.emit(true);\r\n }\r\n}\r\n","import {NgModule} from '@angular/core';\r\nimport {CommonModule} from '@angular/common';\r\nimport {TopToolbarComponent} from './top-toolbar/top-toolbar.component';\r\nimport {SidePanelComponent} from './side-panel/side-panel.component';\r\nimport {ButtonComponent} from './button/button.component';\r\nimport {LogoComponent} from './logo/logo.component';\r\nimport {TooltipComponent} from './tooltip/tooltip.component';\r\nimport {FontAwesomeModule} from '@fortawesome/angular-fontawesome';\r\nimport {library} from '@fortawesome/fontawesome-svg-core';\r\nimport {fas} from '@fortawesome/free-solid-svg-icons';\r\nimport {far} from '@fortawesome/free-regular-svg-icons';\r\nimport {Api, ConfigService,} from \"./config.service\";\r\nimport {ModalService} from \"./modal.service\";\r\nimport {ModalComponent} from './modal/modal.component';\r\nimport {BrowseFilesModalComponent} from './browse-files-modal/browse-files-modal.component';\r\nimport {FileModel, FileService, FileUtil, Utils} from \"./file.service\";\r\nimport {DocumentComponent} from './document/document.component';\r\nimport {PageComponent} from './page/page.component';\r\nimport {HighlightSearchPipe, SanitizeHtmlPipe, SanitizeResourceHtmlPipe, SanitizeStylePipe} from \"./pipes\";\r\nimport {UploadFileZoneComponent} from './upload-file-zone/upload-file-zone.component';\r\nimport {UploadFilesService} from \"./upload-files.service\";\r\nimport {DndDirective} from './dnd.directive';\r\nimport {ScrollableDirective} from './scrollable.directive';\r\nimport {MouseWheelDirective} from './mousewheel.directive';\r\nimport {NavigateService} from \"./navigate.service\";\r\nimport {PagePreloadService} from \"./page-preload.service\";\r\nimport {ZoomDirective} from './zoom.directive';\r\nimport {ZoomService} from \"./zoom.service\";\r\nimport {SelectComponent} from './select/select.component';\r\nimport {DisabledCursorDirective} from './disabled-cursor.directive';\r\nimport {RotationDirective} from './rotation.directive';\r\nimport {InitStateComponent} from './init-state/init-state.component';\r\nimport {RenderPrintService} from \"./render-print.service\";\r\nimport {RenderPrintDirective} from './render-print.directive';\r\nimport {ErrorModalComponent} from './error-modal/error-modal.component';\r\nimport {PasswordRequiredComponent} from './password-required/password-required.component';\r\nimport {ExceptionMessageService} from \"./exception-message.service\";\r\nimport {PasswordService} from \"./password.service\";\r\nimport {ErrorInterceptorService} from \"./error-interceptor.service\";\r\nimport {SearchComponent} from './search/search.component';\r\nimport {SearchableDirective} from './searchable.directive';\r\nimport {SearchService} from \"./search.service\";\r\nimport {WindowService} from \"./window.service\";\r\nimport {ViewportService} from \"./viewport.service\";\r\nimport {TabbedToolbarsComponent} from './tabbed-toolbars/tabbed-toolbars.component';\r\nimport {TabComponent} from \"./tab/tab.component\";\r\nimport {TabsComponent} from \"./tabs/tabs.component\";\r\nimport {FormattingService} from \"./formatting.service\";\r\nimport {ColorPickerComponent} from './color-picker/color-picker.component';\r\nimport {FormattingDirective} from './formatting.directive';\r\nimport {BackFormattingService} from \"./back-formatting.service\";\r\nimport {OnCloseService} from \"./on-close.service\";\r\nimport {SuccessModalComponent} from './success-modal/success-modal.component';\r\nimport {EditorDirective} from './editor.directive';\r\nimport {LoadingMaskComponent} from './loading-mask/loading-mask.component';\r\nimport {LoadingMaskService} from './loading-mask.service';\r\nimport {LoadingMaskInterceptorService} from \"./loading-mask-interceptor.service\";\r\nimport {TabActivatorService} from \"./tab-activator.service\";\r\nimport {\r\n DropDownComponent,\r\n DropDownItemComponent,\r\n DropDownItemsComponent,\r\n DropDownToggleComponent\r\n} from './drop-down/drop-down.component';\r\nimport {ClickOutsideModule} from 'ng-click-outside';\r\nimport {LeftSideBarComponent} from './left-side-bar/left-side-bar.component';\r\nimport {TooltipDirective} from './tooltip.directive';\r\nimport {AddDynamicComponentService} from \"./add-dynamic-component.service\";\r\nimport {HostDynamicDirective} from './host-dynamic.directive';\r\nimport {HostingDynamicComponentService} from \"./hosting-dynamic-component.service\";\r\nimport {ResizingComponent} from './resizing/resizing.component';\r\nimport {TopTabComponent} from './top-tab/top-tab.component';\r\nimport {TopTabActivatorService} from \"./top-tab-activator.service\";\r\nimport {TextMenuComponent} from './text-menu/text-menu.component';\r\nimport {ContextMenuComponent} from './context-menu/context-menu.component';\r\n\r\nconst providers = [ConfigService,\r\n Api,\r\n ModalService,\r\n FileService,\r\n FileModel,\r\n FileUtil,\r\n Utils,\r\n SanitizeHtmlPipe,\r\n SanitizeResourceHtmlPipe,\r\n SanitizeStylePipe,\r\n HighlightSearchPipe,\r\n UploadFilesService,\r\n RenderPrintService,\r\n NavigateService,\r\n PagePreloadService,\r\n ZoomService,\r\n ExceptionMessageService,\r\n PasswordService,\r\n ErrorInterceptorService,\r\n SearchService,\r\n WindowService,\r\n ViewportService,\r\n FormattingService,\r\n BackFormattingService,\r\n OnCloseService,\r\n LoadingMaskInterceptorService,\r\n LoadingMaskService,\r\n TabActivatorService,\r\n AddDynamicComponentService,\r\n HostingDynamicComponentService,\r\n TopTabActivatorService];\r\n\r\n@NgModule({\r\n imports: [CommonModule, FontAwesomeModule, ClickOutsideModule],\r\n declarations: [\r\n TopToolbarComponent,\r\n SidePanelComponent,\r\n ButtonComponent,\r\n LogoComponent,\r\n TooltipComponent,\r\n ModalComponent,\r\n BrowseFilesModalComponent,\r\n DocumentComponent,\r\n PageComponent,\r\n SanitizeHtmlPipe,\r\n SanitizeResourceHtmlPipe,\r\n SanitizeStylePipe,\r\n HighlightSearchPipe,\r\n UploadFileZoneComponent,\r\n DndDirective,\r\n ScrollableDirective,\r\n MouseWheelDirective,\r\n ZoomDirective,\r\n SelectComponent,\r\n DisabledCursorDirective,\r\n RotationDirective,\r\n InitStateComponent,\r\n RenderPrintDirective,\r\n ErrorModalComponent,\r\n PasswordRequiredComponent,\r\n SearchComponent,\r\n SearchableDirective,\r\n TabbedToolbarsComponent,\r\n TabComponent,\r\n TabsComponent,\r\n ColorPickerComponent,\r\n FormattingDirective,\r\n SuccessModalComponent,\r\n EditorDirective,\r\n LoadingMaskComponent,\r\n DropDownComponent,\r\n DropDownItemComponent,\r\n DropDownItemsComponent,\r\n DropDownToggleComponent,\r\n LeftSideBarComponent,\r\n TooltipDirective,\r\n HostDynamicDirective,\r\n ResizingComponent,\r\n TopTabComponent,\r\n TextMenuComponent,\r\n ContextMenuComponent\r\n ],\r\n exports: [\r\n TopToolbarComponent,\r\n SidePanelComponent,\r\n ButtonComponent,\r\n LogoComponent,\r\n TooltipComponent,\r\n ModalComponent,\r\n BrowseFilesModalComponent,\r\n DocumentComponent,\r\n PageComponent,\r\n SanitizeResourceHtmlPipe,\r\n SanitizeStylePipe,\r\n HighlightSearchPipe,\r\n SanitizeHtmlPipe,\r\n UploadFileZoneComponent,\r\n ScrollableDirective,\r\n MouseWheelDirective,\r\n SelectComponent,\r\n RotationDirective,\r\n InitStateComponent,\r\n RenderPrintDirective,\r\n ErrorModalComponent,\r\n PasswordRequiredComponent,\r\n SearchComponent,\r\n SearchableDirective,\r\n TabbedToolbarsComponent,\r\n TabComponent,\r\n TabsComponent,\r\n ColorPickerComponent,\r\n FormattingDirective,\r\n SuccessModalComponent,\r\n LoadingMaskComponent,\r\n DndDirective,\r\n DropDownComponent,\r\n DropDownItemComponent,\r\n DropDownItemsComponent,\r\n DropDownToggleComponent,\r\n ZoomDirective,\r\n DropDownToggleComponent,\r\n LeftSideBarComponent,\r\n TooltipDirective,\r\n HostDynamicDirective,\r\n ResizingComponent,\r\n TopTabComponent,\r\n TextMenuComponent,\r\n ContextMenuComponent\r\n ],\r\n providers: providers\r\n})\r\nexport class CommonComponentsModule {\r\n constructor() {\r\n library.add(fas, far);\r\n }\r\n}\r\n"],"names":["$"],"mappings":"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"} \ No newline at end of file diff --git a/dist/libs/common-components/fesm5/groupdocs.examples.angular-common-components.js b/dist/libs/common-components/fesm5/groupdocs.examples.angular-common-components.js index 6ed1c3f85..ff1dbf706 100644 --- a/dist/libs/common-components/fesm5/groupdocs.examples.angular-common-components.js +++ b/dist/libs/common-components/fesm5/groupdocs.examples.angular-common-components.js @@ -23,7 +23,7 @@ var TopToolbarComponent = /** @class */ (function () { TopToolbarComponent.decorators = [ { type: Component, args: [{ selector: 'gd-top-toolbar', - template: "
\n
\n \n
\n
\n", + template: "
\r\n
\r\n \r\n
\r\n
\r\n", styles: [".top-toolbar{width:100%;height:60px;z-index:999;display:-webkit-box;display:flex;-webkit-box-align:center;align-items:center}.tools{width:100%;height:100%;display:-webkit-box;display:flex;-webkit-box-align:center;align-items:center}@media (max-width:1037px){.top-toolbar{height:60px}.tools{height:100%;overflow-x:auto;overflow-scrolling:touch;display:-webkit-box;display:flex;-webkit-box-align:center;align-items:center;-webkit-transition:.3s ease-in-out;transition:.3s ease-in-out;scroll-behavior:smooth;-webkit-overflow-scrolling:touch}.tools::-webkit-scrollbar{width:0;height:0;background-color:#3e4e5a}}"] }] } ]; @@ -76,7 +76,7 @@ var SidePanelComponent = /** @class */ (function () { SidePanelComponent.decorators = [ { type: Component, args: [{ selector: 'gd-side-panel', - template: "
\n
\n \n
{{title}}
\n
\n \n
\n
\n \n
\n
\n
\n \n
\n
\n", + template: "
\r\n
\r\n \r\n
{{title}}
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n", styles: [".gd-side-panel-wrapper{margin-right:0;width:334px;z-index:999;background-color:#fff;-webkit-transition:margin-right .2s;transition:margin-right .2s;display:-webkit-box;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-flow:column;height:100vh}.gd-side-panel-wrapper .gd-side-panel-header{height:60px;background-color:#222e35;display:-webkit-box;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;flex-direction:row;flex-wrap:nowrap}.gd-side-panel-wrapper .gd-side-panel-header .icon{font-size:24px;color:#959da5;margin:18px;line-height:24px}.gd-side-panel-wrapper .gd-side-panel-header .title{font-size:13px;font-weight:700;color:#edf0f2;opacity:.57;margin-top:20px;width:100%}.gd-side-panel-wrapper .gd-side-panel-header .close,.gd-side-panel-wrapper .gd-side-panel-header .save{display:-webkit-box;display:flex;-webkit-box-align:center;align-items:center}.gd-side-panel-wrapper .gd-side-panel-header ::ng-deep gd-button .text{padding:0}.gd-side-panel-wrapper .gd-side-panel-body{display:-webkit-box;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-flow:column;overflow:visible;overflow-y:auto;overflow-x:hidden;height:100%}@media (max-width:1037px){.gd-side-panel-wrapper{width:100%;position:absolute;left:0;right:0;top:0;bottom:0}.gd-side-panel-wrapper.only-title{height:60px!important}}"] }] } ]; @@ -308,7 +308,7 @@ var ButtonComponent = /** @class */ (function () { ButtonComponent.decorators = [ { type: Component, args: [{ selector: 'gd-button', - template: "
\n \n \n
\n \n
\n
\n", + template: "
\r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n", styles: [".icon-button{padding:0!important;margin:0 7px}.button{padding:0 10px;font-size:14px;color:#959da5;cursor:pointer;display:-webkit-box;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column;-webkit-box-align:center;align-items:center;align-content:center;-webkit-box-pack:center;justify-content:center;min-width:37px;height:37px;text-align:center;position:relative;white-space:nowrap}.button.inactive{cursor:not-allowed;opacity:.4}.button.active *{color:#ccd0d4}.button.primary{background-color:#3e4e5a;color:#fff}.button.primary.active{color:#fff;background-color:#688296}.button.brand{background-color:#25c2d4;color:#fff}.button.brand.active{color:#fff;background-color:#688296}.button .text{font-size:13px;padding-left:10px}.button .button-tooltip{display:-webkit-box;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column}@media (max-width:1037px){.button{font-size:22px}.arrow-button{margin:5px}}"] }] } ]; @@ -381,7 +381,7 @@ var LogoComponent = /** @class */ (function () { LogoComponent.decorators = [ { type: Component, args: [{ selector: 'gd-logo', - template: "
\n \n \n
\n\n", + template: "
\r\n \r\n \r\n
\r\n\r\n", styles: [".logo{background-color:#25c2d4;height:60px;display:-webkit-box;display:flex;-webkit-box-align:center;align-items:center;-webkit-box-pack:center;justify-content:center}.text{color:#fff;font-size:15px;text-transform:uppercase;margin:0 14px}.icon{display:none;font-size:32px;color:rgba(255,255,255,.5);margin:14px}@media (max-width:1037px){.logo{width:60px;height:60px}.logo .text{display:none}.logo .icon{display:block}}"] }] } ]; @@ -443,7 +443,7 @@ var TooltipComponent = /** @class */ (function () { TooltipComponent.decorators = [ { type: Component, args: [{ selector: 'gd-tooltip', - template: "\n", + template: "\r\n", styles: [".tooltip{position:absolute;width:-webkit-fit-content;width:-moz-fit-content;width:fit-content;background-color:#000;color:#fff;text-align:center;border-radius:0;padding:5px;z-index:1;font-size:10px;height:11px;line-height:11px;-ms-grid-row-align:center;align-self:center;margin:8px!important}.first-element{margin-left:10px!important}.last-element{margin-left:-10px!important}.tooltip.hidden{visibility:hidden}.tooltip.shown{visibility:visible}.shown:after{content:\" \";position:absolute;bottom:100%;left:50%;margin-left:-5px;border:5px solid transparent;border-bottom-color:#000}"] }] } ]; @@ -940,7 +940,7 @@ var ModalComponent = /** @class */ (function () { ModalComponent.decorators = [ { type: Component, args: [{ selector: 'gd-modal', - template: "
\n
\n
\n
\n\n
\n
×
\n

{{title}}

\n
\n\n
\n \n
\n\n
\n\n
\n
\n
\n\n\n", + template: "
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
×
\r\n

{{title}}

\r\n
\r\n\r\n
\r\n \r\n
\r\n\r\n
\r\n\r\n
\r\n
\r\n
\r\n\r\n\r\n", styles: ["@import url(https://fonts.googleapis.com/css?family=Montserrat&display=swap);:host *{font-family:'Open Sans',Arial,Helvetica,sans-serif}.gd-modal{overflow:hidden;position:fixed;top:0;right:0;bottom:0;left:0;z-index:1050;-webkit-overflow-scrolling:touch;outline:0;background-color:rgba(0,0,0,.5)}.gd-modal-dialog{box-shadow:#0005 0 0 10px;position:fixed;left:50%;top:50%;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%);z-index:1051}.gd-modal-dialog ::ng-deep .button{-webkit-box-orient:unset!important;-webkit-box-direction:unset!important;flex-direction:unset!important}.gd-modal-content{background-color:#fff;height:100%;display:-webkit-box;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column}.gd-modal-header{height:60px;padding:0 12px 0 24px;background-color:#3e4e5a}.gd-modal-close{position:absolute;right:12px;top:12px;cursor:pointer;color:#fff;width:37px;height:37px;text-align:center}.gd-modal-close span{font-size:18px;font-weight:900;height:19px;width:10px;line-height:36px}.gd-modal-title{font-size:16px;font-weight:400;padding-top:17px;padding-bottom:22px;margin:0;color:#fff}.gd-modal-body{background-color:#fff;overflow:hidden;overflow-y:auto;height:calc(100% - 75px)}.gd-modal-footer{height:auto}.gd-modal-footer>.btn{float:right;margin:20px 15px;padding:10px 20px;cursor:pointer;font-size:12px}@media (max-width:1037px){.gd-modal-dialog{width:100%;height:100%}.gd-modal-body{height:100%}}"] }] } ]; @@ -1576,7 +1576,7 @@ var BrowseFilesModalComponent = /** @class */ (function () { BrowseFilesModalComponent.decorators = [ { type: Component, args: [{ selector: 'gd-browse-files-modal', - template: "\n
\n
\n \n Drop file here to upload\n
\n
\n
\n \n
\n
\n \n \n \n Upload file\n \n \n \n \n \n
{{item.name}}
\n
\n
\n
\n
\n
\n
\n \n
\n \n
\n
\n
\n
\n
\n
\n
FILE
\n
SIZE
\n
\n
\n
\n
\n
\n
\n \n
\n
..
\n
\n
\n
\n \n
\n
{{file?.name}}
\n
{{getFormatName(file)}}
\n
\n
\n
\n {{getSize(file?.size)}}\n
\n
\n
\n
\n
\n \n  Loading... Please wait.\n
\n
\n
\n", + template: "\r\n
\r\n
\r\n \r\n Drop file here to upload\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n Upload file\r\n \r\n \r\n \r\n \r\n \r\n
{{item.name}}
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
FILE
\r\n
SIZE
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
..
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
{{file?.name}}
\r\n
{{getFormatName(file)}}
\r\n
\r\n
\r\n
\r\n {{getSize(file?.size)}}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n  Loading... Please wait.\r\n
\r\n
\r\n
\r\n", styles: [".gd-modal-table{width:100%;text-align:left}#gd-browse-section{width:1036px;height:561px;overflow-y:auto}.list-files-header{height:60px;color:#6e6e6e;font-size:13px;font-weight:700;background-color:#f4f4f4;margin-top:24px}.list-files-header.upload-url{margin-top:20px}.header-name{padding-left:24px;width:90%;line-height:60px}.header-size{padding-right:27px;line-height:60px}.file-size,.header-size{width:10%;color:#777;text-align:right}.file-description{display:-webkit-box;display:flex;width:90%;padding:18px 0 18px 24px;font-size:14px;-webkit-box-flex:1;flex:1;cursor:pointer;overflow:hidden}.file-size{font-size:12px;padding:0 27px 0 0;width:10%;line-height:79px}.list-files-header,.list-files-lines{display:-webkit-box;display:flex;width:100%;-webkit-box-pack:justify;justify-content:space-between}.gd-modal-spinner{background-color:#fff;width:100%;height:20px;text-align:center;font-size:16px}.gd-cancel-button{padding:7px;background:0 0;width:28px;overflow:hidden}.gd-cancel-button i{font-size:21px}.gd-file-name{white-space:nowrap;overflow:hidden;width:100%;text-overflow:ellipsis}.go-up{display:-webkit-box;display:flex;font-size:26px;cursor:pointer;color:#4b566c;height:79px}.go-up-dots{margin-left:20px;margin-top:22px;font-size:16px}.go-up-icon{display:block;padding:18px 0 18px 24px}.upload-panel{display:-webkit-box;display:flex;position:relative;width:100%}.upload-panel .context{display:-webkit-box;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column;width:100%;margin-left:24px;margin-top:24px;margin-right:24px}.upload-panel .context .context-actions{display:-webkit-box;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;flex-direction:row;width:100%}.upload-panel .context .context-actions :last-child{margin-right:0}.upload-panel .context .context-actions ::ng-deep .button{height:37px;width:96px;padding:0;-webkit-box-pack:center;justify-content:center}.upload-panel .context .context-actions ::ng-deep .button ::ng-deep .text{font-size:10px}.upload-panel .context .context-panel{display:-webkit-box;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;flex-direction:row;width:100%;margin-top:20px}.upload-panel .context .context-panel .upload-url{display:-webkit-box;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;flex-direction:row;width:100%}.upload-panel .context .context-panel .upload-url .url-input{width:100%;height:27px;border:1px solid #25c2d4;font-size:14px;padding-left:6px}.upload-panel .context .context-panel .upload-url .url-check{width:31px;height:31px;color:#fff;font-size:15px;background-color:#25c2d4}.upload-panel .context .context-panel .upload-url .url-check .ng-fa-icon{display:block;padding:8px}.upload-panel gd-drop-down{margin-right:10px}.file-description .ng-fa-icon.fa-file-pdf{color:#e04e4e}.file-description .ng-fa-icon.fa-file-word{color:#539cf0}.file-description .ng-fa-icon.fa-file-powerpoint{color:#e29e1e}.file-description .ng-fa-icon.fa-file-excel{color:#7cbc46}.file-description .ng-fa-icon.fa-file-image{color:#c375ed}.file-description .ng-fa-icon.fa-file,.file-description .ng-fa-icon.fa-file-alt,.file-description .ng-fa-icon.fa-file-text .fa-folder{color:#4b566c}.file-description .ng-fa-icon{font-size:32px}.file-name{font-size:16px;color:#6e6e6e;overflow:hidden;text-overflow:ellipsis}.file-name-format{padding-left:11px;overflow:hidden}.file-format{font-size:10px;padding-top:3px;color:#acacac}.go-up,.list-files-lines{border-bottom:1px solid #e7e7e7}.list-files-lines:hover{background-color:#e5e5e5}.gd-dnd-wrap{background-color:#fff;cursor:default;position:absolute;width:100%;height:calc(100% - 60px);background:rgba(255,255,255,.7);z-index:1;display:-webkit-box;display:flex;-webkit-box-pack:center;justify-content:center;-webkit-box-align:center;align-items:center}.dnd-wrapper{display:-webkit-box;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column;-webkit-box-align:center;align-items:center;-webkit-box-pack:center;justify-content:center;top:259px;position:absolute}.dnd-wrapper .text{color:#6e6e6e;font-size:14px}.dnd-wrapper .icon{display:-webkit-box;display:flex;width:113px;height:90px;font-size:90px;color:#3e4e5a;margin-bottom:30px}@media (max-width:1037px){.file-size,.header-size{width:18%}.gd-dnd-wrap{width:95%}#gd-browse-section{width:100%;height:calc(100% - 146px)}}"] }] } ]; @@ -2096,7 +2096,7 @@ var DocumentComponent = /** @class */ (function () { DocumentComponent.decorators = [ { type: Component, args: [{ selector: 'gd-document', - template: "
Please wait...
\n
\n
\n
\n \n
\n
\n \n
\n", + template: "
Please wait...
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n", styles: [":host{-webkit-box-flex:1;flex:1;-webkit-transition:.4s;transition:.4s;background-color:#e7e7e7;height:100%;overflow:scroll;touch-action:auto!important}:host .document{-webkit-user-select:text!important;-moz-user-select:text!important;-ms-user-select:text!important;user-select:text!important;touch-action:auto!important}.page{display:inline-block;background-color:#fff;margin:20px;box-shadow:0 3px 6px rgba(0,0,0,.16);-webkit-transition:.3s;transition:.3s}.page.excel{overflow:auto}.page.presentation{margin:0;-webkit-transition:unset;transition:unset}.page.presentation.active{margin:20px}.wait{position:absolute;top:55px;left:Calc(30%)}.panzoom{display:-webkit-box;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;flex-direction:row;flex-wrap:wrap;-webkit-box-pack:center;justify-content:center;align-content:flex-start}@media (max-width:1037px){.page{min-width:unset!important;min-height:unset!important;margin:5px 0}}"] }] } ]; @@ -2231,7 +2231,7 @@ var PageComponent = /** @class */ (function () { PageComponent.decorators = [ { type: Component, args: [{ selector: 'gd-page', - template: "
\n
\n \"\"\n\n
\n \n  Loading... Please wait.\n
\n
\n", + template: "
\r\n
\r\n \"\"\r\n\r\n
\r\n \r\n  Loading... Please wait.\r\n
\r\n
\r\n", styles: [".gd-page-spinner{margin-top:150px;text-align:center}.gd-wrapper{width:inherit;height:inherit}.gd-wrapper div{width:100%}::ng-deep .gd-highlight{background-color:#ff0}::ng-deep .gd-highlight-select{background-color:#ff9b00}"] }] } ]; @@ -2445,7 +2445,7 @@ var UploadFileZoneComponent = /** @class */ (function () { UploadFileZoneComponent.decorators = [ { type: Component, args: [{ selector: 'gd-upload-file-zone', - template: "
\n
\n \n
\n

Drag & Drop your files here

\n

OR

\n
\n \n
\n
\n", + template: "
\r\n
\r\n \r\n
\r\n

Drag & Drop your files here

\r\n

OR

\r\n
\r\n \r\n
\r\n
\r\n", styles: [".gd-drag-n-drop-wrap{border:2px dashed #ccc;background-color:#f8f8f8;text-align:center;cursor:default;position:absolute;width:-webkit-fill-available;left:1px;display:-webkit-box;display:flex;align-content:center;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column;-webkit-box-pack:center;justify-content:center;opacity:.9;z-index:1}.gd-drag-n-drop-wrap h2{color:#959da5;margin:5px 0;font-size:15px;font-weight:300}.gd-drag-n-drop-wrap h4{color:#cacaca;font-weight:300;font-size:12px;margin:10px 0 15px}.gd-drag-n-drop-icon .fa-cloud-download-alt{color:#d1d1d1;font-size:110px}.gd-drag-n-drop-buttons i{margin-right:5px}.gd-drag-n-drop-buttons .btn{width:134px;height:35px;margin:0 10px;font-size:12px;font-weight:400}.gd-drag-n-drop-wrap.hover{background:#ddd;border-color:#aaa}"] }] } ]; @@ -3468,7 +3468,7 @@ var SelectComponent = /** @class */ (function () { SelectComponent.decorators = [ { type: Component, args: [{ selector: 'gd-select', - template: "
\n
\n {{showSelected?.name}}\n
\n \n \n
\n
\n
{{option.name}}
\n
\n
\n
\n
\n", + template: "
\r\n
\r\n {{showSelected?.name}}\r\n
\r\n \r\n \r\n
\r\n
\r\n
{{option.name}}
\r\n
\r\n
\r\n
\r\n
\r\n", styles: [".select{min-width:50px;display:-webkit-box;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;flex-direction:row;-webkit-box-pack:center;justify-content:center;-webkit-box-align:center;align-items:center;color:#959da5}.selected-value{font-size:14px;cursor:pointer;white-space:nowrap;overflow:hidden;text-overflow:clip;max-width:70px}.selected-value.inactive{cursor:not-allowed;color:#ccc}.nav-caret{display:inline-block;width:0;height:0;margin-left:2px;vertical-align:middle;border-top:4px dashed;border-right:4px solid transparent;border-left:4px solid transparent;cursor:pointer}.nav-caret.inactive{cursor:not-allowed;color:#ccc}.dropdown-menu{position:absolute;top:49px;z-index:1000;float:left;min-width:96px;list-style:none;font-size:13px;text-align:left;background-color:#fff;box-shadow:0 3px 6px rgba(0,0,0,.3);background-clip:padding-box}.dropdown-menu .option{display:block;padding:7px 0 7px 7px;clear:both;font-weight:400;line-height:1.42857143;white-space:nowrap;cursor:pointer;font-size:10px}.dropdown-menu .option:hover{background-color:#25c2d4;color:#fff!important}.dropdown-menu-separator{height:1px;overflow:hidden;background-color:#f4f4f4;padding:0!important}"] }] } ]; @@ -3728,7 +3728,7 @@ var InitStateComponent = /** @class */ (function () { InitStateComponent.decorators = [ { type: Component, args: [{ selector: 'gd-init-state', - template: "
\n
\n \n \n \n \n
\n
\n \n {{text}}\n
\n
\n", + template: "
\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n \r\n {{text}}\r\n
\r\n
\r\n", styles: [".wrapper{color:#959da5;background-color:#e7e7e7;display:-webkit-box;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column;-webkit-box-pack:center;justify-content:center;-webkit-box-align:center;align-items:center;width:100%;height:100%}.icon{font-size:65px;margin-bottom:43px;display:-webkit-box;display:flex;color:#959da5}.start{font-size:15px;text-align:center;color:#959da5}.gd-drag-n-drop-wrap.active{background-color:#fff;position:fixed;top:0;background:rgba(255,255,255,.8)}.gd-drag-n-drop-wrap.active .init-state-wrapper{position:absolute;opacity:.2;top:unset}.gd-drag-n-drop-wrap.active .init-state-dnd-wrapper{top:0;z-index:999}.gd-drag-n-drop-wrap.active .init-state-dnd-wrapper .icon{width:113px;height:90px;font-size:90px;color:#3e4e5a;margin-bottom:30px}.gd-drag-n-drop-wrap.active .text{color:#6e6e6e;font-size:14px}.init-state-dnd-wrapper,.init-state-wrapper{display:-webkit-box;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column;width:250px;height:250px;-webkit-box-align:center;align-items:center;-webkit-box-pack:center;justify-content:center}.init-state-wrapper{top:-60px;position:relative}"] }] } ]; @@ -4089,7 +4089,7 @@ var ErrorModalComponent = /** @class */ (function () { ErrorModalComponent.decorators = [ { type: Component, args: [{ selector: 'gd-error-modal', - template: "\n
\n \n
\n
Something went wrong
\n
{{message ? message : 'Server is not available'}}
\n
\n
\n
\n", + template: "\r\n
\r\n \r\n
\r\n
Something went wrong
\r\n
{{message ? message : 'Server is not available'}}
\r\n
\r\n
\r\n
\r\n", styles: [".gd-modal-error{display:-webkit-inline-box;display:inline-flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column;-webkit-box-flex:1;flex:1}.gd-modal-error .gd-modal-error-message{font-size:12px;margin:0 24px 24px 0;word-break:break-word}.gd-modal-error .gd-modal-error-title{font-size:16px;font-weight:700;margin:14px 0 10px}#gd-error-section{max-width:468px;max-height:204px;display:-webkit-box;display:flex}#gd-error-section fa-icon{-webkit-box-flex:1;flex:1;color:#e04e4e;font-size:40px;margin:13px 23px 90px;text-align:center;max-width:46px}"] }] } ]; @@ -4225,7 +4225,7 @@ var PasswordRequiredComponent = /** @class */ (function () { PasswordRequiredComponent.decorators = [ { type: Component, args: [{ selector: 'gd-password-required', - template: "\n
\n
\n \n \n {{message}}\n \n Open\n \n
\n
\n
\n", + template: "\r\n
\r\n
\r\n \r\n \r\n {{message}}\r\n \r\n Open\r\n \r\n
\r\n
\r\n
\r\n", styles: ["#gd-password-section{width:375px;height:164px}.gd-password-wrap{display:-webkit-box;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column;margin:24px}.gd-password-wrap label{font-size:14px;color:#acacac;padding-bottom:12px}.gd-password-wrap input{height:30px;border:1px solid #25c2d4}.gd-password-wrap input.error{border-color:#e04e4e}.gd-password-wrap gd-button{align-self:flex-end}.gd-password-wrap ::ng-deep .button{height:37px;width:72px;padding:0;-webkit-box-pack:center;justify-content:center}.gd-password-wrap ::ng-deep .button ::ng-deep .text{font-size:10px!important}.gd-password-error{color:#e04e4e;padding:10px 0 12px;height:12px;line-height:12px;font-size:12px}@media (max-width:1037px){#gd-password-section{min-width:375px}}"] }] } ]; @@ -4547,7 +4547,7 @@ var SearchComponent = /** @class */ (function () { SearchComponent.decorators = [ { type: Component, args: [{ selector: 'gd-search', - template: "
\n \n
{{current}} of {{total}}
\n \n \n \n \n \n \n
\n", + template: "
\r\n \r\n
{{current}} of {{total}}
\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n", styles: [".gd-nav-search-btn{margin:3px 0 4px}.gd-nav-search-cancel{color:#fff;font-size:14px;width:37px}.gd-search-count{color:#959da5;font-size:12px;position:absolute;right:148px;top:14px}.gd-nav-search-container{background-color:#3e4e5a;width:410px;position:fixed;left:50%;top:60px;z-index:2;-webkit-transform:translate(-50%,0);transform:translate(-50%,0);display:-webkit-box;display:flex}.gd-search-input{float:left;height:30px;width:267px;font-size:14px;color:#6e6e6e;border:1px solid #25c2d4;margin:7px 0 7px 7px;box-sizing:border-box;padding:6px 0 5px 9px}input[type=text]::-ms-clear{display:none}@media (max-width:1037px){.gd-search-input{width:231px;height:30px;margin:7px 0 7px 5px}.gd-search-count{position:absolute;left:193px;top:15px}.gd-nav-search-container{width:100%}}"] }] } ]; @@ -4827,7 +4827,7 @@ var TabbedToolbarsComponent = /** @class */ (function () { TabbedToolbarsComponent.decorators = [ { type: Component, args: [{ selector: 'gd-tabbed-toolbars', - template: "
\n \n \n
\n", + template: "
\r\n \r\n \r\n
\r\n", styles: [".top-panel{background:#3e4e5a;display:-webkit-box;display:flex;width:100%;height:90px}.top-panel ::ng-deep .logo{height:30px;font-size:16px}@media (max-width:1037px){.top-panel{height:60px}.top-panel ::ng-deep .logo{height:60px}}"] }] } ]; @@ -4951,7 +4951,7 @@ var TabComponent = /** @class */ (function () { TabComponent.decorators = [ { type: Component, args: [{ selector: 'gd-tab', - template: "
\n
{{tabTitle}}
\n \n
\n
\n \n
\n", + template: "
\r\n
{{tabTitle}}
\r\n \r\n
\r\n
\r\n \r\n
\r\n", styles: [".tab-content{height:60px;position:absolute;background-color:#fff;width:100%;left:0;line-height:60px;display:none;z-index:9}.tab-content ::ng-deep .toolbar-panel{height:60px}.tab-content.active{display:-webkit-box;display:flex}.gd-tab{text-align:center;font-size:11px;color:#e5e5e5;height:30px;line-height:30px;cursor:pointer;display:-webkit-box;display:flex;-webkit-box-align:center;align-items:center;-webkit-box-pack:center;justify-content:center}.gd-tab .icon{display:none;font-size:14px}.gd-tab .smp-tab-title{margin:auto 23px}.gd-tab.active{background-color:#fff;color:#3e4e5a;font-weight:700}@media (max-width:1037px){.gd-tab{height:60px;line-height:60px;width:60px}.gd-tab .title{display:none}.gd-tab .icon{display:block;font-size:22px}}"] }] } ]; @@ -4999,7 +4999,7 @@ var TabsComponent = /** @class */ (function () { TabsComponent.decorators = [ { type: Component, args: [{ selector: 'gd-tabs', - template: "
\n \n
\n", + template: "
\r\n \r\n
\r\n", styles: [".gd-tabs{display:-webkit-box;display:flex}"] }] } ]; @@ -5580,7 +5580,7 @@ var ColorPickerComponent = /** @class */ (function () { ColorPickerComponent.decorators = [ { type: Component, args: [{ selector: 'gd-color-picker', - template: "
\n
\n
\n
\n
\n", + template: "
\r\n
\r\n
\r\n
\r\n
\r\n", styles: [".bcPicker-picker{border:1px;border-radius:100%}.bcPicker-palette{width:250px;background-color:#fdfdfd;z-index:999;box-shadow:0 0 5px #efefef;display:-webkit-box;display:flex;flex-wrap:wrap;-webkit-box-pack:center;justify-content:center}.bcPicker-palette>.bcPicker-color{width:18px;height:18px;margin:2px;cursor:pointer}"] }] } ]; @@ -6255,7 +6255,7 @@ var SuccessModalComponent = /** @class */ (function () { SuccessModalComponent.decorators = [ { type: Component, args: [{ selector: 'gd-success-modal', - template: "\n
\n
\n \n \n
\n
\n
\n
\n
\n", + template: "\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n", styles: [".check_mark{margin:47px auto}.sa-icon{width:80px;height:80px;border:4px solid gray;border-radius:50%;padding:0;position:relative;box-sizing:content-box}#gd-modal-success{display:-webkit-box;display:flex;overflow:hidden;width:469px;height:183px}.sa-icon.sa-success{border-color:#4caf50;-webkit-transform:scale(1.18);transform:scale(1.18)}.sa-icon.sa-success::after,.sa-icon.sa-success::before{content:'';position:absolute;width:60px;height:120px;background:#fff}.sa-icon.sa-success::before{border-radius:120px 0 0 120px;top:-7px;left:-33px;-webkit-transform:rotate(-45deg);transform:rotate(-45deg);-webkit-transform-origin:60px 60px;transform-origin:60px 60px}.sa-icon.sa-success::after{border-radius:0 120px 120px 0;top:-11px;left:30px;-webkit-transform:rotate(-45deg);transform:rotate(-45deg);-webkit-transform-origin:0 60px;transform-origin:0 60px}.sa-icon.sa-success .sa-placeholder{width:80px;height:80px;border:4px solid rgba(76,175,80,.5);border-radius:50%;box-sizing:content-box;position:absolute;left:-4px;top:-4px;z-index:2}.sa-icon.sa-success .sa-fix{width:5px;height:90px;background-color:#fff;position:absolute;left:28px;top:8px;z-index:1;-webkit-transform:rotate(-45deg);transform:rotate(-45deg)}.sa-icon.sa-success.animate::after{-webkit-animation:4.25s ease-in rotatePlaceholder;animation:4.25s ease-in rotatePlaceholder}.animateSuccessTip{-webkit-animation:.75s animateSuccessTip;animation:.75s animateSuccessTip}.animateSuccessLong{-webkit-animation:.75s animateSuccessLong;animation:.75s animateSuccessLong}@-webkit-keyframes animateSuccessLong{0%,65%{width:0;right:46px;top:54px}84%{width:55px;right:0;top:35px}100%{width:47px;right:8px;top:38px}}@-webkit-keyframes animateSuccessTip{0%,54%{width:0;left:1px;top:19px}70%{width:50px;left:-8px;top:37px}84%{width:17px;left:21px;top:48px}100%{width:25px;left:14px;top:45px}}@keyframes animateSuccessTip{0%,54%{width:0;left:1px;top:19px}70%{width:50px;left:-8px;top:37px}84%{width:17px;left:21px;top:48px}100%{width:25px;left:14px;top:45px}}@keyframes animateSuccessLong{0%,65%{width:0;right:46px;top:54px}84%{width:55px;right:0;top:35px}100%{width:47px;right:8px;top:38px}}.sa-icon.sa-success .sa-line{height:5px;background-color:#4caf50;display:block;border-radius:2px;position:absolute;z-index:2}.sa-icon.sa-success .sa-line.sa-tip{width:25px;left:14px;top:46px;-webkit-transform:rotate(45deg);transform:rotate(45deg)}.sa-icon.sa-success .sa-line.sa-long{width:47px;right:8px;top:38px;-webkit-transform:rotate(-45deg);transform:rotate(-45deg)}@-webkit-keyframes rotatePlaceholder{0%,5%{transform:rotate(-45deg);-webkit-transform:rotate(-45deg)}100%,12%{transform:rotate(-405deg);-webkit-transform:rotate(-405deg)}}@keyframes rotatePlaceholder{0%,5%{transform:rotate(-45deg);-webkit-transform:rotate(-45deg)}100%,12%{transform:rotate(-405deg);-webkit-transform:rotate(-405deg)}}@media (max-width:1037px){#gd-modal-success{left:50%;top:50%;position:relative;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%)}}"] }] } ]; @@ -6549,7 +6549,7 @@ var LoadingMaskComponent = /** @class */ (function () { LoadingMaskComponent.decorators = [ { type: Component, args: [{ selector: 'gd-loading-mask', - template: "
\n
\n  Loading... Please wait.\n
\n
\n", + template: "
\r\n
\r\n  Loading... Please wait.\r\n
\r\n
\r\n", styles: [".loading-wrapper{background:rgba(0,0,0,.5);width:100%;height:100%;font-size:14px;color:#fff;position:fixed;top:0;left:0;z-index:99999}.loading-message{position:absolute;left:50%;top:50%;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%)}"] }] } ]; @@ -6898,7 +6898,7 @@ var LeftSideBarComponent = /** @class */ (function () { LeftSideBarComponent.decorators = [ { type: Component, args: [{ selector: 'gd-left-side-bar', - template: "
\n
\n
 Loading...\n
\n
\n \n
\n", + template: "
\r\n
\r\n
 Loading...\r\n
\r\n
\r\n \r\n
\r\n", styles: [".left-panel{border-radius:0;float:left}.gd-left-bar-fade{margin:auto;overflow:hidden;-webkit-overflow-scrolling:touch;-webkit-transition:-webkit-transform .3s ease-out;transition:transform .3s ease-out;transition:transform .3s ease-out,-webkit-transform .3s ease-out;width:100%;height:100%;display:-webkit-box;display:flex;-webkit-box-pack:center;justify-content:center;-webkit-box-align:center;align-items:center;position:fixed;z-index:1000}@media (max-width:1037px){.gd-left-bar-fade{top:100px;right:0}.gd-left-bar-spinner{top:20%}}"] }] } ]; @@ -7330,7 +7330,7 @@ var ResizingComponent = /** @class */ (function () { ResizingComponent.decorators = [ { type: Component, args: [{ selector: 'gd-resizing', - template: "
\n\n
\n\n
\n\n
\n", + template: "
\r\n\r\n
\r\n\r\n
\r\n\r\n
\r\n", styles: [".ui-resizable-handle{background-color:#679ffa;width:8px;height:8px;border-radius:100%;position:absolute;font-size:.1px;display:block}.se-resize{bottom:-5px;right:-5px;cursor:se-resize}.ne-resize{top:-5px;right:-5px;cursor:ne-resize}.sw-resize{bottom:-5px;left:-5px;cursor:sw-resize}.nw-resize{top:-5px;left:-5px;cursor:nw-resize}"] }] } ]; @@ -7487,7 +7487,7 @@ var TopTabComponent = /** @class */ (function () { TopTabComponent.decorators = [ { type: Component, args: [{ selector: 'gd-top-tab', - template: "
\n \n \n
\n", + template: "
\r\n \r\n \r\n
\r\n", styles: [".gd-tab{font-size:14px;color:#3e4e5a;cursor:pointer;display:-webkit-box;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column;-webkit-box-align:center;align-items:center;align-content:center;-webkit-box-pack:center;justify-content:center;min-width:36px;height:36px;text-align:center;position:relative;white-space:nowrap;padding:0!important;margin:0 10px}.gd-tab .gd-tab-tooltip{display:-webkit-box;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column;margin:0!important}.gd-tab.active{background-color:#acacac;color:#fff!important;font-weight:700}.gd-tab.disabled{cursor:not-allowed;opacity:.4}.gd-tab ::ng-deep .tooltip{font-size:12px;margin:20px -57px}.gd-tab .title{margin:auto 23px}@media (max-width:1037px){.gd-tab{font-size:20px}}"] }] } ]; @@ -7731,7 +7731,7 @@ var TextMenuComponent = /** @class */ (function () { TextMenuComponent.decorators = [ { type: Component, args: [{ selector: 'gd-text-menu', - template: "
\n \n \n \n \n \n \n
\n
\n \n \n
\n", + template: "
\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n", styles: ["::ng-deep .active{background-color:#e7e7e7}.gd-text-menu{display:-webkit-box;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;flex-direction:row}.gd-text-menu .format-select{height:37px;display:-webkit-box;display:flex;-webkit-box-pack:center;justify-content:center;-webkit-box-align:center;align-items:center;max-width:80px;margin:0 3px}.gd-text-menu .first-component{margin-left:8px}.gd-text-menu ::ng-deep .dropdown-menu{top:40px!important;height:120px;overflow-y:auto}.gd-text-menu ::ng-deep .icon-button{margin:0!important}.bg-color-pic{border-radius:100%;border:1px solid #ccc;position:absolute;height:8px;width:8px;right:6px;bottom:6px}.palette{position:relative;top:40px;left:-55px;z-index:100}@media (max-width:1037px){.gd-text-menu{position:fixed;left:0;right:0;width:inherit;height:60px;-webkit-box-align:center;align-items:center;padding:0;margin:0;background-color:#fff;border-top:2px solid #707070;-webkit-transform-origin:top left;transform-origin:top left;z-index:1000}.gd-text-menu ::ng-deep .selected-value{white-space:normal!important;word-wrap:break-word}.gd-text-menu .icon{color:#fff;margin:0 9px}.gd-text-menu ::ng-deep .bcPicker-palette{left:-200px;top:-185px}.gd-text-menu .palette{top:unset;bottom:40px;left:unset;right:5px}.gd-text-menu ::ng-deep .dropdown-menu{bottom:40px;top:unset!important}.gd-text-menu ::ng-deep .first-component ::ng-deep .dropdown-menu{left:0}.gd-text-menu ::ng-deep .button{margin:3px!important;font-size:16px}}"] }] } ]; @@ -7873,9 +7873,7 @@ var ContextMenuComponent = /** @class */ (function () { * @return {?} */ function (val) { - if (_this.isMobile) { - _this.changeScale(val); - } + _this.changeScale(val); })); } /** @@ -7896,6 +7894,9 @@ var ContextMenuComponent = /** @class */ (function () { */ function (val) { this.renderer.setStyle(this._elementRef.nativeElement.querySelector('.gd-context-menu'), 'transform', 'scale(' + 1 / (val / 100) + ')'); + if (!this.isMobile && val && val !== 100) { + this.renderer.setStyle(this._elementRef.nativeElement.querySelector('.gd-context-menu'), 'left', this.translation + 'px'); + } }; /** * @return {?} @@ -8036,7 +8037,7 @@ var ContextMenuComponent = /** @class */ (function () { ContextMenuComponent.decorators = [ { type: Component, args: [{ selector: 'gd-context-menu', - template: "
10 ? 'gd-context-menu-top' : 'gd-context-menu-bottom'\">\n \n \n \n \n \n \n
\n", + template: "
10 ? 'gd-context-menu-top' : 'gd-context-menu-bottom'\">\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n", styles: [".gd-context-menu-top{top:-44px}.gd-context-menu-bottom{bottom:-40px}.gd-context-menu{box-shadow:rgba(0,0,0,.52) 0 0 5px;background-color:#fff;position:absolute;left:0;right:0;margin:auto;cursor:default;width:max-content;width:-moz-max-content;width:-webkit-max-content;display:-webkit-box;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;flex-direction:row;z-index:999}.gd-context-menu .arrows{cursor:move}.gd-context-menu ::ng-deep .active{background-color:#e7e7e7}.gd-context-menu ::ng-deep .icon-button{margin:0!important}@media (max-width:1037px){.gd-context-menu-top{top:-42px;-webkit-transform-origin:bottom center;transform-origin:bottom center}}"] }] } ]; diff --git a/dist/libs/common-components/fesm5/groupdocs.examples.angular-common-components.js.map b/dist/libs/common-components/fesm5/groupdocs.examples.angular-common-components.js.map index f6535859e..49e656583 100644 --- a/dist/libs/common-components/fesm5/groupdocs.examples.angular-common-components.js.map +++ b/dist/libs/common-components/fesm5/groupdocs.examples.angular-common-components.js.map @@ -1 +1 @@ -{"version":3,"file":"groupdocs.examples.angular-common-components.js","sources":["ng://@groupdocs.examples.angular/common-components/lib/top-toolbar/top-toolbar.component.ts","ng://@groupdocs.examples.angular/common-components/lib/side-panel/side-panel.component.ts","ng://@groupdocs.examples.angular/common-components/lib/window.service.ts","ng://@groupdocs.examples.angular/common-components/lib/button/button.component.ts","ng://@groupdocs.examples.angular/common-components/lib/logo/logo.component.ts","ng://@groupdocs.examples.angular/common-components/lib/tooltip/tooltip.component.ts","ng://@groupdocs.examples.angular/common-components/lib/config.service.ts","ng://@groupdocs.examples.angular/common-components/lib/modal.service.ts","ng://@groupdocs.examples.angular/common-components/lib/modal/modal.component.ts","ng://@groupdocs.examples.angular/common-components/lib/file.service.ts","ng://@groupdocs.examples.angular/common-components/lib/upload-files.service.ts","ng://@groupdocs.examples.angular/common-components/lib/browse-files-modal/browse-files-modal.component.ts","ng://@groupdocs.examples.angular/common-components/lib/zoom.service.ts","ng://@groupdocs.examples.angular/common-components/lib/page-preload.service.ts","ng://@groupdocs.examples.angular/common-components/lib/navigate.service.ts","ng://@groupdocs.examples.angular/common-components/lib/document/document.component.ts","ng://@groupdocs.examples.angular/common-components/lib/page/page.component.ts","ng://@groupdocs.examples.angular/common-components/lib/pipes.ts","ng://@groupdocs.examples.angular/common-components/lib/upload-file-zone/upload-file-zone.component.ts","ng://@groupdocs.examples.angular/common-components/lib/dnd.directive.ts","ng://@groupdocs.examples.angular/common-components/lib/viewport.service.ts","ng://@groupdocs.examples.angular/common-components/lib/scrollable.directive.ts","ng://@groupdocs.examples.angular/common-components/lib/mousewheel.directive.ts","ng://@groupdocs.examples.angular/common-components/lib/zoom.directive.ts","ng://@groupdocs.examples.angular/common-components/lib/on-close.service.ts","ng://@groupdocs.examples.angular/common-components/lib/select/select.component.ts","ng://@groupdocs.examples.angular/common-components/lib/disabled-cursor.directive.ts","ng://@groupdocs.examples.angular/common-components/lib/rotation.directive.ts","ng://@groupdocs.examples.angular/common-components/lib/init-state/init-state.component.ts","ng://@groupdocs.examples.angular/common-components/lib/render-print.service.ts","ng://@groupdocs.examples.angular/common-components/lib/render-print.directive.ts","ng://@groupdocs.examples.angular/common-components/lib/exception-message.service.ts","ng://@groupdocs.examples.angular/common-components/lib/error-modal/error-modal.component.ts","ng://@groupdocs.examples.angular/common-components/lib/password.service.ts","ng://@groupdocs.examples.angular/common-components/lib/password-required/password-required.component.ts","ng://@groupdocs.examples.angular/common-components/lib/error-interceptor.service.ts","ng://@groupdocs.examples.angular/common-components/lib/search.service.ts","ng://@groupdocs.examples.angular/common-components/lib/search/search.component.ts","ng://@groupdocs.examples.angular/common-components/lib/searchable.directive.ts","ng://@groupdocs.examples.angular/common-components/lib/tabbed-toolbars/tabbed-toolbars.component.ts","ng://@groupdocs.examples.angular/common-components/lib/tab-activator.service.ts","ng://@groupdocs.examples.angular/common-components/lib/tab/tab.component.ts","ng://@groupdocs.examples.angular/common-components/lib/tabs/tabs.component.ts","ng://@groupdocs.examples.angular/common-components/lib/formatting.service.ts","ng://@groupdocs.examples.angular/common-components/lib/color-picker/color-picker.component.ts","ng://@groupdocs.examples.angular/common-components/lib/back-formatting.service.ts","ng://@groupdocs.examples.angular/common-components/lib/selection.service.ts","ng://@groupdocs.examples.angular/common-components/lib/formatting.directive.ts","ng://@groupdocs.examples.angular/common-components/lib/success-modal/success-modal.component.ts","ng://@groupdocs.examples.angular/common-components/lib/edit-html.service.ts","ng://@groupdocs.examples.angular/common-components/lib/editor.directive.ts","ng://@groupdocs.examples.angular/common-components/lib/loading-mask.service.ts","ng://@groupdocs.examples.angular/common-components/lib/loading-mask/loading-mask.component.ts","ng://@groupdocs.examples.angular/common-components/lib/loading-mask-interceptor.service.ts","ng://@groupdocs.examples.angular/common-components/lib/drop-down/drop-down.component.ts","ng://@groupdocs.examples.angular/common-components/lib/left-side-bar/left-side-bar.component.ts","ng://@groupdocs.examples.angular/common-components/lib/tooltip.directive.ts","ng://@groupdocs.examples.angular/common-components/lib/add-dynamic-component.service.ts","ng://@groupdocs.examples.angular/common-components/lib/hosting-dynamic-component.service.ts","ng://@groupdocs.examples.angular/common-components/lib/host-dynamic.directive.ts","ng://@groupdocs.examples.angular/common-components/lib/resizing/resizing.component.ts","ng://@groupdocs.examples.angular/common-components/lib/top-tab-activator.service.ts","ng://@groupdocs.examples.angular/common-components/lib/top-tab/top-tab.component.ts","ng://@groupdocs.examples.angular/common-components/lib/text-menu/text-menu.component.ts","ng://@groupdocs.examples.angular/common-components/lib/context-menu/context-menu.component.ts","ng://@groupdocs.examples.angular/common-components/lib/common-components.module.ts"],"sourcesContent":["import {Component, Input} from '@angular/core';\n\n@Component({\n selector: 'gd-top-toolbar',\n templateUrl: './top-toolbar.component.html',\n styleUrls: ['./top-toolbar.component.less']\n})\nexport class TopToolbarComponent {\n\n constructor() {\n }\n}\n","import {Component, EventEmitter, Input, Output} from '@angular/core';\n\n@Component({\n selector: 'gd-side-panel',\n templateUrl: './side-panel.component.html',\n styleUrls: ['./side-panel.component.less']\n})\n\nexport class SidePanelComponent {\n @Input() title: string;\n @Input() icon: string;\n @Input() closable = true;\n @Input() saveable = true;\n @Output() hideSidePanel = new EventEmitter();\n @Output() saveInSidePanel = new EventEmitter();\n\n onlyTitle = false;\n\n constructor() {\n }\n\n closeSidePanel() {\n this.hideSidePanel.emit(true);\n }\n\n saveBySidePanel() {\n this.saveInSidePanel.emit(true);\n }\n\n toggleTitleMode(){\n if (this.closable && !this.saveable) {\n this.onlyTitle = !this.onlyTitle;\n }\n }\n}\n","import {fromEvent, Observable, Subject} from \"rxjs\";\nimport {debounceTime, distinctUntilChanged, startWith, tap} from \"rxjs/operators\";\n\nconst MOBILE_MAX_WIDTH = 425;\nconst TABLET_MAX_WIDTH = 1024;\n\nexport class WindowService {\n\n private resizeSubject: Subject = new Subject();\n private _resize$;\n private width: number;\n private height: number;\n\n constructor() {\n this.width = window.innerWidth;\n this.height = window.innerHeight;\n\n this._resize$ = fromEvent(window, 'resize')\n .pipe(\n debounceTime(200),\n distinctUntilChanged(),\n startWith({target: {innerWidth: window.innerWidth, innerHeight: window.innerHeight}}),\n tap(event => {\n this.resizeSubject.next(event.target);\n this.width = (event.target as Window).innerWidth;\n this.height = (event.target as Window).innerHeight;\n }),\n );\n this._resize$.subscribe();\n }\n\n get onResize(): Observable {\n return this.resizeSubject.asObservable();\n }\n\n isMobile() {\n return this.width <= MOBILE_MAX_WIDTH;\n }\n\n isTablet() {\n return this.width <= TABLET_MAX_WIDTH;\n }\n\n isDesktop() {\n return !this.isMobile() && !this.isTablet();\n }\n\n getWidth() {\n return this.width;\n }\n\n getHeight() {\n return this.height;\n }\n\n isEdge() {\n return window.navigator.userAgent.toLowerCase().indexOf('edge') > -1;\n }\n\n isFirefox() {\n return navigator.userAgent.toLowerCase().indexOf('firefox') > -1;\n }\n}\n","import {Component, Input} from '@angular/core';\nimport {WindowService} from \"../window.service\";\n\n@Component({\n selector: 'gd-button',\n templateUrl: './button.component.html',\n styleUrls: ['./button.component.less']\n})\nexport class ButtonComponent {\n @Input() iconOnly = true;\n @Input() intent = 'default';\n @Input() disabled = false;\n @Input() icon: string;\n @Input() iconClass: string;\n @Input() tooltip: string;\n @Input() className: string;\n @Input() toggle = false;\n @Input() iconSize: string;\n @Input() iconRegular = false;\n @Input() elementPosition = 0;\n\n showToolTip = false;\n private isDesktop: boolean;\n\n constructor(windowService: WindowService) {\n this.isDesktop = windowService.isDesktop();\n windowService.onResize.subscribe((w) => {\n this.isDesktop = windowService.isDesktop();\n });\n }\n\n iconButtonClass() {\n return this.iconOnly ? 'icon-button' : '';\n }\n\n onHovering() {\n if (this.isDesktop && !this.disabled) {\n this.className += ' active';\n }\n }\n\n onUnhovering() {\n if (this.isDesktop && !this.disabled) {\n this.className = this.cleanAll(this.className, ' active');\n }\n }\n\n private cleanAll(str: string, val: string) {\n while (str && str.indexOf(val) !== -1) {\n str = str.replace(val, '');\n }\n return str;\n }\n}\n","import {Component, Input, OnInit} from '@angular/core';\n\n@Component({\n selector: 'gd-logo',\n templateUrl: './logo.component.html',\n styleUrls: ['./logo.component.less']\n})\nexport class LogoComponent implements OnInit {\n\n @Input() logo;\n @Input() icon;\n\n constructor() { }\n\n ngOnInit() {\n }\n\n}\n","import {Component, Input, OnInit} from '@angular/core';\n\n@Component({\n selector: 'gd-tooltip',\n templateUrl: './tooltip.component.html',\n styleUrls: ['./tooltip.component.less']\n})\nexport class TooltipComponent implements OnInit {\n\n @Input() text: string;\n @Input() position = 0;\n visibility = 'hidden';\n\n constructor() {\n }\n\n getClass() {\n if (this.position === 0) {\n return 'tooltip';\n }\n return 'tooltip ' + (this.position > 0 ? 'last-element' : 'first-element');\n }\n\n @Input()\n set show(value: boolean) {\n this.visibility = value ? 'shown' : 'hidden';\n }\n\n ngOnInit() {\n }\n\n}\n","import {HttpHeaders} from \"@angular/common/http\";\nimport {Injectable} from \"@angular/core\";\n\nexport class Api {\n public static VIEWER_APP = '/viewer';\n public static SIGNATURE_APP = '/signature';\n public static ANNOTATION_APP = '/annotation';\n public static SEARCH_APP = '/search';\n public static EDITOR_APP = '/editor';\n public static COMPARISON_APP = '/comparison';\n public static CONVERSION_APP = '/conversion';\n public static METADATA_APP = '/metadata';\n public static DEFAULT_API_ENDPOINT = window.location.href;\n public static LOAD_FILE_TREE = '/loadFileTree';\n public static LOAD_CONFIG = '/loadConfig';\n public static LOAD_DOCUMENT_DESCRIPTION = '/loadDocumentDescription';\n public static LOAD_DOCUMENT_PAGE = '/loadDocumentPage';\n public static LOAD_DOCUMENT_PROPERTIES = '/loadProperties';\n public static LOAD_DOCUMENT_PROPERTIES_NAMES = '/loadPropertiesNames';\n public static SAVE_PROPERTY = '/saveProperty';\n public static REMOVE_PROPERTY = '/removeProperty';\n public static ROTATE_DOCUMENT_PAGE = '/rotateDocumentPages';\n public static UPLOAD_DOCUMENTS = '/uploadDocument';\n public static DOWNLOAD_DOCUMENTS = '/downloadDocument';\n public static DOWNLOAD_ANNOTATED = '/downloadAnnotated';\n public static LOAD_PRINT = '/loadPrint';\n public static LOAD_PRINT_PDF = '/printPdf';\n public static LOAD_THUMBNAILS = '/loadThumbnails';\n public static LOAD_FORMATS = '/loadFormats';\n public static SAVE_FILE = '/saveFile';\n public static CREATE_FILE = '/createFile';\n public static COMPARE_FILES = '/compare';\n public static CONVERT_FILE = '/convert';\n public static DELETE_SIGNATURE_FILE = '/deleteSignatureFile';\n public static REMOVE_FROM_INDEX = '/removeFromIndex';\n public static GET_FILE_STATUS = '/getFileStatus';\n public static SAVE_OPTICAL_CODE = '/saveOpticalCode';\n public static SAVE_TEXT = '/saveText';\n public static SAVE_IMAGE = '/saveImage';\n public static SAVE_STAMP = '/saveStamp';\n public static SIGN = '/sign';\n public static DOWNLOAD_SIGNED = '/downloadSigned';\n public static LOAD_SIGNATURE_IMAGE = '/loadSignatureImage';\n public static ANNOTATE = '/annotate';\n public static SEARCH = '/search';\n public static ADD_FILES_TO_INDEX = '/addFilesToIndex';\n public static CLEAN_METADATA = '/clean';\n public static EXPORT_METADATA = '/export';\n\n public static httpOptionsJson = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n })\n };\n public static httpOptionsJsonResponseTypeBlob = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n }),\n responseType: 'blob' as 'blob'\n };\n}\n\n@Injectable()\nexport class ConfigService {\n\n private _apiEndpoint: string;\n\n constructor() {\n this.apiEndpoint = Api.DEFAULT_API_ENDPOINT;\n }\n\n set apiEndpoint(url: string) {\n this._apiEndpoint = url && url.trim().endsWith('/') ? url.substring(0, url.length - 1) : url;\n }\n\n getConfigEndpoint(app) {\n return (this.apiEndpoint.endsWith(app) ? this.apiEndpoint : this.apiEndpoint + app) + Api.LOAD_CONFIG;\n }\n\n getViewerApiEndpoint() {\n return this._apiEndpoint.endsWith(Api.VIEWER_APP) ? this._apiEndpoint : this._apiEndpoint + Api.VIEWER_APP;\n }\n\n getEditorApiEndpoint() {\n return this._apiEndpoint.trim().endsWith(Api.EDITOR_APP) ? this._apiEndpoint : this._apiEndpoint + Api.EDITOR_APP;\n }\n\n getComparisonApiEndpoint() {\n return this._apiEndpoint.trim().endsWith(Api.COMPARISON_APP) ? this._apiEndpoint : this._apiEndpoint + Api.COMPARISON_APP;\n }\n\n getConversionApiEndpoint() {\n return this._apiEndpoint.trim().endsWith(Api.CONVERSION_APP) ? this._apiEndpoint : this._apiEndpoint + Api.CONVERSION_APP;\n }\n\n getMetadataApiEndpoint() {\n return this._apiEndpoint.trim().endsWith(Api.METADATA_APP) ? this._apiEndpoint : this._apiEndpoint + Api.METADATA_APP;\n }\n\n get apiEndpoint() {\n return this._apiEndpoint;\n }\n\n getSignatureApiEndpoint() {\n return this._apiEndpoint.endsWith(Api.SIGNATURE_APP) ? this._apiEndpoint : this._apiEndpoint + Api.SIGNATURE_APP;\n }\n\n getAnnotationApiEndpoint() {\n return this._apiEndpoint.endsWith(Api.ANNOTATION_APP) ? this._apiEndpoint : this._apiEndpoint + Api.ANNOTATION_APP;\n }\n\n getSearchApiEndpoint() {\n return this._apiEndpoint.endsWith(Api.SEARCH_APP) ? this._apiEndpoint : this._apiEndpoint + Api.SEARCH_APP;\n }\n}\n","export class CommonModals {\n static PasswordRequired = \"gd-password-required\";\n static ErrorMessage = \"gd-error-message\";\n static BrowseFiles = \"gd-browse-files\";\n static CreateDocument = \"gd-create-document\";\n static OperationSuccess = \"gd-success-modal\";\n static DrawHandSignature = \"gd-draw-hand-signature\";\n static DrawStampSignature = \"gd-draw-stamp-signature\";\n static InformationMessage = \"gd-information-message\";\n}\n\nexport class ModalService {\n private modals: any[] = [];\n\n add(modal: any) {\n this.modals.push(modal);\n }\n\n remove(id: string) {\n this.modals = this.modals.filter(x => x.id !== id);\n }\n\n open(id: string) {\n const modal: any = this.modals.filter(x => x.id === id)[0];\n if (modal) {\n modal.open();\n }\n }\n\n close(id: string) {\n const modal: any = this.modals.filter(x => x.id === id)[0];\n if (modal) {\n modal.close();\n }\n }\n}\n","import {Component, ElementRef, EventEmitter, Input, OnDestroy, OnInit, Output} from '@angular/core';\nimport {ModalService} from \"../modal.service\";\n\n@Component({\n selector: 'gd-modal',\n templateUrl: './modal.component.html',\n styleUrls: ['./modal.component.less']\n})\nexport class ModalComponent implements OnInit, OnDestroy {\n @Input() id: string;\n @Input() title: string;\n @Output() visible = new EventEmitter();\n @Output() cancel = new EventEmitter();\n visibility = false;\n private element: any;\n\n constructor(private modalService: ModalService, el: ElementRef) {\n this.element = el.nativeElement;\n }\n\n ngOnInit(): void {\n if (!this.id) {\n console.error('modal must have an id');\n return;\n }\n\n document.body.appendChild(this.element);\n\n this.modalService.add(this);\n }\n\n ngOnDestroy(): void {\n this.modalService.remove(this.id);\n this.element.remove();\n }\n\n open(): void {\n this.visibility = true;\n this.visible.emit(true);\n }\n\n close(): void {\n event.preventDefault();\n event.stopPropagation();\n this.visibility = false;\n this.visible.emit(false);\n }\n\n onClose($event: MouseEvent) {\n $event.stopPropagation();\n if ($event && $event.target && ($event.target).id === 'modalDialog') {\n this.close();\n }\n }\n\n cancelClose() {\n this.cancel.emit(false);\n this.close();\n }\n}\n","export class PageModel {\n data: string;\n angle: number;\n width: number;\n height: number;\n number: number;\n editable: boolean;\n}\n\nexport class RotatedPage {\n pageNumber: number;\n angle: number;\n}\n\nexport class FileCredentials {\n guid: string;\n password: string;\n\n constructor(guid: string, password: string) {\n this.guid = guid;\n this.password = password;\n }\n}\n\nexport class SaveFile extends FileCredentials {\n content: string;\n\n constructor(guid: string, password: string, content: string) {\n super(guid, password);\n this.content = content;\n }\n}\n\nexport class FileDescription {\n guid: string;\n pages: PageModel[];\n printAllowed = true;\n showGridLines: boolean;\n thumbnails: PageModel[];\n}\n\nexport class FileModel {\n guid: string;\n name: string;\n directory: boolean;\n size: number;\n isDirectory: boolean;\n}\n\nexport class HttpError {\n static BadRequest = 400;\n static Unauthorized = 401;\n static Forbidden = 403;\n static NotFound = 404;\n static TimeOut = 408;\n static Conflict = 409;\n static InternalServerError = 500;\n}\n\nexport class Utils {\n public static getMousePosition(event) {\n const mouse = {\n x: 0,\n y: 0\n };\n const wEvent: DragEvent = window.event;\n const ev = event || wEvent; //Moz || IE\n if (ev.pageX || wEvent.pageX || wEvent.screenX || (ev.touches && ev.touches[0] && ev.touches[0].pageX)) { //Moz\n const pageX = typeof ev.pageX !== \"undefined\" && ev.pageX !== 0 ? ev.pageX : wEvent.pageX;\n const pageY = typeof ev.pageY !== \"undefined\" && ev.pageY !== 0 ? ev.pageY : wEvent.pageY;\n const screenX = typeof wEvent.screenX !== \"undefined\" && wEvent.screenY !== 0;\n const screenY = typeof wEvent.screenY !== \"undefined\" && wEvent.screenY !== 0;\n mouse.x = pageX ? pageX : (screenX ? wEvent.screenX : ev.touches[0].pageX);\n mouse.y = pageY ? pageY : (screenY ? wEvent.screenY : ev.touches[0].pageY);\n } else if (ev.clientX) { //IE\n mouse.x = ev.clientX + document.body.scrollLeft;\n mouse.y = ev.clientY + document.body.scrollTop;\n }\n return mouse;\n }\n\n public static toRgb(color: string) {\n const result = /^#?([a-f\\d]{2})([a-f\\d]{2})([a-f\\d]{2})$/i.exec(color);\n if (result) {\n const r = parseInt(result[1], 16);\n const g = parseInt(result[2], 16);\n const b = parseInt(result[3], 16);\n return result ? 'rgb(' + r + ',' + g + ',' + b + ')' : '';\n }\n return color;\n }\n\n public static toHex(color: string) {\n // check if color is standard hex value\n if (color.match(/[0-9A-F]{6}|[0-9A-F]{3}$/i)) {\n return (color.charAt(0) === \"#\") ? color : (\"#\" + color);\n // check if color is RGB value -> convert to hex\n } else if (color.match(/^rgb\\(\\s*(\\d{1,3})\\s*,\\s*(\\d{1,3})\\s*,\\s*(\\d{1,3})\\s*\\)$/)) {\n const c = ([parseInt(RegExp.$1, 10), parseInt(RegExp.$2, 10), parseInt(RegExp.$3, 10)]),\n pad = function (str) {\n if (str.length < 2) {\n for (let i = 0, len = 2 - str.length; i < len; i++) {\n str = '0' + str;\n }\n }\n return str;\n };\n if (c.length === 3) {\n const r = pad(c[0].toString(16)),\n g = pad(c[1].toString(16)),\n b = pad(c[2].toString(16));\n return '#' + r + g + b;\n }\n // else do nothing\n } else {\n return '';\n }\n }\n}\n\nexport class FileUtil {\n public static map = {\n 'folder': {'format': '', 'icon': 'folder'},\n 'pdf': {'format': 'Portable Document Format', 'icon': 'file-pdf', 'unit': 'pt'},\n 'doc': {'format': 'Microsoft Word', 'icon': 'file-word', 'unit': 'pt'},\n 'docx': {'format': 'Microsoft Word', 'icon': 'file-word', 'unit': 'pt'},\n 'docm': {'format': 'Microsoft Word', 'icon': 'file-word', 'unit': 'pt'},\n 'dot': {'format': 'Microsoft Word', 'icon': 'file-word', 'unit': 'pt'},\n 'dotx': {'format': 'Microsoft Word', 'icon': 'file-word', 'unit': 'pt'},\n 'dotm': {'format': 'Microsoft Word', 'icon': 'file-word', 'unit': 'pt'},\n 'xls': {'format': 'Microsoft Excel', 'icon': 'file-excel', 'unit': 'px'},\n 'xlsx': {'format': 'Microsoft Excel', 'icon': 'file-excel', 'unit': 'px'},\n 'xlsm': {'format': 'Microsoft Excel', 'icon': 'file-excel', 'unit': 'px'},\n 'xlsb': {'format': 'Microsoft Excel', 'icon': 'file-excel', 'unit': 'px'},\n 'xls2003': {'format': 'Microsoft Excel', 'icon': 'file-excel', 'unit': 'px'},\n 'xltx': {'format': 'Microsoft Excel', 'icon': 'file-excel', 'unit': 'px'},\n 'xltm': {'format': 'Microsoft Excel', 'icon': 'file-excel', 'unit': 'px'},\n 'ppt': {'format': 'Microsoft PowerPoint', 'icon': 'file-powerpoint', 'unit': 'pt'},\n 'pptx': {'format': 'Microsoft PowerPoint', 'icon': 'file-powerpoint', 'unit': 'pt'},\n 'pps': {'format': 'Microsoft PowerPoint', 'icon': 'file-powerpoint', 'unit': 'pt'},\n 'ppsx': {'format': 'Microsoft PowerPoint', 'icon': 'file-powerpoint', 'unit': 'pt'},\n 'vsd': {'format': 'Microsoft Visio', 'icon': 'file-code', 'unit': 'px'},\n 'vdx': {'format': 'Microsoft Visio', 'icon': 'file-code', 'unit': 'px'},\n 'vss': {'format': 'Microsoft Visio', 'icon': 'file-code', 'unit': 'px'},\n 'vsx': {'format': 'Microsoft Visio', 'icon': 'file-code', 'unit': 'px'},\n 'vst': {'format': 'Microsoft Visio', 'icon': 'file-code', 'unit': 'px'},\n 'vtx': {'format': 'Microsoft Visio', 'icon': 'file-code', 'unit': 'px'},\n 'vsdx': {'format': 'Microsoft Visio', 'icon': 'file-code', 'unit': 'px'},\n 'vdw': {'format': 'Microsoft Visio', 'icon': 'file-code', 'unit': 'px'},\n 'vstx': {'format': 'Microsoft Visio', 'icon': 'file-code', 'unit': 'px'},\n 'vssx': {'format': 'Microsoft Visio', 'icon': 'file-code', 'unit': 'px'},\n 'mpp': {'format': 'Microsoft Project', 'icon': 'file-alt', 'unit': 'pt'},\n 'mpt': {'format': 'Microsoft Project', 'icon': 'file-alt', 'unit': 'pt'},\n 'msg': {'format': 'Microsoft Outlook', 'icon': 'file-alt', 'unit': 'pt'},\n 'eml': {'format': 'Microsoft Outlook', 'icon': 'file-alt', 'unit': 'pt'},\n 'emlx': {'format': 'Microsoft Outlook', 'icon': 'file-alt', 'unit': 'pt'},\n 'one': {'format': 'Microsoft OneNote', 'icon': 'file-word', 'unit': 'pt'},\n 'odt': {'format': 'Open Document Text', 'icon': 'file-word', 'unit': 'pt'},\n 'ott': {'format': 'Open Document Text Template', 'icon': 'file-word', 'unit': 'pt'},\n 'ods': {'format': 'Open Document Spreadsheet', 'icon': 'file-excel', 'unit': 'px'},\n 'odp': {'format': 'Open Document Presentation', 'icon': 'file-powerpoint', 'unit': 'pt'},\n 'otp': {'format': 'Open Document Presentation', 'icon': 'file-powerpoint', 'unit': 'pt'},\n 'ots': {'format': 'Open Document Presentation', 'icon': 'file-powerpoint', 'unit': 'pt'},\n 'potx': {'format': 'Open Document Presentation', 'icon': 'file-powerpoint', 'unit': 'pt'},\n 'potm': {'format': 'Open Document Presentation', 'icon': 'file-powerpoint', 'unit': 'pt'},\n 'pptm': {'format': 'Open Document Presentation', 'icon': 'file-powerpoint', 'unit': 'pt'},\n 'ppsm': {'format': 'Open Document Presentation', 'icon': 'file-powerpoint', 'unit': 'pt'},\n 'rtf': {'format': 'Rich Text Format', 'icon': 'file-alt', 'unit': 'pt'},\n 'txt': {'format': 'Plain Text File', 'icon': 'file-alt', 'unit': 'pt'},\n 'csv': {'format': 'Comma-Separated Values', 'icon': 'file-excel', 'unit': 'px'},\n 'html': {'format': 'HyperText Markup Language', 'icon': 'file-word', 'unit': 'pt'},\n 'mht': {'format': 'HyperText Markup Language', 'icon': 'file-word', 'unit': 'pt'},\n 'mhtml': {'format': 'HyperText Markup Language', 'icon': 'file-word', 'unit': 'pt'},\n 'xml': {'format': 'Extensible Markup Language', 'icon': 'file-word', 'unit': 'pt'},\n 'xps': {'format': 'XML Paper Specification', 'icon': 'file-word', 'unit': 'pt'},\n 'dxf': {'format': 'AutoCAD Drawing File Format', 'icon': 'file-image', 'unit': 'px'},\n 'dwg': {'format': 'AutoCAD Drawing File Format', 'icon': 'file-image', 'unit': 'px'},\n 'bmp': {'format': 'Bitmap Picture', 'icon': 'file-image', 'unit': 'px'},\n 'gif': {'format': 'Graphics Interchange Format', 'icon': 'file-image', 'unit': 'px'},\n 'jpg': {'format': 'Joint Photographic Experts Group', 'icon': 'file-image', 'unit': 'px'},\n 'jpe': {'format': 'Joint Photographic Experts Group', 'icon': 'file-image', 'unit': 'px'},\n 'jpeg': {'format': 'Joint Photographic Experts Group', 'icon': 'file-image', 'unit': 'px'},\n 'jfif': {'format': 'Joint Photographic Experts Group', 'icon': 'file-image', 'unit': 'px'},\n 'png': {'format': 'Portable Network Graphics', 'icon': 'file-image', 'unit': 'px'},\n 'tiff': {'format': 'Tagged Image File Format', 'icon': 'file-image', 'unit': 'px'},\n 'tif': {'format': 'Tagged Image File Format', 'icon': 'file-image', 'unit': 'px'},\n 'psd': {'format': 'Tagged Image File Format', 'icon': 'file-image', 'unit': 'px'},\n 'svg': {'format': 'Tagged Image File Format', 'icon': 'file-image', 'unit': 'px'},\n 'jp2': {'format': 'Tagged Image File Format', 'icon': 'file-image', 'unit': 'px'},\n 'epub': {'format': 'Electronic Publication', 'icon': 'file-pdf', 'unit': 'pt'},\n 'ico': {'format': 'Windows Icon', 'icon': 'file-image', 'unit': 'px'},\n 'webp': {'format': 'Compressed Image', 'icon': 'file-image', 'unit': 'px'},\n 'mobi': {'format': 'Mobipocket eBook', 'icon': 'file-pdf', 'unit': 'pt'},\n 'tex': {'format': 'LaTeX Source Document', 'icon': 'file-pdf', 'unit': 'pt'},\n 'djvu': {'format': 'Multi-Layer Raster Image', 'icon': 'file-alt', 'unit': 'pt'},\n 'unknown': {'format': 'This format is not supported', 'icon': 'file'},\n };\n\n public static find(filename: string, isDirectory: boolean) {\n if (filename && !isDirectory) {\n const strings = filename.split('.');\n const name = strings.pop().toLowerCase();\n if (typeof FileUtil.map[name] === \"undefined\") {\n return strings.length > 0 ? FileUtil.map['unknown'] : FileUtil.map['folder'];\n } else {\n return FileUtil.map[name];\n }\n } else {\n return FileUtil.map['folder'];\n }\n }\n}\n\nexport class FileService {\n\n constructor() {\n }\n}\n","import {Observable, Observer} from \"rxjs\";\n\nexport class UploadFilesService {\n private _uploadsChange: Observable;\n private _observer: Observer;\n\n constructor() {\n this._uploadsChange = new Observable(observer =>\n this._observer = observer);\n }\n\n get uploadsChange(): Observable {\n return this._uploadsChange;\n }\n\n changeFilesList(filesList: FileList) {\n this._observer.next(filesList);\n }\n}\n","import {Component, EventEmitter, Input, OnInit, Output} from '@angular/core';\nimport {FileModel, FileUtil} from \"../file.service\";\nimport {UploadFilesService} from \"../upload-files.service\";\nimport * as jquery from \"jquery\";\nconst $ = jquery;\n\nconst upload_disc = 'Disc';\n\nconst upload_url = 'URL';\n\nconst uploads_choices = [{name: upload_disc, icon: 'hdd'}, {name: upload_url, icon: 'link'}];\n\n@Component({\n selector: 'gd-browse-files-modal',\n templateUrl: './browse-files-modal.component.html',\n styleUrls: ['./browse-files-modal.component.less']\n})\nexport class BrowseFilesModalComponent implements OnInit {\n uploads = uploads_choices;\n\n @Input() files;\n @Input() uploadConfig;\n @Output() selectedFileGuid = new EventEmitter();\n @Output() selectedDirectory = new EventEmitter();\n @Output() urlForUpload = new EventEmitter();\n @Output() closing = new EventEmitter();\n private selectedFile: FileModel;\n showUploadUrl = false;\n showUploadFile = false;\n\n constructor(private _uploadService: UploadFilesService) {\n }\n\n ngOnInit() {\n }\n\n getSize(size: number) {\n const mb = size / 1024 / 1024;\n if (mb > 1) {\n return (Math.round(mb * 100) / 100) + ' MB';\n } else {\n const kb = size / 1024;\n if (kb > 1) {\n return (Math.round(kb * 100) / 100) + ' KB';\n }\n }\n return size + ' Bytes';\n }\n\n getFormatName(file: FileModel) {\n return FileUtil.find(file.name, file.directory).format;\n }\n\n getFormatIcon(file: FileModel) {\n return FileUtil.find(file.name, file.directory).icon;\n }\n\n choose(file: FileModel) {\n this.selectedFile = file;\n if (file.directory || file.isDirectory) {\n this.selectedDirectory.emit(file.name);\n } else {\n this.selectedFileGuid.emit(file.guid);\n }\n }\n\n goUp() {\n if (this.selectedFile) {\n let guid = this.selectedFile.guid;\n if (guid.length > 0 && guid.indexOf('/') === -1) {\n guid = '';\n } else {\n guid = guid.replace(/\\/[^\\/]+\\/?$/, '');\n }\n this.selectedDirectory.emit(guid);\n }\n }\n\n selectUpload($event: string) {\n if (upload_url === $event) {\n this.showUploadUrl = true;\n } else {\n this.showUploadUrl = false;\n $(\"#gd-upload-input\").trigger('click');\n }\n }\n\n refresh($event) {\n\n if ($event) {\n this.files = null;\n this.selectedDirectory.emit('');\n this.showUploadUrl = false;\n this.selectedFile = null;\n } else {\n this.closing.emit(true);\n }\n }\n\n showSpinner() {\n return !this.files;\n }\n\n uploadUrl(url: string) {\n if (url) {\n this.urlForUpload.emit(url);\n this.cleanUpload();\n }\n }\n\n handleFileInput(files: FileList) {\n this._uploadService.changeFilesList(files);\n }\n\n cleanUpload() {\n this.showUploadFile = false;\n this.showUploadUrl = false;\n }\n}\n","import {Observable, Subject} from \"rxjs\";\n\nexport class ZoomService {\n private _observer: Subject = new Subject();\n private readonly _zoomChange: Observable = this._observer.asObservable();\n private _zoom: number;\n\n constructor() {\n }\n\n get zoom(): number {\n return this._zoom;\n }\n\n get zoomChange(): Observable {\n return this._zoomChange;\n }\n\n changeZoom(zoom: number) {\n this._zoom = zoom;\n this._observer.next(zoom);\n }\n\n private createZoomOption(val: any, name: string, sep: boolean = false) {\n return {value: val, name: name, separator: sep}\n }\n\n zoomOptions(width, height) {\n return [this.createZoomOption(25, '25%'),\n this.createZoomOption(50, '50%'),\n this.createZoomOption(100,'100%'),\n this.createZoomOption(150, '150%'),\n this.createZoomOption(200, '200%'),\n this.createZoomOption(300, '300%'),\n this.createZoomOption(0, '', true),\n this.createZoomOption(width, 'Fit Width'),\n this.createZoomOption(height, 'Fit Height')];\n }\n}\n","import {Observable, Observer} from \"rxjs\";\n\nexport class PagePreloadService {\n private readonly _checkPreload: Observable;\n private _observer: Observer;\n\n constructor() {\n this._checkPreload = new Observable(observer =>\n this._observer = observer);\n }\n\n get checkPreload(): Observable {\n return this._checkPreload;\n }\n\n changeLastPageInView(page: number) {\n if(this._observer) {\n this._observer.next(page);\n }\n }\n}\n","import {BehaviorSubject, Observable, Subject} from \"rxjs\";\nimport {PagePreloadService} from \"./page-preload.service\";\nimport {Injectable} from \"@angular/core\";\n\n@Injectable({\n providedIn: 'root'\n})\nexport class NavigateService {\n private _currentPage = 0;\n private _countPages = 0;\n private _observer: Subject = new Subject();\n private _navigate: Observable = this._observer;\n\n constructor(private _pagePreloadService: PagePreloadService) {\n }\n\n get navigate(): Observable {\n return this._navigate;\n }\n\n get countPages(): number {\n return this._countPages;\n }\n\n set countPages(value: number) {\n this._countPages = value;\n }\n\n get currentPage(): number {\n return this._currentPage;\n }\n\n set currentPage(value: number) {\n this._currentPage = value;\n }\n\n nextPage() {\n if (this._currentPage < this._countPages) {\n this._currentPage++;\n this.navigateTo(this._currentPage);\n }\n }\n\n prevPage() {\n if (this._currentPage > 1) {\n this._currentPage--;\n this.navigateTo(this._currentPage);\n }\n }\n\n toLastPage() {\n this._currentPage = this._countPages;\n this.navigateTo(this._currentPage);\n }\n\n toFirstPage() {\n this._currentPage = 1;\n this.navigateTo(this._currentPage);\n }\n\n navigateTo(page: number) {\n this.currentPage = page;\n this._pagePreloadService.changeLastPageInView(page);\n this._observer.next(page);\n }\n}\n","import {\n AfterViewChecked,\n Component,\n ElementRef,\n Input,\n OnInit,\n AfterViewInit,\n OnChanges\n} from '@angular/core';\nimport {FileDescription, FileUtil} from \"../file.service\";\nimport {ZoomService} from \"../zoom.service\";\nimport * as Hammer from 'hammerjs';\nimport {WindowService} from '../window.service';\nimport * as jquery from 'jquery';\nimport { NavigateService } from '../navigate.service';\n\nconst $ = jquery;\n\n@Component({\n selector: 'gd-document',\n templateUrl: './document.component.html',\n styleUrls: ['./document.component.less']\n})\nexport class DocumentComponent implements OnInit, AfterViewChecked, AfterViewInit, OnChanges {\n\n @Input() mode: boolean;\n @Input() preloadPageCount: number;\n @Input() file: FileDescription;\n @Input() selectedPage: number;\n @Input() showActiveSlide: boolean;\n wait = false;\n zoom: number;\n\n docWidth = null;\n docHeight = null;\n viewportWidth = null;\n viewportHeight = null;\n scale = null;\n lastScale = null;\n container = null;\n doc = null;\n x = 0;\n lastX = 0;\n y = 0;\n lastY = 0;\n pinchCenter = null;\n pinchCenterOffset = null;\n curWidth = 0;\n curHeight = 0;\n isDesktop: boolean;\n\n constructor(protected _elementRef: ElementRef,\n private _zoomService: ZoomService,\n private _windowService: WindowService,\n private _navigateService: NavigateService) {\n _zoomService.zoomChange.subscribe((val: number) => {\n this.zoom = val;\n });\n\n this.isDesktop = _windowService.isDesktop();\n\n this._navigateService.navigate.subscribe(((\n value => {\n this.selectedPage = value;\n })));\n }\n\n ngOnInit() {\n if (this.ifPresentation())\n {\n this.selectedPage = this._navigateService.currentPage;\n }\n }\n\n ngOnChanges() {\n }\n\n ngAfterViewInit() {\n // For current iteration we take .panzoom as a document\n this.doc = this._elementRef.nativeElement.children.item(0).children.item(0);\n // For current iteration we take .gd-document as a container\n this.container = this._elementRef.nativeElement;\n\n this.docWidth = this.doc.clientWidth;\n this.docHeight = this.doc.clientHeight;\n this.viewportWidth = this.doc.offsetWidth;\n\n // For cases where we already have zoom defined we should include it\n this.scale = (this.viewportWidth / this.docWidth) * this._zoomService.zoom / 100;\n\n this.lastScale = this.scale;\n this.viewportHeight = this.container.offsetHeight;\n this.curWidth = this.docWidth * this.scale;\n this.curHeight = this.docHeight * this.scale;\n\n const hammer = new Hammer(this.container);\n }\n\n // TODO: this temporary crutch for Excel files should be documented\n ifExcel() {\n return FileUtil.find(this.file.guid, false).format === \"Microsoft Excel\";\n }\n\n ifPresentation() {\n return FileUtil.find(this.file.guid, false).format === \"Microsoft PowerPoint\";\n }\n\n getDimensionWithUnit(value: number, pageNumber: number) {\n return this.ifPresentation() && this.showActiveSlide && !this.isVisible(pageNumber) ? 0 : value + (this.mode ? FileUtil.find(this.file.guid, false).unit : 'px');\n }\n\n ifEdge() {\n return navigator.userAgent.toLowerCase().indexOf('edge') > -1;\n }\n\n ngAfterViewChecked(): void {\n // for now we are not sure that need this action in current implementation\n // const elementNodeListOf = this._elementRef.nativeElement.querySelectorAll('.gd-wrapper');\n // const element = elementNodeListOf.item(0);\n // if (element) {\n // $(element).trigger('focus');\n // }\n }\n\n isVisible(pageNumber) {\n if (this.ifPresentation()) {\n return pageNumber === this.selectedPage ? true : false;\n }\n else {\n return true;\n }\n }\n}\n","import {Component, Input, OnChanges, OnInit, SimpleChanges} from '@angular/core';\n\n@Component({\n selector: 'gd-page',\n templateUrl: './page.component.html',\n styleUrls: ['./page.component.less']\n})\nexport class PageComponent implements OnInit, OnChanges {\n\n @Input() angle: number;\n @Input() width: number;\n @Input() height: number;\n @Input() number: number;\n @Input() data: string;\n @Input() isHtml: boolean;\n @Input() editable: boolean;\n imgData: string;\n\n constructor() {\n }\n\n ngOnInit() {\n const isIE = /*@cc_on!@*/false || !!/(MSIE|Trident\\/|Edge\\/)/i.test(navigator.userAgent);\n if(isIE && this.number === 0){\n this.editable = false;\n }\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n if(this.isHtml) {\n // TODO: this is temporary needed to remove unneeded spaces and BOM symbol \n // which leads to undesired spaces on the top of the docs pages\n this.data = this.data \n ? this.data.replace(/>\\s+<')\n .replace(/\\uFEFF/g,\"\")\n : null;\n } else {\n this.imgData = 'data:image/png;base64,' + this.data;\n }\n }\n}\n","import {Pipe, PipeTransform} from '@angular/core';\nimport {DomSanitizer, SafeHtml} from '@angular/platform-browser';\n\n@Pipe({name: 'safeHtml'})\nexport class SanitizeHtmlPipe implements PipeTransform{\n constructor(private sanitizer: DomSanitizer) {\n }\n\n transform(html: string): SafeHtml {\n return this.sanitizer.bypassSecurityTrustHtml(html);\n }\n}\n\n@Pipe({name: 'safeResourceHtml'})\nexport class SanitizeResourceHtmlPipe implements PipeTransform{\n constructor(private sanitizer: DomSanitizer) {\n }\n\n transform(html: string): SafeHtml {\n return this.sanitizer.bypassSecurityTrustResourceUrl(html);\n }\n}\n\n@Pipe({name: 'safeStyle'})\nexport class SanitizeStylePipe implements PipeTransform{\n constructor(private sanitizer: DomSanitizer) {\n }\n\n transform(html: string): SafeHtml {\n return this.sanitizer.bypassSecurityTrustStyle(html);\n }\n}\n\n@Pipe({name: 'highlight'})\nexport class HighlightSearchPipe implements PipeTransform {\n\n transform(value: string, args: string): any {\n if (!args) {\n return value;\n }\n const re = new RegExp(args, 'gi'); //'gi' for case insensitive and can use 'g' if you want the search to be case sensitive.\n return value.replace(re, \"$&\");\n }\n}\n","import {Component, EventEmitter, OnInit, Output} from '@angular/core';\nimport {UploadFilesService} from \"../upload-files.service\";\n\n@Component({\n selector: 'gd-upload-file-zone',\n templateUrl: './upload-file-zone.component.html',\n styleUrls: ['./upload-file-zone.component.less']\n})\nexport class UploadFileZoneComponent implements OnInit {\n\n @Output() closeUpload = new EventEmitter();\n\n constructor(private _uploadService: UploadFilesService) { }\n\n ngOnInit() {\n }\n\n handleFileInput(files: FileList) {\n this._uploadService.changeFilesList(files);\n this.onCloseUpload();\n }\n\n onCloseUpload() {\n this.closeUpload.emit(true);\n }\n\n close($event) {\n if ($event.target.id === 'gd-dropZone') {\n this.onCloseUpload();\n }\n }\n}\n","import {Directive, EventEmitter, HostBinding, HostListener, Input, Output} from '@angular/core';\nimport {UploadFilesService} from \"./upload-files.service\";\n\n@Directive({\n selector: '[gdDnd]'\n})\nexport class DndDirective {\n\n @Output() closing = new EventEmitter();\n @Output() opening = new EventEmitter();\n @Output() dropped = new EventEmitter();\n\n @HostBinding('class.active') active = false;\n\n private dragCounter = 0;\n\n constructor(protected _uploadFilesService: UploadFilesService) {\n }\n\n @HostListener('dragenter', ['$event'])\n public onDragEnter(evt) {\n evt.preventDefault();\n evt.stopPropagation();\n this.dragCounter++;\n this.active = true;\n this.opening.emit(true);\n }\n\n @HostListener('dragover', ['$event'])\n public onDragOver(evt) {\n evt.preventDefault();\n evt.stopPropagation();\n return false;\n }\n\n @HostListener('dragleave', ['$event'])\n public onDragLeave(evt) {\n evt.preventDefault();\n evt.stopPropagation();\n this.dragCounter--;\n if (this.dragCounter === 0) {\n this.active = false;\n this.closeArea();\n }\n }\n\n @HostListener('drop', ['$event'])\n public onDrop(evt) {\n evt.preventDefault();\n evt.stopPropagation();\n const files = evt.dataTransfer.files;\n if (files.length > 0) {\n this.active = false;\n this.dropped.emit(true);\n this._uploadFilesService.changeFilesList(files);\n this.closeArea();\n }\n }\n\n @HostListener('click', ['$event'])\n public onClick(event) {\n this.closeArea();\n }\n\n private closeArea() {\n this.closing.emit(true);\n this.opening.emit(false);\n }\n}\n","import {Injectable} from '@angular/core';\nimport * as jquery from \"jquery\";\nconst $ = jquery;\n\n@Injectable({\n providedIn: 'root'\n})\nexport class ViewportService {\n\n constructor() {\n }\n\n checkInViewport(el, zoom: number = 100, leftOffset: number = 0, deltaX: number = 0.5) {\n if (!el) {\n return false;\n }\n const x = deltaX;\n const y = 0.5;\n\n const win = $(window);\n\n const viewport = {\n top: win.scrollTop(),\n left: win.scrollLeft() + leftOffset,\n right: win.scrollLeft() + win.width() - 10,\n bottom: win.scrollTop() + win.height()\n };\n\n\n if (isNaN(zoom)) {\n zoom = 100;\n }\n\n const zoomN = zoom / 100;\n const height = $(el).outerHeight() * (zoomN);\n const width = $(el).outerWidth() * (zoomN);\n\n if (!width || !height) {\n return false;\n }\n\n const bounds = $(el).offset();\n const right = (bounds.left * (zoomN)) + width;\n const bottom = (bounds.top * (zoomN)) + height;\n\n const visible = (!(viewport.right < (bounds.left * (zoomN)) || viewport.left > right || viewport.bottom < (bounds.top * (zoomN)) || viewport.top > bottom));\n\n if (!visible) {\n return false;\n }\n\n const deltas = {\n top: parseFloat(Math.min(1, (bottom - viewport.top) / height).toFixed(2)),\n bottom: parseFloat(Math.min(1, (viewport.bottom - (bounds.top * (zoomN))) / height).toFixed(2)),\n left: parseFloat(Math.min(1, (right - viewport.left) / width).toFixed(2)),\n right: parseFloat(Math.min(1, (viewport.right - (bounds.left * (zoomN))) / width).toFixed(2))\n };\n\n return (deltas.left * deltas.right) >= x && (deltas.top * deltas.bottom) >= y;\n }\n}\n","import {\n AfterViewInit,\n Directive,\n ElementRef,\n HostListener,\n Input,\n OnChanges,\n OnInit,\n SimpleChanges\n} from '@angular/core';\nimport {NavigateService} from \"./navigate.service\";\nimport {PagePreloadService} from \"./page-preload.service\";\nimport {ZoomService} from \"./zoom.service\";\nimport {WindowService} from \"./window.service\";\nimport {ViewportService} from \"./viewport.service\";\nimport * as jquery from \"jquery\";\nconst $ = jquery;\n\n@Directive({\n selector: '[gdScrollable]'\n})\nexport class ScrollableDirective implements AfterViewInit, OnChanges, OnInit {\n @Input() isPresentation: boolean;\n\n private currentPage: number;\n private zoom = 100;\n private loadedPagesSet = new Set();\n\n constructor(private _elementRef: ElementRef,\n private _navigateService: NavigateService,\n private _pagePreloadService: PagePreloadService,\n private _zoomService: ZoomService,\n private _windowService: WindowService,\n private _viewportService: ViewportService) {\n\n this.zoom = _zoomService.zoom ? _zoomService.zoom : this.zoom;\n _zoomService.zoomChange.subscribe((val: number) => {\n this.zoom = val ? val : this.zoom;\n this.refresh();\n });\n }\n\n ngAfterViewInit() {\n this.zoom = this._zoomService.zoom ? this._zoomService.zoom : this.zoom;\n this._navigateService.navigate.subscribe((value => {\n this.currentPage = value;\n this.scrollToPage(value);\n }));\n this.refresh();\n }\n\n @HostListener('scroll') scrolling() {\n this.refresh();\n }\n\n @HostListener('window:resize') resizing() {\n this.refresh();\n }\n\n scrollToPage(pageNumber: number) {\n const el = this._elementRef.nativeElement;\n const page = this.getPage(pageNumber);\n const prev = pageNumber > 0 ? this.getPage(pageNumber - 1) : null;\n const isSameTop = (prev && $(prev).offset().top === $(page).offset().top);\n if (this._viewportService.checkInViewport(page, this.zoom) && isSameTop) {\n return;\n }\n const pagesHeight = this.calculateOffset(pageNumber);\n const options = {\n left: 0,\n top: pagesHeight\n };\n if(el){\n // using polyfill\n el.scroll(options);\n }\n }\n\n private getChildren() {\n const el = this._elementRef ? this._elementRef.nativeElement : null;\n if (el) {\n // here and in the similar line below we getting the document pages\n return el.children.item(0).children.item(0).children;\n }\n }\n\n private getPage(pageNumber: number) {\n const el = this._elementRef ? this._elementRef.nativeElement : null;\n if (el) {\n return el.children.item(0).children.item(0).children.item(pageNumber - 1);\n }\n }\n\n private calculateOffset(pageNumber: number) {\n const count = this._windowService.isFirefox() ? 1 : this.countPagesOnWidth();\n const margin = this._windowService.isDesktop() ? 40 : 10;\n let pagesHeight = 0;\n for (let i = 1; i < pageNumber / count; i++) {\n const item = this.getPage(i);\n const clientHeight = item ? item.clientHeight : 0;\n pagesHeight += clientHeight > 0 ? clientHeight * this.getZoom() + margin : 0;\n }\n return pagesHeight;\n }\n\n private countPagesOnWidth() {\n const pageEl = this.getPage(1);\n const offset = 150;\n if (pageEl) {\n const count = Math.floor((this.getWidth() - offset) / (pageEl.getBoundingClientRect().width * this.getZoom()));\n if (count !== 0) {\n return count;\n }\n }\n return 1;\n }\n\n refresh() {\n let page;\n let currentPageSet = false;\n const pageElem = this.getPage(this.currentPage);\n const currentPageRect = this.currentPage && pageElem ? pageElem.getBoundingClientRect() : null;\n for (page = 1; page < this.getChildren().length + 1; page++) {\n const element = this.getPage(page);\n if (this._viewportService.checkInViewport(element, this.zoom)) {\n if (!currentPageSet) {\n if (!this.currentPage || !pageElem || (this.currentPage && currentPageRect && element.getBoundingClientRect().top !== currentPageRect.top)) {\n this.currentPage = page;\n if ((this.isPresentation && this._navigateService.currentPage === 0) || !this.isPresentation) {\n this._navigateService.currentPage = page;\n }\n }\n currentPageSet = true;\n }\n if (!this.loadedPagesSet.has(page)) {\n this._pagePreloadService.changeLastPageInView(page);\n this.loadedPagesSet.add(page);\n }\n }\n }\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n this.refresh();\n }\n\n ngOnInit(): void {\n this.zoom = this._zoomService.zoom ? this._zoomService.zoom : this.zoom;\n }\n\n\n private getWidth() {\n return this._elementRef ? this._elementRef.nativeElement.offsetWidth : window.innerWidth;\n }\n\n private getZoom() {\n return this.zoom / 100;\n }\n}\n","import {\n Directive,\n EventEmitter,\n HostListener,\n Output} from '@angular/core';\nimport * as jquery from \"jquery\";\nconst $ = jquery;\n\n@Directive({\n selector: '[gdMouseWheel]'\n})\nexport class MouseWheelDirective {\n @Output() mouseWheelUp = new EventEmitter();\n @Output() mouseWheelDown = new EventEmitter();\n\n @HostListener('mousewheel', ['$event']) onMouseWheelChrome(event: any) {\n this.mouseWheelFunc(event);\n }\n\n @HostListener('DOMMouseScroll', ['$event']) onMouseWheelFirefox(event: any) {\n this.mouseWheelFunc(event);\n }\n\n @HostListener('onmousewheel', ['$event']) onMouseWheelIE(event: any) {\n this.mouseWheelFunc(event);\n }\n\n mouseWheelFunc(event: any) {\n event = window.event ;\n const delta = Math.max(-1, Math.min(1, (event.wheelDelta || -event.detail)));\n if(delta > 0) {\n this.mouseWheelUp.emit(event);\n } else if(delta < 0) {\n this.mouseWheelDown.emit(event);\n }\n }\n}\n","import {AfterViewInit, Directive, HostBinding, Input, OnDestroy, OnInit, ElementRef, OnChanges} from '@angular/core';\nimport {ZoomService} from \"./zoom.service\";\nimport {FileUtil} from \"./file.service\";\nimport { WindowService } from './window.service';\n\n@Directive({\n selector: '[gdZoom]'\n})\nexport class ZoomDirective implements OnInit, OnDestroy, AfterViewInit, OnChanges {\n\n @Input() zoomActive = true;\n @Input() file;\n\n @HostBinding('style.zoom') zoomInt: number;\n @HostBinding('style.transform') transform: string;\n @HostBinding('style.transform-origin') transformOrigin: string;\n @HostBinding('style.width') width: string;\n @HostBinding('style.height') height: string;\n @HostBinding('style.min-width') minWidth: string;\n el: ElementRef;\n\n constructor(private _zoomService: ZoomService, private _windowService: WindowService, el: ElementRef) {\n this.el = el;\n }\n\n ngOnDestroy(): void {\n }\n\n ngOnChanges(): void {\n this.setStyles(this._zoomService.zoom);\n this.resizePages(this._zoomService.zoom);\n }\n\n ngOnInit(): void {\n if (! this.zoomActive) {\n return;\n }\n\n this.setStyles(this._zoomService.zoom);\n this._zoomService.zoomChange.subscribe((zoom) => {\n this.setStyles(zoom);\n this.resizePages(zoom);\n });\n }\n\n private setStyles(zoom) {\n if (! this.zoomActive) {\n return;\n }\n\n const zoomInt = zoom === 100 ? 1 : zoom / 100;\n \n if (this._windowService.isEdge()) {\n this.zoomInt = zoomInt;\n }\n else {\n this.zoomInt = null;\n }\n \n if (!this._windowService.isEdge()) {\n this.transform = 'scale(' + zoomInt + ')';\n this.transformOrigin = 'top left';\n }\n else {\n this.transform = \"\";\n this.transformOrigin = \"\";\n }\n\n let maxWidth = 0;\n this.file.pages.forEach(page => {\n {\n if (page.width > maxWidth){\n maxWidth = page.width;\n }\n }\n });\n\n // Images and Excel-related files receiving dimensions in px from server\n this.minWidth = maxWidth + FileUtil.find(this.file.guid, false).unit;\n }\n\n private getScrollWidth(elm){\n return elm.offsetWidth - elm.clientWidth;\n }\n\n private getScrollHeight(elm){\n return elm.offsetHeight - elm.clientHeight;\n }\n\n private resizePages(zoom){\n const zoomInt = zoom === 100 ? 1 : zoom / 100;\n\n const viewPortWidth = this.el.nativeElement.parentElement.offsetWidth;\n const viewPortHeight = this.el.nativeElement.parentElement.offsetHeight;\n const scrollWidth = this.getScrollWidth(this.el.nativeElement.parentElement);\n const scrollHeight = this.getScrollHeight(this.el.nativeElement.parentElement);\n this.width = (viewPortWidth/zoomInt - scrollWidth/zoomInt) + 'px';\n this.height = (viewPortHeight/zoomInt - scrollHeight/zoomInt) + 'px';\n }\n\n ngAfterViewInit(): void {\n this.setStyles(this._zoomService.zoom);\n }\n}\n","import {Injectable} from '@angular/core';\nimport {Observable, Subject} from \"rxjs\";\n\n@Injectable({\n providedIn: 'root'\n})\nexport class OnCloseService {\n private _observer: Subject = new Subject();\n private readonly _onClose: Observable = this._observer.asObservable();\n\n constructor() {\n }\n\n get onClose() {\n return this._onClose;\n }\n\n close(close: boolean) {\n this._observer.next(close)\n }\n}\n","import {Component, EventEmitter, Input, Output} from '@angular/core';\nimport {OnCloseService} from \"../on-close.service\";\n\nexport interface Option {\n name: string;\n value: any;\n separator: boolean;\n}\n\n@Component({\n selector: 'gd-select',\n templateUrl: './select.component.html',\n styleUrls: ['./select.component.less']\n})\nexport class SelectComponent {\n\n @Input() options: Option[];\n @Input() disabled = false;\n @Input() showSelected: Option;\n @Output() selected: EventEmitter = new EventEmitter();\n @Output() opened: EventEmitter = new EventEmitter();\n @Input() isOpen = false;\n @Input() icon: string;\n\n constructor(protected _onCloseService: OnCloseService) {\n _onCloseService.onClose.subscribe(() => {\n this.close();\n });\n }\n\n open() {\n if (!this.disabled) {\n this.isOpen = true;\n }\n }\n\n close() {\n this.isOpen = false;\n }\n\n onClickOutside(event : Event){\n this.close();\n }\n\n toggle($event) {\n // TODO: following lines were uncommented due to needness in signature app\n $event.preventDefault();\n $event.stopPropagation();\n if (!this.disabled) {\n this.isOpen = !this.isOpen;\n if (this.isOpen) this.opened.emit(true);\n }\n }\n\n select($event, value: Option) {\n $event.preventDefault();\n $event.stopPropagation();\n this.selected.emit(value);\n this.close();\n }\n}\n","import {Directive, HostBinding, Input, OnChanges, OnInit, SimpleChanges} from '@angular/core';\n\n@Directive({\n selector: '[gdDisabledCursor]'\n})\nexport class DisabledCursorDirective implements OnInit, OnChanges {\n\n @Input() dis: boolean;\n\n constructor() {\n }\n\n @HostBinding('class.inactive') cursor: boolean;\n\n private updateCursor() {\n this.cursor = this.dis ? true : false;\n }\n\n ngOnInit(): void {\n this.updateCursor();\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n this.updateCursor()\n }\n}\n","import {Directive, HostBinding, Input, OnChanges, OnInit, SimpleChanges} from '@angular/core';\n\n@Directive({\n selector: '[gdRotation]'\n})\nexport class RotationDirective implements OnInit, OnChanges {\n\n @Input() angle: number;\n @Input() isHtmlMode: boolean;\n @Input() width: number;\n @Input() height: number;\n @Input() withMargin = true;\n\n @HostBinding('style.animation') animation: string;\n @HostBinding('style.transition-property') transition: string;\n @HostBinding('style.transform') transform: string;\n\n @HostBinding('style.margin') margin: string;\n\n constructor() {\n }\n\n private updateCursor() {\n if (typeof this.angle === \"string\"){\n this.angle = parseInt(this.angle, 10);\n }\n\n if (this.angle) {\n this.animation = 'none';\n this.transition = 'none';\n this.transform = 'rotate(' + this.angle + 'deg)';\n } else if (this.angle === 0 && this.animation) {\n this.animation = null;\n this.transition = null;\n this.transform = null;\n }\n\n if (this.withMargin) {\n if (this.angle === 90 || this.angle === 270 || this.angle === -90 || this.angle === -270) {\n if (this.isHtmlMode) {\n if (this.isLandscape()) {\n this.margin = '164px 254px';\n } else {\n this.margin = '-111px 254px';\n }\n } else {\n if (this.isLandscape()) {\n this.margin = '129px 100px -79px';\n } else {\n this.margin = '-72px 100px -79px';\n }\n }\n } else if (this.angle === -180 || this.angle === 180) {\n this.margin = '280px';\n } else {\n this.margin = null;\n }\n }\n\n }\n\n isLandscape() {\n return this.width > this.height;\n }\n\n ngOnInit(): void {\n this.updateCursor();\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n this.updateCursor()\n }\n\n}\n","import {Component, Input, Output, EventEmitter, OnInit} from '@angular/core';\n\n@Component({\n selector: 'gd-init-state',\n templateUrl: './init-state.component.html',\n styleUrls: ['./init-state.component.less']\n})\nexport class InitStateComponent implements OnInit {\n @Input() icon: string;\n @Input() text: string;\n @Output() fileDropped = new EventEmitter();\n showUploadFile = false;\n\n constructor() {\n }\n\n ngOnInit() {\n }\n\n dropped($event) {\n if ($event) {\n this.fileDropped.emit($event);\n this.showUploadFile = false;\n }\n }\n}\n","import {Observable, Observer} from \"rxjs\";\nimport {PageModel} from \"./file.service\";\n\nexport class RenderPrintService {\n private _render: Observable;\n private _observer: Observer;\n private _renderBlob: Observable;\n private _observerBlob: Observer;\n\n constructor() {\n this._render = new Observable(observer =>\n this._observer = observer);\n this._renderBlob = new Observable(observer =>\n this._observerBlob = observer);\n }\n\n get renderPrint(): Observable {\n return this._render;\n }\n\n changePages(pages: PageModel[]) {\n this._observer.next(pages);\n }\n\n get renderPrintBlob(): Observable {\n return this._renderBlob;\n }\n\n changeBlob(file: Blob) {\n this._observerBlob.next(file);\n }\n}\n","import {Directive, Input} from '@angular/core';\nimport {PageModel} from \"./file.service\";\nimport {RenderPrintService} from \"./render-print.service\";\n\n@Directive({\n selector: '[gdRenderPrint]'\n})\nexport class RenderPrintDirective {\n @Input() htmlMode: boolean;\n\n constructor(private _renderService: RenderPrintService) {\n _renderService.renderPrint.subscribe(pages => {\n this.renderPrint(pages);\n });\n _renderService.renderPrintBlob.subscribe(file => {\n this.renderPrintBlob(file);\n });\n }\n\n private renderPrint(pages: PageModel[]) {\n let pagesHtml = '';\n\n for (const page of pages) {\n pagesHtml += '
' +\n '
' +\n '
';\n }\n\n this.openWindow(pagesHtml, pages[0].width, pages[0].height);\n }\n\n private openWindow(pagesHtml, width, height) {\n const a4Height = 842;\n const a4Width = 595;\n let imageA4Adjusted = '';\n if(width > a4Width && height > a4Height){\n const zoom = Math.round(height / a4Height) / 100;\n imageA4Adjusted = '.gd-page img { width: 100%; margin: 0; padding: 0;}';\n if(navigator.userAgent.toLowerCase().indexOf('firefox') > -1){\n imageA4Adjusted = '.gd-page img { transform: scale(' + zoom + ');}';\n }\n }\n let cssPrint = '';\n\n const windowObject = window.open('', \"PrintWindow\", \"width=750,height=650,top=50,left=50,toolbars=yes,scrollbars=yes,status=yes,resizable=yes\");\n windowObject.focus();\n windowObject.document.writeln(cssPrint);\n windowObject.document.writeln(pagesHtml);\n windowObject.document.close();\n setTimeout(() => {\n windowObject.focus();\n windowObject.print();\n windowObject.close();\n }, 100);\n }\n\n private renderPrintBlob(file: Blob) {\n const fileURL = URL.createObjectURL(file);\n const windowObject = window.open(fileURL, \"PrintWindow\", \"width=750,height=650,top=50,left=50,toolbars=yes,scrollbars=yes,status=yes,resizable=yes\");\n windowObject.focus();\n windowObject.print();\n windowObject.close();\n }\n}\n","import { HttpEvent } from \"@angular/common/http\";\nimport {BehaviorSubject, Observable} from \"rxjs\";\n\nexport class ExceptionMessageService {\n private _observer: BehaviorSubject = new BehaviorSubject('Server is not available');\n private _messageChange: Observable = this._observer.asObservable();\n\n private _observerHttpEvent: BehaviorSubject> = new BehaviorSubject(null);\n private _httpEventChange: Observable> = this._observerHttpEvent.asObservable();\n\n constructor() {\n }\n\n get messageChange(): Observable {\n return this._messageChange;\n }\n\n get httpEventChange(): Observable> {\n return this._httpEventChange;\n }\n\n changeMessage(message: string) {\n this._observer.next(message);\n }\n\n changeHttpEvent(httpEvent:HttpEvent) {\n this._observerHttpEvent.next(httpEvent);\n }\n}\n","import {Component, OnInit} from '@angular/core';\nimport {ExceptionMessageService} from \"../exception-message.service\";\n\n@Component({\n selector: 'gd-error-modal',\n templateUrl: './error-modal.component.html',\n styleUrls: ['./error-modal.component.less']\n})\nexport class ErrorModalComponent implements OnInit {\n\n message: string;\n\n constructor(messageService: ExceptionMessageService) {\n messageService.messageChange.subscribe(message => this.message = message);\n }\n\n ngOnInit() {\n }\n\n}\n","import {Observable, Subject} from \"rxjs\";\n\nexport class PasswordService {\n private _observer: Subject = new Subject();\n private readonly _passChange: Observable = this._observer.asObservable();\n\n constructor() {\n }\n\n get passChange(): Observable {\n return this._passChange;\n }\n\n setPassword(pass: string) {\n this._observer.next(pass);\n }\n}\n","import {Component, EventEmitter, OnInit, Output} from '@angular/core';\nimport {ExceptionMessageService} from \"../exception-message.service\";\nimport {PasswordService} from \"../password.service\";\nimport * as jquery from \"jquery\";\n\nconst $ = jquery;\n\n@Component({\n selector: 'gd-password-required',\n templateUrl: './password-required.component.html',\n styleUrls: ['./password-required.component.less']\n})\nexport class PasswordRequiredComponent implements OnInit {\n message: string;\n @Output() cancelEvent = new EventEmitter();\n\n constructor(messageService: ExceptionMessageService, private _passwordService: PasswordService) {\n messageService.messageChange.subscribe(message => this.message = message);\n }\n\n ngOnInit() {\n }\n\n setPassword(value: string) {\n this._passwordService.setPassword(value);\n }\n\n onCloseOpen($event: boolean) {\n if ($event) {\n setTimeout(() => {\n const element = $(\"#password\");\n if (element) {\n element.focus();\n }\n }, 100);\n } else {\n $(\"#password\").val(\"\");\n }\n }\n\n cancel($event: boolean) {\n $(\"#password\").val(\"\");\n this.cancelEvent.emit(true);\n }\n}\n","import {Injectable} from '@angular/core';\nimport {HttpErrorResponse, HttpEvent, HttpHandler, HttpInterceptor, HttpRequest} from \"@angular/common/http\";\nimport {Observable, throwError} from \"rxjs\";\nimport {catchError, map} from \"rxjs/operators\";\nimport {ExceptionMessageService} from \"./exception-message.service\";\nimport {HttpError} from \"./file.service\";\nimport {CommonModals, ModalService} from \"./modal.service\";\n\n@Injectable({\n providedIn: 'root'\n})\nexport class ErrorInterceptorService implements HttpInterceptor {\n\n public static ErrorMessageWindowName:string = CommonModals.ErrorMessage;\n\n constructor(private _modalService: ModalService, private _messageService: ExceptionMessageService) {\n }\n\n intercept(req: HttpRequest, next: HttpHandler): Observable> {\n const logFormat = 'background: maroon; color: white';\n\n return next.handle(req)\n .pipe(map(data => {\n return data;\n }),\n catchError((exception: HttpEvent) => {\n if (exception instanceof HttpErrorResponse) {\n switch (exception.status) {\n\n case HttpError.BadRequest:\n console.error('%c Bad Request 400', logFormat);\n break;\n case HttpError.Unauthorized:\n console.error('%c Unauthorized 401', logFormat);\n break;\n case HttpError.NotFound:\n console.error('%c Not Found 404', logFormat);\n break;\n case HttpError.TimeOut:\n console.error('%c TimeOut 408', logFormat);\n break;\n case HttpError.InternalServerError:\n console.error('%c big bad 500', logFormat);\n this._messageService.changeMessage(exception.error.message);\n this._messageService.changeHttpEvent(exception);\n this._modalService.open(ErrorInterceptorService.ErrorMessageWindowName);\n break;\n\n case HttpError.Forbidden:\n console.error('%c Forbidden 403', logFormat);\n this._messageService.changeMessage(exception.error.message);\n this._modalService.open(CommonModals.PasswordRequired);\n break;\n }\n }\n return throwError(exception);\n }));\n }\n}\n","import {Observable, Subject} from \"rxjs\";\n\nexport class SearchService {\n private _observer: Subject = new Subject();\n private readonly _textChange: Observable = this._observer.asObservable();\n\n private _observerCurrent: Subject = new Subject();\n private readonly _currentChange: Observable = this._observerCurrent.asObservable();\n\n private _observerTotal: Subject = new Subject();\n private readonly _totalChange: Observable = this._observerTotal.asObservable();\n\n constructor() {\n }\n\n get textChange(): Observable {\n return this._textChange;\n }\n\n setText(text: string) {\n this._observer.next(text);\n }\n\n get currentChange(): Observable {\n return this._currentChange;\n }\n\n get totalChange(): Observable {\n return this._totalChange;\n }\n\n setCurrent(current: number) {\n this._observerCurrent.next(current);\n }\n\n setTotal(total: number) {\n this._observerTotal.next(total);\n }\n}\n","import {AfterViewInit, Component, ElementRef, EventEmitter, OnInit, Output, ViewChild} from '@angular/core';\nimport {SearchService} from \"../search.service\";\n\n@Component({\n selector: 'gd-search',\n templateUrl: './search.component.html',\n styleUrls: ['./search.component.less']\n})\nexport class SearchComponent implements OnInit, AfterViewInit {\n\n @Output() hidePanel = new EventEmitter(false);\n\n current = 0;\n total = 0;\n\n @ViewChild('text',{\n static : true\n }) textElement: ElementRef;\n\n constructor(private _searchService: SearchService) {\n _searchService.totalChange.subscribe((total: number) => {\n this.total = total;\n if (total !== 0) {\n this.current = 1;\n } else {\n this.current = 0;\n }\n this._searchService.setCurrent(this.current);\n });\n }\n\n ngOnInit() {\n }\n\n setText(text: string) {\n this._searchService.setText(text);\n }\n\n hide() {\n this.setText('');\n this.hidePanel.emit(true);\n }\n\n prev() {\n if (this.current > 1) {\n this.current--;\n this._searchService.setCurrent(this.current);\n }\n }\n\n next() {\n if (this.current < this.total) {\n this.current++;\n this._searchService.setCurrent(this.current);\n }\n }\n\n ngAfterViewInit(): void {\n this.textElement.nativeElement.focus();\n }\n}\n","import {Directive, ElementRef} from '@angular/core';\nimport {SearchService} from \"./search.service\";\nimport {HighlightSearchPipe} from \"./pipes\";\nimport {ZoomService} from \"./zoom.service\";\nimport * as jquery from \"jquery\";\nconst $ = jquery;\n\n@Directive({\n selector: '[gdSearchable]'\n})\nexport class SearchableDirective {\n\n text: string;\n current = 0;\n total = 0;\n private zoom = 100;\n\n constructor(private _elementRef: ElementRef,\n private _searchService: SearchService,\n private _highlight: HighlightSearchPipe,\n private _zoomService: ZoomService) {\n _searchService.currentChange.subscribe((current: number) => {\n this.current = current;\n if (this.current !== 0) {\n this.moveToCurrent();\n }\n });\n\n _searchService.textChange.subscribe((text: string) => {\n this.text = text;\n this.highlightSearch();\n });\n\n this.zoom = _zoomService.zoom ? _zoomService.zoom : this.zoom;\n _zoomService.zoomChange.subscribe((val: number) => {\n this.zoom = val ? val : this.zoom;\n });\n }\n\n private highlightSearch() {\n const el = this._elementRef ? this._elementRef.nativeElement : null;\n if (el) {\n this.cleanHighlight(el);\n if (this.text) {\n this.highlightEl(el);\n const count = el.querySelectorAll('.gd-highlight').length;\n this.total = count;\n } else {\n this.total = 0;\n }\n this._searchService.setTotal(this.total);\n }\n }\n\n private moveToCurrent() {\n if (this.current === 0) {\n return;\n }\n const currentZoom = this.getZoom();\n const el = this._elementRef ? this._elementRef.nativeElement : null;\n if (el) {\n el.querySelectorAll('.gd-highlight-select').forEach(function (value) {\n $(value).removeClass('gd-highlight-select');\n });\n const currentEl = el.querySelectorAll('.gd-highlight')[this.current - 1];\n $(currentEl).addClass('gd-highlight-select');\n if (currentEl) {\n const options = {\n left: 0,\n top: ($(currentEl).offset().top) + el.parentElement.parentElement.scrollTop - 150,\n };\n // using polyfill\n el.parentElement.parentElement.scroll(options);\n }\n }\n }\n\n private highlightEl(el: Element) {\n const textNodes = $(el).find('*').contents().filter(function () {\n const nodeName = this.parentElement.nodeName.toLowerCase();\n const checkClass = (this).classList ? !(this).classList.contains('gd-highlight') : true;\n return this.nodeType === 3 &&\n this.textContent.trim().length !== 0 &&\n nodeName !== 'style' &&\n nodeName !== 'title' &&\n nodeName !== 'body' &&\n nodeName !== 'script' &&\n checkClass;\n });\n const text = this.text;\n const highlight = this._highlight;\n textNodes.each(function () {\n const $this = $(this);\n let content = $this.text();\n content = highlight.transform(content, text);\n $this.replaceWith(content);\n });\n el.normalize();\n }\n\n private cleanHighlight(el: HTMLElement) {\n const nodeListOf = el.querySelectorAll('.gd-highlight');\n for (let i = 0; i < nodeListOf.length; i++) {\n const element = nodeListOf.item(i);\n element.replaceWith((element).innerText);\n }\n el.normalize();\n }\n\n private getZoom() {\n return this.zoom / 100;\n }\n}\n","import {Component, Input, OnInit} from '@angular/core';\n\n@Component({\n selector: 'gd-tabbed-toolbars',\n templateUrl: './tabbed-toolbars.component.html',\n styleUrls: ['./tabbed-toolbars.component.less']\n})\nexport class TabbedToolbarsComponent implements OnInit {\n @Input() logo: string;\n @Input() icon: string;\n\n constructor() {\n }\n\n ngOnInit() {\n }\n\n}\n","import {Observable, Subject} from \"rxjs\";\n\nexport class TabActivatorService {\n private _observer: Subject = new Subject();\n private readonly _activeTabChange: Observable = this._observer.asObservable();\n\n constructor() {\n }\n\n get activeTabChange(): Observable {\n return this._activeTabChange;\n }\n\n changeActiveTab(tabId: string) {\n this._observer.next(tabId);\n }\n}\n","import {Component, Input, OnInit} from '@angular/core';\nimport {TabActivatorService} from \"../tab-activator.service\";\n\n@Component({\n selector: 'gd-tab',\n templateUrl: './tab.component.html',\n styleUrls: ['./tab.component.less']\n})\nexport class TabComponent implements OnInit {\n @Input() id: string;\n @Input() tabTitle: string;\n @Input() icon: string;\n @Input() disabled = false;\n @Input() active = false;\n @Input() content = true;\n\n constructor(private _tabActivatorService: TabActivatorService) {\n this._tabActivatorService.activeTabChange.subscribe((tabId: string) => {\n this.activation(tabId);\n });\n }\n\n private activation(tabId: string) {\n if (this.id === tabId) {\n this.active = true;\n } else {\n this.active = false;\n }\n }\n\n ngOnInit() {\n }\n\n selectTab() {\n if (this.disabled) {\n return;\n }\n this._tabActivatorService.changeActiveTab(this.id);\n }\n}\n","import {Component} from '@angular/core';\n\n@Component({\n selector: 'gd-tabs',\n templateUrl: './tabs.component.html',\n styleUrls: ['./tabs.component.less']\n})\nexport class TabsComponent {\n constructor() {\n }\n\n}\n","import {Observable, Subject} from \"rxjs\";\n\nexport class Formatting {\n constructor(fontSize: number, color: string, bgColor: string, bold: boolean, italic: boolean, underline: boolean, font: string, strikeout: boolean, align: string, list: string) {\n this.fontSize = fontSize;\n this.color = color;\n this.bgColor = bgColor;\n this.bold = bold;\n this.italic = italic;\n this.underline = underline;\n this.font = font;\n this.strikeout = strikeout;\n this.align = align;\n this.list = list;\n }\n\n bold: boolean;\n italic: boolean;\n underline: boolean;\n fontSize: number;\n color: string;\n bgColor: string;\n font: string;\n strikeout: boolean;\n align: string;\n list: string;\n\n public static default(): Formatting {\n return new Formatting(10, '#000000', '#FFFFFF', false, false, false, 'Arial', false, \"\", \"\");\n }\n}\n\nexport class FormattingService {\n private _observerBold: Subject = new Subject();\n private readonly _formatBoldChange: Observable = this._observerBold.asObservable();\n private _observerUnderline: Subject = new Subject();\n private readonly _formatUnderlineChange: Observable = this._observerUnderline.asObservable();\n private _observerUndo: Subject = new Subject();\n private readonly _undo: Observable = this._observerUndo.asObservable();\n private _observerRedo: Subject = new Subject();\n private readonly _redo: Observable = this._observerRedo.asObservable();\n private _observerItalic: Subject = new Subject();\n private readonly _formatItalicChange: Observable = this._observerItalic.asObservable();\n private _observerColor: Subject = new Subject();\n private readonly _formatColorChange: Observable = this._observerColor.asObservable();\n private _observerBgColor: Subject = new Subject();\n private readonly _formatBgColorChange: Observable = this._observerBgColor.asObservable();\n private _observerFontSize: Subject = new Subject();\n private readonly _formatFontSizeChange: Observable = this._observerFontSize.asObservable();\n private _observerFont: Subject = new Subject();\n private readonly _formatFontChange: Observable = this._observerFont.asObservable();\n private _observerStrikeout: Subject = new Subject();\n private readonly _formatStrikeoutChange: Observable = this._observerStrikeout.asObservable();\n private _observerAlign: Subject = new Subject();\n private readonly _formatAlignChange: Observable = this._observerAlign.asObservable();\n private _observerList: Subject = new Subject();\n private readonly _formatListChange: Observable = this._observerList.asObservable();\n\n constructor() {\n }\n\n get formatBoldChange() {\n return this._formatBoldChange;\n }\n\n get formatUnderlineChange() {\n return this._formatUnderlineChange;\n }\n\n get formatColorChange() {\n return this._formatColorChange;\n }\n\n get formatBgColorChange() {\n return this._formatBgColorChange;\n }\n\n get formatFontSizeChange() {\n return this._formatFontSizeChange;\n }\n\n get formatFontChange() {\n return this._formatFontChange;\n }\n\n get undo() {\n return this._undo;\n }\n\n get redo() {\n return this._redo;\n }\n\n get formatItalicChange() {\n return this._formatItalicChange;\n }\n\n get formatStrikeoutChange() {\n return this._formatStrikeoutChange;\n }\n\n get formatAlignChange() {\n return this._formatAlignChange;\n }\n\n get formatListChange() {\n return this._formatListChange;\n }\n\n static createFontSizeOption(val: number) {\n return {value: val, name: val + 'px', separator: false}\n }\n\n static getFontSizeOptions() {\n return [\n FormattingService.createFontSizeOption(8),\n FormattingService.createFontSizeOption(10),\n FormattingService.createFontSizeOption(12),\n FormattingService.createFontSizeOption(14),\n FormattingService.createFontSizeOption(16),\n FormattingService.createFontSizeOption(18),\n FormattingService.createFontSizeOption(20),\n FormattingService.createFontSizeOption(22),\n FormattingService.createFontSizeOption(24),\n ];\n }\n\n static createFontOption(val: string) {\n return {value: val, name: val, separator: false}\n }\n\n static getFontOptions() {\n const fonts = [\"Arial\", \"Calibri\", \"Century Gothic\", \"Comic Sans\", \"Consolas\", \"Courier\", \"Dejavu Sans\", \"Dejavu Serif\", \"Georgia\", \"Gill Sans\", \"Helvetica\", \"Impact\", \"Lucida Sans\",\n \"Myriad Pro\", \"Open Sans\", \"Palatino\", \"Tahoma\", \"Times New Roman\", \"Trebuchet\"];\n const fontOptions = [];\n fonts.forEach(font => {\n fontOptions.push(this.createFontOption(font));\n })\n\n return fontOptions;\n }\n\n changeFormatFontSize($event: number) {\n this._observerFontSize.next($event);\n }\n\n changeFormatBold(bold: boolean) {\n this._observerBold.next(bold);\n }\n\n changeFormatUnderline(underline: boolean) {\n this._observerUnderline.next(underline);\n }\n\n Undo() {\n this._observerUndo.next();\n }\n\n Redo() {\n this._observerRedo.next();\n }\n\n changeFormatItalic(italic: boolean) {\n this._observerItalic.next(italic);\n }\n\n changeFormatColor(color: string) {\n this._observerColor.next(color);\n }\n\n changeFormatBgColor(bgcolor: string) {\n this._observerBgColor.next(bgcolor);\n }\n\n changeFormatFont(font: string) {\n this._observerFont.next(font);\n }\n\n changeFormatStrikeout(strikeout: boolean) {\n this._observerStrikeout.next(strikeout);\n }\n\n changeFormatAlign(align: string) {\n this._observerAlign.next(align);\n }\n\n changeFormatList(list: string) {\n this._observerList.next(list);\n }\n}\n","import {Component, EventEmitter, Input, OnInit, Output} from '@angular/core';\n\nconst DEFAULT_COLORS = [\n '#000000', '#434343', '#666666', '#999999', '#B7B7B7', '#CCCCCC', '#D9D9D9', '#EFEFEF', '#F3F3F3', '#FFFFFF',\n '#980000', '#FF0000', '#FF9900', '#FFFF00', '#00FF00', '#00FFFF', '#4986E8', '#0000FF', '#9900FF', '#FF00FF',\n '#E6B8AF', '#F4CCCC', '#FDE5CD', '#FFF2CC', '#D9EAD3', '#D0E0E2', '#C9DAF8', '#CFE2F3', '#D9D2E9', '#EAD1DC',\n '#DD7E6B', '#EA9899', '#F9CB9C', '#FFE59A', '#B7D7A8', '#A2C4C9', '#A4C2F4', '#9FC5E8', '#B4A7D7', '#D5A6BD',\n '#CC4125', '#E06666', '#F6B26B', '#FFD966', '#92C47D', '#75A5AF', '#6D9EEB', '#6FA9DB', '#8E7CC3', '#C27BA0',\n '#A61C00', '#CC0000', '#E69138', '#F2C131', '#6AA84F', '#45818E', '#3C78D8', '#3C85C6', '#674EA7', '#A64D79',\n '#85200B', '#990000', '#B45F05', '#BF9000', '#37761D', '#144F5C', '#1254CC', '#0A5394', '#351C75', '#741B47',\n '#5B0F00', '#660000', '#783F03', '#7F6000', '#284E13', '#0B343D', '#1B4586', '#063763', '#20124D', '#4C1030',\n];\n\n@Component({\n selector: 'gd-color-picker',\n templateUrl: './color-picker.component.html',\n styleUrls: ['./color-picker.component.less']\n})\nexport class ColorPickerComponent implements OnInit {\n @Input() isOpen = false;\n @Output() selectedColor = new EventEmitter();\n @Output() closeOutside = new EventEmitter();\n colors: any = DEFAULT_COLORS;\n white = '#FFFFFF';\n\n constructor() {\n }\n\n ngOnInit() {\n }\n\n select($event, color: string) {\n $event.preventDefault();\n $event.stopPropagation();\n this.selectedColor.emit(color);\n }\n\n close() {\n this.isOpen = false;\n this.closeOutside.emit(true);\n }\n}\n","import {Injectable} from '@angular/core';\nimport {FormattingService} from \"./formatting.service\";\n\n@Injectable({\n providedIn: 'root'\n})\nexport class BackFormattingService extends FormattingService {\n\n constructor() {\n super();\n }\n}\n","import {Injectable} from '@angular/core';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class SelectionService {\n selection: Range;\n isIE = /*@cc_on!@*/false || !!/(MSIE|Trident\\/|Edge\\/)/i.test(navigator.userAgent);\n\n restoreSelection() {\n if(this.selection && !this.selection.collapsed || this.isIE){\n this.putSelection(this.selection );\n }\n }\n\n captureSelection() {\n const selection = window.getSelection();\n if (selection.rangeCount > 0) {\n this.selection = selection.getRangeAt(0);\n }\n }\n\n private putSelection(selection) {\n const sel = window.getSelection();\n sel.removeAllRanges();\n sel.addRange(selection.cloneRange());\n }\n\n refreshSelection() {\n this.captureSelection();\n this.restoreSelection();\n }\n}\n","import {Directive, HostListener, OnInit} from '@angular/core';\nimport {FormattingService} from \"./formatting.service\";\nimport {BackFormattingService} from \"./back-formatting.service\";\nimport * as jquery from 'jquery';\nconst $ = jquery;\nimport {SelectionService} from './selection.service';\n\n@Directive({\n selector: '[gdFormatting]'\n})\nexport class FormattingDirective implements OnInit {\n\n private bold = false;\n private italic = false;\n private underline = false;\n private color: string;\n private bgColor: string;\n private font: string;\n private strikeout = false;\n private align: string;\n private list: string;\n private isIE = false;\n\n constructor(private _formattingService: FormattingService,\n private _backFormattingService: BackFormattingService,\n private _selectionService: SelectionService) {\n this.isIE = /*@cc_on!@*/false || !!/(MSIE|Trident\\/|Edge\\/)/i.test(navigator.userAgent);\n }\n\n @HostListener('mouseup') mouseup() {\n\n this.bold = document.queryCommandState(\"bold\");\n this.strikeout = document.queryCommandState(\"strikeThrough\");\n this.italic = document.queryCommandState(\"italic\");\n this.bgColor = document.queryCommandValue(\"backColor\");\n this.underline = document.queryCommandState(\"underline\");\n this.align = this.checkJustify();\n this.list = this.checkList();\n\n //fix required by FireFox to get correct background color\n if (this.bgColor === \"transparent\") {\n this.bgColor = $(window.getSelection().focusNode.parentNode).css('background-color').toString();\n }\n this.font = document.queryCommandValue(\"FontName\").replace(/\"/g, '');\n if(this.font.split(\",\").length > 1){\n this.font = this.font.split(\",\")[0];\n }\n this.color = document.queryCommandValue(\"foreColor\");\n this._backFormattingService.changeFormatBold(this.bold);\n this._backFormattingService.changeFormatUnderline(this.underline);\n this._backFormattingService.changeFormatItalic(this.italic);\n this._backFormattingService.changeFormatColor(this.color);\n this._backFormattingService.changeFormatBgColor(this.bgColor);\n this._backFormattingService.changeFormatFontSize(this.reportFontSize());\n this._backFormattingService.changeFormatFont(this.font);\n this._backFormattingService.changeFormatStrikeout(this.strikeout);\n this._backFormattingService.changeFormatAlign(this.align);\n this._backFormattingService.changeFormatList(this.list);\n }\n\n private checkJustify() {\n let align = \"\";\n align = document.queryCommandState(\"justifyCenter\") ? \"center\" : align;\n align = document.queryCommandState(\"justifyFull\") ? \"full\" : align;\n align = document.queryCommandState(\"justifyLeft\") ? \"left\" : align;\n align = document.queryCommandState(\"justifyRight\") ? \"right\" : align;\n return align;\n }\n\n private checkList() {\n let list = \"\";\n list = document.queryCommandState(\"insertUnorderedList\") ? \"unordered\" : list;\n list = document.queryCommandState(\"insertOrderedList\") ? \"ordered\" : list;\n return list;\n }\n\n reportFontSize(): number {\n let containerEl, sel;\n if (window.getSelection) {\n sel = window.getSelection();\n if (sel.rangeCount) {\n containerEl = sel.getRangeAt(0).commonAncestorContainer;\n // Make sure we have an element rather than a text node\n if (containerEl.nodeType === 3) {\n containerEl = containerEl.parentNode;\n }\n }\n } else if ((sel = document.getSelection()) && sel.type !== \"Control\") {\n containerEl = sel.createRange().parentElement();\n }\n\n if (containerEl) {\n return parseInt(this.getComputedStyleProperty(containerEl, \"fontSize\").replace(\"px\", \"\"), 10);\n }\n }\n\n getComputedStyleProperty(el, propName) {\n if (window.getComputedStyle) {\n return window.getComputedStyle(el, null)[propName];\n } else if (el.currentStyle) {\n return el.currentStyle[propName];\n }\n }\n\n ngOnInit(): void {\n this._formattingService.undo.subscribe(() => {\n this.toggleUndo();\n });\n this._formattingService.redo.subscribe(() => {\n this.toggleRedo();\n });\n this._formattingService.formatBoldChange.subscribe((bold: boolean) => {\n this.bold = bold;\n this.toggleBold();\n });\n this._formattingService.formatUnderlineChange.subscribe((underline: boolean) => {\n this.underline = underline;\n this.toggleUnderline();\n });\n this._formattingService.formatItalicChange.subscribe((italic: boolean) => {\n this.italic = italic;\n this.toggleItalic();\n });\n this._formattingService.formatColorChange.subscribe(((color: string) => {\n this.color = color;\n this.setColor(color);\n }));\n this._formattingService.formatBgColorChange.subscribe(((bgcolor: string) => {\n this.bgColor = bgcolor;\n this.setBgColor(bgcolor);\n }));\n this._formattingService.formatFontSizeChange.subscribe(((fontSize: number) => {\n this.setFontSize(fontSize);\n }));\n\n this._formattingService.formatFontChange.subscribe(((font: string) => {\n this.font = font;\n this.setFont(font);\n }));\n this._formattingService.formatStrikeoutChange.subscribe((strikeout: boolean) => {\n this.strikeout = strikeout;\n this.toggleStrikeout();\n });\n this._formattingService.formatAlignChange.subscribe((align: string) => {\n this.align = align;\n this.toggleAlign(this.align);\n });\n this._formattingService.formatListChange.subscribe((list: string) => {\n const remove = this.list === list;\n this.list = list;\n this.toggleList(this.list, remove);\n });\n }\n\n private toggleBold() {\n document.execCommand(\"bold\");\n this._selectionService.refreshSelection();\n }\n\n private toggleUnderline() {\n document.execCommand(\"underline\");\n this._selectionService.refreshSelection();\n }\n\n private toggleItalic() {\n document.execCommand(\"italic\");\n this._selectionService.refreshSelection();\n }\n\n private setBgColor(bgColor: string) {\n document.execCommand(\"backColor\", false, bgColor);\n this._selectionService.refreshSelection();\n }\n\n private setColor(color: string) {\n document.execCommand(\"foreColor\", false, color);\n this._selectionService.refreshSelection();\n }\n\n private setFontSize(fontSize: number) {\n if (document.getSelection().toString()) {\n let spanString = \"\" +\n document.getSelection() + \"\";\n if (this.bold) {\n spanString = \"\" + spanString + \"\";\n }\n if (this.italic) {\n spanString = \"\" + spanString + \"\";\n }\n if (this.underline) {\n spanString = \"\" + spanString + \"\";\n }\n if (this.strikeout) {\n spanString = \"\" + spanString + \"\";\n }\n document.execCommand('insertHTML', false, spanString);\n } else {\n document.execCommand(\"fontsize\", false, \"7\");\n }\n this._selectionService.refreshSelection();\n }\n\n private toggleUndo() {\n document.execCommand(\"undo\");\n }\n\n private toggleRedo() {\n document.execCommand(\"redo\");\n }\n\n private setFont(font: string) {\n document.execCommand(\"fontName\", false, font);\n this._selectionService.refreshSelection();\n }\n\n private toggleStrikeout() {\n document.execCommand(\"strikeThrough\");\n this._selectionService.refreshSelection();\n }\n\n private toggleAlign(align: string) {\n if(this.isIE) {\n this.toggleAlignIE(align);\n return;\n }\n document.execCommand(\"styleWithCSS\", false, 'true');\n switch (align) {\n case 'center':\n document.execCommand('justifyCenter');\n break;\n case 'full':\n document.execCommand('justifyFull');\n break;\n case 'left':\n document.execCommand('justifyLeft');\n break;\n case 'right':\n document.execCommand('justifyRight');\n break;\n }\n this._selectionService.refreshSelection();\n }\n\n private toggleAlignIE(align: string) {\n this._selectionService.restoreSelection()\n this._selectionService.captureSelection()\n const selection = window.getSelection().focusNode.parentNode.parentNode;\n if(align === \"full\"){\n align = \"justify\";\n }\n $(selection).css(\"text-align\", align);\n this._selectionService.refreshSelection()\n }\n\n private toggleList(list: string, remove: boolean) {\n switch (list) {\n case 'unordered':\n document.execCommand('insertUnorderedList', remove);\n break;\n case 'ordered':\n document.execCommand('insertOrderedList', remove);\n break;\n }\n this._selectionService.refreshSelection();\n }\n}\n","import { Component, OnInit } from '@angular/core';\n\n@Component({\n selector: 'gd-success-modal',\n templateUrl: './success-modal.component.html',\n styleUrls: ['./success-modal.component.less']\n})\nexport class SuccessModalComponent implements OnInit {\n\n constructor() { }\n\n ngOnInit() {\n }\n\n}\n","import {Injectable} from '@angular/core';\nimport {Observable, Subject} from \"rxjs\";\n\n@Injectable({\n providedIn: 'root'\n})\nexport class EditHtmlService {\n private _observer: Subject = new Subject();\n private readonly _htmlContent: Observable = this._observer.asObservable();\n\n constructor() {\n }\n\n get observer(): Subject {\n return this._observer;\n }\n\n get htmlContent(): Observable {\n return this._htmlContent;\n }\n\n}\n","import {Directive, HostListener, Input} from '@angular/core';\nimport {SelectionService} from './selection.service';\nimport {EditHtmlService} from \"./edit-html.service\";\n\n@Directive({\n selector: '[gdEditor]'\n})\nexport class EditorDirective {\n @Input() text: any;\n\n private isIE: boolean = /*@cc_on!@*/false || !!/(MSIE|Trident\\/|Edge\\/)/i.test(navigator.userAgent);\n\n constructor(private _selectionService: SelectionService, private _htmlService: EditHtmlService) {\n }\n\n @HostListener('keyup', ['$event'])\n public onInput(event) {\n this.text = event.target;\n if(this.isIE){\n if (this.text.innerHTML) {\n const html = this.text.innerHTML.toString();\n this._htmlService.observer.next(html);\n }\n }\n }\n\n @HostListener('mouseleave', ['$event'])\n public onMouseleave(event) {\n this._selectionService.captureSelection();\n // this code is required to fix IE11 issue - it doesn't trigger blur event, since that we need to save updated HTML here\n if(this.isIE){\n this._htmlService.observer.next(event.target.innerHTML.toString());\n }\n }\n\n @HostListener('blur', ['$event'])\n public onBlur(event) {\n event.preventDefault();\n this._selectionService.restoreSelection();\n if (this.text.innerHTML) {\n const html = this.text.innerHTML.toString();\n this._htmlService.observer.next(html);\n } else {\n this._htmlService.observer.next(event.target.innerHTML.toString());\n }\n }\n}\n","import {EventEmitter, Injectable} from '@angular/core'\nimport {HttpRequest} from '@angular/common/http';\nimport {Api} from \"./config.service\";\n\n@Injectable()\nexport class LoadingMaskService {\n onLoadingChanged: EventEmitter = new EventEmitter();\n\n private stopList = [];\n private requests: HttpRequest[] = [];\n\n constructor() {\n this.stopList.push(Api.SAVE_TEXT);\n this.stopList.push(Api.SAVE_OPTICAL_CODE);\n this.stopList.push(Api.LOAD_DOCUMENT_PAGE);\n this.stopList.push(Api.LOAD_THUMBNAILS);\n this.stopList.push(Api.GET_FILE_STATUS);\n this.stopList.push(Api.LOAD_PRINT);\n }\n\n onRequestStart(req: HttpRequest): void {\n const stop = this.stopList.find(x => req.url.includes(x));\n if (!stop) {\n this.requests.push(req);\n this.notify();\n }\n }\n\n onRequestFinish(req: HttpRequest): void {\n const index = this.requests.indexOf(req);\n if (index !== -1) {\n this.requests.splice(index, 1);\n }\n this.notify();\n }\n\n addStopUrl(url: string) {\n this.stopList.push(url);\n }\n\n private notify(): void {\n this.onLoadingChanged.emit(this.requests.length !== 0);\n }\n}\n","import {AfterViewInit, Component, Input, OnInit} from '@angular/core';\nimport {LoadingMaskService} from \"../loading-mask.service\";\n\n@Component({\n selector: 'gd-loading-mask',\n templateUrl: './loading-mask.component.html',\n styleUrls: ['./loading-mask.component.less']\n})\n\nexport class LoadingMaskComponent implements OnInit, AfterViewInit {\n @Input() loadingMask = false;\n\n constructor(private _loadingMaskService: LoadingMaskService) {\n }\n\n ngOnInit() {\n }\n\n ngAfterViewInit() {\n this._loadingMaskService\n .onLoadingChanged\n .subscribe((loading: boolean) => this.loadingMask = loading);\n }\n}\n","import {Injectable} from '@angular/core';\nimport {HttpEvent, HttpHandler, HttpInterceptor, HttpRequest} from \"@angular/common/http\";\nimport {Observable} from \"rxjs\";\nimport {finalize} from 'rxjs/operators'\nimport {LoadingMaskService} from \"./loading-mask.service\";\n\n@Injectable({\n providedIn: 'root'\n})\nexport class LoadingMaskInterceptorService implements HttpInterceptor {\n\n constructor(private _loadingMaskService: LoadingMaskService) {\n }\n\n intercept(req: HttpRequest, next: HttpHandler): Observable> {\n this._loadingMaskService.onRequestStart(req);\n const callback = () => this._loadingMaskService.onRequestFinish(req);\n return next.handle(req).pipe( finalize( callback));\n }\n}\n","import {\n Component,\n EventEmitter,\n forwardRef,\n HostBinding,\n HostListener,\n Inject,\n Input,\n Output,\n ViewEncapsulation\n} from '@angular/core';\n\n\nconst horizontalAlignment = {\n center : {\n right: 'auto'\n },\n left : {\n right: '100%'\n },\n right : {\n right: '-100%'\n }\n};\n\nconst verticalAlignment = {\n center : {\n top : '0px',\n },\n top : {\n top : '-100%',\n right: '100%'\n },\n bottom : {\n top: 'autos'\n }\n};\n\n/**\n * DropDownToggleComponent\n */\n@Component({\n selector: 'gd-drop-down-toggle',\n template: '',\n styleUrls: ['./drop-down.component.less'],\n encapsulation : ViewEncapsulation.None\n})\nexport class DropDownToggleComponent{\n @HostListener('click',['$event'])\n click = (event: any) => this.dropdown.toggle(event);\n constructor(@Inject(forwardRef(() => DropDownComponent)) public dropdown) {}\n}\n\n/**\n * DropDownItemsComponent\n */\n@Component({\n selector: 'gd-drop-down-items',\n template: '
',\n styleUrls: ['./drop-down.component.less'],\n encapsulation : ViewEncapsulation.None\n})\nexport class DropDownItemsComponent{\n\n get horizontalAlign(){\n return horizontalAlignment[this.dropdown.getPlacement().h].right;\n }\n\n get verticalAlign(){\n return verticalAlignment[this.dropdown.getPlacement().v].top;\n }\n\n get isOpen(){\n return this.dropdown.open;\n }\n\n constructor(@Inject(forwardRef(() => DropDownComponent)) public dropdown) {}\n\n onClickOutside(event : Event ){\n this.dropdown.close();\n }\n}\n\n/**\n * DropDownItemComponent\n */\n@Component({\n selector: 'gd-drop-down-item',\n template: '
',\n styleUrls: ['./drop-down.component.less'],\n})\nexport class DropDownItemComponent{\n @HostBinding('class')\n class = 'drop-down-item';\n\n @Output()\n selected = new EventEmitter();\n\n @HostListener('click')\n click = () => this.selectEntry();\n\n constructor(@Inject(forwardRef(() => DropDownComponent)) public dropdown) {}\n\n selectEntry(){\n this.selected.next();\n this.dropdown.close();\n }\n}\n\n/**\n * DropDownComponent\n */\n@Component({\n selector: 'gd-drop-down',\n template: '
',\n styleUrls: ['./drop-down.component.less'],\n encapsulation : ViewEncapsulation.None\n})\nexport class DropDownComponent{\n @Input()\n placement = {\n h: \"center\",\n v: \"bottom\"\n };\n\n\n @Input()\n @HostBinding('class.show')\n open = false;\n\n @HostBinding('class')\n class = 'drop-down';\n\n close(){\n this.open = false;\n }\n\n toggle(event : MouseEvent){\n event.stopPropagation();\n this.open = !this.open;\n document.body.click();\n }\n\n getPlacement(){\n return this.placement;\n }\n}\n","import {Component, Input, OnInit} from '@angular/core';\n\n@Component({\n selector: 'gd-left-side-bar',\n templateUrl: './left-side-bar.component.html',\n styleUrls: ['./left-side-bar.component.less']\n})\nexport class LeftSideBarComponent implements OnInit {\n @Input() showSpinner = false;\n\n constructor() {\n }\n\n ngOnInit() {\n }\n\n}\n","import {Directive, EventEmitter, HostListener, Input, Output} from '@angular/core';\n\n@Directive({\n selector: '[gdTooltip]'\n})\nexport class TooltipDirective {\n\n @Output() showToolTip = new EventEmitter();\n\n constructor() {\n }\n\n @HostListener('mouseenter')\n public onHovering() {\n this.showToolTip.emit(true);\n }\n\n @HostListener('mouseleave')\n public onUnhovering() {\n this.showToolTip.emit(false);\n }\n\n}\n","import {\n ApplicationRef,\n ComponentFactoryResolver,\n Injectable,\n ViewContainerRef\n} from '@angular/core';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class AddDynamicComponentService {\n\n constructor(private _factoryResolver: ComponentFactoryResolver,\n private _appRef: ApplicationRef) {\n }\n\n addDynamicComponent(viewContainerRef: ViewContainerRef, component: any) {\n const factory = this._factoryResolver.resolveComponentFactory(component);\n const componentRef = viewContainerRef.createComponent(factory);\n\n componentRef.onDestroy(() => {\n this._appRef.detachView(componentRef.hostView);\n });\n\n return componentRef;\n }\n\n}\n","import {HostDynamicDirective} from \"./host-dynamic.directive\";\n\nexport class HostingDynamicComponentService {\n private hosts: HostDynamicDirective[];\n\n constructor() {\n this.hosts = [];\n }\n\n add(host: HostDynamicDirective) {\n this.hosts = this.hosts.filter(function (h) {\n return h.ident !== host.ident;\n });\n this.hosts.push(host);\n }\n\n remove(host: HostDynamicDirective) {\n this.hosts = this.hosts.filter(function (h) {\n return h.ident !== host.ident;\n });\n }\n\n find(ident: number) {\n return this.hosts.find(function (h) {\n return h.ident === ident;\n });\n }\n}\n","import {AfterViewInit, Directive, Input, OnDestroy, ViewContainerRef} from '@angular/core';\nimport {HostingDynamicComponentService} from \"./hosting-dynamic-component.service\";\n\n@Directive({\n selector: '[gdHostDynamic]'\n})\nexport class HostDynamicDirective implements AfterViewInit, OnDestroy {\n @Input() ident: number;\n\n constructor(public viewContainerRef: ViewContainerRef,\n private _hostingService: HostingDynamicComponentService) {\n }\n\n ngAfterViewInit(): void {\n this._hostingService.add(this);\n }\n\n ngOnDestroy(): void {\n this._hostingService.remove(this);\n this.viewContainerRef.clear();\n }\n\n}\n","import {AfterViewInit, Component, EventEmitter, Input, OnInit, Output} from '@angular/core';\nimport * as jquery from \"jquery\";\nimport {Utils} from \"../file.service\";\n\nconst $ = jquery;\n\n@Component({\n selector: 'gd-resizing',\n templateUrl: './resizing.component.html',\n styleUrls: ['./resizing.component.less']\n})\nexport class ResizingComponent implements OnInit, AfterViewInit {\n\n @Input() init: boolean;\n @Input() id: number;\n @Input() se = false;\n @Input() ne = false;\n @Input() sw = false;\n @Input() nw = false;\n @Input() pageWidth: number;\n @Input() pageHeight: number;\n SE = 'se';\n NE = 'ne';\n SW = 'sw';\n NW = 'nw';\n\n @Output() offsetX = new EventEmitter();\n @Output() offsetY = new EventEmitter();\n @Output() offsetTop = new EventEmitter();\n @Output() offsetLeft = new EventEmitter();\n @Output() release = new EventEmitter();\n\n private grab = false;\n private oldPosition: { x: number, y: number };\n\n constructor() {\n }\n\n ngAfterViewInit(): void {\n const elSE = $(this.getElementId(this.SE));\n const elNW = $(this.getElementId(this.NW));\n if (this.init && elSE && elNW && elSE.offset() && elNW.offset()) {\n let width = elSE.offset().left - elNW.offset().left;\n let height = elSE.offset().top - elNW.offset().top;\n while (width >= this.pageWidth || height >= this.pageHeight) {\n width = width / 2;\n height = height / 2;\n }\n setTimeout(() => {\n this.offsetX.emit(width);\n this.offsetY.emit(height);\n }, 100);\n }\n }\n\n ngOnInit() {\n }\n\n catchUp($event: DragEvent) {\n // ff\n $event.preventDefault();\n if ($event.dataTransfer) { // ff\n $event.dataTransfer.setData('text', 'foo');\n }\n this.grab = true;\n this.oldPosition = Utils.getMousePosition($event);\n }\n\n resize($event: DragEvent, el: string) {\n if (!this.grab) {\n return;\n }\n const position = Utils.getMousePosition($event);\n if (position.x === 0 && position.y === 0) {\n return;\n }\n const notSW = this.NE === el || this.NW === el;\n const notNE = this.SW === el || this.NW === el;\n this.setOffsets(position, notNE, notSW);\n if (notSW) {\n this.offsetTop.emit(position.y - this.oldPosition.y);\n }\n if (notNE) {\n this.offsetLeft.emit(position.x - this.oldPosition.x);\n }\n this.oldPosition = position;\n }\n\n private setOffsets(position, x: boolean, y: boolean) {\n const offsetX = x ? this.oldPosition.x - position.x : position.x - this.oldPosition.x;\n const offsetY = y ? this.oldPosition.y - position.y : position.y - this.oldPosition.y;\n this.offsetX.emit(offsetX);\n this.offsetY.emit(offsetY);\n }\n\n end($event: DragEvent, el: string) {\n // ff\n this.resize($event, el);\n this.release.emit(true);\n this.grab = false;\n }\n\n start($event: DragEvent) {\n this.drop($event);\n }\n\n drop($event: DragEvent) {\n $event.stopPropagation();\n $event.preventDefault();\n }\n\n private getElementId(el: string) {\n return \"#\" + el + \"-\" + this.id;\n }\n}\n","import {TabActivatorService} from \"./tab-activator.service\";\n\nexport class TopTabActivatorService extends TabActivatorService {\n\n constructor() {\n super();\n }\n}\n","import {Component, EventEmitter, Input, OnInit, Output} from '@angular/core';\nimport {ExceptionMessageService} from \"../exception-message.service\";\nimport {TopTabActivatorService} from \"../top-tab-activator.service\";\nimport {ModalService, CommonModals} from \"../modal.service\";\n\n@Component({\n selector: 'gd-top-tab',\n templateUrl: './top-tab.component.html',\n styleUrls: ['./top-tab.component.less']\n})\nexport class TopTabComponent implements OnInit {\n @Input() id: string;\n @Input() icon: string;\n @Input() disabled = false;\n @Input() tooltip: string;\n @Output() activeTab = new EventEmitter();\n @Input() elementPosition = 0;\n public active = false;\n public showToolTip = false;\n\n constructor(private _tabActivatorService: TopTabActivatorService,\n private _modalService: ModalService,\n private _excMessageService: ExceptionMessageService) {\n this._tabActivatorService.activeTabChange.subscribe((tabId: string) => {\n this.activation(tabId);\n if (tabId === null) {\n this.activeTab.emit(\"\");\n }\n });\n }\n\n private activation(tabId: string) {\n if (this.id === tabId) {\n this.active = !this.active;\n if (this.active) {\n this.activeTab.emit(this.id);\n } else {\n this.activeTab.emit(\"\");\n }\n } else {\n this.active = false;\n }\n }\n\n ngOnInit() {\n }\n\n toggleTab() {\n if (this.disabled) {\n this._modalService.open(CommonModals.ErrorMessage);\n this._excMessageService.changeMessage(\"Please open document first\");\n return;\n }\n this._tabActivatorService.changeActiveTab(this.id);\n }\n\n}\n","import {Component, EventEmitter, Input, OnInit, Output, ElementRef, Renderer2} from '@angular/core';\nimport * as jquery from 'jquery';\nimport {FormattingService} from \"../formatting.service\";\nimport {OnCloseService} from \"../on-close.service\";\nimport {Option} from \"../select/select.component\";\nimport { ZoomService } from '../zoom.service';\nimport { WindowService } from '../window.service';\n\nconst $ = jquery;\n\n@Component({\n selector: 'gd-text-menu',\n templateUrl: './text-menu.component.html',\n styleUrls: ['./text-menu.component.less']\n})\nexport class TextMenuComponent implements OnInit {\n @Input() blur: boolean;\n @Input() fontSize: number;\n @Input() font: string;\n @Input() bold: boolean;\n @Input() italic: boolean;\n @Input() underline: boolean;\n @Input() color: string;\n @Input() decoration = true;\n @Input() showTooltips = true;\n\n @Output() outFontSize = new EventEmitter();\n @Output() outFont = new EventEmitter();\n @Output() outBold = new EventEmitter();\n @Output() outItalic = new EventEmitter();\n @Output() outUnderline = new EventEmitter();\n @Output() outColor = new EventEmitter();\n\n fontSizeOptions = FormattingService.getFontSizeOptions();\n fontOptions = FormattingService.getFontOptions();\n colorPickerShow = false;\n\n isMobile: boolean;\n\n constructor(private _onCloseService: OnCloseService,\n private _zoomService: ZoomService,\n private _windowService: WindowService,\n protected _elementRef: ElementRef,\n private renderer: Renderer2) {\n \n _onCloseService.onClose.subscribe(() => {\n this.colorPickerShow = false;\n });\n\n this.isMobile = _windowService.isMobile();\n _windowService.onResize.subscribe((w) => {\n this.isMobile = _windowService.isMobile();\n });\n\n _zoomService.zoomChange.subscribe((val: number) => {\n if (this.isMobile)\n {\n this.changePosition(val);\n }\n });\n }\n\n ngOnInit() {\n }\n\n changePosition(val: number) {\n const top = (window.innerHeight - 24 - this._elementRef.nativeElement.parentElement.getBoundingClientRect().top - this._elementRef.nativeElement.parentElement.getBoundingClientRect().height);\n const left = this._elementRef.nativeElement.parentElement.getBoundingClientRect().left;\n this.renderer.setStyle(this._elementRef.nativeElement.querySelector('.gd-text-menu'), 'width', window.innerWidth + 'px');\n this.renderer.setStyle(this._elementRef.nativeElement.querySelector('.gd-text-menu'), 'top', top + 'px');\n this.renderer.setStyle(this._elementRef.nativeElement.querySelector('.gd-text-menu'), 'left', -left + 'px');\n }\n\n selectFontSize($event: Option) {\n $(\".gd-wrapper\").off(\"keyup\");\n this.outFontSize.emit($event.value);\n $(\".gd-wrapper\").on(\"keyup\", () => {\n const fontElements = document.getElementsByTagName(\"font\");\n for (let i = 0, len = fontElements.length; i < len; ++i) {\n if (fontElements[i].getAttribute('size') === \"7\") {\n fontElements[i].removeAttribute(\"size\");\n fontElements[i].style.fontSize = $event + \"px\";\n }\n }\n });\n }\n\n selectFont($event: Option) {\n event.preventDefault();\n event.stopPropagation();\n this.outFont.emit($event.value);\n }\n\n toggleColorPicker($event) {\n $event.preventDefault();\n $event.stopPropagation();\n this.colorPickerShow = !this.colorPickerShow;\n }\n\n selectColor($event: string) {\n this.colorPickerShow = false;\n this.outColor.emit($event);\n }\n\n toggleBold(event) {\n event.preventDefault();\n event.stopPropagation();\n this.outBold.emit(!this.bold);\n }\n\n toggleItalic(event) {\n event.preventDefault();\n event.stopPropagation();\n this.outItalic.emit(!this.italic);\n }\n\n toggleUnderline(event) {\n event.preventDefault();\n event.stopPropagation();\n this.outUnderline.emit(!this.underline);\n }\n\n closePicker($event) {\n this.colorPickerShow = !$event;\n }\n}\n","import {Component, EventEmitter, Input, OnInit, Output, Renderer2, ElementRef} from '@angular/core';\nimport {Formatting} from \"../formatting.service\";\nimport {WindowService} from \"../window.service\";\nimport { ZoomService } from '../zoom.service';\n\nexport class MenuType {\n public static FOR_SIGNATURE = \"signature\";\n public static FOR_ANNOTATION = \"annotation\";\n}\n\n@Component({\n selector: 'gd-context-menu',\n templateUrl: './context-menu.component.html',\n styleUrls: ['./context-menu.component.less']\n})\nexport class ContextMenuComponent implements OnInit {\n @Input() formatting: Formatting = Formatting.default();\n @Input() textMenu: boolean;\n @Input() topPosition: number;\n @Input() lock = false;\n @Input() translation = 0;\n @Input() menuType: string;\n @Output() changeFormatting = new EventEmitter();\n @Output() removeItem = new EventEmitter();\n @Output() copySign = new EventEmitter();\n @Output() lockOut = new EventEmitter();\n @Output() comment = new EventEmitter();\n\n isMobile: boolean;\n\n constructor(private _windowService: WindowService,\n private _zoomService: ZoomService,\n protected _elementRef: ElementRef,\n private renderer: Renderer2) {\n this.isMobile = _windowService.isMobile();\n _windowService.onResize.subscribe((w) => {\n this.isMobile = _windowService.isMobile();\n });\n\n _zoomService.zoomChange.subscribe((val: number) => {\n if (this.isMobile)\n {\n this.changeScale(val);\n }\n });\n }\n\n ngOnInit() {\n }\n\n changeScale(val: number){\n this.renderer.setStyle(this._elementRef.nativeElement.querySelector('.gd-context-menu'), 'transform', 'scale(' + 1/(val/100) + ')');\n }\n\n saveChanges() {\n this.changeFormatting.emit(this.formatting);\n }\n\n selectFontSize($event: number) {\n this.formatting.fontSize = $event;\n this.saveChanges();\n }\n\n selectFont($event: string) {\n this.formatting.font = $event;\n this.saveChanges();\n }\n\n selectColor($event: string) {\n this.formatting.color = $event;\n this.saveChanges();\n }\n\n toggleBold($event) {\n this.formatting.bold = $event;\n this.saveChanges();\n }\n\n toggleItalic($event) {\n this.formatting.italic = $event;\n this.saveChanges();\n }\n\n toggleUnderline($event) {\n this.formatting.underline = $event;\n this.saveChanges();\n }\n\n deleteItem() {\n this.removeItem.emit(true);\n }\n\n toggleLock() {\n this.lock = !this.lock;\n this.lockOut.emit(this.lock);\n }\n\n onCopySign() {\n this.copySign.emit(true);\n }\n\n isSignature() {\n return this.menuType === MenuType.FOR_SIGNATURE;\n }\n\n isAnnotation() {\n return this.menuType === MenuType.FOR_ANNOTATION;\n }\n\n addComment() {\n this.comment.emit(true);\n }\n}\n","import {NgModule} from '@angular/core';\nimport {CommonModule} from '@angular/common';\nimport {TopToolbarComponent} from './top-toolbar/top-toolbar.component';\nimport {SidePanelComponent} from './side-panel/side-panel.component';\nimport {ButtonComponent} from './button/button.component';\nimport {LogoComponent} from './logo/logo.component';\nimport {TooltipComponent} from './tooltip/tooltip.component';\nimport {FontAwesomeModule} from '@fortawesome/angular-fontawesome';\nimport {library} from '@fortawesome/fontawesome-svg-core';\nimport {fas} from '@fortawesome/free-solid-svg-icons';\nimport {far} from '@fortawesome/free-regular-svg-icons';\nimport {Api, ConfigService,} from \"./config.service\";\nimport {ModalService} from \"./modal.service\";\nimport {ModalComponent} from './modal/modal.component';\nimport {BrowseFilesModalComponent} from './browse-files-modal/browse-files-modal.component';\nimport {FileModel, FileService, FileUtil, Utils} from \"./file.service\";\nimport {DocumentComponent} from './document/document.component';\nimport {PageComponent} from './page/page.component';\nimport {HighlightSearchPipe, SanitizeHtmlPipe, SanitizeResourceHtmlPipe, SanitizeStylePipe} from \"./pipes\";\nimport {UploadFileZoneComponent} from './upload-file-zone/upload-file-zone.component';\nimport {UploadFilesService} from \"./upload-files.service\";\nimport {DndDirective} from './dnd.directive';\nimport {ScrollableDirective} from './scrollable.directive';\nimport {MouseWheelDirective} from './mousewheel.directive';\nimport {NavigateService} from \"./navigate.service\";\nimport {PagePreloadService} from \"./page-preload.service\";\nimport {ZoomDirective} from './zoom.directive';\nimport {ZoomService} from \"./zoom.service\";\nimport {SelectComponent} from './select/select.component';\nimport {DisabledCursorDirective} from './disabled-cursor.directive';\nimport {RotationDirective} from './rotation.directive';\nimport {InitStateComponent} from './init-state/init-state.component';\nimport {RenderPrintService} from \"./render-print.service\";\nimport {RenderPrintDirective} from './render-print.directive';\nimport {ErrorModalComponent} from './error-modal/error-modal.component';\nimport {PasswordRequiredComponent} from './password-required/password-required.component';\nimport {ExceptionMessageService} from \"./exception-message.service\";\nimport {PasswordService} from \"./password.service\";\nimport {ErrorInterceptorService} from \"./error-interceptor.service\";\nimport {SearchComponent} from './search/search.component';\nimport {SearchableDirective} from './searchable.directive';\nimport {SearchService} from \"./search.service\";\nimport {WindowService} from \"./window.service\";\nimport {ViewportService} from \"./viewport.service\";\nimport {TabbedToolbarsComponent} from './tabbed-toolbars/tabbed-toolbars.component';\nimport {TabComponent} from \"./tab/tab.component\";\nimport {TabsComponent} from \"./tabs/tabs.component\";\nimport {FormattingService} from \"./formatting.service\";\nimport {ColorPickerComponent} from './color-picker/color-picker.component';\nimport {FormattingDirective} from './formatting.directive';\nimport {BackFormattingService} from \"./back-formatting.service\";\nimport {OnCloseService} from \"./on-close.service\";\nimport {SuccessModalComponent} from './success-modal/success-modal.component';\nimport {EditorDirective} from './editor.directive';\nimport {LoadingMaskComponent} from './loading-mask/loading-mask.component';\nimport {LoadingMaskService} from './loading-mask.service';\nimport {LoadingMaskInterceptorService} from \"./loading-mask-interceptor.service\";\nimport {TabActivatorService} from \"./tab-activator.service\";\nimport {\n DropDownComponent,\n DropDownItemComponent,\n DropDownItemsComponent,\n DropDownToggleComponent\n} from './drop-down/drop-down.component';\nimport {ClickOutsideModule} from 'ng-click-outside';\nimport {LeftSideBarComponent} from './left-side-bar/left-side-bar.component';\nimport {TooltipDirective} from './tooltip.directive';\nimport {AddDynamicComponentService} from \"./add-dynamic-component.service\";\nimport {HostDynamicDirective} from './host-dynamic.directive';\nimport {HostingDynamicComponentService} from \"./hosting-dynamic-component.service\";\nimport {ResizingComponent} from './resizing/resizing.component';\nimport {TopTabComponent} from './top-tab/top-tab.component';\nimport {TopTabActivatorService} from \"./top-tab-activator.service\";\nimport {TextMenuComponent} from './text-menu/text-menu.component';\nimport {ContextMenuComponent} from './context-menu/context-menu.component';\n\nconst providers = [ConfigService,\n Api,\n ModalService,\n FileService,\n FileModel,\n FileUtil,\n Utils,\n SanitizeHtmlPipe,\n SanitizeResourceHtmlPipe,\n SanitizeStylePipe,\n HighlightSearchPipe,\n UploadFilesService,\n RenderPrintService,\n NavigateService,\n PagePreloadService,\n ZoomService,\n ExceptionMessageService,\n PasswordService,\n ErrorInterceptorService,\n SearchService,\n WindowService,\n ViewportService,\n FormattingService,\n BackFormattingService,\n OnCloseService,\n LoadingMaskInterceptorService,\n LoadingMaskService,\n TabActivatorService,\n AddDynamicComponentService,\n HostingDynamicComponentService,\n TopTabActivatorService];\n\n@NgModule({\n imports: [CommonModule, FontAwesomeModule, ClickOutsideModule],\n declarations: [\n TopToolbarComponent,\n SidePanelComponent,\n ButtonComponent,\n LogoComponent,\n TooltipComponent,\n ModalComponent,\n BrowseFilesModalComponent,\n DocumentComponent,\n PageComponent,\n SanitizeHtmlPipe,\n SanitizeResourceHtmlPipe,\n SanitizeStylePipe,\n HighlightSearchPipe,\n UploadFileZoneComponent,\n DndDirective,\n ScrollableDirective,\n MouseWheelDirective,\n ZoomDirective,\n SelectComponent,\n DisabledCursorDirective,\n RotationDirective,\n InitStateComponent,\n RenderPrintDirective,\n ErrorModalComponent,\n PasswordRequiredComponent,\n SearchComponent,\n SearchableDirective,\n TabbedToolbarsComponent,\n TabComponent,\n TabsComponent,\n ColorPickerComponent,\n FormattingDirective,\n SuccessModalComponent,\n EditorDirective,\n LoadingMaskComponent,\n DropDownComponent,\n DropDownItemComponent,\n DropDownItemsComponent,\n DropDownToggleComponent,\n LeftSideBarComponent,\n TooltipDirective,\n HostDynamicDirective,\n ResizingComponent,\n TopTabComponent,\n TextMenuComponent,\n ContextMenuComponent\n ],\n exports: [\n TopToolbarComponent,\n SidePanelComponent,\n ButtonComponent,\n LogoComponent,\n TooltipComponent,\n ModalComponent,\n BrowseFilesModalComponent,\n DocumentComponent,\n PageComponent,\n SanitizeResourceHtmlPipe,\n SanitizeStylePipe,\n HighlightSearchPipe,\n SanitizeHtmlPipe,\n UploadFileZoneComponent,\n ScrollableDirective,\n MouseWheelDirective,\n SelectComponent,\n RotationDirective,\n InitStateComponent,\n RenderPrintDirective,\n ErrorModalComponent,\n PasswordRequiredComponent,\n SearchComponent,\n SearchableDirective,\n TabbedToolbarsComponent,\n TabComponent,\n TabsComponent,\n ColorPickerComponent,\n FormattingDirective,\n SuccessModalComponent,\n LoadingMaskComponent,\n DndDirective,\n DropDownComponent,\n DropDownItemComponent,\n DropDownItemsComponent,\n DropDownToggleComponent,\n ZoomDirective,\n DropDownToggleComponent,\n LeftSideBarComponent,\n TooltipDirective,\n HostDynamicDirective,\n ResizingComponent,\n TopTabComponent,\n TextMenuComponent,\n ContextMenuComponent\n ],\n providers: providers\n})\nexport class CommonComponentsModule {\n constructor() {\n library.add(fas, far);\n }\n}\n"],"names":["tslib_1.__extends","$","tslib_1.__values"],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"groupdocs.examples.angular-common-components.js","sources":["ng://@groupdocs.examples.angular/common-components/lib/top-toolbar/top-toolbar.component.ts","ng://@groupdocs.examples.angular/common-components/lib/side-panel/side-panel.component.ts","ng://@groupdocs.examples.angular/common-components/lib/window.service.ts","ng://@groupdocs.examples.angular/common-components/lib/button/button.component.ts","ng://@groupdocs.examples.angular/common-components/lib/logo/logo.component.ts","ng://@groupdocs.examples.angular/common-components/lib/tooltip/tooltip.component.ts","ng://@groupdocs.examples.angular/common-components/lib/config.service.ts","ng://@groupdocs.examples.angular/common-components/lib/modal.service.ts","ng://@groupdocs.examples.angular/common-components/lib/modal/modal.component.ts","ng://@groupdocs.examples.angular/common-components/lib/file.service.ts","ng://@groupdocs.examples.angular/common-components/lib/upload-files.service.ts","ng://@groupdocs.examples.angular/common-components/lib/browse-files-modal/browse-files-modal.component.ts","ng://@groupdocs.examples.angular/common-components/lib/zoom.service.ts","ng://@groupdocs.examples.angular/common-components/lib/page-preload.service.ts","ng://@groupdocs.examples.angular/common-components/lib/navigate.service.ts","ng://@groupdocs.examples.angular/common-components/lib/document/document.component.ts","ng://@groupdocs.examples.angular/common-components/lib/page/page.component.ts","ng://@groupdocs.examples.angular/common-components/lib/pipes.ts","ng://@groupdocs.examples.angular/common-components/lib/upload-file-zone/upload-file-zone.component.ts","ng://@groupdocs.examples.angular/common-components/lib/dnd.directive.ts","ng://@groupdocs.examples.angular/common-components/lib/viewport.service.ts","ng://@groupdocs.examples.angular/common-components/lib/scrollable.directive.ts","ng://@groupdocs.examples.angular/common-components/lib/mousewheel.directive.ts","ng://@groupdocs.examples.angular/common-components/lib/zoom.directive.ts","ng://@groupdocs.examples.angular/common-components/lib/on-close.service.ts","ng://@groupdocs.examples.angular/common-components/lib/select/select.component.ts","ng://@groupdocs.examples.angular/common-components/lib/disabled-cursor.directive.ts","ng://@groupdocs.examples.angular/common-components/lib/rotation.directive.ts","ng://@groupdocs.examples.angular/common-components/lib/init-state/init-state.component.ts","ng://@groupdocs.examples.angular/common-components/lib/render-print.service.ts","ng://@groupdocs.examples.angular/common-components/lib/render-print.directive.ts","ng://@groupdocs.examples.angular/common-components/lib/exception-message.service.ts","ng://@groupdocs.examples.angular/common-components/lib/error-modal/error-modal.component.ts","ng://@groupdocs.examples.angular/common-components/lib/password.service.ts","ng://@groupdocs.examples.angular/common-components/lib/password-required/password-required.component.ts","ng://@groupdocs.examples.angular/common-components/lib/error-interceptor.service.ts","ng://@groupdocs.examples.angular/common-components/lib/search.service.ts","ng://@groupdocs.examples.angular/common-components/lib/search/search.component.ts","ng://@groupdocs.examples.angular/common-components/lib/searchable.directive.ts","ng://@groupdocs.examples.angular/common-components/lib/tabbed-toolbars/tabbed-toolbars.component.ts","ng://@groupdocs.examples.angular/common-components/lib/tab-activator.service.ts","ng://@groupdocs.examples.angular/common-components/lib/tab/tab.component.ts","ng://@groupdocs.examples.angular/common-components/lib/tabs/tabs.component.ts","ng://@groupdocs.examples.angular/common-components/lib/formatting.service.ts","ng://@groupdocs.examples.angular/common-components/lib/color-picker/color-picker.component.ts","ng://@groupdocs.examples.angular/common-components/lib/back-formatting.service.ts","ng://@groupdocs.examples.angular/common-components/lib/selection.service.ts","ng://@groupdocs.examples.angular/common-components/lib/formatting.directive.ts","ng://@groupdocs.examples.angular/common-components/lib/success-modal/success-modal.component.ts","ng://@groupdocs.examples.angular/common-components/lib/edit-html.service.ts","ng://@groupdocs.examples.angular/common-components/lib/editor.directive.ts","ng://@groupdocs.examples.angular/common-components/lib/loading-mask.service.ts","ng://@groupdocs.examples.angular/common-components/lib/loading-mask/loading-mask.component.ts","ng://@groupdocs.examples.angular/common-components/lib/loading-mask-interceptor.service.ts","ng://@groupdocs.examples.angular/common-components/lib/drop-down/drop-down.component.ts","ng://@groupdocs.examples.angular/common-components/lib/left-side-bar/left-side-bar.component.ts","ng://@groupdocs.examples.angular/common-components/lib/tooltip.directive.ts","ng://@groupdocs.examples.angular/common-components/lib/add-dynamic-component.service.ts","ng://@groupdocs.examples.angular/common-components/lib/hosting-dynamic-component.service.ts","ng://@groupdocs.examples.angular/common-components/lib/host-dynamic.directive.ts","ng://@groupdocs.examples.angular/common-components/lib/resizing/resizing.component.ts","ng://@groupdocs.examples.angular/common-components/lib/top-tab-activator.service.ts","ng://@groupdocs.examples.angular/common-components/lib/top-tab/top-tab.component.ts","ng://@groupdocs.examples.angular/common-components/lib/text-menu/text-menu.component.ts","ng://@groupdocs.examples.angular/common-components/lib/context-menu/context-menu.component.ts","ng://@groupdocs.examples.angular/common-components/lib/common-components.module.ts"],"sourcesContent":["import {Component, Input} from '@angular/core';\r\n\r\n@Component({\r\n selector: 'gd-top-toolbar',\r\n templateUrl: './top-toolbar.component.html',\r\n styleUrls: ['./top-toolbar.component.less']\r\n})\r\nexport class TopToolbarComponent {\r\n\r\n constructor() {\r\n }\r\n}\r\n","import {Component, EventEmitter, Input, Output} from '@angular/core';\r\n\r\n@Component({\r\n selector: 'gd-side-panel',\r\n templateUrl: './side-panel.component.html',\r\n styleUrls: ['./side-panel.component.less']\r\n})\r\n\r\nexport class SidePanelComponent {\r\n @Input() title: string;\r\n @Input() icon: string;\r\n @Input() closable = true;\r\n @Input() saveable = true;\r\n @Output() hideSidePanel = new EventEmitter();\r\n @Output() saveInSidePanel = new EventEmitter();\r\n\r\n onlyTitle = false;\r\n\r\n constructor() {\r\n }\r\n\r\n closeSidePanel() {\r\n this.hideSidePanel.emit(true);\r\n }\r\n\r\n saveBySidePanel() {\r\n this.saveInSidePanel.emit(true);\r\n }\r\n\r\n toggleTitleMode(){\r\n if (this.closable && !this.saveable) {\r\n this.onlyTitle = !this.onlyTitle;\r\n }\r\n }\r\n}\r\n","import {fromEvent, Observable, Subject} from \"rxjs\";\r\nimport {debounceTime, distinctUntilChanged, startWith, tap} from \"rxjs/operators\";\r\n\r\nconst MOBILE_MAX_WIDTH = 425;\r\nconst TABLET_MAX_WIDTH = 1024;\r\n\r\nexport class WindowService {\r\n\r\n private resizeSubject: Subject = new Subject();\r\n private _resize$;\r\n private width: number;\r\n private height: number;\r\n\r\n constructor() {\r\n this.width = window.innerWidth;\r\n this.height = window.innerHeight;\r\n\r\n this._resize$ = fromEvent(window, 'resize')\r\n .pipe(\r\n debounceTime(200),\r\n distinctUntilChanged(),\r\n startWith({target: {innerWidth: window.innerWidth, innerHeight: window.innerHeight}}),\r\n tap(event => {\r\n this.resizeSubject.next(event.target);\r\n this.width = (event.target as Window).innerWidth;\r\n this.height = (event.target as Window).innerHeight;\r\n }),\r\n );\r\n this._resize$.subscribe();\r\n }\r\n\r\n get onResize(): Observable {\r\n return this.resizeSubject.asObservable();\r\n }\r\n\r\n isMobile() {\r\n return this.width <= MOBILE_MAX_WIDTH;\r\n }\r\n\r\n isTablet() {\r\n return this.width <= TABLET_MAX_WIDTH;\r\n }\r\n\r\n isDesktop() {\r\n return !this.isMobile() && !this.isTablet();\r\n }\r\n\r\n getWidth() {\r\n return this.width;\r\n }\r\n\r\n getHeight() {\r\n return this.height;\r\n }\r\n\r\n isEdge() {\r\n return window.navigator.userAgent.toLowerCase().indexOf('edge') > -1;\r\n }\r\n\r\n isFirefox() {\r\n return navigator.userAgent.toLowerCase().indexOf('firefox') > -1;\r\n }\r\n}\r\n","import {Component, Input} from '@angular/core';\r\nimport {WindowService} from \"../window.service\";\r\n\r\n@Component({\r\n selector: 'gd-button',\r\n templateUrl: './button.component.html',\r\n styleUrls: ['./button.component.less']\r\n})\r\nexport class ButtonComponent {\r\n @Input() iconOnly = true;\r\n @Input() intent = 'default';\r\n @Input() disabled = false;\r\n @Input() icon: string;\r\n @Input() iconClass: string;\r\n @Input() tooltip: string;\r\n @Input() className: string;\r\n @Input() toggle = false;\r\n @Input() iconSize: string;\r\n @Input() iconRegular = false;\r\n @Input() elementPosition = 0;\r\n\r\n showToolTip = false;\r\n private isDesktop: boolean;\r\n\r\n constructor(windowService: WindowService) {\r\n this.isDesktop = windowService.isDesktop();\r\n windowService.onResize.subscribe((w) => {\r\n this.isDesktop = windowService.isDesktop();\r\n });\r\n }\r\n\r\n iconButtonClass() {\r\n return this.iconOnly ? 'icon-button' : '';\r\n }\r\n\r\n onHovering() {\r\n if (this.isDesktop && !this.disabled) {\r\n this.className += ' active';\r\n }\r\n }\r\n\r\n onUnhovering() {\r\n if (this.isDesktop && !this.disabled) {\r\n this.className = this.cleanAll(this.className, ' active');\r\n }\r\n }\r\n\r\n private cleanAll(str: string, val: string) {\r\n while (str && str.indexOf(val) !== -1) {\r\n str = str.replace(val, '');\r\n }\r\n return str;\r\n }\r\n}\r\n","import {Component, Input, OnInit} from '@angular/core';\r\n\r\n@Component({\r\n selector: 'gd-logo',\r\n templateUrl: './logo.component.html',\r\n styleUrls: ['./logo.component.less']\r\n})\r\nexport class LogoComponent implements OnInit {\r\n\r\n @Input() logo;\r\n @Input() icon;\r\n\r\n constructor() { }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n}\r\n","import {Component, Input, OnInit} from '@angular/core';\r\n\r\n@Component({\r\n selector: 'gd-tooltip',\r\n templateUrl: './tooltip.component.html',\r\n styleUrls: ['./tooltip.component.less']\r\n})\r\nexport class TooltipComponent implements OnInit {\r\n\r\n @Input() text: string;\r\n @Input() position = 0;\r\n visibility = 'hidden';\r\n\r\n constructor() {\r\n }\r\n\r\n getClass() {\r\n if (this.position === 0) {\r\n return 'tooltip';\r\n }\r\n return 'tooltip ' + (this.position > 0 ? 'last-element' : 'first-element');\r\n }\r\n\r\n @Input()\r\n set show(value: boolean) {\r\n this.visibility = value ? 'shown' : 'hidden';\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n}\r\n","import {HttpHeaders} from \"@angular/common/http\";\r\nimport {Injectable} from \"@angular/core\";\r\n\r\nexport class Api {\r\n public static VIEWER_APP = '/viewer';\r\n public static SIGNATURE_APP = '/signature';\r\n public static ANNOTATION_APP = '/annotation';\r\n public static SEARCH_APP = '/search';\r\n public static EDITOR_APP = '/editor';\r\n public static COMPARISON_APP = '/comparison';\r\n public static CONVERSION_APP = '/conversion';\r\n public static METADATA_APP = '/metadata';\r\n public static DEFAULT_API_ENDPOINT = window.location.href;\r\n public static LOAD_FILE_TREE = '/loadFileTree';\r\n public static LOAD_CONFIG = '/loadConfig';\r\n public static LOAD_DOCUMENT_DESCRIPTION = '/loadDocumentDescription';\r\n public static LOAD_DOCUMENT_PAGE = '/loadDocumentPage';\r\n public static LOAD_DOCUMENT_PROPERTIES = '/loadProperties';\r\n public static LOAD_DOCUMENT_PROPERTIES_NAMES = '/loadPropertiesNames';\r\n public static SAVE_PROPERTY = '/saveProperty';\r\n public static REMOVE_PROPERTY = '/removeProperty';\r\n public static ROTATE_DOCUMENT_PAGE = '/rotateDocumentPages';\r\n public static UPLOAD_DOCUMENTS = '/uploadDocument';\r\n public static DOWNLOAD_DOCUMENTS = '/downloadDocument';\r\n public static DOWNLOAD_ANNOTATED = '/downloadAnnotated';\r\n public static LOAD_PRINT = '/loadPrint';\r\n public static LOAD_PRINT_PDF = '/printPdf';\r\n public static LOAD_THUMBNAILS = '/loadThumbnails';\r\n public static LOAD_FORMATS = '/loadFormats';\r\n public static SAVE_FILE = '/saveFile';\r\n public static CREATE_FILE = '/createFile';\r\n public static COMPARE_FILES = '/compare';\r\n public static CONVERT_FILE = '/convert';\r\n public static DELETE_SIGNATURE_FILE = '/deleteSignatureFile';\r\n public static REMOVE_FROM_INDEX = '/removeFromIndex';\r\n public static GET_FILE_STATUS = '/getFileStatus';\r\n public static SAVE_OPTICAL_CODE = '/saveOpticalCode';\r\n public static SAVE_TEXT = '/saveText';\r\n public static SAVE_IMAGE = '/saveImage';\r\n public static SAVE_STAMP = '/saveStamp';\r\n public static SIGN = '/sign';\r\n public static DOWNLOAD_SIGNED = '/downloadSigned';\r\n public static LOAD_SIGNATURE_IMAGE = '/loadSignatureImage';\r\n public static ANNOTATE = '/annotate';\r\n public static SEARCH = '/search';\r\n public static ADD_FILES_TO_INDEX = '/addFilesToIndex';\r\n public static CLEAN_METADATA = '/clean';\r\n public static EXPORT_METADATA = '/export';\r\n\r\n public static httpOptionsJson = {\r\n headers: new HttpHeaders({\r\n 'Content-Type': 'application/json',\r\n })\r\n };\r\n public static httpOptionsJsonResponseTypeBlob = {\r\n headers: new HttpHeaders({\r\n 'Content-Type': 'application/json',\r\n }),\r\n responseType: 'blob' as 'blob'\r\n };\r\n}\r\n\r\n@Injectable()\r\nexport class ConfigService {\r\n\r\n private _apiEndpoint: string;\r\n\r\n constructor() {\r\n this.apiEndpoint = Api.DEFAULT_API_ENDPOINT;\r\n }\r\n\r\n set apiEndpoint(url: string) {\r\n this._apiEndpoint = url && url.trim().endsWith('/') ? url.substring(0, url.length - 1) : url;\r\n }\r\n\r\n getConfigEndpoint(app) {\r\n return (this.apiEndpoint.endsWith(app) ? this.apiEndpoint : this.apiEndpoint + app) + Api.LOAD_CONFIG;\r\n }\r\n\r\n getViewerApiEndpoint() {\r\n return this._apiEndpoint.endsWith(Api.VIEWER_APP) ? this._apiEndpoint : this._apiEndpoint + Api.VIEWER_APP;\r\n }\r\n\r\n getEditorApiEndpoint() {\r\n return this._apiEndpoint.trim().endsWith(Api.EDITOR_APP) ? this._apiEndpoint : this._apiEndpoint + Api.EDITOR_APP;\r\n }\r\n\r\n getComparisonApiEndpoint() {\r\n return this._apiEndpoint.trim().endsWith(Api.COMPARISON_APP) ? this._apiEndpoint : this._apiEndpoint + Api.COMPARISON_APP;\r\n }\r\n\r\n getConversionApiEndpoint() {\r\n return this._apiEndpoint.trim().endsWith(Api.CONVERSION_APP) ? this._apiEndpoint : this._apiEndpoint + Api.CONVERSION_APP;\r\n }\r\n\r\n getMetadataApiEndpoint() {\r\n return this._apiEndpoint.trim().endsWith(Api.METADATA_APP) ? this._apiEndpoint : this._apiEndpoint + Api.METADATA_APP;\r\n }\r\n\r\n get apiEndpoint() {\r\n return this._apiEndpoint;\r\n }\r\n\r\n getSignatureApiEndpoint() {\r\n return this._apiEndpoint.endsWith(Api.SIGNATURE_APP) ? this._apiEndpoint : this._apiEndpoint + Api.SIGNATURE_APP;\r\n }\r\n\r\n getAnnotationApiEndpoint() {\r\n return this._apiEndpoint.endsWith(Api.ANNOTATION_APP) ? this._apiEndpoint : this._apiEndpoint + Api.ANNOTATION_APP;\r\n }\r\n\r\n getSearchApiEndpoint() {\r\n return this._apiEndpoint.endsWith(Api.SEARCH_APP) ? this._apiEndpoint : this._apiEndpoint + Api.SEARCH_APP;\r\n }\r\n}\r\n","export class CommonModals {\r\n static PasswordRequired = \"gd-password-required\";\r\n static ErrorMessage = \"gd-error-message\";\r\n static BrowseFiles = \"gd-browse-files\";\r\n static CreateDocument = \"gd-create-document\";\r\n static OperationSuccess = \"gd-success-modal\";\r\n static DrawHandSignature = \"gd-draw-hand-signature\";\r\n static DrawStampSignature = \"gd-draw-stamp-signature\";\r\n static InformationMessage = \"gd-information-message\";\r\n}\r\n\r\nexport class ModalService {\r\n private modals: any[] = [];\r\n\r\n add(modal: any) {\r\n this.modals.push(modal);\r\n }\r\n\r\n remove(id: string) {\r\n this.modals = this.modals.filter(x => x.id !== id);\r\n }\r\n\r\n open(id: string) {\r\n const modal: any = this.modals.filter(x => x.id === id)[0];\r\n if (modal) {\r\n modal.open();\r\n }\r\n }\r\n\r\n close(id: string) {\r\n const modal: any = this.modals.filter(x => x.id === id)[0];\r\n if (modal) {\r\n modal.close();\r\n }\r\n }\r\n}\r\n","import {Component, ElementRef, EventEmitter, Input, OnDestroy, OnInit, Output} from '@angular/core';\r\nimport {ModalService} from \"../modal.service\";\r\n\r\n@Component({\r\n selector: 'gd-modal',\r\n templateUrl: './modal.component.html',\r\n styleUrls: ['./modal.component.less']\r\n})\r\nexport class ModalComponent implements OnInit, OnDestroy {\r\n @Input() id: string;\r\n @Input() title: string;\r\n @Output() visible = new EventEmitter();\r\n @Output() cancel = new EventEmitter();\r\n visibility = false;\r\n private element: any;\r\n\r\n constructor(private modalService: ModalService, el: ElementRef) {\r\n this.element = el.nativeElement;\r\n }\r\n\r\n ngOnInit(): void {\r\n if (!this.id) {\r\n console.error('modal must have an id');\r\n return;\r\n }\r\n\r\n document.body.appendChild(this.element);\r\n\r\n this.modalService.add(this);\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.modalService.remove(this.id);\r\n this.element.remove();\r\n }\r\n\r\n open(): void {\r\n this.visibility = true;\r\n this.visible.emit(true);\r\n }\r\n\r\n close(): void {\r\n event.preventDefault();\r\n event.stopPropagation();\r\n this.visibility = false;\r\n this.visible.emit(false);\r\n }\r\n\r\n onClose($event: MouseEvent) {\r\n $event.stopPropagation();\r\n if ($event && $event.target && ($event.target).id === 'modalDialog') {\r\n this.close();\r\n }\r\n }\r\n\r\n cancelClose() {\r\n this.cancel.emit(false);\r\n this.close();\r\n }\r\n}\r\n","export class PageModel {\r\n data: string;\r\n angle: number;\r\n width: number;\r\n height: number;\r\n number: number;\r\n editable: boolean;\r\n}\r\n\r\nexport class RotatedPage {\r\n pageNumber: number;\r\n angle: number;\r\n}\r\n\r\nexport class FileCredentials {\r\n guid: string;\r\n password: string;\r\n\r\n constructor(guid: string, password: string) {\r\n this.guid = guid;\r\n this.password = password;\r\n }\r\n}\r\n\r\nexport class SaveFile extends FileCredentials {\r\n content: string;\r\n\r\n constructor(guid: string, password: string, content: string) {\r\n super(guid, password);\r\n this.content = content;\r\n }\r\n}\r\n\r\nexport class FileDescription {\r\n guid: string;\r\n pages: PageModel[];\r\n printAllowed = true;\r\n showGridLines: boolean;\r\n thumbnails: PageModel[];\r\n}\r\n\r\nexport class FileModel {\r\n guid: string;\r\n name: string;\r\n directory: boolean;\r\n size: number;\r\n isDirectory: boolean;\r\n}\r\n\r\nexport class HttpError {\r\n static BadRequest = 400;\r\n static Unauthorized = 401;\r\n static Forbidden = 403;\r\n static NotFound = 404;\r\n static TimeOut = 408;\r\n static Conflict = 409;\r\n static InternalServerError = 500;\r\n}\r\n\r\nexport class Utils {\r\n public static getMousePosition(event) {\r\n const mouse = {\r\n x: 0,\r\n y: 0\r\n };\r\n const wEvent: DragEvent = window.event;\r\n const ev = event || wEvent; //Moz || IE\r\n if (ev.pageX || wEvent.pageX || wEvent.screenX || (ev.touches && ev.touches[0] && ev.touches[0].pageX)) { //Moz\r\n const pageX = typeof ev.pageX !== \"undefined\" && ev.pageX !== 0 ? ev.pageX : wEvent.pageX;\r\n const pageY = typeof ev.pageY !== \"undefined\" && ev.pageY !== 0 ? ev.pageY : wEvent.pageY;\r\n const screenX = typeof wEvent.screenX !== \"undefined\" && wEvent.screenY !== 0;\r\n const screenY = typeof wEvent.screenY !== \"undefined\" && wEvent.screenY !== 0;\r\n mouse.x = pageX ? pageX : (screenX ? wEvent.screenX : ev.touches[0].pageX);\r\n mouse.y = pageY ? pageY : (screenY ? wEvent.screenY : ev.touches[0].pageY);\r\n } else if (ev.clientX) { //IE\r\n mouse.x = ev.clientX + document.body.scrollLeft;\r\n mouse.y = ev.clientY + document.body.scrollTop;\r\n }\r\n return mouse;\r\n }\r\n\r\n public static toRgb(color: string) {\r\n const result = /^#?([a-f\\d]{2})([a-f\\d]{2})([a-f\\d]{2})$/i.exec(color);\r\n if (result) {\r\n const r = parseInt(result[1], 16);\r\n const g = parseInt(result[2], 16);\r\n const b = parseInt(result[3], 16);\r\n return result ? 'rgb(' + r + ',' + g + ',' + b + ')' : '';\r\n }\r\n return color;\r\n }\r\n\r\n public static toHex(color: string) {\r\n // check if color is standard hex value\r\n if (color.match(/[0-9A-F]{6}|[0-9A-F]{3}$/i)) {\r\n return (color.charAt(0) === \"#\") ? color : (\"#\" + color);\r\n // check if color is RGB value -> convert to hex\r\n } else if (color.match(/^rgb\\(\\s*(\\d{1,3})\\s*,\\s*(\\d{1,3})\\s*,\\s*(\\d{1,3})\\s*\\)$/)) {\r\n const c = ([parseInt(RegExp.$1, 10), parseInt(RegExp.$2, 10), parseInt(RegExp.$3, 10)]),\r\n pad = function (str) {\r\n if (str.length < 2) {\r\n for (let i = 0, len = 2 - str.length; i < len; i++) {\r\n str = '0' + str;\r\n }\r\n }\r\n return str;\r\n };\r\n if (c.length === 3) {\r\n const r = pad(c[0].toString(16)),\r\n g = pad(c[1].toString(16)),\r\n b = pad(c[2].toString(16));\r\n return '#' + r + g + b;\r\n }\r\n // else do nothing\r\n } else {\r\n return '';\r\n }\r\n }\r\n}\r\n\r\nexport class FileUtil {\r\n public static map = {\r\n 'folder': {'format': '', 'icon': 'folder'},\r\n 'pdf': {'format': 'Portable Document Format', 'icon': 'file-pdf', 'unit': 'pt'},\r\n 'doc': {'format': 'Microsoft Word', 'icon': 'file-word', 'unit': 'pt'},\r\n 'docx': {'format': 'Microsoft Word', 'icon': 'file-word', 'unit': 'pt'},\r\n 'docm': {'format': 'Microsoft Word', 'icon': 'file-word', 'unit': 'pt'},\r\n 'dot': {'format': 'Microsoft Word', 'icon': 'file-word', 'unit': 'pt'},\r\n 'dotx': {'format': 'Microsoft Word', 'icon': 'file-word', 'unit': 'pt'},\r\n 'dotm': {'format': 'Microsoft Word', 'icon': 'file-word', 'unit': 'pt'},\r\n 'xls': {'format': 'Microsoft Excel', 'icon': 'file-excel', 'unit': 'px'},\r\n 'xlsx': {'format': 'Microsoft Excel', 'icon': 'file-excel', 'unit': 'px'},\r\n 'xlsm': {'format': 'Microsoft Excel', 'icon': 'file-excel', 'unit': 'px'},\r\n 'xlsb': {'format': 'Microsoft Excel', 'icon': 'file-excel', 'unit': 'px'},\r\n 'xls2003': {'format': 'Microsoft Excel', 'icon': 'file-excel', 'unit': 'px'},\r\n 'xltx': {'format': 'Microsoft Excel', 'icon': 'file-excel', 'unit': 'px'},\r\n 'xltm': {'format': 'Microsoft Excel', 'icon': 'file-excel', 'unit': 'px'},\r\n 'ppt': {'format': 'Microsoft PowerPoint', 'icon': 'file-powerpoint', 'unit': 'pt'},\r\n 'pptx': {'format': 'Microsoft PowerPoint', 'icon': 'file-powerpoint', 'unit': 'pt'},\r\n 'pps': {'format': 'Microsoft PowerPoint', 'icon': 'file-powerpoint', 'unit': 'pt'},\r\n 'ppsx': {'format': 'Microsoft PowerPoint', 'icon': 'file-powerpoint', 'unit': 'pt'},\r\n 'vsd': {'format': 'Microsoft Visio', 'icon': 'file-code', 'unit': 'px'},\r\n 'vdx': {'format': 'Microsoft Visio', 'icon': 'file-code', 'unit': 'px'},\r\n 'vss': {'format': 'Microsoft Visio', 'icon': 'file-code', 'unit': 'px'},\r\n 'vsx': {'format': 'Microsoft Visio', 'icon': 'file-code', 'unit': 'px'},\r\n 'vst': {'format': 'Microsoft Visio', 'icon': 'file-code', 'unit': 'px'},\r\n 'vtx': {'format': 'Microsoft Visio', 'icon': 'file-code', 'unit': 'px'},\r\n 'vsdx': {'format': 'Microsoft Visio', 'icon': 'file-code', 'unit': 'px'},\r\n 'vdw': {'format': 'Microsoft Visio', 'icon': 'file-code', 'unit': 'px'},\r\n 'vstx': {'format': 'Microsoft Visio', 'icon': 'file-code', 'unit': 'px'},\r\n 'vssx': {'format': 'Microsoft Visio', 'icon': 'file-code', 'unit': 'px'},\r\n 'mpp': {'format': 'Microsoft Project', 'icon': 'file-alt', 'unit': 'pt'},\r\n 'mpt': {'format': 'Microsoft Project', 'icon': 'file-alt', 'unit': 'pt'},\r\n 'msg': {'format': 'Microsoft Outlook', 'icon': 'file-alt', 'unit': 'pt'},\r\n 'eml': {'format': 'Microsoft Outlook', 'icon': 'file-alt', 'unit': 'pt'},\r\n 'emlx': {'format': 'Microsoft Outlook', 'icon': 'file-alt', 'unit': 'pt'},\r\n 'one': {'format': 'Microsoft OneNote', 'icon': 'file-word', 'unit': 'pt'},\r\n 'odt': {'format': 'Open Document Text', 'icon': 'file-word', 'unit': 'pt'},\r\n 'ott': {'format': 'Open Document Text Template', 'icon': 'file-word', 'unit': 'pt'},\r\n 'ods': {'format': 'Open Document Spreadsheet', 'icon': 'file-excel', 'unit': 'px'},\r\n 'odp': {'format': 'Open Document Presentation', 'icon': 'file-powerpoint', 'unit': 'pt'},\r\n 'otp': {'format': 'Open Document Presentation', 'icon': 'file-powerpoint', 'unit': 'pt'},\r\n 'ots': {'format': 'Open Document Presentation', 'icon': 'file-powerpoint', 'unit': 'pt'},\r\n 'potx': {'format': 'Open Document Presentation', 'icon': 'file-powerpoint', 'unit': 'pt'},\r\n 'potm': {'format': 'Open Document Presentation', 'icon': 'file-powerpoint', 'unit': 'pt'},\r\n 'pptm': {'format': 'Open Document Presentation', 'icon': 'file-powerpoint', 'unit': 'pt'},\r\n 'ppsm': {'format': 'Open Document Presentation', 'icon': 'file-powerpoint', 'unit': 'pt'},\r\n 'rtf': {'format': 'Rich Text Format', 'icon': 'file-alt', 'unit': 'pt'},\r\n 'txt': {'format': 'Plain Text File', 'icon': 'file-alt', 'unit': 'pt'},\r\n 'csv': {'format': 'Comma-Separated Values', 'icon': 'file-excel', 'unit': 'px'},\r\n 'html': {'format': 'HyperText Markup Language', 'icon': 'file-word', 'unit': 'pt'},\r\n 'mht': {'format': 'HyperText Markup Language', 'icon': 'file-word', 'unit': 'pt'},\r\n 'mhtml': {'format': 'HyperText Markup Language', 'icon': 'file-word', 'unit': 'pt'},\r\n 'xml': {'format': 'Extensible Markup Language', 'icon': 'file-word', 'unit': 'pt'},\r\n 'xps': {'format': 'XML Paper Specification', 'icon': 'file-word', 'unit': 'pt'},\r\n 'dxf': {'format': 'AutoCAD Drawing File Format', 'icon': 'file-image', 'unit': 'px'},\r\n 'dwg': {'format': 'AutoCAD Drawing File Format', 'icon': 'file-image', 'unit': 'px'},\r\n 'bmp': {'format': 'Bitmap Picture', 'icon': 'file-image', 'unit': 'px'},\r\n 'gif': {'format': 'Graphics Interchange Format', 'icon': 'file-image', 'unit': 'px'},\r\n 'jpg': {'format': 'Joint Photographic Experts Group', 'icon': 'file-image', 'unit': 'px'},\r\n 'jpe': {'format': 'Joint Photographic Experts Group', 'icon': 'file-image', 'unit': 'px'},\r\n 'jpeg': {'format': 'Joint Photographic Experts Group', 'icon': 'file-image', 'unit': 'px'},\r\n 'jfif': {'format': 'Joint Photographic Experts Group', 'icon': 'file-image', 'unit': 'px'},\r\n 'png': {'format': 'Portable Network Graphics', 'icon': 'file-image', 'unit': 'px'},\r\n 'tiff': {'format': 'Tagged Image File Format', 'icon': 'file-image', 'unit': 'px'},\r\n 'tif': {'format': 'Tagged Image File Format', 'icon': 'file-image', 'unit': 'px'},\r\n 'psd': {'format': 'Tagged Image File Format', 'icon': 'file-image', 'unit': 'px'},\r\n 'svg': {'format': 'Tagged Image File Format', 'icon': 'file-image', 'unit': 'px'},\r\n 'jp2': {'format': 'Tagged Image File Format', 'icon': 'file-image', 'unit': 'px'},\r\n 'epub': {'format': 'Electronic Publication', 'icon': 'file-pdf', 'unit': 'pt'},\r\n 'ico': {'format': 'Windows Icon', 'icon': 'file-image', 'unit': 'px'},\r\n 'webp': {'format': 'Compressed Image', 'icon': 'file-image', 'unit': 'px'},\r\n 'mobi': {'format': 'Mobipocket eBook', 'icon': 'file-pdf', 'unit': 'pt'},\r\n 'tex': {'format': 'LaTeX Source Document', 'icon': 'file-pdf', 'unit': 'pt'},\r\n 'djvu': {'format': 'Multi-Layer Raster Image', 'icon': 'file-alt', 'unit': 'pt'},\r\n 'unknown': {'format': 'This format is not supported', 'icon': 'file'},\r\n };\r\n\r\n public static find(filename: string, isDirectory: boolean) {\r\n if (filename && !isDirectory) {\r\n const strings = filename.split('.');\r\n const name = strings.pop().toLowerCase();\r\n if (typeof FileUtil.map[name] === \"undefined\") {\r\n return strings.length > 0 ? FileUtil.map['unknown'] : FileUtil.map['folder'];\r\n } else {\r\n return FileUtil.map[name];\r\n }\r\n } else {\r\n return FileUtil.map['folder'];\r\n }\r\n }\r\n}\r\n\r\nexport class FileService {\r\n\r\n constructor() {\r\n }\r\n}\r\n","import {Observable, Observer} from \"rxjs\";\r\n\r\nexport class UploadFilesService {\r\n private _uploadsChange: Observable;\r\n private _observer: Observer;\r\n\r\n constructor() {\r\n this._uploadsChange = new Observable(observer =>\r\n this._observer = observer);\r\n }\r\n\r\n get uploadsChange(): Observable {\r\n return this._uploadsChange;\r\n }\r\n\r\n changeFilesList(filesList: FileList) {\r\n this._observer.next(filesList);\r\n }\r\n}\r\n","import {Component, EventEmitter, Input, OnInit, Output} from '@angular/core';\r\nimport {FileModel, FileUtil} from \"../file.service\";\r\nimport {UploadFilesService} from \"../upload-files.service\";\r\nimport * as jquery from \"jquery\";\r\nconst $ = jquery;\r\n\r\nconst upload_disc = 'Disc';\r\n\r\nconst upload_url = 'URL';\r\n\r\nconst uploads_choices = [{name: upload_disc, icon: 'hdd'}, {name: upload_url, icon: 'link'}];\r\n\r\n@Component({\r\n selector: 'gd-browse-files-modal',\r\n templateUrl: './browse-files-modal.component.html',\r\n styleUrls: ['./browse-files-modal.component.less']\r\n})\r\nexport class BrowseFilesModalComponent implements OnInit {\r\n uploads = uploads_choices;\r\n\r\n @Input() files;\r\n @Input() uploadConfig;\r\n @Output() selectedFileGuid = new EventEmitter();\r\n @Output() selectedDirectory = new EventEmitter();\r\n @Output() urlForUpload = new EventEmitter();\r\n @Output() closing = new EventEmitter();\r\n private selectedFile: FileModel;\r\n showUploadUrl = false;\r\n showUploadFile = false;\r\n\r\n constructor(private _uploadService: UploadFilesService) {\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n getSize(size: number) {\r\n const mb = size / 1024 / 1024;\r\n if (mb > 1) {\r\n return (Math.round(mb * 100) / 100) + ' MB';\r\n } else {\r\n const kb = size / 1024;\r\n if (kb > 1) {\r\n return (Math.round(kb * 100) / 100) + ' KB';\r\n }\r\n }\r\n return size + ' Bytes';\r\n }\r\n\r\n getFormatName(file: FileModel) {\r\n return FileUtil.find(file.name, file.directory).format;\r\n }\r\n\r\n getFormatIcon(file: FileModel) {\r\n return FileUtil.find(file.name, file.directory).icon;\r\n }\r\n\r\n choose(file: FileModel) {\r\n this.selectedFile = file;\r\n if (file.directory || file.isDirectory) {\r\n this.selectedDirectory.emit(file.name);\r\n } else {\r\n this.selectedFileGuid.emit(file.guid);\r\n }\r\n }\r\n\r\n goUp() {\r\n if (this.selectedFile) {\r\n let guid = this.selectedFile.guid;\r\n if (guid.length > 0 && guid.indexOf('/') === -1) {\r\n guid = '';\r\n } else {\r\n guid = guid.replace(/\\/[^\\/]+\\/?$/, '');\r\n }\r\n this.selectedDirectory.emit(guid);\r\n }\r\n }\r\n\r\n selectUpload($event: string) {\r\n if (upload_url === $event) {\r\n this.showUploadUrl = true;\r\n } else {\r\n this.showUploadUrl = false;\r\n $(\"#gd-upload-input\").trigger('click');\r\n }\r\n }\r\n\r\n refresh($event) {\r\n\r\n if ($event) {\r\n this.files = null;\r\n this.selectedDirectory.emit('');\r\n this.showUploadUrl = false;\r\n this.selectedFile = null;\r\n } else {\r\n this.closing.emit(true);\r\n }\r\n }\r\n\r\n showSpinner() {\r\n return !this.files;\r\n }\r\n\r\n uploadUrl(url: string) {\r\n if (url) {\r\n this.urlForUpload.emit(url);\r\n this.cleanUpload();\r\n }\r\n }\r\n\r\n handleFileInput(files: FileList) {\r\n this._uploadService.changeFilesList(files);\r\n }\r\n\r\n cleanUpload() {\r\n this.showUploadFile = false;\r\n this.showUploadUrl = false;\r\n }\r\n}\r\n","import {Observable, Subject} from \"rxjs\";\r\n\r\nexport class ZoomService {\r\n private _observer: Subject = new Subject();\r\n private readonly _zoomChange: Observable = this._observer.asObservable();\r\n private _zoom: number;\r\n\r\n constructor() {\r\n }\r\n\r\n get zoom(): number {\r\n return this._zoom;\r\n }\r\n\r\n get zoomChange(): Observable {\r\n return this._zoomChange;\r\n }\r\n\r\n changeZoom(zoom: number) {\r\n this._zoom = zoom;\r\n this._observer.next(zoom);\r\n }\r\n\r\n private createZoomOption(val: any, name: string, sep: boolean = false) {\r\n return {value: val, name: name, separator: sep}\r\n }\r\n\r\n zoomOptions(width, height) {\r\n return [this.createZoomOption(25, '25%'),\r\n this.createZoomOption(50, '50%'),\r\n this.createZoomOption(100,'100%'),\r\n this.createZoomOption(150, '150%'),\r\n this.createZoomOption(200, '200%'),\r\n this.createZoomOption(300, '300%'),\r\n this.createZoomOption(0, '', true),\r\n this.createZoomOption(width, 'Fit Width'),\r\n this.createZoomOption(height, 'Fit Height')];\r\n }\r\n}\r\n","import {Observable, Observer} from \"rxjs\";\r\n\r\nexport class PagePreloadService {\r\n private readonly _checkPreload: Observable;\r\n private _observer: Observer;\r\n\r\n constructor() {\r\n this._checkPreload = new Observable(observer =>\r\n this._observer = observer);\r\n }\r\n\r\n get checkPreload(): Observable {\r\n return this._checkPreload;\r\n }\r\n\r\n changeLastPageInView(page: number) {\r\n if(this._observer) {\r\n this._observer.next(page);\r\n }\r\n }\r\n}\r\n","import {BehaviorSubject, Observable, Subject} from \"rxjs\";\r\nimport {PagePreloadService} from \"./page-preload.service\";\r\nimport {Injectable} from \"@angular/core\";\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class NavigateService {\r\n private _currentPage = 0;\r\n private _countPages = 0;\r\n private _observer: Subject = new Subject();\r\n private _navigate: Observable = this._observer;\r\n\r\n constructor(private _pagePreloadService: PagePreloadService) {\r\n }\r\n\r\n get navigate(): Observable {\r\n return this._navigate;\r\n }\r\n\r\n get countPages(): number {\r\n return this._countPages;\r\n }\r\n\r\n set countPages(value: number) {\r\n this._countPages = value;\r\n }\r\n\r\n get currentPage(): number {\r\n return this._currentPage;\r\n }\r\n\r\n set currentPage(value: number) {\r\n this._currentPage = value;\r\n }\r\n\r\n nextPage() {\r\n if (this._currentPage < this._countPages) {\r\n this._currentPage++;\r\n this.navigateTo(this._currentPage);\r\n }\r\n }\r\n\r\n prevPage() {\r\n if (this._currentPage > 1) {\r\n this._currentPage--;\r\n this.navigateTo(this._currentPage);\r\n }\r\n }\r\n\r\n toLastPage() {\r\n this._currentPage = this._countPages;\r\n this.navigateTo(this._currentPage);\r\n }\r\n\r\n toFirstPage() {\r\n this._currentPage = 1;\r\n this.navigateTo(this._currentPage);\r\n }\r\n\r\n navigateTo(page: number) {\r\n this.currentPage = page;\r\n this._pagePreloadService.changeLastPageInView(page);\r\n this._observer.next(page);\r\n }\r\n}\r\n","import {\r\n AfterViewChecked,\r\n Component,\r\n ElementRef,\r\n Input,\r\n OnInit,\r\n AfterViewInit,\r\n OnChanges\r\n} from '@angular/core';\r\nimport {FileDescription, FileUtil} from \"../file.service\";\r\nimport {ZoomService} from \"../zoom.service\";\r\nimport * as Hammer from 'hammerjs';\r\nimport {WindowService} from '../window.service';\r\nimport * as jquery from 'jquery';\r\nimport { NavigateService } from '../navigate.service';\r\n\r\nconst $ = jquery;\r\n\r\n@Component({\r\n selector: 'gd-document',\r\n templateUrl: './document.component.html',\r\n styleUrls: ['./document.component.less']\r\n})\r\nexport class DocumentComponent implements OnInit, AfterViewChecked, AfterViewInit, OnChanges {\r\n\r\n @Input() mode: boolean;\r\n @Input() preloadPageCount: number;\r\n @Input() file: FileDescription;\r\n @Input() selectedPage: number;\r\n @Input() showActiveSlide: boolean;\r\n wait = false;\r\n zoom: number;\r\n\r\n docWidth = null;\r\n docHeight = null;\r\n viewportWidth = null;\r\n viewportHeight = null;\r\n scale = null;\r\n lastScale = null;\r\n container = null;\r\n doc = null;\r\n x = 0;\r\n lastX = 0;\r\n y = 0;\r\n lastY = 0;\r\n pinchCenter = null;\r\n pinchCenterOffset = null;\r\n curWidth = 0;\r\n curHeight = 0;\r\n isDesktop: boolean;\r\n\r\n constructor(protected _elementRef: ElementRef,\r\n private _zoomService: ZoomService,\r\n private _windowService: WindowService,\r\n private _navigateService: NavigateService) {\r\n _zoomService.zoomChange.subscribe((val: number) => {\r\n this.zoom = val;\r\n });\r\n\r\n this.isDesktop = _windowService.isDesktop();\r\n\r\n this._navigateService.navigate.subscribe(((\r\n value => {\r\n this.selectedPage = value;\r\n })));\r\n }\r\n\r\n ngOnInit() {\r\n if (this.ifPresentation())\r\n {\r\n this.selectedPage = this._navigateService.currentPage;\r\n }\r\n }\r\n\r\n ngOnChanges() {\r\n }\r\n\r\n ngAfterViewInit() {\r\n // For current iteration we take .panzoom as a document\r\n this.doc = this._elementRef.nativeElement.children.item(0).children.item(0);\r\n // For current iteration we take .gd-document as a container\r\n this.container = this._elementRef.nativeElement;\r\n\r\n this.docWidth = this.doc.clientWidth;\r\n this.docHeight = this.doc.clientHeight;\r\n this.viewportWidth = this.doc.offsetWidth;\r\n\r\n // For cases where we already have zoom defined we should include it\r\n this.scale = (this.viewportWidth / this.docWidth) * this._zoomService.zoom / 100;\r\n\r\n this.lastScale = this.scale;\r\n this.viewportHeight = this.container.offsetHeight;\r\n this.curWidth = this.docWidth * this.scale;\r\n this.curHeight = this.docHeight * this.scale;\r\n\r\n const hammer = new Hammer(this.container);\r\n }\r\n\r\n // TODO: this temporary crutch for Excel files should be documented\r\n ifExcel() {\r\n return FileUtil.find(this.file.guid, false).format === \"Microsoft Excel\";\r\n }\r\n\r\n ifPresentation() {\r\n return FileUtil.find(this.file.guid, false).format === \"Microsoft PowerPoint\";\r\n }\r\n\r\n getDimensionWithUnit(value: number, pageNumber: number) {\r\n return this.ifPresentation() && this.showActiveSlide && !this.isVisible(pageNumber) ? 0 : value + (this.mode ? FileUtil.find(this.file.guid, false).unit : 'px');\r\n }\r\n\r\n ifEdge() {\r\n return navigator.userAgent.toLowerCase().indexOf('edge') > -1;\r\n }\r\n\r\n ngAfterViewChecked(): void {\r\n // for now we are not sure that need this action in current implementation\r\n // const elementNodeListOf = this._elementRef.nativeElement.querySelectorAll('.gd-wrapper');\r\n // const element = elementNodeListOf.item(0);\r\n // if (element) {\r\n // $(element).trigger('focus');\r\n // }\r\n }\r\n\r\n isVisible(pageNumber) {\r\n if (this.ifPresentation()) {\r\n return pageNumber === this.selectedPage ? true : false;\r\n }\r\n else {\r\n return true;\r\n }\r\n }\r\n}\r\n","import {Component, Input, OnChanges, OnInit, SimpleChanges} from '@angular/core';\r\n\r\n@Component({\r\n selector: 'gd-page',\r\n templateUrl: './page.component.html',\r\n styleUrls: ['./page.component.less']\r\n})\r\nexport class PageComponent implements OnInit, OnChanges {\r\n\r\n @Input() angle: number;\r\n @Input() width: number;\r\n @Input() height: number;\r\n @Input() number: number;\r\n @Input() data: string;\r\n @Input() isHtml: boolean;\r\n @Input() editable: boolean;\r\n imgData: string;\r\n\r\n constructor() {\r\n }\r\n\r\n ngOnInit() {\r\n const isIE = /*@cc_on!@*/false || !!/(MSIE|Trident\\/|Edge\\/)/i.test(navigator.userAgent);\r\n if(isIE && this.number === 0){\r\n this.editable = false;\r\n }\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n if(this.isHtml) {\r\n // TODO: this is temporary needed to remove unneeded spaces and BOM symbol \r\n // which leads to undesired spaces on the top of the docs pages\r\n this.data = this.data \r\n ? this.data.replace(/>\\s+<')\r\n .replace(/\\uFEFF/g,\"\")\r\n : null;\r\n } else {\r\n this.imgData = 'data:image/png;base64,' + this.data;\r\n }\r\n }\r\n}\r\n","import {Pipe, PipeTransform} from '@angular/core';\r\nimport {DomSanitizer, SafeHtml} from '@angular/platform-browser';\r\n\r\n@Pipe({name: 'safeHtml'})\r\nexport class SanitizeHtmlPipe implements PipeTransform{\r\n constructor(private sanitizer: DomSanitizer) {\r\n }\r\n\r\n transform(html: string): SafeHtml {\r\n return this.sanitizer.bypassSecurityTrustHtml(html);\r\n }\r\n}\r\n\r\n@Pipe({name: 'safeResourceHtml'})\r\nexport class SanitizeResourceHtmlPipe implements PipeTransform{\r\n constructor(private sanitizer: DomSanitizer) {\r\n }\r\n\r\n transform(html: string): SafeHtml {\r\n return this.sanitizer.bypassSecurityTrustResourceUrl(html);\r\n }\r\n}\r\n\r\n@Pipe({name: 'safeStyle'})\r\nexport class SanitizeStylePipe implements PipeTransform{\r\n constructor(private sanitizer: DomSanitizer) {\r\n }\r\n\r\n transform(html: string): SafeHtml {\r\n return this.sanitizer.bypassSecurityTrustStyle(html);\r\n }\r\n}\r\n\r\n@Pipe({name: 'highlight'})\r\nexport class HighlightSearchPipe implements PipeTransform {\r\n\r\n transform(value: string, args: string): any {\r\n if (!args) {\r\n return value;\r\n }\r\n const re = new RegExp(args, 'gi'); //'gi' for case insensitive and can use 'g' if you want the search to be case sensitive.\r\n return value.replace(re, \"$&\");\r\n }\r\n}\r\n","import {Component, EventEmitter, OnInit, Output} from '@angular/core';\r\nimport {UploadFilesService} from \"../upload-files.service\";\r\n\r\n@Component({\r\n selector: 'gd-upload-file-zone',\r\n templateUrl: './upload-file-zone.component.html',\r\n styleUrls: ['./upload-file-zone.component.less']\r\n})\r\nexport class UploadFileZoneComponent implements OnInit {\r\n\r\n @Output() closeUpload = new EventEmitter();\r\n\r\n constructor(private _uploadService: UploadFilesService) { }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n handleFileInput(files: FileList) {\r\n this._uploadService.changeFilesList(files);\r\n this.onCloseUpload();\r\n }\r\n\r\n onCloseUpload() {\r\n this.closeUpload.emit(true);\r\n }\r\n\r\n close($event) {\r\n if ($event.target.id === 'gd-dropZone') {\r\n this.onCloseUpload();\r\n }\r\n }\r\n}\r\n","import {Directive, EventEmitter, HostBinding, HostListener, Input, Output} from '@angular/core';\r\nimport {UploadFilesService} from \"./upload-files.service\";\r\n\r\n@Directive({\r\n selector: '[gdDnd]'\r\n})\r\nexport class DndDirective {\r\n\r\n @Output() closing = new EventEmitter();\r\n @Output() opening = new EventEmitter();\r\n @Output() dropped = new EventEmitter();\r\n\r\n @HostBinding('class.active') active = false;\r\n\r\n private dragCounter = 0;\r\n\r\n constructor(protected _uploadFilesService: UploadFilesService) {\r\n }\r\n\r\n @HostListener('dragenter', ['$event'])\r\n public onDragEnter(evt) {\r\n evt.preventDefault();\r\n evt.stopPropagation();\r\n this.dragCounter++;\r\n this.active = true;\r\n this.opening.emit(true);\r\n }\r\n\r\n @HostListener('dragover', ['$event'])\r\n public onDragOver(evt) {\r\n evt.preventDefault();\r\n evt.stopPropagation();\r\n return false;\r\n }\r\n\r\n @HostListener('dragleave', ['$event'])\r\n public onDragLeave(evt) {\r\n evt.preventDefault();\r\n evt.stopPropagation();\r\n this.dragCounter--;\r\n if (this.dragCounter === 0) {\r\n this.active = false;\r\n this.closeArea();\r\n }\r\n }\r\n\r\n @HostListener('drop', ['$event'])\r\n public onDrop(evt) {\r\n evt.preventDefault();\r\n evt.stopPropagation();\r\n const files = evt.dataTransfer.files;\r\n if (files.length > 0) {\r\n this.active = false;\r\n this.dropped.emit(true);\r\n this._uploadFilesService.changeFilesList(files);\r\n this.closeArea();\r\n }\r\n }\r\n\r\n @HostListener('click', ['$event'])\r\n public onClick(event) {\r\n this.closeArea();\r\n }\r\n\r\n private closeArea() {\r\n this.closing.emit(true);\r\n this.opening.emit(false);\r\n }\r\n}\r\n","import {Injectable} from '@angular/core';\r\nimport * as jquery from \"jquery\";\r\nconst $ = jquery;\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ViewportService {\r\n\r\n constructor() {\r\n }\r\n\r\n checkInViewport(el, zoom: number = 100, leftOffset: number = 0, deltaX: number = 0.5) {\r\n if (!el) {\r\n return false;\r\n }\r\n const x = deltaX;\r\n const y = 0.5;\r\n\r\n const win = $(window);\r\n\r\n const viewport = {\r\n top: win.scrollTop(),\r\n left: win.scrollLeft() + leftOffset,\r\n right: win.scrollLeft() + win.width() - 10,\r\n bottom: win.scrollTop() + win.height()\r\n };\r\n\r\n\r\n if (isNaN(zoom)) {\r\n zoom = 100;\r\n }\r\n\r\n const zoomN = zoom / 100;\r\n const height = $(el).outerHeight() * (zoomN);\r\n const width = $(el).outerWidth() * (zoomN);\r\n\r\n if (!width || !height) {\r\n return false;\r\n }\r\n\r\n const bounds = $(el).offset();\r\n const right = (bounds.left * (zoomN)) + width;\r\n const bottom = (bounds.top * (zoomN)) + height;\r\n\r\n const visible = (!(viewport.right < (bounds.left * (zoomN)) || viewport.left > right || viewport.bottom < (bounds.top * (zoomN)) || viewport.top > bottom));\r\n\r\n if (!visible) {\r\n return false;\r\n }\r\n\r\n const deltas = {\r\n top: parseFloat(Math.min(1, (bottom - viewport.top) / height).toFixed(2)),\r\n bottom: parseFloat(Math.min(1, (viewport.bottom - (bounds.top * (zoomN))) / height).toFixed(2)),\r\n left: parseFloat(Math.min(1, (right - viewport.left) / width).toFixed(2)),\r\n right: parseFloat(Math.min(1, (viewport.right - (bounds.left * (zoomN))) / width).toFixed(2))\r\n };\r\n\r\n return (deltas.left * deltas.right) >= x && (deltas.top * deltas.bottom) >= y;\r\n }\r\n}\r\n","import {\r\n AfterViewInit,\r\n Directive,\r\n ElementRef,\r\n HostListener,\r\n Input,\r\n OnChanges,\r\n OnInit,\r\n SimpleChanges\r\n} from '@angular/core';\r\nimport {NavigateService} from \"./navigate.service\";\r\nimport {PagePreloadService} from \"./page-preload.service\";\r\nimport {ZoomService} from \"./zoom.service\";\r\nimport {WindowService} from \"./window.service\";\r\nimport {ViewportService} from \"./viewport.service\";\r\nimport * as jquery from \"jquery\";\r\nconst $ = jquery;\r\n\r\n@Directive({\r\n selector: '[gdScrollable]'\r\n})\r\nexport class ScrollableDirective implements AfterViewInit, OnChanges, OnInit {\r\n @Input() isPresentation: boolean;\r\n\r\n private currentPage: number;\r\n private zoom = 100;\r\n private loadedPagesSet = new Set();\r\n\r\n constructor(private _elementRef: ElementRef,\r\n private _navigateService: NavigateService,\r\n private _pagePreloadService: PagePreloadService,\r\n private _zoomService: ZoomService,\r\n private _windowService: WindowService,\r\n private _viewportService: ViewportService) {\r\n\r\n this.zoom = _zoomService.zoom ? _zoomService.zoom : this.zoom;\r\n _zoomService.zoomChange.subscribe((val: number) => {\r\n this.zoom = val ? val : this.zoom;\r\n this.refresh();\r\n });\r\n }\r\n\r\n ngAfterViewInit() {\r\n this.zoom = this._zoomService.zoom ? this._zoomService.zoom : this.zoom;\r\n this._navigateService.navigate.subscribe((value => {\r\n this.currentPage = value;\r\n this.scrollToPage(value);\r\n }));\r\n this.refresh();\r\n }\r\n\r\n @HostListener('scroll') scrolling() {\r\n this.refresh();\r\n }\r\n\r\n @HostListener('window:resize') resizing() {\r\n this.refresh();\r\n }\r\n\r\n scrollToPage(pageNumber: number) {\r\n const el = this._elementRef.nativeElement;\r\n const page = this.getPage(pageNumber);\r\n const prev = pageNumber > 0 ? this.getPage(pageNumber - 1) : null;\r\n const isSameTop = (prev && $(prev).offset().top === $(page).offset().top);\r\n if (this._viewportService.checkInViewport(page, this.zoom) && isSameTop) {\r\n return;\r\n }\r\n const pagesHeight = this.calculateOffset(pageNumber);\r\n const options = {\r\n left: 0,\r\n top: pagesHeight\r\n };\r\n if(el){\r\n // using polyfill\r\n el.scroll(options);\r\n }\r\n }\r\n\r\n private getChildren() {\r\n const el = this._elementRef ? this._elementRef.nativeElement : null;\r\n if (el) {\r\n // here and in the similar line below we getting the document pages\r\n return el.children.item(0).children.item(0).children;\r\n }\r\n }\r\n\r\n private getPage(pageNumber: number) {\r\n const el = this._elementRef ? this._elementRef.nativeElement : null;\r\n if (el) {\r\n return el.children.item(0).children.item(0).children.item(pageNumber - 1);\r\n }\r\n }\r\n\r\n private calculateOffset(pageNumber: number) {\r\n const count = this._windowService.isFirefox() ? 1 : this.countPagesOnWidth();\r\n const margin = this._windowService.isDesktop() ? 40 : 10;\r\n let pagesHeight = 0;\r\n for (let i = 1; i < pageNumber / count; i++) {\r\n const item = this.getPage(i);\r\n const clientHeight = item ? item.clientHeight : 0;\r\n pagesHeight += clientHeight > 0 ? clientHeight * this.getZoom() + margin : 0;\r\n }\r\n return pagesHeight;\r\n }\r\n\r\n private countPagesOnWidth() {\r\n const pageEl = this.getPage(1);\r\n const offset = 150;\r\n if (pageEl) {\r\n const count = Math.floor((this.getWidth() - offset) / (pageEl.getBoundingClientRect().width * this.getZoom()));\r\n if (count !== 0) {\r\n return count;\r\n }\r\n }\r\n return 1;\r\n }\r\n\r\n refresh() {\r\n let page;\r\n let currentPageSet = false;\r\n const pageElem = this.getPage(this.currentPage);\r\n const currentPageRect = this.currentPage && pageElem ? pageElem.getBoundingClientRect() : null;\r\n for (page = 1; page < this.getChildren().length + 1; page++) {\r\n const element = this.getPage(page);\r\n if (this._viewportService.checkInViewport(element, this.zoom)) {\r\n if (!currentPageSet) {\r\n if (!this.currentPage || !pageElem || (this.currentPage && currentPageRect && element.getBoundingClientRect().top !== currentPageRect.top)) {\r\n this.currentPage = page;\r\n if ((this.isPresentation && this._navigateService.currentPage === 0) || !this.isPresentation) {\r\n this._navigateService.currentPage = page;\r\n }\r\n }\r\n currentPageSet = true;\r\n }\r\n if (!this.loadedPagesSet.has(page)) {\r\n this._pagePreloadService.changeLastPageInView(page);\r\n this.loadedPagesSet.add(page);\r\n }\r\n }\r\n }\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n this.refresh();\r\n }\r\n\r\n ngOnInit(): void {\r\n this.zoom = this._zoomService.zoom ? this._zoomService.zoom : this.zoom;\r\n }\r\n\r\n\r\n private getWidth() {\r\n return this._elementRef ? this._elementRef.nativeElement.offsetWidth : window.innerWidth;\r\n }\r\n\r\n private getZoom() {\r\n return this.zoom / 100;\r\n }\r\n}\r\n","import {\r\n Directive,\r\n EventEmitter,\r\n HostListener,\r\n Output} from '@angular/core';\r\nimport * as jquery from \"jquery\";\r\nconst $ = jquery;\r\n\r\n@Directive({\r\n selector: '[gdMouseWheel]'\r\n})\r\nexport class MouseWheelDirective {\r\n @Output() mouseWheelUp = new EventEmitter();\r\n @Output() mouseWheelDown = new EventEmitter();\r\n\r\n @HostListener('mousewheel', ['$event']) onMouseWheelChrome(event: any) {\r\n this.mouseWheelFunc(event);\r\n }\r\n\r\n @HostListener('DOMMouseScroll', ['$event']) onMouseWheelFirefox(event: any) {\r\n this.mouseWheelFunc(event);\r\n }\r\n\r\n @HostListener('onmousewheel', ['$event']) onMouseWheelIE(event: any) {\r\n this.mouseWheelFunc(event);\r\n }\r\n\r\n mouseWheelFunc(event: any) {\r\n event = window.event ;\r\n const delta = Math.max(-1, Math.min(1, (event.wheelDelta || -event.detail)));\r\n if(delta > 0) {\r\n this.mouseWheelUp.emit(event);\r\n } else if(delta < 0) {\r\n this.mouseWheelDown.emit(event);\r\n }\r\n }\r\n}\r\n","import {AfterViewInit, Directive, HostBinding, Input, OnDestroy, OnInit, ElementRef, OnChanges} from '@angular/core';\r\nimport {ZoomService} from \"./zoom.service\";\r\nimport {FileUtil} from \"./file.service\";\r\nimport { WindowService } from './window.service';\r\n\r\n@Directive({\r\n selector: '[gdZoom]'\r\n})\r\nexport class ZoomDirective implements OnInit, OnDestroy, AfterViewInit, OnChanges {\r\n\r\n @Input() zoomActive = true;\r\n @Input() file;\r\n\r\n @HostBinding('style.zoom') zoomInt: number;\r\n @HostBinding('style.transform') transform: string;\r\n @HostBinding('style.transform-origin') transformOrigin: string;\r\n @HostBinding('style.width') width: string;\r\n @HostBinding('style.height') height: string;\r\n @HostBinding('style.min-width') minWidth: string;\r\n el: ElementRef;\r\n\r\n constructor(private _zoomService: ZoomService, private _windowService: WindowService, el: ElementRef) {\r\n this.el = el;\r\n }\r\n\r\n ngOnDestroy(): void {\r\n }\r\n\r\n ngOnChanges(): void {\r\n this.setStyles(this._zoomService.zoom);\r\n this.resizePages(this._zoomService.zoom);\r\n }\r\n\r\n ngOnInit(): void {\r\n if (! this.zoomActive) {\r\n return;\r\n }\r\n\r\n this.setStyles(this._zoomService.zoom);\r\n this._zoomService.zoomChange.subscribe((zoom) => {\r\n this.setStyles(zoom);\r\n this.resizePages(zoom);\r\n });\r\n }\r\n\r\n private setStyles(zoom) {\r\n if (! this.zoomActive) {\r\n return;\r\n }\r\n\r\n const zoomInt = zoom === 100 ? 1 : zoom / 100;\r\n \r\n if (this._windowService.isEdge()) {\r\n this.zoomInt = zoomInt;\r\n }\r\n else {\r\n this.zoomInt = null;\r\n }\r\n \r\n if (!this._windowService.isEdge()) {\r\n this.transform = 'scale(' + zoomInt + ')';\r\n this.transformOrigin = 'top left';\r\n }\r\n else {\r\n this.transform = \"\";\r\n this.transformOrigin = \"\";\r\n }\r\n\r\n let maxWidth = 0;\r\n this.file.pages.forEach(page => {\r\n {\r\n if (page.width > maxWidth){\r\n maxWidth = page.width;\r\n }\r\n }\r\n });\r\n\r\n // Images and Excel-related files receiving dimensions in px from server\r\n this.minWidth = maxWidth + FileUtil.find(this.file.guid, false).unit;\r\n }\r\n\r\n private getScrollWidth(elm){\r\n return elm.offsetWidth - elm.clientWidth;\r\n }\r\n\r\n private getScrollHeight(elm){\r\n return elm.offsetHeight - elm.clientHeight;\r\n }\r\n\r\n private resizePages(zoom){\r\n const zoomInt = zoom === 100 ? 1 : zoom / 100;\r\n\r\n const viewPortWidth = this.el.nativeElement.parentElement.offsetWidth;\r\n const viewPortHeight = this.el.nativeElement.parentElement.offsetHeight;\r\n const scrollWidth = this.getScrollWidth(this.el.nativeElement.parentElement);\r\n const scrollHeight = this.getScrollHeight(this.el.nativeElement.parentElement);\r\n this.width = (viewPortWidth/zoomInt - scrollWidth/zoomInt) + 'px';\r\n this.height = (viewPortHeight/zoomInt - scrollHeight/zoomInt) + 'px';\r\n }\r\n\r\n ngAfterViewInit(): void {\r\n this.setStyles(this._zoomService.zoom);\r\n }\r\n}\r\n","import {Injectable} from '@angular/core';\r\nimport {Observable, Subject} from \"rxjs\";\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class OnCloseService {\r\n private _observer: Subject = new Subject();\r\n private readonly _onClose: Observable = this._observer.asObservable();\r\n\r\n constructor() {\r\n }\r\n\r\n get onClose() {\r\n return this._onClose;\r\n }\r\n\r\n close(close: boolean) {\r\n this._observer.next(close)\r\n }\r\n}\r\n","import {Component, EventEmitter, Input, Output} from '@angular/core';\r\nimport {OnCloseService} from \"../on-close.service\";\r\n\r\nexport interface Option {\r\n name: string;\r\n value: any;\r\n separator: boolean;\r\n}\r\n\r\n@Component({\r\n selector: 'gd-select',\r\n templateUrl: './select.component.html',\r\n styleUrls: ['./select.component.less']\r\n})\r\nexport class SelectComponent {\r\n\r\n @Input() options: Option[];\r\n @Input() disabled = false;\r\n @Input() showSelected: Option;\r\n @Output() selected: EventEmitter = new EventEmitter();\r\n @Output() opened: EventEmitter = new EventEmitter();\r\n @Input() isOpen = false;\r\n @Input() icon: string;\r\n\r\n constructor(protected _onCloseService: OnCloseService) {\r\n _onCloseService.onClose.subscribe(() => {\r\n this.close();\r\n });\r\n }\r\n\r\n open() {\r\n if (!this.disabled) {\r\n this.isOpen = true;\r\n }\r\n }\r\n\r\n close() {\r\n this.isOpen = false;\r\n }\r\n\r\n onClickOutside(event : Event){\r\n this.close();\r\n }\r\n\r\n toggle($event) {\r\n // TODO: following lines were uncommented due to needness in signature app\r\n $event.preventDefault();\r\n $event.stopPropagation();\r\n if (!this.disabled) {\r\n this.isOpen = !this.isOpen;\r\n if (this.isOpen) this.opened.emit(true);\r\n }\r\n }\r\n\r\n select($event, value: Option) {\r\n $event.preventDefault();\r\n $event.stopPropagation();\r\n this.selected.emit(value);\r\n this.close();\r\n }\r\n}\r\n","import {Directive, HostBinding, Input, OnChanges, OnInit, SimpleChanges} from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[gdDisabledCursor]'\r\n})\r\nexport class DisabledCursorDirective implements OnInit, OnChanges {\r\n\r\n @Input() dis: boolean;\r\n\r\n constructor() {\r\n }\r\n\r\n @HostBinding('class.inactive') cursor: boolean;\r\n\r\n private updateCursor() {\r\n this.cursor = this.dis ? true : false;\r\n }\r\n\r\n ngOnInit(): void {\r\n this.updateCursor();\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n this.updateCursor()\r\n }\r\n}\r\n","import {Directive, HostBinding, Input, OnChanges, OnInit, SimpleChanges} from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[gdRotation]'\r\n})\r\nexport class RotationDirective implements OnInit, OnChanges {\r\n\r\n @Input() angle: number;\r\n @Input() isHtmlMode: boolean;\r\n @Input() width: number;\r\n @Input() height: number;\r\n @Input() withMargin = true;\r\n\r\n @HostBinding('style.animation') animation: string;\r\n @HostBinding('style.transition-property') transition: string;\r\n @HostBinding('style.transform') transform: string;\r\n\r\n @HostBinding('style.margin') margin: string;\r\n\r\n constructor() {\r\n }\r\n\r\n private updateCursor() {\r\n if (typeof this.angle === \"string\"){\r\n this.angle = parseInt(this.angle, 10);\r\n }\r\n\r\n if (this.angle) {\r\n this.animation = 'none';\r\n this.transition = 'none';\r\n this.transform = 'rotate(' + this.angle + 'deg)';\r\n } else if (this.angle === 0 && this.animation) {\r\n this.animation = null;\r\n this.transition = null;\r\n this.transform = null;\r\n }\r\n\r\n if (this.withMargin) {\r\n if (this.angle === 90 || this.angle === 270 || this.angle === -90 || this.angle === -270) {\r\n if (this.isHtmlMode) {\r\n if (this.isLandscape()) {\r\n this.margin = '164px 254px';\r\n } else {\r\n this.margin = '-111px 254px';\r\n }\r\n } else {\r\n if (this.isLandscape()) {\r\n this.margin = '129px 100px -79px';\r\n } else {\r\n this.margin = '-72px 100px -79px';\r\n }\r\n }\r\n } else if (this.angle === -180 || this.angle === 180) {\r\n this.margin = '280px';\r\n } else {\r\n this.margin = null;\r\n }\r\n }\r\n\r\n }\r\n\r\n isLandscape() {\r\n return this.width > this.height;\r\n }\r\n\r\n ngOnInit(): void {\r\n this.updateCursor();\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n this.updateCursor()\r\n }\r\n\r\n}\r\n","import {Component, Input, Output, EventEmitter, OnInit} from '@angular/core';\r\n\r\n@Component({\r\n selector: 'gd-init-state',\r\n templateUrl: './init-state.component.html',\r\n styleUrls: ['./init-state.component.less']\r\n})\r\nexport class InitStateComponent implements OnInit {\r\n @Input() icon: string;\r\n @Input() text: string;\r\n @Output() fileDropped = new EventEmitter();\r\n showUploadFile = false;\r\n\r\n constructor() {\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n dropped($event) {\r\n if ($event) {\r\n this.fileDropped.emit($event);\r\n this.showUploadFile = false;\r\n }\r\n }\r\n}\r\n","import {Observable, Observer} from \"rxjs\";\r\nimport {PageModel} from \"./file.service\";\r\n\r\nexport class RenderPrintService {\r\n private _render: Observable;\r\n private _observer: Observer;\r\n private _renderBlob: Observable;\r\n private _observerBlob: Observer;\r\n\r\n constructor() {\r\n this._render = new Observable(observer =>\r\n this._observer = observer);\r\n this._renderBlob = new Observable(observer =>\r\n this._observerBlob = observer);\r\n }\r\n\r\n get renderPrint(): Observable {\r\n return this._render;\r\n }\r\n\r\n changePages(pages: PageModel[]) {\r\n this._observer.next(pages);\r\n }\r\n\r\n get renderPrintBlob(): Observable {\r\n return this._renderBlob;\r\n }\r\n\r\n changeBlob(file: Blob) {\r\n this._observerBlob.next(file);\r\n }\r\n}\r\n","import {Directive, Input} from '@angular/core';\r\nimport {PageModel} from \"./file.service\";\r\nimport {RenderPrintService} from \"./render-print.service\";\r\n\r\n@Directive({\r\n selector: '[gdRenderPrint]'\r\n})\r\nexport class RenderPrintDirective {\r\n @Input() htmlMode: boolean;\r\n\r\n constructor(private _renderService: RenderPrintService) {\r\n _renderService.renderPrint.subscribe(pages => {\r\n this.renderPrint(pages);\r\n });\r\n _renderService.renderPrintBlob.subscribe(file => {\r\n this.renderPrintBlob(file);\r\n });\r\n }\r\n\r\n private renderPrint(pages: PageModel[]) {\r\n let pagesHtml = '';\r\n\r\n for (const page of pages) {\r\n pagesHtml += '
' +\r\n '
' +\r\n '
';\r\n }\r\n\r\n this.openWindow(pagesHtml, pages[0].width, pages[0].height);\r\n }\r\n\r\n private openWindow(pagesHtml, width, height) {\r\n const a4Height = 842;\r\n const a4Width = 595;\r\n let imageA4Adjusted = '';\r\n if(width > a4Width && height > a4Height){\r\n const zoom = Math.round(height / a4Height) / 100;\r\n imageA4Adjusted = '.gd-page img { width: 100%; margin: 0; padding: 0;}';\r\n if(navigator.userAgent.toLowerCase().indexOf('firefox') > -1){\r\n imageA4Adjusted = '.gd-page img { transform: scale(' + zoom + ');}';\r\n }\r\n }\r\n let cssPrint = '';\r\n\r\n const windowObject = window.open('', \"PrintWindow\", \"width=750,height=650,top=50,left=50,toolbars=yes,scrollbars=yes,status=yes,resizable=yes\");\r\n windowObject.focus();\r\n windowObject.document.writeln(cssPrint);\r\n windowObject.document.writeln(pagesHtml);\r\n windowObject.document.close();\r\n setTimeout(() => {\r\n windowObject.focus();\r\n windowObject.print();\r\n windowObject.close();\r\n }, 100);\r\n }\r\n\r\n private renderPrintBlob(file: Blob) {\r\n const fileURL = URL.createObjectURL(file);\r\n const windowObject = window.open(fileURL, \"PrintWindow\", \"width=750,height=650,top=50,left=50,toolbars=yes,scrollbars=yes,status=yes,resizable=yes\");\r\n windowObject.focus();\r\n windowObject.print();\r\n windowObject.close();\r\n }\r\n}\r\n","import { HttpEvent } from \"@angular/common/http\";\r\nimport {BehaviorSubject, Observable} from \"rxjs\";\r\n\r\nexport class ExceptionMessageService {\r\n private _observer: BehaviorSubject = new BehaviorSubject('Server is not available');\r\n private _messageChange: Observable = this._observer.asObservable();\r\n\r\n private _observerHttpEvent: BehaviorSubject> = new BehaviorSubject(null);\r\n private _httpEventChange: Observable> = this._observerHttpEvent.asObservable();\r\n\r\n constructor() {\r\n }\r\n\r\n get messageChange(): Observable {\r\n return this._messageChange;\r\n }\r\n\r\n get httpEventChange(): Observable> {\r\n return this._httpEventChange;\r\n }\r\n\r\n changeMessage(message: string) {\r\n this._observer.next(message);\r\n }\r\n\r\n changeHttpEvent(httpEvent:HttpEvent) {\r\n this._observerHttpEvent.next(httpEvent);\r\n }\r\n}\r\n","import {Component, OnInit} from '@angular/core';\r\nimport {ExceptionMessageService} from \"../exception-message.service\";\r\n\r\n@Component({\r\n selector: 'gd-error-modal',\r\n templateUrl: './error-modal.component.html',\r\n styleUrls: ['./error-modal.component.less']\r\n})\r\nexport class ErrorModalComponent implements OnInit {\r\n\r\n message: string;\r\n\r\n constructor(messageService: ExceptionMessageService) {\r\n messageService.messageChange.subscribe(message => this.message = message);\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n}\r\n","import {Observable, Subject} from \"rxjs\";\r\n\r\nexport class PasswordService {\r\n private _observer: Subject = new Subject();\r\n private readonly _passChange: Observable = this._observer.asObservable();\r\n\r\n constructor() {\r\n }\r\n\r\n get passChange(): Observable {\r\n return this._passChange;\r\n }\r\n\r\n setPassword(pass: string) {\r\n this._observer.next(pass);\r\n }\r\n}\r\n","import {Component, EventEmitter, OnInit, Output} from '@angular/core';\r\nimport {ExceptionMessageService} from \"../exception-message.service\";\r\nimport {PasswordService} from \"../password.service\";\r\nimport * as jquery from \"jquery\";\r\n\r\nconst $ = jquery;\r\n\r\n@Component({\r\n selector: 'gd-password-required',\r\n templateUrl: './password-required.component.html',\r\n styleUrls: ['./password-required.component.less']\r\n})\r\nexport class PasswordRequiredComponent implements OnInit {\r\n message: string;\r\n @Output() cancelEvent = new EventEmitter();\r\n\r\n constructor(messageService: ExceptionMessageService, private _passwordService: PasswordService) {\r\n messageService.messageChange.subscribe(message => this.message = message);\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n setPassword(value: string) {\r\n this._passwordService.setPassword(value);\r\n }\r\n\r\n onCloseOpen($event: boolean) {\r\n if ($event) {\r\n setTimeout(() => {\r\n const element = $(\"#password\");\r\n if (element) {\r\n element.focus();\r\n }\r\n }, 100);\r\n } else {\r\n $(\"#password\").val(\"\");\r\n }\r\n }\r\n\r\n cancel($event: boolean) {\r\n $(\"#password\").val(\"\");\r\n this.cancelEvent.emit(true);\r\n }\r\n}\r\n","import {Injectable} from '@angular/core';\r\nimport {HttpErrorResponse, HttpEvent, HttpHandler, HttpInterceptor, HttpRequest} from \"@angular/common/http\";\r\nimport {Observable, throwError} from \"rxjs\";\r\nimport {catchError, map} from \"rxjs/operators\";\r\nimport {ExceptionMessageService} from \"./exception-message.service\";\r\nimport {HttpError} from \"./file.service\";\r\nimport {CommonModals, ModalService} from \"./modal.service\";\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ErrorInterceptorService implements HttpInterceptor {\r\n\r\n public static ErrorMessageWindowName:string = CommonModals.ErrorMessage;\r\n\r\n constructor(private _modalService: ModalService, private _messageService: ExceptionMessageService) {\r\n }\r\n\r\n intercept(req: HttpRequest, next: HttpHandler): Observable> {\r\n const logFormat = 'background: maroon; color: white';\r\n\r\n return next.handle(req)\r\n .pipe(map(data => {\r\n return data;\r\n }),\r\n catchError((exception: HttpEvent) => {\r\n if (exception instanceof HttpErrorResponse) {\r\n switch (exception.status) {\r\n\r\n case HttpError.BadRequest:\r\n console.error('%c Bad Request 400', logFormat);\r\n break;\r\n case HttpError.Unauthorized:\r\n console.error('%c Unauthorized 401', logFormat);\r\n break;\r\n case HttpError.NotFound:\r\n console.error('%c Not Found 404', logFormat);\r\n break;\r\n case HttpError.TimeOut:\r\n console.error('%c TimeOut 408', logFormat);\r\n break;\r\n case HttpError.InternalServerError:\r\n console.error('%c big bad 500', logFormat);\r\n this._messageService.changeMessage(exception.error.message);\r\n this._messageService.changeHttpEvent(exception);\r\n this._modalService.open(ErrorInterceptorService.ErrorMessageWindowName);\r\n break;\r\n\r\n case HttpError.Forbidden:\r\n console.error('%c Forbidden 403', logFormat);\r\n this._messageService.changeMessage(exception.error.message);\r\n this._modalService.open(CommonModals.PasswordRequired);\r\n break;\r\n }\r\n }\r\n return throwError(exception);\r\n }));\r\n }\r\n}\r\n","import {Observable, Subject} from \"rxjs\";\r\n\r\nexport class SearchService {\r\n private _observer: Subject = new Subject();\r\n private readonly _textChange: Observable = this._observer.asObservable();\r\n\r\n private _observerCurrent: Subject = new Subject();\r\n private readonly _currentChange: Observable = this._observerCurrent.asObservable();\r\n\r\n private _observerTotal: Subject = new Subject();\r\n private readonly _totalChange: Observable = this._observerTotal.asObservable();\r\n\r\n constructor() {\r\n }\r\n\r\n get textChange(): Observable {\r\n return this._textChange;\r\n }\r\n\r\n setText(text: string) {\r\n this._observer.next(text);\r\n }\r\n\r\n get currentChange(): Observable {\r\n return this._currentChange;\r\n }\r\n\r\n get totalChange(): Observable {\r\n return this._totalChange;\r\n }\r\n\r\n setCurrent(current: number) {\r\n this._observerCurrent.next(current);\r\n }\r\n\r\n setTotal(total: number) {\r\n this._observerTotal.next(total);\r\n }\r\n}\r\n","import {AfterViewInit, Component, ElementRef, EventEmitter, OnInit, Output, ViewChild} from '@angular/core';\r\nimport {SearchService} from \"../search.service\";\r\n\r\n@Component({\r\n selector: 'gd-search',\r\n templateUrl: './search.component.html',\r\n styleUrls: ['./search.component.less']\r\n})\r\nexport class SearchComponent implements OnInit, AfterViewInit {\r\n\r\n @Output() hidePanel = new EventEmitter(false);\r\n\r\n current = 0;\r\n total = 0;\r\n\r\n @ViewChild('text',{\r\n static : true\r\n }) textElement: ElementRef;\r\n\r\n constructor(private _searchService: SearchService) {\r\n _searchService.totalChange.subscribe((total: number) => {\r\n this.total = total;\r\n if (total !== 0) {\r\n this.current = 1;\r\n } else {\r\n this.current = 0;\r\n }\r\n this._searchService.setCurrent(this.current);\r\n });\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n setText(text: string) {\r\n this._searchService.setText(text);\r\n }\r\n\r\n hide() {\r\n this.setText('');\r\n this.hidePanel.emit(true);\r\n }\r\n\r\n prev() {\r\n if (this.current > 1) {\r\n this.current--;\r\n this._searchService.setCurrent(this.current);\r\n }\r\n }\r\n\r\n next() {\r\n if (this.current < this.total) {\r\n this.current++;\r\n this._searchService.setCurrent(this.current);\r\n }\r\n }\r\n\r\n ngAfterViewInit(): void {\r\n this.textElement.nativeElement.focus();\r\n }\r\n}\r\n","import {Directive, ElementRef} from '@angular/core';\r\nimport {SearchService} from \"./search.service\";\r\nimport {HighlightSearchPipe} from \"./pipes\";\r\nimport {ZoomService} from \"./zoom.service\";\r\nimport * as jquery from \"jquery\";\r\nconst $ = jquery;\r\n\r\n@Directive({\r\n selector: '[gdSearchable]'\r\n})\r\nexport class SearchableDirective {\r\n\r\n text: string;\r\n current = 0;\r\n total = 0;\r\n private zoom = 100;\r\n\r\n constructor(private _elementRef: ElementRef,\r\n private _searchService: SearchService,\r\n private _highlight: HighlightSearchPipe,\r\n private _zoomService: ZoomService) {\r\n _searchService.currentChange.subscribe((current: number) => {\r\n this.current = current;\r\n if (this.current !== 0) {\r\n this.moveToCurrent();\r\n }\r\n });\r\n\r\n _searchService.textChange.subscribe((text: string) => {\r\n this.text = text;\r\n this.highlightSearch();\r\n });\r\n\r\n this.zoom = _zoomService.zoom ? _zoomService.zoom : this.zoom;\r\n _zoomService.zoomChange.subscribe((val: number) => {\r\n this.zoom = val ? val : this.zoom;\r\n });\r\n }\r\n\r\n private highlightSearch() {\r\n const el = this._elementRef ? this._elementRef.nativeElement : null;\r\n if (el) {\r\n this.cleanHighlight(el);\r\n if (this.text) {\r\n this.highlightEl(el);\r\n const count = el.querySelectorAll('.gd-highlight').length;\r\n this.total = count;\r\n } else {\r\n this.total = 0;\r\n }\r\n this._searchService.setTotal(this.total);\r\n }\r\n }\r\n\r\n private moveToCurrent() {\r\n if (this.current === 0) {\r\n return;\r\n }\r\n const currentZoom = this.getZoom();\r\n const el = this._elementRef ? this._elementRef.nativeElement : null;\r\n if (el) {\r\n el.querySelectorAll('.gd-highlight-select').forEach(function (value) {\r\n $(value).removeClass('gd-highlight-select');\r\n });\r\n const currentEl = el.querySelectorAll('.gd-highlight')[this.current - 1];\r\n $(currentEl).addClass('gd-highlight-select');\r\n if (currentEl) {\r\n const options = {\r\n left: 0,\r\n top: ($(currentEl).offset().top) + el.parentElement.parentElement.scrollTop - 150,\r\n };\r\n // using polyfill\r\n el.parentElement.parentElement.scroll(options);\r\n }\r\n }\r\n }\r\n\r\n private highlightEl(el: Element) {\r\n const textNodes = $(el).find('*').contents().filter(function () {\r\n const nodeName = this.parentElement.nodeName.toLowerCase();\r\n const checkClass = (this).classList ? !(this).classList.contains('gd-highlight') : true;\r\n return this.nodeType === 3 &&\r\n this.textContent.trim().length !== 0 &&\r\n nodeName !== 'style' &&\r\n nodeName !== 'title' &&\r\n nodeName !== 'body' &&\r\n nodeName !== 'script' &&\r\n checkClass;\r\n });\r\n const text = this.text;\r\n const highlight = this._highlight;\r\n textNodes.each(function () {\r\n const $this = $(this);\r\n let content = $this.text();\r\n content = highlight.transform(content, text);\r\n $this.replaceWith(content);\r\n });\r\n el.normalize();\r\n }\r\n\r\n private cleanHighlight(el: HTMLElement) {\r\n const nodeListOf = el.querySelectorAll('.gd-highlight');\r\n for (let i = 0; i < nodeListOf.length; i++) {\r\n const element = nodeListOf.item(i);\r\n element.replaceWith((element).innerText);\r\n }\r\n el.normalize();\r\n }\r\n\r\n private getZoom() {\r\n return this.zoom / 100;\r\n }\r\n}\r\n","import {Component, Input, OnInit} from '@angular/core';\r\n\r\n@Component({\r\n selector: 'gd-tabbed-toolbars',\r\n templateUrl: './tabbed-toolbars.component.html',\r\n styleUrls: ['./tabbed-toolbars.component.less']\r\n})\r\nexport class TabbedToolbarsComponent implements OnInit {\r\n @Input() logo: string;\r\n @Input() icon: string;\r\n\r\n constructor() {\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n}\r\n","import {Observable, Subject} from \"rxjs\";\r\n\r\nexport class TabActivatorService {\r\n private _observer: Subject = new Subject();\r\n private readonly _activeTabChange: Observable = this._observer.asObservable();\r\n\r\n constructor() {\r\n }\r\n\r\n get activeTabChange(): Observable {\r\n return this._activeTabChange;\r\n }\r\n\r\n changeActiveTab(tabId: string) {\r\n this._observer.next(tabId);\r\n }\r\n}\r\n","import {Component, Input, OnInit} from '@angular/core';\r\nimport {TabActivatorService} from \"../tab-activator.service\";\r\n\r\n@Component({\r\n selector: 'gd-tab',\r\n templateUrl: './tab.component.html',\r\n styleUrls: ['./tab.component.less']\r\n})\r\nexport class TabComponent implements OnInit {\r\n @Input() id: string;\r\n @Input() tabTitle: string;\r\n @Input() icon: string;\r\n @Input() disabled = false;\r\n @Input() active = false;\r\n @Input() content = true;\r\n\r\n constructor(private _tabActivatorService: TabActivatorService) {\r\n this._tabActivatorService.activeTabChange.subscribe((tabId: string) => {\r\n this.activation(tabId);\r\n });\r\n }\r\n\r\n private activation(tabId: string) {\r\n if (this.id === tabId) {\r\n this.active = true;\r\n } else {\r\n this.active = false;\r\n }\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n selectTab() {\r\n if (this.disabled) {\r\n return;\r\n }\r\n this._tabActivatorService.changeActiveTab(this.id);\r\n }\r\n}\r\n","import {Component} from '@angular/core';\r\n\r\n@Component({\r\n selector: 'gd-tabs',\r\n templateUrl: './tabs.component.html',\r\n styleUrls: ['./tabs.component.less']\r\n})\r\nexport class TabsComponent {\r\n constructor() {\r\n }\r\n\r\n}\r\n","import {Observable, Subject} from \"rxjs\";\r\n\r\nexport class Formatting {\r\n constructor(fontSize: number, color: string, bgColor: string, bold: boolean, italic: boolean, underline: boolean, font: string, strikeout: boolean, align: string, list: string) {\r\n this.fontSize = fontSize;\r\n this.color = color;\r\n this.bgColor = bgColor;\r\n this.bold = bold;\r\n this.italic = italic;\r\n this.underline = underline;\r\n this.font = font;\r\n this.strikeout = strikeout;\r\n this.align = align;\r\n this.list = list;\r\n }\r\n\r\n bold: boolean;\r\n italic: boolean;\r\n underline: boolean;\r\n fontSize: number;\r\n color: string;\r\n bgColor: string;\r\n font: string;\r\n strikeout: boolean;\r\n align: string;\r\n list: string;\r\n\r\n public static default(): Formatting {\r\n return new Formatting(10, '#000000', '#FFFFFF', false, false, false, 'Arial', false, \"\", \"\");\r\n }\r\n}\r\n\r\nexport class FormattingService {\r\n private _observerBold: Subject = new Subject();\r\n private readonly _formatBoldChange: Observable = this._observerBold.asObservable();\r\n private _observerUnderline: Subject = new Subject();\r\n private readonly _formatUnderlineChange: Observable = this._observerUnderline.asObservable();\r\n private _observerUndo: Subject = new Subject();\r\n private readonly _undo: Observable = this._observerUndo.asObservable();\r\n private _observerRedo: Subject = new Subject();\r\n private readonly _redo: Observable = this._observerRedo.asObservable();\r\n private _observerItalic: Subject = new Subject();\r\n private readonly _formatItalicChange: Observable = this._observerItalic.asObservable();\r\n private _observerColor: Subject = new Subject();\r\n private readonly _formatColorChange: Observable = this._observerColor.asObservable();\r\n private _observerBgColor: Subject = new Subject();\r\n private readonly _formatBgColorChange: Observable = this._observerBgColor.asObservable();\r\n private _observerFontSize: Subject = new Subject();\r\n private readonly _formatFontSizeChange: Observable = this._observerFontSize.asObservable();\r\n private _observerFont: Subject = new Subject();\r\n private readonly _formatFontChange: Observable = this._observerFont.asObservable();\r\n private _observerStrikeout: Subject = new Subject();\r\n private readonly _formatStrikeoutChange: Observable = this._observerStrikeout.asObservable();\r\n private _observerAlign: Subject = new Subject();\r\n private readonly _formatAlignChange: Observable = this._observerAlign.asObservable();\r\n private _observerList: Subject = new Subject();\r\n private readonly _formatListChange: Observable = this._observerList.asObservable();\r\n\r\n constructor() {\r\n }\r\n\r\n get formatBoldChange() {\r\n return this._formatBoldChange;\r\n }\r\n\r\n get formatUnderlineChange() {\r\n return this._formatUnderlineChange;\r\n }\r\n\r\n get formatColorChange() {\r\n return this._formatColorChange;\r\n }\r\n\r\n get formatBgColorChange() {\r\n return this._formatBgColorChange;\r\n }\r\n\r\n get formatFontSizeChange() {\r\n return this._formatFontSizeChange;\r\n }\r\n\r\n get formatFontChange() {\r\n return this._formatFontChange;\r\n }\r\n\r\n get undo() {\r\n return this._undo;\r\n }\r\n\r\n get redo() {\r\n return this._redo;\r\n }\r\n\r\n get formatItalicChange() {\r\n return this._formatItalicChange;\r\n }\r\n\r\n get formatStrikeoutChange() {\r\n return this._formatStrikeoutChange;\r\n }\r\n\r\n get formatAlignChange() {\r\n return this._formatAlignChange;\r\n }\r\n\r\n get formatListChange() {\r\n return this._formatListChange;\r\n }\r\n\r\n static createFontSizeOption(val: number) {\r\n return {value: val, name: val + 'px', separator: false}\r\n }\r\n\r\n static getFontSizeOptions() {\r\n return [\r\n FormattingService.createFontSizeOption(8),\r\n FormattingService.createFontSizeOption(10),\r\n FormattingService.createFontSizeOption(12),\r\n FormattingService.createFontSizeOption(14),\r\n FormattingService.createFontSizeOption(16),\r\n FormattingService.createFontSizeOption(18),\r\n FormattingService.createFontSizeOption(20),\r\n FormattingService.createFontSizeOption(22),\r\n FormattingService.createFontSizeOption(24),\r\n ];\r\n }\r\n\r\n static createFontOption(val: string) {\r\n return {value: val, name: val, separator: false}\r\n }\r\n\r\n static getFontOptions() {\r\n const fonts = [\"Arial\", \"Calibri\", \"Century Gothic\", \"Comic Sans\", \"Consolas\", \"Courier\", \"Dejavu Sans\", \"Dejavu Serif\", \"Georgia\", \"Gill Sans\", \"Helvetica\", \"Impact\", \"Lucida Sans\",\r\n \"Myriad Pro\", \"Open Sans\", \"Palatino\", \"Tahoma\", \"Times New Roman\", \"Trebuchet\"];\r\n const fontOptions = [];\r\n fonts.forEach(font => {\r\n fontOptions.push(this.createFontOption(font));\r\n })\r\n\r\n return fontOptions;\r\n }\r\n\r\n changeFormatFontSize($event: number) {\r\n this._observerFontSize.next($event);\r\n }\r\n\r\n changeFormatBold(bold: boolean) {\r\n this._observerBold.next(bold);\r\n }\r\n\r\n changeFormatUnderline(underline: boolean) {\r\n this._observerUnderline.next(underline);\r\n }\r\n\r\n Undo() {\r\n this._observerUndo.next();\r\n }\r\n\r\n Redo() {\r\n this._observerRedo.next();\r\n }\r\n\r\n changeFormatItalic(italic: boolean) {\r\n this._observerItalic.next(italic);\r\n }\r\n\r\n changeFormatColor(color: string) {\r\n this._observerColor.next(color);\r\n }\r\n\r\n changeFormatBgColor(bgcolor: string) {\r\n this._observerBgColor.next(bgcolor);\r\n }\r\n\r\n changeFormatFont(font: string) {\r\n this._observerFont.next(font);\r\n }\r\n\r\n changeFormatStrikeout(strikeout: boolean) {\r\n this._observerStrikeout.next(strikeout);\r\n }\r\n\r\n changeFormatAlign(align: string) {\r\n this._observerAlign.next(align);\r\n }\r\n\r\n changeFormatList(list: string) {\r\n this._observerList.next(list);\r\n }\r\n}\r\n","import {Component, EventEmitter, Input, OnInit, Output} from '@angular/core';\r\n\r\nconst DEFAULT_COLORS = [\r\n '#000000', '#434343', '#666666', '#999999', '#B7B7B7', '#CCCCCC', '#D9D9D9', '#EFEFEF', '#F3F3F3', '#FFFFFF',\r\n '#980000', '#FF0000', '#FF9900', '#FFFF00', '#00FF00', '#00FFFF', '#4986E8', '#0000FF', '#9900FF', '#FF00FF',\r\n '#E6B8AF', '#F4CCCC', '#FDE5CD', '#FFF2CC', '#D9EAD3', '#D0E0E2', '#C9DAF8', '#CFE2F3', '#D9D2E9', '#EAD1DC',\r\n '#DD7E6B', '#EA9899', '#F9CB9C', '#FFE59A', '#B7D7A8', '#A2C4C9', '#A4C2F4', '#9FC5E8', '#B4A7D7', '#D5A6BD',\r\n '#CC4125', '#E06666', '#F6B26B', '#FFD966', '#92C47D', '#75A5AF', '#6D9EEB', '#6FA9DB', '#8E7CC3', '#C27BA0',\r\n '#A61C00', '#CC0000', '#E69138', '#F2C131', '#6AA84F', '#45818E', '#3C78D8', '#3C85C6', '#674EA7', '#A64D79',\r\n '#85200B', '#990000', '#B45F05', '#BF9000', '#37761D', '#144F5C', '#1254CC', '#0A5394', '#351C75', '#741B47',\r\n '#5B0F00', '#660000', '#783F03', '#7F6000', '#284E13', '#0B343D', '#1B4586', '#063763', '#20124D', '#4C1030',\r\n];\r\n\r\n@Component({\r\n selector: 'gd-color-picker',\r\n templateUrl: './color-picker.component.html',\r\n styleUrls: ['./color-picker.component.less']\r\n})\r\nexport class ColorPickerComponent implements OnInit {\r\n @Input() isOpen = false;\r\n @Output() selectedColor = new EventEmitter();\r\n @Output() closeOutside = new EventEmitter();\r\n colors: any = DEFAULT_COLORS;\r\n white = '#FFFFFF';\r\n\r\n constructor() {\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n select($event, color: string) {\r\n $event.preventDefault();\r\n $event.stopPropagation();\r\n this.selectedColor.emit(color);\r\n }\r\n\r\n close() {\r\n this.isOpen = false;\r\n this.closeOutside.emit(true);\r\n }\r\n}\r\n","import {Injectable} from '@angular/core';\r\nimport {FormattingService} from \"./formatting.service\";\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class BackFormattingService extends FormattingService {\r\n\r\n constructor() {\r\n super();\r\n }\r\n}\r\n","import {Injectable} from '@angular/core';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class SelectionService {\r\n selection: Range;\r\n isIE = /*@cc_on!@*/false || !!/(MSIE|Trident\\/|Edge\\/)/i.test(navigator.userAgent);\r\n\r\n restoreSelection() {\r\n if(this.selection && !this.selection.collapsed || this.isIE){\r\n this.putSelection(this.selection );\r\n }\r\n }\r\n\r\n captureSelection() {\r\n const selection = window.getSelection();\r\n if (selection.rangeCount > 0) {\r\n this.selection = selection.getRangeAt(0);\r\n }\r\n }\r\n\r\n private putSelection(selection) {\r\n const sel = window.getSelection();\r\n sel.removeAllRanges();\r\n sel.addRange(selection.cloneRange());\r\n }\r\n\r\n refreshSelection() {\r\n this.captureSelection();\r\n this.restoreSelection();\r\n }\r\n}\r\n","import {Directive, HostListener, OnInit} from '@angular/core';\r\nimport {FormattingService} from \"./formatting.service\";\r\nimport {BackFormattingService} from \"./back-formatting.service\";\r\nimport * as jquery from 'jquery';\r\nconst $ = jquery;\r\nimport {SelectionService} from './selection.service';\r\n\r\n@Directive({\r\n selector: '[gdFormatting]'\r\n})\r\nexport class FormattingDirective implements OnInit {\r\n\r\n private bold = false;\r\n private italic = false;\r\n private underline = false;\r\n private color: string;\r\n private bgColor: string;\r\n private font: string;\r\n private strikeout = false;\r\n private align: string;\r\n private list: string;\r\n private isIE = false;\r\n\r\n constructor(private _formattingService: FormattingService,\r\n private _backFormattingService: BackFormattingService,\r\n private _selectionService: SelectionService) {\r\n this.isIE = /*@cc_on!@*/false || !!/(MSIE|Trident\\/|Edge\\/)/i.test(navigator.userAgent);\r\n }\r\n\r\n @HostListener('mouseup') mouseup() {\r\n\r\n this.bold = document.queryCommandState(\"bold\");\r\n this.strikeout = document.queryCommandState(\"strikeThrough\");\r\n this.italic = document.queryCommandState(\"italic\");\r\n this.bgColor = document.queryCommandValue(\"backColor\");\r\n this.underline = document.queryCommandState(\"underline\");\r\n this.align = this.checkJustify();\r\n this.list = this.checkList();\r\n\r\n //fix required by FireFox to get correct background color\r\n if (this.bgColor === \"transparent\") {\r\n this.bgColor = $(window.getSelection().focusNode.parentNode).css('background-color').toString();\r\n }\r\n this.font = document.queryCommandValue(\"FontName\").replace(/\"/g, '');\r\n if(this.font.split(\",\").length > 1){\r\n this.font = this.font.split(\",\")[0];\r\n }\r\n this.color = document.queryCommandValue(\"foreColor\");\r\n this._backFormattingService.changeFormatBold(this.bold);\r\n this._backFormattingService.changeFormatUnderline(this.underline);\r\n this._backFormattingService.changeFormatItalic(this.italic);\r\n this._backFormattingService.changeFormatColor(this.color);\r\n this._backFormattingService.changeFormatBgColor(this.bgColor);\r\n this._backFormattingService.changeFormatFontSize(this.reportFontSize());\r\n this._backFormattingService.changeFormatFont(this.font);\r\n this._backFormattingService.changeFormatStrikeout(this.strikeout);\r\n this._backFormattingService.changeFormatAlign(this.align);\r\n this._backFormattingService.changeFormatList(this.list);\r\n }\r\n\r\n private checkJustify() {\r\n let align = \"\";\r\n align = document.queryCommandState(\"justifyCenter\") ? \"center\" : align;\r\n align = document.queryCommandState(\"justifyFull\") ? \"full\" : align;\r\n align = document.queryCommandState(\"justifyLeft\") ? \"left\" : align;\r\n align = document.queryCommandState(\"justifyRight\") ? \"right\" : align;\r\n return align;\r\n }\r\n\r\n private checkList() {\r\n let list = \"\";\r\n list = document.queryCommandState(\"insertUnorderedList\") ? \"unordered\" : list;\r\n list = document.queryCommandState(\"insertOrderedList\") ? \"ordered\" : list;\r\n return list;\r\n }\r\n\r\n reportFontSize(): number {\r\n let containerEl, sel;\r\n if (window.getSelection) {\r\n sel = window.getSelection();\r\n if (sel.rangeCount) {\r\n containerEl = sel.getRangeAt(0).commonAncestorContainer;\r\n // Make sure we have an element rather than a text node\r\n if (containerEl.nodeType === 3) {\r\n containerEl = containerEl.parentNode;\r\n }\r\n }\r\n } else if ((sel = document.getSelection()) && sel.type !== \"Control\") {\r\n containerEl = sel.createRange().parentElement();\r\n }\r\n\r\n if (containerEl) {\r\n return parseInt(this.getComputedStyleProperty(containerEl, \"fontSize\").replace(\"px\", \"\"), 10);\r\n }\r\n }\r\n\r\n getComputedStyleProperty(el, propName) {\r\n if (window.getComputedStyle) {\r\n return window.getComputedStyle(el, null)[propName];\r\n } else if (el.currentStyle) {\r\n return el.currentStyle[propName];\r\n }\r\n }\r\n\r\n ngOnInit(): void {\r\n this._formattingService.undo.subscribe(() => {\r\n this.toggleUndo();\r\n });\r\n this._formattingService.redo.subscribe(() => {\r\n this.toggleRedo();\r\n });\r\n this._formattingService.formatBoldChange.subscribe((bold: boolean) => {\r\n this.bold = bold;\r\n this.toggleBold();\r\n });\r\n this._formattingService.formatUnderlineChange.subscribe((underline: boolean) => {\r\n this.underline = underline;\r\n this.toggleUnderline();\r\n });\r\n this._formattingService.formatItalicChange.subscribe((italic: boolean) => {\r\n this.italic = italic;\r\n this.toggleItalic();\r\n });\r\n this._formattingService.formatColorChange.subscribe(((color: string) => {\r\n this.color = color;\r\n this.setColor(color);\r\n }));\r\n this._formattingService.formatBgColorChange.subscribe(((bgcolor: string) => {\r\n this.bgColor = bgcolor;\r\n this.setBgColor(bgcolor);\r\n }));\r\n this._formattingService.formatFontSizeChange.subscribe(((fontSize: number) => {\r\n this.setFontSize(fontSize);\r\n }));\r\n\r\n this._formattingService.formatFontChange.subscribe(((font: string) => {\r\n this.font = font;\r\n this.setFont(font);\r\n }));\r\n this._formattingService.formatStrikeoutChange.subscribe((strikeout: boolean) => {\r\n this.strikeout = strikeout;\r\n this.toggleStrikeout();\r\n });\r\n this._formattingService.formatAlignChange.subscribe((align: string) => {\r\n this.align = align;\r\n this.toggleAlign(this.align);\r\n });\r\n this._formattingService.formatListChange.subscribe((list: string) => {\r\n const remove = this.list === list;\r\n this.list = list;\r\n this.toggleList(this.list, remove);\r\n });\r\n }\r\n\r\n private toggleBold() {\r\n document.execCommand(\"bold\");\r\n this._selectionService.refreshSelection();\r\n }\r\n\r\n private toggleUnderline() {\r\n document.execCommand(\"underline\");\r\n this._selectionService.refreshSelection();\r\n }\r\n\r\n private toggleItalic() {\r\n document.execCommand(\"italic\");\r\n this._selectionService.refreshSelection();\r\n }\r\n\r\n private setBgColor(bgColor: string) {\r\n document.execCommand(\"backColor\", false, bgColor);\r\n this._selectionService.refreshSelection();\r\n }\r\n\r\n private setColor(color: string) {\r\n document.execCommand(\"foreColor\", false, color);\r\n this._selectionService.refreshSelection();\r\n }\r\n\r\n private setFontSize(fontSize: number) {\r\n if (document.getSelection().toString()) {\r\n let spanString = \"\" +\r\n document.getSelection() + \"\";\r\n if (this.bold) {\r\n spanString = \"\" + spanString + \"\";\r\n }\r\n if (this.italic) {\r\n spanString = \"\" + spanString + \"\";\r\n }\r\n if (this.underline) {\r\n spanString = \"\" + spanString + \"\";\r\n }\r\n if (this.strikeout) {\r\n spanString = \"\" + spanString + \"\";\r\n }\r\n document.execCommand('insertHTML', false, spanString);\r\n } else {\r\n document.execCommand(\"fontsize\", false, \"7\");\r\n }\r\n this._selectionService.refreshSelection();\r\n }\r\n\r\n private toggleUndo() {\r\n document.execCommand(\"undo\");\r\n }\r\n\r\n private toggleRedo() {\r\n document.execCommand(\"redo\");\r\n }\r\n\r\n private setFont(font: string) {\r\n document.execCommand(\"fontName\", false, font);\r\n this._selectionService.refreshSelection();\r\n }\r\n\r\n private toggleStrikeout() {\r\n document.execCommand(\"strikeThrough\");\r\n this._selectionService.refreshSelection();\r\n }\r\n\r\n private toggleAlign(align: string) {\r\n if(this.isIE) {\r\n this.toggleAlignIE(align);\r\n return;\r\n }\r\n document.execCommand(\"styleWithCSS\", false, 'true');\r\n switch (align) {\r\n case 'center':\r\n document.execCommand('justifyCenter');\r\n break;\r\n case 'full':\r\n document.execCommand('justifyFull');\r\n break;\r\n case 'left':\r\n document.execCommand('justifyLeft');\r\n break;\r\n case 'right':\r\n document.execCommand('justifyRight');\r\n break;\r\n }\r\n this._selectionService.refreshSelection();\r\n }\r\n\r\n private toggleAlignIE(align: string) {\r\n this._selectionService.restoreSelection()\r\n this._selectionService.captureSelection()\r\n const selection = window.getSelection().focusNode.parentNode.parentNode;\r\n if(align === \"full\"){\r\n align = \"justify\";\r\n }\r\n $(selection).css(\"text-align\", align);\r\n this._selectionService.refreshSelection()\r\n }\r\n\r\n private toggleList(list: string, remove: boolean) {\r\n switch (list) {\r\n case 'unordered':\r\n document.execCommand('insertUnorderedList', remove);\r\n break;\r\n case 'ordered':\r\n document.execCommand('insertOrderedList', remove);\r\n break;\r\n }\r\n this._selectionService.refreshSelection();\r\n }\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'gd-success-modal',\r\n templateUrl: './success-modal.component.html',\r\n styleUrls: ['./success-modal.component.less']\r\n})\r\nexport class SuccessModalComponent implements OnInit {\r\n\r\n constructor() { }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n}\r\n","import {Injectable} from '@angular/core';\r\nimport {Observable, Subject} from \"rxjs\";\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class EditHtmlService {\r\n private _observer: Subject = new Subject();\r\n private readonly _htmlContent: Observable = this._observer.asObservable();\r\n\r\n constructor() {\r\n }\r\n\r\n get observer(): Subject {\r\n return this._observer;\r\n }\r\n\r\n get htmlContent(): Observable {\r\n return this._htmlContent;\r\n }\r\n\r\n}\r\n","import {Directive, HostListener, Input} from '@angular/core';\r\nimport {SelectionService} from './selection.service';\r\nimport {EditHtmlService} from \"./edit-html.service\";\r\n\r\n@Directive({\r\n selector: '[gdEditor]'\r\n})\r\nexport class EditorDirective {\r\n @Input() text: any;\r\n\r\n private isIE: boolean = /*@cc_on!@*/false || !!/(MSIE|Trident\\/|Edge\\/)/i.test(navigator.userAgent);\r\n\r\n constructor(private _selectionService: SelectionService, private _htmlService: EditHtmlService) {\r\n }\r\n\r\n @HostListener('keyup', ['$event'])\r\n public onInput(event) {\r\n this.text = event.target;\r\n if(this.isIE){\r\n if (this.text.innerHTML) {\r\n const html = this.text.innerHTML.toString();\r\n this._htmlService.observer.next(html);\r\n }\r\n }\r\n }\r\n\r\n @HostListener('mouseleave', ['$event'])\r\n public onMouseleave(event) {\r\n this._selectionService.captureSelection();\r\n // this code is required to fix IE11 issue - it doesn't trigger blur event, since that we need to save updated HTML here\r\n if(this.isIE){\r\n this._htmlService.observer.next(event.target.innerHTML.toString());\r\n }\r\n }\r\n\r\n @HostListener('blur', ['$event'])\r\n public onBlur(event) {\r\n event.preventDefault();\r\n this._selectionService.restoreSelection();\r\n if (this.text.innerHTML) {\r\n const html = this.text.innerHTML.toString();\r\n this._htmlService.observer.next(html);\r\n } else {\r\n this._htmlService.observer.next(event.target.innerHTML.toString());\r\n }\r\n }\r\n}\r\n","import {EventEmitter, Injectable} from '@angular/core'\r\nimport {HttpRequest} from '@angular/common/http';\r\nimport {Api} from \"./config.service\";\r\n\r\n@Injectable()\r\nexport class LoadingMaskService {\r\n onLoadingChanged: EventEmitter = new EventEmitter();\r\n\r\n private stopList = [];\r\n private requests: HttpRequest[] = [];\r\n\r\n constructor() {\r\n this.stopList.push(Api.SAVE_TEXT);\r\n this.stopList.push(Api.SAVE_OPTICAL_CODE);\r\n this.stopList.push(Api.LOAD_DOCUMENT_PAGE);\r\n this.stopList.push(Api.LOAD_THUMBNAILS);\r\n this.stopList.push(Api.GET_FILE_STATUS);\r\n this.stopList.push(Api.LOAD_PRINT);\r\n }\r\n\r\n onRequestStart(req: HttpRequest): void {\r\n const stop = this.stopList.find(x => req.url.includes(x));\r\n if (!stop) {\r\n this.requests.push(req);\r\n this.notify();\r\n }\r\n }\r\n\r\n onRequestFinish(req: HttpRequest): void {\r\n const index = this.requests.indexOf(req);\r\n if (index !== -1) {\r\n this.requests.splice(index, 1);\r\n }\r\n this.notify();\r\n }\r\n\r\n addStopUrl(url: string) {\r\n this.stopList.push(url);\r\n }\r\n\r\n private notify(): void {\r\n this.onLoadingChanged.emit(this.requests.length !== 0);\r\n }\r\n}\r\n","import {AfterViewInit, Component, Input, OnInit} from '@angular/core';\r\nimport {LoadingMaskService} from \"../loading-mask.service\";\r\n\r\n@Component({\r\n selector: 'gd-loading-mask',\r\n templateUrl: './loading-mask.component.html',\r\n styleUrls: ['./loading-mask.component.less']\r\n})\r\n\r\nexport class LoadingMaskComponent implements OnInit, AfterViewInit {\r\n @Input() loadingMask = false;\r\n\r\n constructor(private _loadingMaskService: LoadingMaskService) {\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n ngAfterViewInit() {\r\n this._loadingMaskService\r\n .onLoadingChanged\r\n .subscribe((loading: boolean) => this.loadingMask = loading);\r\n }\r\n}\r\n","import {Injectable} from '@angular/core';\r\nimport {HttpEvent, HttpHandler, HttpInterceptor, HttpRequest} from \"@angular/common/http\";\r\nimport {Observable} from \"rxjs\";\r\nimport {finalize} from 'rxjs/operators'\r\nimport {LoadingMaskService} from \"./loading-mask.service\";\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class LoadingMaskInterceptorService implements HttpInterceptor {\r\n\r\n constructor(private _loadingMaskService: LoadingMaskService) {\r\n }\r\n\r\n intercept(req: HttpRequest, next: HttpHandler): Observable> {\r\n this._loadingMaskService.onRequestStart(req);\r\n const callback = () => this._loadingMaskService.onRequestFinish(req);\r\n return next.handle(req).pipe( finalize( callback));\r\n }\r\n}\r\n","import {\r\n Component,\r\n EventEmitter,\r\n forwardRef,\r\n HostBinding,\r\n HostListener,\r\n Inject,\r\n Input,\r\n Output,\r\n ViewEncapsulation\r\n} from '@angular/core';\r\n\r\n\r\nconst horizontalAlignment = {\r\n center : {\r\n right: 'auto'\r\n },\r\n left : {\r\n right: '100%'\r\n },\r\n right : {\r\n right: '-100%'\r\n }\r\n};\r\n\r\nconst verticalAlignment = {\r\n center : {\r\n top : '0px',\r\n },\r\n top : {\r\n top : '-100%',\r\n right: '100%'\r\n },\r\n bottom : {\r\n top: 'autos'\r\n }\r\n};\r\n\r\n/**\r\n * DropDownToggleComponent\r\n */\r\n@Component({\r\n selector: 'gd-drop-down-toggle',\r\n template: '',\r\n styleUrls: ['./drop-down.component.less'],\r\n encapsulation : ViewEncapsulation.None\r\n})\r\nexport class DropDownToggleComponent{\r\n @HostListener('click',['$event'])\r\n click = (event: any) => this.dropdown.toggle(event);\r\n constructor(@Inject(forwardRef(() => DropDownComponent)) public dropdown) {}\r\n}\r\n\r\n/**\r\n * DropDownItemsComponent\r\n */\r\n@Component({\r\n selector: 'gd-drop-down-items',\r\n template: '
',\r\n styleUrls: ['./drop-down.component.less'],\r\n encapsulation : ViewEncapsulation.None\r\n})\r\nexport class DropDownItemsComponent{\r\n\r\n get horizontalAlign(){\r\n return horizontalAlignment[this.dropdown.getPlacement().h].right;\r\n }\r\n\r\n get verticalAlign(){\r\n return verticalAlignment[this.dropdown.getPlacement().v].top;\r\n }\r\n\r\n get isOpen(){\r\n return this.dropdown.open;\r\n }\r\n\r\n constructor(@Inject(forwardRef(() => DropDownComponent)) public dropdown) {}\r\n\r\n onClickOutside(event : Event ){\r\n this.dropdown.close();\r\n }\r\n}\r\n\r\n/**\r\n * DropDownItemComponent\r\n */\r\n@Component({\r\n selector: 'gd-drop-down-item',\r\n template: '
',\r\n styleUrls: ['./drop-down.component.less'],\r\n})\r\nexport class DropDownItemComponent{\r\n @HostBinding('class')\r\n class = 'drop-down-item';\r\n\r\n @Output()\r\n selected = new EventEmitter();\r\n\r\n @HostListener('click')\r\n click = () => this.selectEntry();\r\n\r\n constructor(@Inject(forwardRef(() => DropDownComponent)) public dropdown) {}\r\n\r\n selectEntry(){\r\n this.selected.next();\r\n this.dropdown.close();\r\n }\r\n}\r\n\r\n/**\r\n * DropDownComponent\r\n */\r\n@Component({\r\n selector: 'gd-drop-down',\r\n template: '
',\r\n styleUrls: ['./drop-down.component.less'],\r\n encapsulation : ViewEncapsulation.None\r\n})\r\nexport class DropDownComponent{\r\n @Input()\r\n placement = {\r\n h: \"center\",\r\n v: \"bottom\"\r\n };\r\n\r\n\r\n @Input()\r\n @HostBinding('class.show')\r\n open = false;\r\n\r\n @HostBinding('class')\r\n class = 'drop-down';\r\n\r\n close(){\r\n this.open = false;\r\n }\r\n\r\n toggle(event : MouseEvent){\r\n event.stopPropagation();\r\n this.open = !this.open;\r\n document.body.click();\r\n }\r\n\r\n getPlacement(){\r\n return this.placement;\r\n }\r\n}\r\n","import {Component, Input, OnInit} from '@angular/core';\r\n\r\n@Component({\r\n selector: 'gd-left-side-bar',\r\n templateUrl: './left-side-bar.component.html',\r\n styleUrls: ['./left-side-bar.component.less']\r\n})\r\nexport class LeftSideBarComponent implements OnInit {\r\n @Input() showSpinner = false;\r\n\r\n constructor() {\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n}\r\n","import {Directive, EventEmitter, HostListener, Input, Output} from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[gdTooltip]'\r\n})\r\nexport class TooltipDirective {\r\n\r\n @Output() showToolTip = new EventEmitter();\r\n\r\n constructor() {\r\n }\r\n\r\n @HostListener('mouseenter')\r\n public onHovering() {\r\n this.showToolTip.emit(true);\r\n }\r\n\r\n @HostListener('mouseleave')\r\n public onUnhovering() {\r\n this.showToolTip.emit(false);\r\n }\r\n\r\n}\r\n","import {\r\n ApplicationRef,\r\n ComponentFactoryResolver,\r\n Injectable,\r\n ViewContainerRef\r\n} from '@angular/core';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class AddDynamicComponentService {\r\n\r\n constructor(private _factoryResolver: ComponentFactoryResolver,\r\n private _appRef: ApplicationRef) {\r\n }\r\n\r\n addDynamicComponent(viewContainerRef: ViewContainerRef, component: any) {\r\n const factory = this._factoryResolver.resolveComponentFactory(component);\r\n const componentRef = viewContainerRef.createComponent(factory);\r\n\r\n componentRef.onDestroy(() => {\r\n this._appRef.detachView(componentRef.hostView);\r\n });\r\n\r\n return componentRef;\r\n }\r\n\r\n}\r\n","import {HostDynamicDirective} from \"./host-dynamic.directive\";\r\n\r\nexport class HostingDynamicComponentService {\r\n private hosts: HostDynamicDirective[];\r\n\r\n constructor() {\r\n this.hosts = [];\r\n }\r\n\r\n add(host: HostDynamicDirective) {\r\n this.hosts = this.hosts.filter(function (h) {\r\n return h.ident !== host.ident;\r\n });\r\n this.hosts.push(host);\r\n }\r\n\r\n remove(host: HostDynamicDirective) {\r\n this.hosts = this.hosts.filter(function (h) {\r\n return h.ident !== host.ident;\r\n });\r\n }\r\n\r\n find(ident: number) {\r\n return this.hosts.find(function (h) {\r\n return h.ident === ident;\r\n });\r\n }\r\n}\r\n","import {AfterViewInit, Directive, Input, OnDestroy, ViewContainerRef} from '@angular/core';\r\nimport {HostingDynamicComponentService} from \"./hosting-dynamic-component.service\";\r\n\r\n@Directive({\r\n selector: '[gdHostDynamic]'\r\n})\r\nexport class HostDynamicDirective implements AfterViewInit, OnDestroy {\r\n @Input() ident: number;\r\n\r\n constructor(public viewContainerRef: ViewContainerRef,\r\n private _hostingService: HostingDynamicComponentService) {\r\n }\r\n\r\n ngAfterViewInit(): void {\r\n this._hostingService.add(this);\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this._hostingService.remove(this);\r\n this.viewContainerRef.clear();\r\n }\r\n\r\n}\r\n","import {AfterViewInit, Component, EventEmitter, Input, OnInit, Output} from '@angular/core';\r\nimport * as jquery from \"jquery\";\r\nimport {Utils} from \"../file.service\";\r\n\r\nconst $ = jquery;\r\n\r\n@Component({\r\n selector: 'gd-resizing',\r\n templateUrl: './resizing.component.html',\r\n styleUrls: ['./resizing.component.less']\r\n})\r\nexport class ResizingComponent implements OnInit, AfterViewInit {\r\n\r\n @Input() init: boolean;\r\n @Input() id: number;\r\n @Input() se = false;\r\n @Input() ne = false;\r\n @Input() sw = false;\r\n @Input() nw = false;\r\n @Input() pageWidth: number;\r\n @Input() pageHeight: number;\r\n SE = 'se';\r\n NE = 'ne';\r\n SW = 'sw';\r\n NW = 'nw';\r\n\r\n @Output() offsetX = new EventEmitter();\r\n @Output() offsetY = new EventEmitter();\r\n @Output() offsetTop = new EventEmitter();\r\n @Output() offsetLeft = new EventEmitter();\r\n @Output() release = new EventEmitter();\r\n\r\n private grab = false;\r\n private oldPosition: { x: number, y: number };\r\n\r\n constructor() {\r\n }\r\n\r\n ngAfterViewInit(): void {\r\n const elSE = $(this.getElementId(this.SE));\r\n const elNW = $(this.getElementId(this.NW));\r\n if (this.init && elSE && elNW && elSE.offset() && elNW.offset()) {\r\n let width = elSE.offset().left - elNW.offset().left;\r\n let height = elSE.offset().top - elNW.offset().top;\r\n while (width >= this.pageWidth || height >= this.pageHeight) {\r\n width = width / 2;\r\n height = height / 2;\r\n }\r\n setTimeout(() => {\r\n this.offsetX.emit(width);\r\n this.offsetY.emit(height);\r\n }, 100);\r\n }\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n catchUp($event: DragEvent) {\r\n // ff\r\n $event.preventDefault();\r\n if ($event.dataTransfer) { // ff\r\n $event.dataTransfer.setData('text', 'foo');\r\n }\r\n this.grab = true;\r\n this.oldPosition = Utils.getMousePosition($event);\r\n }\r\n\r\n resize($event: DragEvent, el: string) {\r\n if (!this.grab) {\r\n return;\r\n }\r\n const position = Utils.getMousePosition($event);\r\n if (position.x === 0 && position.y === 0) {\r\n return;\r\n }\r\n const notSW = this.NE === el || this.NW === el;\r\n const notNE = this.SW === el || this.NW === el;\r\n this.setOffsets(position, notNE, notSW);\r\n if (notSW) {\r\n this.offsetTop.emit(position.y - this.oldPosition.y);\r\n }\r\n if (notNE) {\r\n this.offsetLeft.emit(position.x - this.oldPosition.x);\r\n }\r\n this.oldPosition = position;\r\n }\r\n\r\n private setOffsets(position, x: boolean, y: boolean) {\r\n const offsetX = x ? this.oldPosition.x - position.x : position.x - this.oldPosition.x;\r\n const offsetY = y ? this.oldPosition.y - position.y : position.y - this.oldPosition.y;\r\n this.offsetX.emit(offsetX);\r\n this.offsetY.emit(offsetY);\r\n }\r\n\r\n end($event: DragEvent, el: string) {\r\n // ff\r\n this.resize($event, el);\r\n this.release.emit(true);\r\n this.grab = false;\r\n }\r\n\r\n start($event: DragEvent) {\r\n this.drop($event);\r\n }\r\n\r\n drop($event: DragEvent) {\r\n $event.stopPropagation();\r\n $event.preventDefault();\r\n }\r\n\r\n private getElementId(el: string) {\r\n return \"#\" + el + \"-\" + this.id;\r\n }\r\n}\r\n","import {TabActivatorService} from \"./tab-activator.service\";\r\n\r\nexport class TopTabActivatorService extends TabActivatorService {\r\n\r\n constructor() {\r\n super();\r\n }\r\n}\r\n","import {Component, EventEmitter, Input, OnInit, Output} from '@angular/core';\r\nimport {ExceptionMessageService} from \"../exception-message.service\";\r\nimport {TopTabActivatorService} from \"../top-tab-activator.service\";\r\nimport {ModalService, CommonModals} from \"../modal.service\";\r\n\r\n@Component({\r\n selector: 'gd-top-tab',\r\n templateUrl: './top-tab.component.html',\r\n styleUrls: ['./top-tab.component.less']\r\n})\r\nexport class TopTabComponent implements OnInit {\r\n @Input() id: string;\r\n @Input() icon: string;\r\n @Input() disabled = false;\r\n @Input() tooltip: string;\r\n @Output() activeTab = new EventEmitter();\r\n @Input() elementPosition = 0;\r\n public active = false;\r\n public showToolTip = false;\r\n\r\n constructor(private _tabActivatorService: TopTabActivatorService,\r\n private _modalService: ModalService,\r\n private _excMessageService: ExceptionMessageService) {\r\n this._tabActivatorService.activeTabChange.subscribe((tabId: string) => {\r\n this.activation(tabId);\r\n if (tabId === null) {\r\n this.activeTab.emit(\"\");\r\n }\r\n });\r\n }\r\n\r\n private activation(tabId: string) {\r\n if (this.id === tabId) {\r\n this.active = !this.active;\r\n if (this.active) {\r\n this.activeTab.emit(this.id);\r\n } else {\r\n this.activeTab.emit(\"\");\r\n }\r\n } else {\r\n this.active = false;\r\n }\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n toggleTab() {\r\n if (this.disabled) {\r\n this._modalService.open(CommonModals.ErrorMessage);\r\n this._excMessageService.changeMessage(\"Please open document first\");\r\n return;\r\n }\r\n this._tabActivatorService.changeActiveTab(this.id);\r\n }\r\n\r\n}\r\n","import {Component, EventEmitter, Input, OnInit, Output, ElementRef, Renderer2} from '@angular/core';\r\nimport * as jquery from 'jquery';\r\nimport {FormattingService} from \"../formatting.service\";\r\nimport {OnCloseService} from \"../on-close.service\";\r\nimport {Option} from \"../select/select.component\";\r\nimport { ZoomService } from '../zoom.service';\r\nimport { WindowService } from '../window.service';\r\n\r\nconst $ = jquery;\r\n\r\n@Component({\r\n selector: 'gd-text-menu',\r\n templateUrl: './text-menu.component.html',\r\n styleUrls: ['./text-menu.component.less']\r\n})\r\nexport class TextMenuComponent implements OnInit {\r\n @Input() blur: boolean;\r\n @Input() fontSize: number;\r\n @Input() font: string;\r\n @Input() bold: boolean;\r\n @Input() italic: boolean;\r\n @Input() underline: boolean;\r\n @Input() color: string;\r\n @Input() decoration = true;\r\n @Input() showTooltips = true;\r\n\r\n @Output() outFontSize = new EventEmitter();\r\n @Output() outFont = new EventEmitter();\r\n @Output() outBold = new EventEmitter();\r\n @Output() outItalic = new EventEmitter();\r\n @Output() outUnderline = new EventEmitter();\r\n @Output() outColor = new EventEmitter();\r\n\r\n fontSizeOptions = FormattingService.getFontSizeOptions();\r\n fontOptions = FormattingService.getFontOptions();\r\n colorPickerShow = false;\r\n\r\n isMobile: boolean;\r\n\r\n constructor(private _onCloseService: OnCloseService,\r\n private _zoomService: ZoomService,\r\n private _windowService: WindowService,\r\n protected _elementRef: ElementRef,\r\n private renderer: Renderer2) {\r\n \r\n _onCloseService.onClose.subscribe(() => {\r\n this.colorPickerShow = false;\r\n });\r\n\r\n this.isMobile = _windowService.isMobile();\r\n _windowService.onResize.subscribe((w) => {\r\n this.isMobile = _windowService.isMobile();\r\n });\r\n\r\n _zoomService.zoomChange.subscribe((val: number) => {\r\n if (this.isMobile)\r\n {\r\n this.changePosition(val);\r\n }\r\n });\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n changePosition(val: number) {\r\n const top = (window.innerHeight - 24 - this._elementRef.nativeElement.parentElement.getBoundingClientRect().top - this._elementRef.nativeElement.parentElement.getBoundingClientRect().height);\r\n const left = this._elementRef.nativeElement.parentElement.getBoundingClientRect().left;\r\n this.renderer.setStyle(this._elementRef.nativeElement.querySelector('.gd-text-menu'), 'width', window.innerWidth + 'px');\r\n this.renderer.setStyle(this._elementRef.nativeElement.querySelector('.gd-text-menu'), 'top', top + 'px');\r\n this.renderer.setStyle(this._elementRef.nativeElement.querySelector('.gd-text-menu'), 'left', -left + 'px');\r\n }\r\n\r\n selectFontSize($event: Option) {\r\n $(\".gd-wrapper\").off(\"keyup\");\r\n this.outFontSize.emit($event.value);\r\n $(\".gd-wrapper\").on(\"keyup\", () => {\r\n const fontElements = document.getElementsByTagName(\"font\");\r\n for (let i = 0, len = fontElements.length; i < len; ++i) {\r\n if (fontElements[i].getAttribute('size') === \"7\") {\r\n fontElements[i].removeAttribute(\"size\");\r\n fontElements[i].style.fontSize = $event + \"px\";\r\n }\r\n }\r\n });\r\n }\r\n\r\n selectFont($event: Option) {\r\n event.preventDefault();\r\n event.stopPropagation();\r\n this.outFont.emit($event.value);\r\n }\r\n\r\n toggleColorPicker($event) {\r\n $event.preventDefault();\r\n $event.stopPropagation();\r\n this.colorPickerShow = !this.colorPickerShow;\r\n }\r\n\r\n selectColor($event: string) {\r\n this.colorPickerShow = false;\r\n this.outColor.emit($event);\r\n }\r\n\r\n toggleBold(event) {\r\n event.preventDefault();\r\n event.stopPropagation();\r\n this.outBold.emit(!this.bold);\r\n }\r\n\r\n toggleItalic(event) {\r\n event.preventDefault();\r\n event.stopPropagation();\r\n this.outItalic.emit(!this.italic);\r\n }\r\n\r\n toggleUnderline(event) {\r\n event.preventDefault();\r\n event.stopPropagation();\r\n this.outUnderline.emit(!this.underline);\r\n }\r\n\r\n closePicker($event) {\r\n this.colorPickerShow = !$event;\r\n }\r\n}\r\n","import {Component, EventEmitter, Input, OnInit, Output, Renderer2, ElementRef} from '@angular/core';\r\nimport {Formatting} from \"../formatting.service\";\r\nimport {WindowService} from \"../window.service\";\r\nimport { ZoomService } from '../zoom.service';\r\n\r\nexport class MenuType {\r\n public static FOR_SIGNATURE = \"signature\";\r\n public static FOR_ANNOTATION = \"annotation\";\r\n}\r\n\r\n@Component({\r\n selector: 'gd-context-menu',\r\n templateUrl: './context-menu.component.html',\r\n styleUrls: ['./context-menu.component.less']\r\n})\r\nexport class ContextMenuComponent implements OnInit {\r\n @Input() formatting: Formatting = Formatting.default();\r\n @Input() textMenu: boolean;\r\n @Input() topPosition: number;\r\n @Input() lock = false;\r\n @Input() translation = 0;\r\n @Input() menuType: string;\r\n @Output() changeFormatting = new EventEmitter();\r\n @Output() removeItem = new EventEmitter();\r\n @Output() copySign = new EventEmitter();\r\n @Output() lockOut = new EventEmitter();\r\n @Output() comment = new EventEmitter();\r\n\r\n isMobile: boolean;\r\n\r\n constructor(private _windowService: WindowService,\r\n private _zoomService: ZoomService,\r\n protected _elementRef: ElementRef,\r\n private renderer: Renderer2) {\r\n this.isMobile = _windowService.isMobile();\r\n _windowService.onResize.subscribe((w) => {\r\n this.isMobile = _windowService.isMobile();\r\n });\r\n\r\n _zoomService.zoomChange.subscribe((val: number) => {\r\n this.changeScale(val);\r\n });\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n changeScale(val: number){\r\n this.renderer.setStyle(this._elementRef.nativeElement.querySelector('.gd-context-menu'), 'transform', 'scale(' + 1/(val/100) + ')');\r\n if (!this.isMobile && val && val !== 100) {\r\n this.renderer.setStyle(this._elementRef.nativeElement.querySelector('.gd-context-menu'), 'left', this.translation + 'px');\r\n }\r\n }\r\n\r\n saveChanges() {\r\n this.changeFormatting.emit(this.formatting);\r\n }\r\n\r\n selectFontSize($event: number) {\r\n this.formatting.fontSize = $event;\r\n this.saveChanges();\r\n }\r\n\r\n selectFont($event: string) {\r\n this.formatting.font = $event;\r\n this.saveChanges();\r\n }\r\n\r\n selectColor($event: string) {\r\n this.formatting.color = $event;\r\n this.saveChanges();\r\n }\r\n\r\n toggleBold($event) {\r\n this.formatting.bold = $event;\r\n this.saveChanges();\r\n }\r\n\r\n toggleItalic($event) {\r\n this.formatting.italic = $event;\r\n this.saveChanges();\r\n }\r\n\r\n toggleUnderline($event) {\r\n this.formatting.underline = $event;\r\n this.saveChanges();\r\n }\r\n\r\n deleteItem() {\r\n this.removeItem.emit(true);\r\n }\r\n\r\n toggleLock() {\r\n this.lock = !this.lock;\r\n this.lockOut.emit(this.lock);\r\n }\r\n\r\n onCopySign() {\r\n this.copySign.emit(true);\r\n }\r\n\r\n isSignature() {\r\n return this.menuType === MenuType.FOR_SIGNATURE;\r\n }\r\n\r\n isAnnotation() {\r\n return this.menuType === MenuType.FOR_ANNOTATION;\r\n }\r\n\r\n addComment() {\r\n this.comment.emit(true);\r\n }\r\n}\r\n","import {NgModule} from '@angular/core';\r\nimport {CommonModule} from '@angular/common';\r\nimport {TopToolbarComponent} from './top-toolbar/top-toolbar.component';\r\nimport {SidePanelComponent} from './side-panel/side-panel.component';\r\nimport {ButtonComponent} from './button/button.component';\r\nimport {LogoComponent} from './logo/logo.component';\r\nimport {TooltipComponent} from './tooltip/tooltip.component';\r\nimport {FontAwesomeModule} from '@fortawesome/angular-fontawesome';\r\nimport {library} from '@fortawesome/fontawesome-svg-core';\r\nimport {fas} from '@fortawesome/free-solid-svg-icons';\r\nimport {far} from '@fortawesome/free-regular-svg-icons';\r\nimport {Api, ConfigService,} from \"./config.service\";\r\nimport {ModalService} from \"./modal.service\";\r\nimport {ModalComponent} from './modal/modal.component';\r\nimport {BrowseFilesModalComponent} from './browse-files-modal/browse-files-modal.component';\r\nimport {FileModel, FileService, FileUtil, Utils} from \"./file.service\";\r\nimport {DocumentComponent} from './document/document.component';\r\nimport {PageComponent} from './page/page.component';\r\nimport {HighlightSearchPipe, SanitizeHtmlPipe, SanitizeResourceHtmlPipe, SanitizeStylePipe} from \"./pipes\";\r\nimport {UploadFileZoneComponent} from './upload-file-zone/upload-file-zone.component';\r\nimport {UploadFilesService} from \"./upload-files.service\";\r\nimport {DndDirective} from './dnd.directive';\r\nimport {ScrollableDirective} from './scrollable.directive';\r\nimport {MouseWheelDirective} from './mousewheel.directive';\r\nimport {NavigateService} from \"./navigate.service\";\r\nimport {PagePreloadService} from \"./page-preload.service\";\r\nimport {ZoomDirective} from './zoom.directive';\r\nimport {ZoomService} from \"./zoom.service\";\r\nimport {SelectComponent} from './select/select.component';\r\nimport {DisabledCursorDirective} from './disabled-cursor.directive';\r\nimport {RotationDirective} from './rotation.directive';\r\nimport {InitStateComponent} from './init-state/init-state.component';\r\nimport {RenderPrintService} from \"./render-print.service\";\r\nimport {RenderPrintDirective} from './render-print.directive';\r\nimport {ErrorModalComponent} from './error-modal/error-modal.component';\r\nimport {PasswordRequiredComponent} from './password-required/password-required.component';\r\nimport {ExceptionMessageService} from \"./exception-message.service\";\r\nimport {PasswordService} from \"./password.service\";\r\nimport {ErrorInterceptorService} from \"./error-interceptor.service\";\r\nimport {SearchComponent} from './search/search.component';\r\nimport {SearchableDirective} from './searchable.directive';\r\nimport {SearchService} from \"./search.service\";\r\nimport {WindowService} from \"./window.service\";\r\nimport {ViewportService} from \"./viewport.service\";\r\nimport {TabbedToolbarsComponent} from './tabbed-toolbars/tabbed-toolbars.component';\r\nimport {TabComponent} from \"./tab/tab.component\";\r\nimport {TabsComponent} from \"./tabs/tabs.component\";\r\nimport {FormattingService} from \"./formatting.service\";\r\nimport {ColorPickerComponent} from './color-picker/color-picker.component';\r\nimport {FormattingDirective} from './formatting.directive';\r\nimport {BackFormattingService} from \"./back-formatting.service\";\r\nimport {OnCloseService} from \"./on-close.service\";\r\nimport {SuccessModalComponent} from './success-modal/success-modal.component';\r\nimport {EditorDirective} from './editor.directive';\r\nimport {LoadingMaskComponent} from './loading-mask/loading-mask.component';\r\nimport {LoadingMaskService} from './loading-mask.service';\r\nimport {LoadingMaskInterceptorService} from \"./loading-mask-interceptor.service\";\r\nimport {TabActivatorService} from \"./tab-activator.service\";\r\nimport {\r\n DropDownComponent,\r\n DropDownItemComponent,\r\n DropDownItemsComponent,\r\n DropDownToggleComponent\r\n} from './drop-down/drop-down.component';\r\nimport {ClickOutsideModule} from 'ng-click-outside';\r\nimport {LeftSideBarComponent} from './left-side-bar/left-side-bar.component';\r\nimport {TooltipDirective} from './tooltip.directive';\r\nimport {AddDynamicComponentService} from \"./add-dynamic-component.service\";\r\nimport {HostDynamicDirective} from './host-dynamic.directive';\r\nimport {HostingDynamicComponentService} from \"./hosting-dynamic-component.service\";\r\nimport {ResizingComponent} from './resizing/resizing.component';\r\nimport {TopTabComponent} from './top-tab/top-tab.component';\r\nimport {TopTabActivatorService} from \"./top-tab-activator.service\";\r\nimport {TextMenuComponent} from './text-menu/text-menu.component';\r\nimport {ContextMenuComponent} from './context-menu/context-menu.component';\r\n\r\nconst providers = [ConfigService,\r\n Api,\r\n ModalService,\r\n FileService,\r\n FileModel,\r\n FileUtil,\r\n Utils,\r\n SanitizeHtmlPipe,\r\n SanitizeResourceHtmlPipe,\r\n SanitizeStylePipe,\r\n HighlightSearchPipe,\r\n UploadFilesService,\r\n RenderPrintService,\r\n NavigateService,\r\n PagePreloadService,\r\n ZoomService,\r\n ExceptionMessageService,\r\n PasswordService,\r\n ErrorInterceptorService,\r\n SearchService,\r\n WindowService,\r\n ViewportService,\r\n FormattingService,\r\n BackFormattingService,\r\n OnCloseService,\r\n LoadingMaskInterceptorService,\r\n LoadingMaskService,\r\n TabActivatorService,\r\n AddDynamicComponentService,\r\n HostingDynamicComponentService,\r\n TopTabActivatorService];\r\n\r\n@NgModule({\r\n imports: [CommonModule, FontAwesomeModule, ClickOutsideModule],\r\n declarations: [\r\n TopToolbarComponent,\r\n SidePanelComponent,\r\n ButtonComponent,\r\n LogoComponent,\r\n TooltipComponent,\r\n ModalComponent,\r\n BrowseFilesModalComponent,\r\n DocumentComponent,\r\n PageComponent,\r\n SanitizeHtmlPipe,\r\n SanitizeResourceHtmlPipe,\r\n SanitizeStylePipe,\r\n HighlightSearchPipe,\r\n UploadFileZoneComponent,\r\n DndDirective,\r\n ScrollableDirective,\r\n MouseWheelDirective,\r\n ZoomDirective,\r\n SelectComponent,\r\n DisabledCursorDirective,\r\n RotationDirective,\r\n InitStateComponent,\r\n RenderPrintDirective,\r\n ErrorModalComponent,\r\n PasswordRequiredComponent,\r\n SearchComponent,\r\n SearchableDirective,\r\n TabbedToolbarsComponent,\r\n TabComponent,\r\n TabsComponent,\r\n ColorPickerComponent,\r\n FormattingDirective,\r\n SuccessModalComponent,\r\n EditorDirective,\r\n LoadingMaskComponent,\r\n DropDownComponent,\r\n DropDownItemComponent,\r\n DropDownItemsComponent,\r\n DropDownToggleComponent,\r\n LeftSideBarComponent,\r\n TooltipDirective,\r\n HostDynamicDirective,\r\n ResizingComponent,\r\n TopTabComponent,\r\n TextMenuComponent,\r\n ContextMenuComponent\r\n ],\r\n exports: [\r\n TopToolbarComponent,\r\n SidePanelComponent,\r\n ButtonComponent,\r\n LogoComponent,\r\n TooltipComponent,\r\n ModalComponent,\r\n BrowseFilesModalComponent,\r\n DocumentComponent,\r\n PageComponent,\r\n SanitizeResourceHtmlPipe,\r\n SanitizeStylePipe,\r\n HighlightSearchPipe,\r\n SanitizeHtmlPipe,\r\n UploadFileZoneComponent,\r\n ScrollableDirective,\r\n MouseWheelDirective,\r\n SelectComponent,\r\n RotationDirective,\r\n InitStateComponent,\r\n RenderPrintDirective,\r\n ErrorModalComponent,\r\n PasswordRequiredComponent,\r\n SearchComponent,\r\n SearchableDirective,\r\n TabbedToolbarsComponent,\r\n TabComponent,\r\n TabsComponent,\r\n ColorPickerComponent,\r\n FormattingDirective,\r\n SuccessModalComponent,\r\n LoadingMaskComponent,\r\n DndDirective,\r\n DropDownComponent,\r\n DropDownItemComponent,\r\n DropDownItemsComponent,\r\n DropDownToggleComponent,\r\n ZoomDirective,\r\n DropDownToggleComponent,\r\n LeftSideBarComponent,\r\n TooltipDirective,\r\n HostDynamicDirective,\r\n ResizingComponent,\r\n TopTabComponent,\r\n TextMenuComponent,\r\n ContextMenuComponent\r\n ],\r\n providers: providers\r\n})\r\nexport class CommonComponentsModule {\r\n constructor() {\r\n library.add(fas, far);\r\n }\r\n}\r\n"],"names":["tslib_1.__extends","$","tslib_1.__values"],"mappings":"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"} \ No newline at end of file diff --git a/dist/libs/common-components/groupdocs.examples.angular-common-components.metadata.json b/dist/libs/common-components/groupdocs.examples.angular-common-components.metadata.json index 7a227dd36..c24030b9e 100644 --- a/dist/libs/common-components/groupdocs.examples.angular-common-components.metadata.json +++ b/dist/libs/common-components/groupdocs.examples.angular-common-components.metadata.json @@ -1 +1 @@ -{"__symbolic":"module","version":4,"metadata":{"CommonComponentsModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":108,"character":1},"arguments":[{"imports":[{"__symbolic":"reference","module":"@angular/common","name":"CommonModule","line":109,"character":12},{"__symbolic":"reference","module":"@fortawesome/angular-fontawesome","name":"FontAwesomeModule","line":109,"character":26},{"__symbolic":"reference","module":"ng-click-outside","name":"ClickOutsideModule","line":109,"character":45}],"declarations":[{"__symbolic":"reference","name":"TopToolbarComponent"},{"__symbolic":"reference","name":"SidePanelComponent"},{"__symbolic":"reference","name":"ButtonComponent"},{"__symbolic":"reference","name":"LogoComponent"},{"__symbolic":"reference","name":"TooltipComponent"},{"__symbolic":"reference","name":"ModalComponent"},{"__symbolic":"reference","name":"BrowseFilesModalComponent"},{"__symbolic":"reference","name":"DocumentComponent"},{"__symbolic":"reference","name":"PageComponent"},{"__symbolic":"reference","name":"SanitizeHtmlPipe"},{"__symbolic":"reference","name":"SanitizeResourceHtmlPipe"},{"__symbolic":"reference","name":"SanitizeStylePipe"},{"__symbolic":"reference","name":"HighlightSearchPipe"},{"__symbolic":"reference","name":"UploadFileZoneComponent"},{"__symbolic":"reference","name":"DndDirective"},{"__symbolic":"reference","name":"ScrollableDirective"},{"__symbolic":"reference","name":"MouseWheelDirective"},{"__symbolic":"reference","name":"ZoomDirective"},{"__symbolic":"reference","name":"SelectComponent"},{"__symbolic":"reference","name":"DisabledCursorDirective"},{"__symbolic":"reference","name":"RotationDirective"},{"__symbolic":"reference","name":"InitStateComponent"},{"__symbolic":"reference","name":"RenderPrintDirective"},{"__symbolic":"reference","name":"ErrorModalComponent"},{"__symbolic":"reference","name":"PasswordRequiredComponent"},{"__symbolic":"reference","name":"SearchComponent"},{"__symbolic":"reference","name":"SearchableDirective"},{"__symbolic":"reference","name":"TabbedToolbarsComponent"},{"__symbolic":"reference","name":"TabComponent"},{"__symbolic":"reference","name":"ɵa"},{"__symbolic":"reference","name":"ColorPickerComponent"},{"__symbolic":"reference","name":"FormattingDirective"},{"__symbolic":"reference","name":"SuccessModalComponent"},{"__symbolic":"reference","name":"EditorDirective"},{"__symbolic":"reference","name":"LoadingMaskComponent"},{"__symbolic":"reference","name":"DropDownComponent"},{"__symbolic":"reference","name":"DropDownItemComponent"},{"__symbolic":"reference","name":"DropDownItemsComponent"},{"__symbolic":"reference","name":"DropDownToggleComponent"},{"__symbolic":"reference","name":"LeftSideBarComponent"},{"__symbolic":"reference","name":"ɵb"},{"__symbolic":"reference","name":"HostDynamicDirective"},{"__symbolic":"reference","name":"ɵc"},{"__symbolic":"reference","name":"ɵd"},{"__symbolic":"reference","name":"TextMenuComponent"},{"__symbolic":"reference","name":"ContextMenuComponent"}],"exports":[{"__symbolic":"reference","name":"TopToolbarComponent"},{"__symbolic":"reference","name":"SidePanelComponent"},{"__symbolic":"reference","name":"ButtonComponent"},{"__symbolic":"reference","name":"LogoComponent"},{"__symbolic":"reference","name":"TooltipComponent"},{"__symbolic":"reference","name":"ModalComponent"},{"__symbolic":"reference","name":"BrowseFilesModalComponent"},{"__symbolic":"reference","name":"DocumentComponent"},{"__symbolic":"reference","name":"PageComponent"},{"__symbolic":"reference","name":"SanitizeResourceHtmlPipe"},{"__symbolic":"reference","name":"SanitizeStylePipe"},{"__symbolic":"reference","name":"HighlightSearchPipe"},{"__symbolic":"reference","name":"SanitizeHtmlPipe"},{"__symbolic":"reference","name":"UploadFileZoneComponent"},{"__symbolic":"reference","name":"ScrollableDirective"},{"__symbolic":"reference","name":"MouseWheelDirective"},{"__symbolic":"reference","name":"SelectComponent"},{"__symbolic":"reference","name":"RotationDirective"},{"__symbolic":"reference","name":"InitStateComponent"},{"__symbolic":"reference","name":"RenderPrintDirective"},{"__symbolic":"reference","name":"ErrorModalComponent"},{"__symbolic":"reference","name":"PasswordRequiredComponent"},{"__symbolic":"reference","name":"SearchComponent"},{"__symbolic":"reference","name":"SearchableDirective"},{"__symbolic":"reference","name":"TabbedToolbarsComponent"},{"__symbolic":"reference","name":"TabComponent"},{"__symbolic":"reference","name":"ɵa"},{"__symbolic":"reference","name":"ColorPickerComponent"},{"__symbolic":"reference","name":"FormattingDirective"},{"__symbolic":"reference","name":"SuccessModalComponent"},{"__symbolic":"reference","name":"LoadingMaskComponent"},{"__symbolic":"reference","name":"DndDirective"},{"__symbolic":"reference","name":"DropDownComponent"},{"__symbolic":"reference","name":"DropDownItemComponent"},{"__symbolic":"reference","name":"DropDownItemsComponent"},{"__symbolic":"reference","name":"DropDownToggleComponent"},{"__symbolic":"reference","name":"ZoomDirective"},{"__symbolic":"reference","name":"DropDownToggleComponent"},{"__symbolic":"reference","name":"LeftSideBarComponent"},{"__symbolic":"reference","name":"ɵb"},{"__symbolic":"reference","name":"HostDynamicDirective"},{"__symbolic":"reference","name":"ɵc"},{"__symbolic":"reference","name":"ɵd"},{"__symbolic":"reference","name":"TextMenuComponent"},{"__symbolic":"reference","name":"ContextMenuComponent"}],"providers":[{"__symbolic":"reference","name":"ConfigService"},{"__symbolic":"reference","name":"Api"},{"__symbolic":"reference","name":"ModalService"},{"__symbolic":"reference","name":"FileService"},{"__symbolic":"reference","name":"FileModel"},{"__symbolic":"reference","name":"FileUtil"},{"__symbolic":"reference","name":"Utils"},{"__symbolic":"reference","name":"SanitizeHtmlPipe"},{"__symbolic":"reference","name":"SanitizeResourceHtmlPipe"},{"__symbolic":"reference","name":"SanitizeStylePipe"},{"__symbolic":"reference","name":"HighlightSearchPipe"},{"__symbolic":"reference","name":"UploadFilesService"},{"__symbolic":"reference","name":"RenderPrintService"},{"__symbolic":"reference","name":"NavigateService"},{"__symbolic":"reference","name":"PagePreloadService"},{"__symbolic":"reference","name":"ZoomService"},{"__symbolic":"reference","name":"ExceptionMessageService"},{"__symbolic":"reference","name":"PasswordService"},{"__symbolic":"reference","name":"ErrorInterceptorService"},{"__symbolic":"reference","name":"SearchService"},{"__symbolic":"reference","name":"WindowService"},{"__symbolic":"reference","name":"ViewportService"},{"__symbolic":"reference","name":"FormattingService"},{"__symbolic":"reference","name":"BackFormattingService"},{"__symbolic":"reference","name":"OnCloseService"},{"__symbolic":"reference","name":"LoadingMaskInterceptorService"},{"__symbolic":"reference","name":"LoadingMaskService"},{"__symbolic":"reference","name":"TabActivatorService"},{"__symbolic":"reference","name":"AddDynamicComponentService"},{"__symbolic":"reference","name":"HostingDynamicComponentService"},{"__symbolic":"reference","name":"TopTabActivatorService"}]}]}],"members":{"__ctor__":[{"__symbolic":"constructor"}]}},"Api":{"__symbolic":"class","members":{},"statics":{"VIEWER_APP":"/viewer","SIGNATURE_APP":"/signature","ANNOTATION_APP":"/annotation","SEARCH_APP":"/search","EDITOR_APP":"/editor","COMPARISON_APP":"/comparison","CONVERSION_APP":"/conversion","METADATA_APP":"/metadata","DEFAULT_API_ENDPOINT":{"__symbolic":"select","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"window"},"member":"location"},"member":"href"},"LOAD_FILE_TREE":"/loadFileTree","LOAD_CONFIG":"/loadConfig","LOAD_DOCUMENT_DESCRIPTION":"/loadDocumentDescription","LOAD_DOCUMENT_PAGE":"/loadDocumentPage","LOAD_DOCUMENT_PROPERTIES":"/loadProperties","LOAD_DOCUMENT_PROPERTIES_NAMES":"/loadPropertiesNames","SAVE_PROPERTY":"/saveProperty","REMOVE_PROPERTY":"/removeProperty","ROTATE_DOCUMENT_PAGE":"/rotateDocumentPages","UPLOAD_DOCUMENTS":"/uploadDocument","DOWNLOAD_DOCUMENTS":"/downloadDocument","DOWNLOAD_ANNOTATED":"/downloadAnnotated","LOAD_PRINT":"/loadPrint","LOAD_PRINT_PDF":"/printPdf","LOAD_THUMBNAILS":"/loadThumbnails","LOAD_FORMATS":"/loadFormats","SAVE_FILE":"/saveFile","CREATE_FILE":"/createFile","COMPARE_FILES":"/compare","CONVERT_FILE":"/convert","DELETE_SIGNATURE_FILE":"/deleteSignatureFile","REMOVE_FROM_INDEX":"/removeFromIndex","GET_FILE_STATUS":"/getFileStatus","SAVE_OPTICAL_CODE":"/saveOpticalCode","SAVE_TEXT":"/saveText","SAVE_IMAGE":"/saveImage","SAVE_STAMP":"/saveStamp","SIGN":"/sign","DOWNLOAD_SIGNED":"/downloadSigned","LOAD_SIGNATURE_IMAGE":"/loadSignatureImage","ANNOTATE":"/annotate","SEARCH":"/search","ADD_FILES_TO_INDEX":"/addFilesToIndex","CLEAN_METADATA":"/clean","EXPORT_METADATA":"/export","httpOptionsJson":{"headers":{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@angular/common/http","name":"HttpHeaders","line":50,"character":17},"arguments":[{"Content-Type":"application/json","$quoted$":["Content-Type"]}]}},"httpOptionsJsonResponseTypeBlob":{"headers":{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@angular/common/http","name":"HttpHeaders","line":55,"character":17},"arguments":[{"Content-Type":"application/json","$quoted$":["Content-Type"]}]},"responseType":"blob"}}},"ConfigService":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":62,"character":1}}],"members":{"__ctor__":[{"__symbolic":"constructor"}],"getConfigEndpoint":[{"__symbolic":"method"}],"getViewerApiEndpoint":[{"__symbolic":"method"}],"getEditorApiEndpoint":[{"__symbolic":"method"}],"getComparisonApiEndpoint":[{"__symbolic":"method"}],"getConversionApiEndpoint":[{"__symbolic":"method"}],"getMetadataApiEndpoint":[{"__symbolic":"method"}],"getSignatureApiEndpoint":[{"__symbolic":"method"}],"getAnnotationApiEndpoint":[{"__symbolic":"method"}],"getSearchApiEndpoint":[{"__symbolic":"method"}]}},"CommonModals":{"__symbolic":"class","members":{},"statics":{"PasswordRequired":"gd-password-required","ErrorMessage":"gd-error-message","BrowseFiles":"gd-browse-files","CreateDocument":"gd-create-document","OperationSuccess":"gd-success-modal","DrawHandSignature":"gd-draw-hand-signature","DrawStampSignature":"gd-draw-stamp-signature","InformationMessage":"gd-information-message"}},"ModalService":{"__symbolic":"class","members":{"add":[{"__symbolic":"method"}],"remove":[{"__symbolic":"method"}],"open":[{"__symbolic":"method"}],"close":[{"__symbolic":"method"}]}},"PageModel":{"__symbolic":"class","members":{}},"RotatedPage":{"__symbolic":"class","members":{}},"FileCredentials":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"string"},{"__symbolic":"reference","name":"string"}]}]}},"SaveFile":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"FileCredentials"},"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"string"},{"__symbolic":"reference","name":"string"},{"__symbolic":"reference","name":"string"}]}]}},"FileDescription":{"__symbolic":"class","members":{}},"FileModel":{"__symbolic":"class","members":{}},"HttpError":{"__symbolic":"class","members":{},"statics":{"BadRequest":400,"Unauthorized":401,"Forbidden":403,"NotFound":404,"TimeOut":408,"Conflict":409,"InternalServerError":500}},"Utils":{"__symbolic":"class","members":{}},"FileUtil":{"__symbolic":"class","members":{},"statics":{"map":{"folder":{"format":"","icon":"folder","$quoted$":["format","icon"]},"pdf":{"format":"Portable Document Format","icon":"file-pdf","unit":"pt","$quoted$":["format","icon","unit"]},"doc":{"format":"Microsoft Word","icon":"file-word","unit":"pt","$quoted$":["format","icon","unit"]},"docx":{"format":"Microsoft Word","icon":"file-word","unit":"pt","$quoted$":["format","icon","unit"]},"docm":{"format":"Microsoft Word","icon":"file-word","unit":"pt","$quoted$":["format","icon","unit"]},"dot":{"format":"Microsoft Word","icon":"file-word","unit":"pt","$quoted$":["format","icon","unit"]},"dotx":{"format":"Microsoft Word","icon":"file-word","unit":"pt","$quoted$":["format","icon","unit"]},"dotm":{"format":"Microsoft Word","icon":"file-word","unit":"pt","$quoted$":["format","icon","unit"]},"xls":{"format":"Microsoft Excel","icon":"file-excel","unit":"px","$quoted$":["format","icon","unit"]},"xlsx":{"format":"Microsoft Excel","icon":"file-excel","unit":"px","$quoted$":["format","icon","unit"]},"xlsm":{"format":"Microsoft Excel","icon":"file-excel","unit":"px","$quoted$":["format","icon","unit"]},"xlsb":{"format":"Microsoft Excel","icon":"file-excel","unit":"px","$quoted$":["format","icon","unit"]},"xls2003":{"format":"Microsoft Excel","icon":"file-excel","unit":"px","$quoted$":["format","icon","unit"]},"xltx":{"format":"Microsoft Excel","icon":"file-excel","unit":"px","$quoted$":["format","icon","unit"]},"xltm":{"format":"Microsoft Excel","icon":"file-excel","unit":"px","$quoted$":["format","icon","unit"]},"ppt":{"format":"Microsoft PowerPoint","icon":"file-powerpoint","unit":"pt","$quoted$":["format","icon","unit"]},"pptx":{"format":"Microsoft PowerPoint","icon":"file-powerpoint","unit":"pt","$quoted$":["format","icon","unit"]},"pps":{"format":"Microsoft PowerPoint","icon":"file-powerpoint","unit":"pt","$quoted$":["format","icon","unit"]},"ppsx":{"format":"Microsoft PowerPoint","icon":"file-powerpoint","unit":"pt","$quoted$":["format","icon","unit"]},"vsd":{"format":"Microsoft Visio","icon":"file-code","unit":"px","$quoted$":["format","icon","unit"]},"vdx":{"format":"Microsoft Visio","icon":"file-code","unit":"px","$quoted$":["format","icon","unit"]},"vss":{"format":"Microsoft Visio","icon":"file-code","unit":"px","$quoted$":["format","icon","unit"]},"vsx":{"format":"Microsoft Visio","icon":"file-code","unit":"px","$quoted$":["format","icon","unit"]},"vst":{"format":"Microsoft Visio","icon":"file-code","unit":"px","$quoted$":["format","icon","unit"]},"vtx":{"format":"Microsoft Visio","icon":"file-code","unit":"px","$quoted$":["format","icon","unit"]},"vsdx":{"format":"Microsoft Visio","icon":"file-code","unit":"px","$quoted$":["format","icon","unit"]},"vdw":{"format":"Microsoft Visio","icon":"file-code","unit":"px","$quoted$":["format","icon","unit"]},"vstx":{"format":"Microsoft Visio","icon":"file-code","unit":"px","$quoted$":["format","icon","unit"]},"vssx":{"format":"Microsoft Visio","icon":"file-code","unit":"px","$quoted$":["format","icon","unit"]},"mpp":{"format":"Microsoft Project","icon":"file-alt","unit":"pt","$quoted$":["format","icon","unit"]},"mpt":{"format":"Microsoft Project","icon":"file-alt","unit":"pt","$quoted$":["format","icon","unit"]},"msg":{"format":"Microsoft Outlook","icon":"file-alt","unit":"pt","$quoted$":["format","icon","unit"]},"eml":{"format":"Microsoft Outlook","icon":"file-alt","unit":"pt","$quoted$":["format","icon","unit"]},"emlx":{"format":"Microsoft Outlook","icon":"file-alt","unit":"pt","$quoted$":["format","icon","unit"]},"one":{"format":"Microsoft OneNote","icon":"file-word","unit":"pt","$quoted$":["format","icon","unit"]},"odt":{"format":"Open Document Text","icon":"file-word","unit":"pt","$quoted$":["format","icon","unit"]},"ott":{"format":"Open Document Text Template","icon":"file-word","unit":"pt","$quoted$":["format","icon","unit"]},"ods":{"format":"Open Document Spreadsheet","icon":"file-excel","unit":"px","$quoted$":["format","icon","unit"]},"odp":{"format":"Open Document Presentation","icon":"file-powerpoint","unit":"pt","$quoted$":["format","icon","unit"]},"otp":{"format":"Open Document Presentation","icon":"file-powerpoint","unit":"pt","$quoted$":["format","icon","unit"]},"ots":{"format":"Open Document Presentation","icon":"file-powerpoint","unit":"pt","$quoted$":["format","icon","unit"]},"potx":{"format":"Open Document Presentation","icon":"file-powerpoint","unit":"pt","$quoted$":["format","icon","unit"]},"potm":{"format":"Open Document Presentation","icon":"file-powerpoint","unit":"pt","$quoted$":["format","icon","unit"]},"pptm":{"format":"Open Document Presentation","icon":"file-powerpoint","unit":"pt","$quoted$":["format","icon","unit"]},"ppsm":{"format":"Open Document Presentation","icon":"file-powerpoint","unit":"pt","$quoted$":["format","icon","unit"]},"rtf":{"format":"Rich Text Format","icon":"file-alt","unit":"pt","$quoted$":["format","icon","unit"]},"txt":{"format":"Plain Text File","icon":"file-alt","unit":"pt","$quoted$":["format","icon","unit"]},"csv":{"format":"Comma-Separated Values","icon":"file-excel","unit":"px","$quoted$":["format","icon","unit"]},"html":{"format":"HyperText Markup Language","icon":"file-word","unit":"pt","$quoted$":["format","icon","unit"]},"mht":{"format":"HyperText Markup Language","icon":"file-word","unit":"pt","$quoted$":["format","icon","unit"]},"mhtml":{"format":"HyperText Markup Language","icon":"file-word","unit":"pt","$quoted$":["format","icon","unit"]},"xml":{"format":"Extensible Markup Language","icon":"file-word","unit":"pt","$quoted$":["format","icon","unit"]},"xps":{"format":"XML Paper Specification","icon":"file-word","unit":"pt","$quoted$":["format","icon","unit"]},"dxf":{"format":"AutoCAD Drawing File Format","icon":"file-image","unit":"px","$quoted$":["format","icon","unit"]},"dwg":{"format":"AutoCAD Drawing File Format","icon":"file-image","unit":"px","$quoted$":["format","icon","unit"]},"bmp":{"format":"Bitmap Picture","icon":"file-image","unit":"px","$quoted$":["format","icon","unit"]},"gif":{"format":"Graphics Interchange Format","icon":"file-image","unit":"px","$quoted$":["format","icon","unit"]},"jpg":{"format":"Joint Photographic Experts Group","icon":"file-image","unit":"px","$quoted$":["format","icon","unit"]},"jpe":{"format":"Joint Photographic Experts Group","icon":"file-image","unit":"px","$quoted$":["format","icon","unit"]},"jpeg":{"format":"Joint Photographic Experts Group","icon":"file-image","unit":"px","$quoted$":["format","icon","unit"]},"jfif":{"format":"Joint Photographic Experts Group","icon":"file-image","unit":"px","$quoted$":["format","icon","unit"]},"png":{"format":"Portable Network Graphics","icon":"file-image","unit":"px","$quoted$":["format","icon","unit"]},"tiff":{"format":"Tagged Image File Format","icon":"file-image","unit":"px","$quoted$":["format","icon","unit"]},"tif":{"format":"Tagged Image File Format","icon":"file-image","unit":"px","$quoted$":["format","icon","unit"]},"psd":{"format":"Tagged Image File Format","icon":"file-image","unit":"px","$quoted$":["format","icon","unit"]},"svg":{"format":"Tagged Image File Format","icon":"file-image","unit":"px","$quoted$":["format","icon","unit"]},"jp2":{"format":"Tagged Image File Format","icon":"file-image","unit":"px","$quoted$":["format","icon","unit"]},"epub":{"format":"Electronic Publication","icon":"file-pdf","unit":"pt","$quoted$":["format","icon","unit"]},"ico":{"format":"Windows Icon","icon":"file-image","unit":"px","$quoted$":["format","icon","unit"]},"webp":{"format":"Compressed Image","icon":"file-image","unit":"px","$quoted$":["format","icon","unit"]},"mobi":{"format":"Mobipocket eBook","icon":"file-pdf","unit":"pt","$quoted$":["format","icon","unit"]},"tex":{"format":"LaTeX Source Document","icon":"file-pdf","unit":"pt","$quoted$":["format","icon","unit"]},"djvu":{"format":"Multi-Layer Raster Image","icon":"file-alt","unit":"pt","$quoted$":["format","icon","unit"]},"unknown":{"format":"This format is not supported","icon":"file","$quoted$":["format","icon"]},"$quoted$":["folder","pdf","doc","docx","docm","dot","dotx","dotm","xls","xlsx","xlsm","xlsb","xls2003","xltx","xltm","ppt","pptx","pps","ppsx","vsd","vdx","vss","vsx","vst","vtx","vsdx","vdw","vstx","vssx","mpp","mpt","msg","eml","emlx","one","odt","ott","ods","odp","otp","ots","potx","potm","pptm","ppsm","rtf","txt","csv","html","mht","mhtml","xml","xps","dxf","dwg","bmp","gif","jpg","jpe","jpeg","jfif","png","tiff","tif","psd","svg","jp2","epub","ico","webp","mobi","tex","djvu","unknown"]}}},"FileService":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor"}]}},"UploadFilesService":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor"}],"changeFilesList":[{"__symbolic":"method"}]}},"SanitizeHtmlPipe":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Pipe","line":3,"character":1},"arguments":[{"name":"safeHtml"}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/platform-browser","name":"DomSanitizer","line":5,"character":33}]}],"transform":[{"__symbolic":"method"}]}},"SanitizeResourceHtmlPipe":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Pipe","line":13,"character":1},"arguments":[{"name":"safeResourceHtml"}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/platform-browser","name":"DomSanitizer","line":5,"character":33}]}],"transform":[{"__symbolic":"method"}]}},"SanitizeStylePipe":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Pipe","line":23,"character":1},"arguments":[{"name":"safeStyle"}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/platform-browser","name":"DomSanitizer","line":5,"character":33}]}],"transform":[{"__symbolic":"method"}]}},"HighlightSearchPipe":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Pipe","line":33,"character":1},"arguments":[{"name":"highlight"}]}],"members":{"transform":[{"__symbolic":"method"}]}},"NavigateService":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":4,"character":1},"arguments":[{"providedIn":"root"}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"PagePreloadService"}]}],"nextPage":[{"__symbolic":"method"}],"prevPage":[{"__symbolic":"method"}],"toLastPage":[{"__symbolic":"method"}],"toFirstPage":[{"__symbolic":"method"}],"navigateTo":[{"__symbolic":"method"}]},"statics":{"ngInjectableDef":{}}},"PagePreloadService":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor"}],"changeLastPageInView":[{"__symbolic":"method"}]}},"ZoomService":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor"}],"changeZoom":[{"__symbolic":"method"}],"createZoomOption":[{"__symbolic":"method"}],"zoomOptions":[{"__symbolic":"method"}]}},"RenderPrintService":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor"}],"changePages":[{"__symbolic":"method"}],"changeBlob":[{"__symbolic":"method"}]}},"ErrorInterceptorService":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":8,"character":1},"arguments":[{"providedIn":"root"}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"ModalService"},{"__symbolic":"reference","name":"ExceptionMessageService"}]}],"intercept":[{"__symbolic":"method"}]},"statics":{"ErrorMessageWindowName":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"./modal.service","name":"CommonModals","line":13,"character":48},"member":"ErrorMessage"},"ngInjectableDef":{}}},"ExceptionMessageService":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor"}],"changeMessage":[{"__symbolic":"method"}],"changeHttpEvent":[{"__symbolic":"method"}]}},"PasswordService":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor"}],"setPassword":[{"__symbolic":"method"}]}},"WindowService":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor"}],"isMobile":[{"__symbolic":"method"}],"isTablet":[{"__symbolic":"method"}],"isDesktop":[{"__symbolic":"method"}],"getWidth":[{"__symbolic":"method"}],"getHeight":[{"__symbolic":"method"}],"isEdge":[{"__symbolic":"method"}],"isFirefox":[{"__symbolic":"method"}]}},"ViewportService":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":4,"character":1},"arguments":[{"providedIn":"root"}]}],"members":{"__ctor__":[{"__symbolic":"constructor"}],"checkInViewport":[{"__symbolic":"method"}]},"statics":{"ngInjectableDef":{}}},"BrowseFilesModalComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":12,"character":1},"arguments":[{"selector":"gd-browse-files-modal","template":"\n
\n
\n \n Drop file here to upload\n
\n
\n
\n \n
\n
\n \n \n \n Upload file\n \n \n \n \n \n
{{item.name}}
\n
\n
\n
\n
\n
\n
\n \n
\n \n
\n
\n
\n
\n
\n
\n
FILE
\n
SIZE
\n
\n
\n
\n
\n
\n
\n \n
\n
..
\n
\n
\n
\n \n
\n
{{file?.name}}
\n
{{getFormatName(file)}}
\n
\n
\n
\n {{getSize(file?.size)}}\n
\n
\n
\n
\n
\n \n  Loading... Please wait.\n
\n
\n
\n","styles":[".gd-modal-table{width:100%;text-align:left}#gd-browse-section{width:1036px;height:561px;overflow-y:auto}.list-files-header{height:60px;color:#6e6e6e;font-size:13px;font-weight:700;background-color:#f4f4f4;margin-top:24px}.list-files-header.upload-url{margin-top:20px}.header-name{padding-left:24px;width:90%;line-height:60px}.header-size{padding-right:27px;line-height:60px}.file-size,.header-size{width:10%;color:#777;text-align:right}.file-description{display:-webkit-box;display:flex;width:90%;padding:18px 0 18px 24px;font-size:14px;-webkit-box-flex:1;flex:1;cursor:pointer;overflow:hidden}.file-size{font-size:12px;padding:0 27px 0 0;width:10%;line-height:79px}.list-files-header,.list-files-lines{display:-webkit-box;display:flex;width:100%;-webkit-box-pack:justify;justify-content:space-between}.gd-modal-spinner{background-color:#fff;width:100%;height:20px;text-align:center;font-size:16px}.gd-cancel-button{padding:7px;background:0 0;width:28px;overflow:hidden}.gd-cancel-button i{font-size:21px}.gd-file-name{white-space:nowrap;overflow:hidden;width:100%;text-overflow:ellipsis}.go-up{display:-webkit-box;display:flex;font-size:26px;cursor:pointer;color:#4b566c;height:79px}.go-up-dots{margin-left:20px;margin-top:22px;font-size:16px}.go-up-icon{display:block;padding:18px 0 18px 24px}.upload-panel{display:-webkit-box;display:flex;position:relative;width:100%}.upload-panel .context{display:-webkit-box;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column;width:100%;margin-left:24px;margin-top:24px;margin-right:24px}.upload-panel .context .context-actions{display:-webkit-box;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;flex-direction:row;width:100%}.upload-panel .context .context-actions :last-child{margin-right:0}.upload-panel .context .context-actions ::ng-deep .button{height:37px;width:96px;padding:0;-webkit-box-pack:center;justify-content:center}.upload-panel .context .context-actions ::ng-deep .button ::ng-deep .text{font-size:10px}.upload-panel .context .context-panel{display:-webkit-box;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;flex-direction:row;width:100%;margin-top:20px}.upload-panel .context .context-panel .upload-url{display:-webkit-box;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;flex-direction:row;width:100%}.upload-panel .context .context-panel .upload-url .url-input{width:100%;height:27px;border:1px solid #25c2d4;font-size:14px;padding-left:6px}.upload-panel .context .context-panel .upload-url .url-check{width:31px;height:31px;color:#fff;font-size:15px;background-color:#25c2d4}.upload-panel .context .context-panel .upload-url .url-check .ng-fa-icon{display:block;padding:8px}.upload-panel gd-drop-down{margin-right:10px}.file-description .ng-fa-icon.fa-file-pdf{color:#e04e4e}.file-description .ng-fa-icon.fa-file-word{color:#539cf0}.file-description .ng-fa-icon.fa-file-powerpoint{color:#e29e1e}.file-description .ng-fa-icon.fa-file-excel{color:#7cbc46}.file-description .ng-fa-icon.fa-file-image{color:#c375ed}.file-description .ng-fa-icon.fa-file,.file-description .ng-fa-icon.fa-file-alt,.file-description .ng-fa-icon.fa-file-text .fa-folder{color:#4b566c}.file-description .ng-fa-icon{font-size:32px}.file-name{font-size:16px;color:#6e6e6e;overflow:hidden;text-overflow:ellipsis}.file-name-format{padding-left:11px;overflow:hidden}.file-format{font-size:10px;padding-top:3px;color:#acacac}.go-up,.list-files-lines{border-bottom:1px solid #e7e7e7}.list-files-lines:hover{background-color:#e5e5e5}.gd-dnd-wrap{background-color:#fff;cursor:default;position:absolute;width:100%;height:calc(100% - 60px);background:rgba(255,255,255,.7);z-index:1;display:-webkit-box;display:flex;-webkit-box-pack:center;justify-content:center;-webkit-box-align:center;align-items:center}.dnd-wrapper{display:-webkit-box;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column;-webkit-box-align:center;align-items:center;-webkit-box-pack:center;justify-content:center;top:259px;position:absolute}.dnd-wrapper .text{color:#6e6e6e;font-size:14px}.dnd-wrapper .icon{display:-webkit-box;display:flex;width:113px;height:90px;font-size:90px;color:#3e4e5a;margin-bottom:30px}@media (max-width:1037px){.file-size,.header-size{width:18%}.gd-dnd-wrap{width:95%}#gd-browse-section{width:100%;height:calc(100% - 146px)}}"]}]}],"members":{"files":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":20,"character":3}}]}],"uploadConfig":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":21,"character":3}}]}],"selectedFileGuid":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":22,"character":3}}]}],"selectedDirectory":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":23,"character":3}}]}],"urlForUpload":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":24,"character":3}}]}],"closing":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":25,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"UploadFilesService"}]}],"ngOnInit":[{"__symbolic":"method"}],"getSize":[{"__symbolic":"method"}],"getFormatName":[{"__symbolic":"method"}],"getFormatIcon":[{"__symbolic":"method"}],"choose":[{"__symbolic":"method"}],"goUp":[{"__symbolic":"method"}],"selectUpload":[{"__symbolic":"method"}],"refresh":[{"__symbolic":"method"}],"showSpinner":[{"__symbolic":"method"}],"uploadUrl":[{"__symbolic":"method"}],"handleFileInput":[{"__symbolic":"method"}],"cleanUpload":[{"__symbolic":"method"}]}},"ButtonComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":3,"character":1},"arguments":[{"selector":"gd-button","template":"
\n \n \n
\n \n
\n
\n","styles":[".icon-button{padding:0!important;margin:0 7px}.button{padding:0 10px;font-size:14px;color:#959da5;cursor:pointer;display:-webkit-box;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column;-webkit-box-align:center;align-items:center;align-content:center;-webkit-box-pack:center;justify-content:center;min-width:37px;height:37px;text-align:center;position:relative;white-space:nowrap}.button.inactive{cursor:not-allowed;opacity:.4}.button.active *{color:#ccd0d4}.button.primary{background-color:#3e4e5a;color:#fff}.button.primary.active{color:#fff;background-color:#688296}.button.brand{background-color:#25c2d4;color:#fff}.button.brand.active{color:#fff;background-color:#688296}.button .text{font-size:13px;padding-left:10px}.button .button-tooltip{display:-webkit-box;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column}@media (max-width:1037px){.button{font-size:22px}.arrow-button{margin:5px}}"]}]}],"members":{"iconOnly":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":9,"character":3}}]}],"intent":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":10,"character":3}}]}],"disabled":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":11,"character":3}}]}],"icon":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":12,"character":3}}]}],"iconClass":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":13,"character":3}}]}],"tooltip":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":14,"character":3}}]}],"className":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":15,"character":3}}]}],"toggle":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":16,"character":3}}]}],"iconSize":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":17,"character":3}}]}],"iconRegular":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":18,"character":3}}]}],"elementPosition":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":19,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"WindowService"}]}],"iconButtonClass":[{"__symbolic":"method"}],"onHovering":[{"__symbolic":"method"}],"onUnhovering":[{"__symbolic":"method"}],"cleanAll":[{"__symbolic":"method"}]}},"DisabledCursorDirective":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Directive","line":2,"character":1},"arguments":[{"selector":"[gdDisabledCursor]"}]}],"members":{"dis":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":7,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor"}],"cursor":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostBinding","line":12,"character":3},"arguments":["class.inactive"]}]}],"updateCursor":[{"__symbolic":"method"}],"ngOnInit":[{"__symbolic":"method"}],"ngOnChanges":[{"__symbolic":"method"}]}},"DndDirective":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Directive","line":3,"character":1},"arguments":[{"selector":"[gdDnd]"}]}],"members":{"closing":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":8,"character":3}}]}],"opening":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":9,"character":3}}]}],"dropped":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":10,"character":3}}]}],"active":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostBinding","line":12,"character":3},"arguments":["class.active"]}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"UploadFilesService"}]}],"onDragEnter":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostListener","line":19,"character":3},"arguments":["dragenter",["$event"]]}]}],"onDragOver":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostListener","line":28,"character":3},"arguments":["dragover",["$event"]]}]}],"onDragLeave":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostListener","line":35,"character":3},"arguments":["dragleave",["$event"]]}]}],"onDrop":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostListener","line":46,"character":3},"arguments":["drop",["$event"]]}]}],"onClick":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostListener","line":59,"character":3},"arguments":["click",["$event"]]}]}],"closeArea":[{"__symbolic":"method"}]}},"DocumentComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":18,"character":1},"arguments":[{"selector":"gd-document","template":"
Please wait...
\n
\n
\n
\n \n
\n
\n \n
\n","styles":[":host{-webkit-box-flex:1;flex:1;-webkit-transition:.4s;transition:.4s;background-color:#e7e7e7;height:100%;overflow:scroll;touch-action:auto!important}:host .document{-webkit-user-select:text!important;-moz-user-select:text!important;-ms-user-select:text!important;user-select:text!important;touch-action:auto!important}.page{display:inline-block;background-color:#fff;margin:20px;box-shadow:0 3px 6px rgba(0,0,0,.16);-webkit-transition:.3s;transition:.3s}.page.excel{overflow:auto}.page.presentation{margin:0;-webkit-transition:unset;transition:unset}.page.presentation.active{margin:20px}.wait{position:absolute;top:55px;left:Calc(30%)}.panzoom{display:-webkit-box;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;flex-direction:row;flex-wrap:wrap;-webkit-box-pack:center;justify-content:center;align-content:flex-start}@media (max-width:1037px){.page{min-width:unset!important;min-height:unset!important;margin:5px 0}}"]}]}],"members":{"mode":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":25,"character":3}}]}],"preloadPageCount":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":26,"character":3}}]}],"file":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":27,"character":3}}]}],"selectedPage":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":28,"character":3}}]}],"showActiveSlide":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":29,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"ElementRef","module":"@angular/core","arguments":[{"__symbolic":"error","message":"Could not resolve type","line":51,"character":48,"context":{"typeName":"HTMLElement"},"module":"./lib/document/document.component"}]},{"__symbolic":"reference","name":"ZoomService"},{"__symbolic":"reference","name":"WindowService"},{"__symbolic":"reference","name":"NavigateService"}]}],"ngOnInit":[{"__symbolic":"method"}],"ngOnChanges":[{"__symbolic":"method"}],"ngAfterViewInit":[{"__symbolic":"method"}],"ifExcel":[{"__symbolic":"method"}],"ifPresentation":[{"__symbolic":"method"}],"getDimensionWithUnit":[{"__symbolic":"method"}],"ifEdge":[{"__symbolic":"method"}],"ngAfterViewChecked":[{"__symbolic":"method"}],"isVisible":[{"__symbolic":"method"}]}},"ErrorModalComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":3,"character":1},"arguments":[{"selector":"gd-error-modal","template":"\n
\n \n
\n
Something went wrong
\n
{{message ? message : 'Server is not available'}}
\n
\n
\n
\n","styles":[".gd-modal-error{display:-webkit-inline-box;display:inline-flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column;-webkit-box-flex:1;flex:1}.gd-modal-error .gd-modal-error-message{font-size:12px;margin:0 24px 24px 0;word-break:break-word}.gd-modal-error .gd-modal-error-title{font-size:16px;font-weight:700;margin:14px 0 10px}#gd-error-section{max-width:468px;max-height:204px;display:-webkit-box;display:flex}#gd-error-section fa-icon{-webkit-box-flex:1;flex:1;color:#e04e4e;font-size:40px;margin:13px 23px 90px;text-align:center;max-width:46px}"]}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"ExceptionMessageService"}]}],"ngOnInit":[{"__symbolic":"method"}]}},"InitStateComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":2,"character":1},"arguments":[{"selector":"gd-init-state","template":"
\n
\n \n \n \n \n
\n
\n \n {{text}}\n
\n
\n","styles":[".wrapper{color:#959da5;background-color:#e7e7e7;display:-webkit-box;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column;-webkit-box-pack:center;justify-content:center;-webkit-box-align:center;align-items:center;width:100%;height:100%}.icon{font-size:65px;margin-bottom:43px;display:-webkit-box;display:flex;color:#959da5}.start{font-size:15px;text-align:center;color:#959da5}.gd-drag-n-drop-wrap.active{background-color:#fff;position:fixed;top:0;background:rgba(255,255,255,.8)}.gd-drag-n-drop-wrap.active .init-state-wrapper{position:absolute;opacity:.2;top:unset}.gd-drag-n-drop-wrap.active .init-state-dnd-wrapper{top:0;z-index:999}.gd-drag-n-drop-wrap.active .init-state-dnd-wrapper .icon{width:113px;height:90px;font-size:90px;color:#3e4e5a;margin-bottom:30px}.gd-drag-n-drop-wrap.active .text{color:#6e6e6e;font-size:14px}.init-state-dnd-wrapper,.init-state-wrapper{display:-webkit-box;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column;width:250px;height:250px;-webkit-box-align:center;align-items:center;-webkit-box-pack:center;justify-content:center}.init-state-wrapper{top:-60px;position:relative}"]}]}],"members":{"icon":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":8,"character":3}}]}],"text":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":9,"character":3}}]}],"fileDropped":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":10,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor"}],"ngOnInit":[{"__symbolic":"method"}],"dropped":[{"__symbolic":"method"}]}},"LogoComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":2,"character":1},"arguments":[{"selector":"gd-logo","template":"
\n \n \n
\n\n","styles":[".logo{background-color:#25c2d4;height:60px;display:-webkit-box;display:flex;-webkit-box-align:center;align-items:center;-webkit-box-pack:center;justify-content:center}.text{color:#fff;font-size:15px;text-transform:uppercase;margin:0 14px}.icon{display:none;font-size:32px;color:rgba(255,255,255,.5);margin:14px}@media (max-width:1037px){.logo{width:60px;height:60px}.logo .text{display:none}.logo .icon{display:block}}"]}]}],"members":{"logo":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":9,"character":3}}]}],"icon":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":10,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor"}],"ngOnInit":[{"__symbolic":"method"}]}},"ModalComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":3,"character":1},"arguments":[{"selector":"gd-modal","template":"
\n
\n
\n
\n\n
\n
×
\n

{{title}}

\n
\n\n
\n \n
\n\n
\n\n
\n
\n
\n\n\n","styles":["@import url(https://fonts.googleapis.com/css?family=Montserrat&display=swap);:host *{font-family:'Open Sans',Arial,Helvetica,sans-serif}.gd-modal{overflow:hidden;position:fixed;top:0;right:0;bottom:0;left:0;z-index:1050;-webkit-overflow-scrolling:touch;outline:0;background-color:rgba(0,0,0,.5)}.gd-modal-dialog{box-shadow:#0005 0 0 10px;position:fixed;left:50%;top:50%;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%);z-index:1051}.gd-modal-dialog ::ng-deep .button{-webkit-box-orient:unset!important;-webkit-box-direction:unset!important;flex-direction:unset!important}.gd-modal-content{background-color:#fff;height:100%;display:-webkit-box;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column}.gd-modal-header{height:60px;padding:0 12px 0 24px;background-color:#3e4e5a}.gd-modal-close{position:absolute;right:12px;top:12px;cursor:pointer;color:#fff;width:37px;height:37px;text-align:center}.gd-modal-close span{font-size:18px;font-weight:900;height:19px;width:10px;line-height:36px}.gd-modal-title{font-size:16px;font-weight:400;padding-top:17px;padding-bottom:22px;margin:0;color:#fff}.gd-modal-body{background-color:#fff;overflow:hidden;overflow-y:auto;height:calc(100% - 75px)}.gd-modal-footer{height:auto}.gd-modal-footer>.btn{float:right;margin:20px 15px;padding:10px 20px;cursor:pointer;font-size:12px}@media (max-width:1037px){.gd-modal-dialog{width:100%;height:100%}.gd-modal-body{height:100%}}"]}]}],"members":{"id":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":9,"character":3}}]}],"title":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":10,"character":3}}]}],"visible":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":11,"character":3}}]}],"cancel":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":12,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"ModalService"},{"__symbolic":"reference","module":"@angular/core","name":"ElementRef","line":16,"character":54}]}],"ngOnInit":[{"__symbolic":"method"}],"ngOnDestroy":[{"__symbolic":"method"}],"open":[{"__symbolic":"method"}],"close":[{"__symbolic":"method"}],"onClose":[{"__symbolic":"method"}],"cancelClose":[{"__symbolic":"method"}]}},"PageComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":2,"character":1},"arguments":[{"selector":"gd-page","template":"
\n
\n \"\"\n\n
\n \n  Loading... Please wait.\n
\n
\n","styles":[".gd-page-spinner{margin-top:150px;text-align:center}.gd-wrapper{width:inherit;height:inherit}.gd-wrapper div{width:100%}::ng-deep .gd-highlight{background-color:#ff0}::ng-deep .gd-highlight-select{background-color:#ff9b00}"]}]}],"members":{"angle":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":9,"character":3}}]}],"width":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":10,"character":3}}]}],"height":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":11,"character":3}}]}],"number":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":12,"character":3}}]}],"data":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":13,"character":3}}]}],"isHtml":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":14,"character":3}}]}],"editable":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":15,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor"}],"ngOnInit":[{"__symbolic":"method"}],"ngOnChanges":[{"__symbolic":"method"}]}},"PasswordRequiredComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":7,"character":1},"arguments":[{"selector":"gd-password-required","template":"\n
\n
\n \n \n {{message}}\n \n Open\n \n
\n
\n
\n","styles":["#gd-password-section{width:375px;height:164px}.gd-password-wrap{display:-webkit-box;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column;margin:24px}.gd-password-wrap label{font-size:14px;color:#acacac;padding-bottom:12px}.gd-password-wrap input{height:30px;border:1px solid #25c2d4}.gd-password-wrap input.error{border-color:#e04e4e}.gd-password-wrap gd-button{align-self:flex-end}.gd-password-wrap ::ng-deep .button{height:37px;width:72px;padding:0;-webkit-box-pack:center;justify-content:center}.gd-password-wrap ::ng-deep .button ::ng-deep .text{font-size:10px!important}.gd-password-error{color:#e04e4e;padding:10px 0 12px;height:12px;line-height:12px;font-size:12px}@media (max-width:1037px){#gd-password-section{min-width:375px}}"]}]}],"members":{"cancelEvent":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":14,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"ExceptionMessageService"},{"__symbolic":"reference","name":"PasswordService"}]}],"ngOnInit":[{"__symbolic":"method"}],"setPassword":[{"__symbolic":"method"}],"onCloseOpen":[{"__symbolic":"method"}],"cancel":[{"__symbolic":"method"}]}},"RenderPrintDirective":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Directive","line":4,"character":1},"arguments":[{"selector":"[gdRenderPrint]"}]}],"members":{"htmlMode":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":8,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"RenderPrintService"}]}],"renderPrint":[{"__symbolic":"method"}],"openWindow":[{"__symbolic":"method"}],"renderPrintBlob":[{"__symbolic":"method"}]}},"RotationDirective":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Directive","line":2,"character":1},"arguments":[{"selector":"[gdRotation]"}]}],"members":{"angle":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":7,"character":3}}]}],"isHtmlMode":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":8,"character":3}}]}],"width":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":9,"character":3}}]}],"height":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":10,"character":3}}]}],"withMargin":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":11,"character":3}}]}],"animation":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostBinding","line":13,"character":3},"arguments":["style.animation"]}]}],"transition":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostBinding","line":14,"character":3},"arguments":["style.transition-property"]}]}],"transform":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostBinding","line":15,"character":3},"arguments":["style.transform"]}]}],"margin":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostBinding","line":17,"character":3},"arguments":["style.margin"]}]}],"__ctor__":[{"__symbolic":"constructor"}],"updateCursor":[{"__symbolic":"method"}],"isLandscape":[{"__symbolic":"method"}],"ngOnInit":[{"__symbolic":"method"}],"ngOnChanges":[{"__symbolic":"method"}]}},"ScrollableDirective":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Directive","line":18,"character":1},"arguments":[{"selector":"[gdScrollable]"}]}],"members":{"isPresentation":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":22,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"ElementRef","module":"@angular/core","arguments":[{"__symbolic":"error","message":"Could not resolve type","line":28,"character":46,"context":{"typeName":"HTMLElement"},"module":"./lib/scrollable.directive"}]},{"__symbolic":"reference","name":"NavigateService"},{"__symbolic":"reference","name":"PagePreloadService"},{"__symbolic":"reference","name":"ZoomService"},{"__symbolic":"reference","name":"WindowService"},{"__symbolic":"reference","name":"ViewportService"}]}],"ngAfterViewInit":[{"__symbolic":"method"}],"scrolling":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostListener","line":51,"character":3},"arguments":["scroll"]}]}],"resizing":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostListener","line":55,"character":3},"arguments":["window:resize"]}]}],"scrollToPage":[{"__symbolic":"method"}],"getChildren":[{"__symbolic":"method"}],"getPage":[{"__symbolic":"method"}],"calculateOffset":[{"__symbolic":"method"}],"countPagesOnWidth":[{"__symbolic":"method"}],"refresh":[{"__symbolic":"method"}],"ngOnChanges":[{"__symbolic":"method"}],"ngOnInit":[{"__symbolic":"method"}],"getWidth":[{"__symbolic":"method"}],"getZoom":[{"__symbolic":"method"}]}},"MouseWheelDirective":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Directive","line":8,"character":1},"arguments":[{"selector":"[gdMouseWheel]"}]}],"members":{"mouseWheelUp":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":12,"character":3}}]}],"mouseWheelDown":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":13,"character":3}}]}],"onMouseWheelChrome":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostListener","line":15,"character":3},"arguments":["mousewheel",["$event"]]}]}],"onMouseWheelFirefox":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostListener","line":19,"character":3},"arguments":["DOMMouseScroll",["$event"]]}]}],"onMouseWheelIE":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostListener","line":23,"character":3},"arguments":["onmousewheel",["$event"]]}]}],"mouseWheelFunc":[{"__symbolic":"method"}]}},"SearchService":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor"}],"setText":[{"__symbolic":"method"}],"setCurrent":[{"__symbolic":"method"}],"setTotal":[{"__symbolic":"method"}]}},"SearchComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":3,"character":1},"arguments":[{"selector":"gd-search","template":"
\n \n
{{current}} of {{total}}
\n \n \n \n \n \n \n
\n","styles":[".gd-nav-search-btn{margin:3px 0 4px}.gd-nav-search-cancel{color:#fff;font-size:14px;width:37px}.gd-search-count{color:#959da5;font-size:12px;position:absolute;right:148px;top:14px}.gd-nav-search-container{background-color:#3e4e5a;width:410px;position:fixed;left:50%;top:60px;z-index:2;-webkit-transform:translate(-50%,0);transform:translate(-50%,0);display:-webkit-box;display:flex}.gd-search-input{float:left;height:30px;width:267px;font-size:14px;color:#6e6e6e;border:1px solid #25c2d4;margin:7px 0 7px 7px;box-sizing:border-box;padding:6px 0 5px 9px}input[type=text]::-ms-clear{display:none}@media (max-width:1037px){.gd-search-input{width:231px;height:30px;margin:7px 0 7px 5px}.gd-search-count{position:absolute;left:193px;top:15px}.gd-nav-search-container{width:100%}}"]}]}],"members":{"hidePanel":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":10,"character":3}}]}],"textElement":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":15,"character":3},"arguments":["text",{"static":true}]}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"SearchService"}]}],"ngOnInit":[{"__symbolic":"method"}],"setText":[{"__symbolic":"method"}],"hide":[{"__symbolic":"method"}],"prev":[{"__symbolic":"method"}],"next":[{"__symbolic":"method"}],"ngAfterViewInit":[{"__symbolic":"method"}]}},"SearchableDirective":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Directive","line":7,"character":1},"arguments":[{"selector":"[gdSearchable]"}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"ElementRef","module":"@angular/core","arguments":[{"__symbolic":"error","message":"Could not resolve type","line":17,"character":46,"context":{"typeName":"HTMLElement"},"module":"./lib/searchable.directive"}]},{"__symbolic":"reference","name":"SearchService"},{"__symbolic":"reference","name":"HighlightSearchPipe"},{"__symbolic":"reference","name":"ZoomService"}]}],"highlightSearch":[{"__symbolic":"method"}],"moveToCurrent":[{"__symbolic":"method"}],"highlightEl":[{"__symbolic":"method"}],"cleanHighlight":[{"__symbolic":"method"}],"getZoom":[{"__symbolic":"method"}]}},"Option":{"__symbolic":"interface"},"SelectComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":9,"character":1},"arguments":[{"selector":"gd-select","template":"
\n
\n {{showSelected?.name}}\n
\n \n \n
\n
\n
{{option.name}}
\n
\n
\n
\n
\n","styles":[".select{min-width:50px;display:-webkit-box;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;flex-direction:row;-webkit-box-pack:center;justify-content:center;-webkit-box-align:center;align-items:center;color:#959da5}.selected-value{font-size:14px;cursor:pointer;white-space:nowrap;overflow:hidden;text-overflow:clip;max-width:70px}.selected-value.inactive{cursor:not-allowed;color:#ccc}.nav-caret{display:inline-block;width:0;height:0;margin-left:2px;vertical-align:middle;border-top:4px dashed;border-right:4px solid transparent;border-left:4px solid transparent;cursor:pointer}.nav-caret.inactive{cursor:not-allowed;color:#ccc}.dropdown-menu{position:absolute;top:49px;z-index:1000;float:left;min-width:96px;list-style:none;font-size:13px;text-align:left;background-color:#fff;box-shadow:0 3px 6px rgba(0,0,0,.3);background-clip:padding-box}.dropdown-menu .option{display:block;padding:7px 0 7px 7px;clear:both;font-weight:400;line-height:1.42857143;white-space:nowrap;cursor:pointer;font-size:10px}.dropdown-menu .option:hover{background-color:#25c2d4;color:#fff!important}.dropdown-menu-separator{height:1px;overflow:hidden;background-color:#f4f4f4;padding:0!important}"]}]}],"members":{"options":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":16,"character":3}}]}],"disabled":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":17,"character":3}}]}],"showSelected":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":18,"character":3}}]}],"selected":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":19,"character":3}}]}],"opened":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":20,"character":3}}]}],"isOpen":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":21,"character":3}}]}],"icon":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":22,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"OnCloseService"}]}],"open":[{"__symbolic":"method"}],"close":[{"__symbolic":"method"}],"onClickOutside":[{"__symbolic":"method"}],"toggle":[{"__symbolic":"method"}],"select":[{"__symbolic":"method"}]}},"TooltipComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":2,"character":1},"arguments":[{"selector":"gd-tooltip","template":"\n","styles":[".tooltip{position:absolute;width:-webkit-fit-content;width:-moz-fit-content;width:fit-content;background-color:#000;color:#fff;text-align:center;border-radius:0;padding:5px;z-index:1;font-size:10px;height:11px;line-height:11px;-ms-grid-row-align:center;align-self:center;margin:8px!important}.first-element{margin-left:10px!important}.last-element{margin-left:-10px!important}.tooltip.hidden{visibility:hidden}.tooltip.shown{visibility:visible}.shown:after{content:\" \";position:absolute;bottom:100%;left:50%;margin-left:-5px;border:5px solid transparent;border-bottom-color:#000}"]}]}],"members":{"text":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":9,"character":3}}]}],"position":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":10,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor"}],"getClass":[{"__symbolic":"method"}],"show":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":23,"character":3}}]}],"ngOnInit":[{"__symbolic":"method"}]}},"TopToolbarComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":2,"character":1},"arguments":[{"selector":"gd-top-toolbar","template":"
\n
\n \n
\n
\n","styles":[".top-toolbar{width:100%;height:60px;z-index:999;display:-webkit-box;display:flex;-webkit-box-align:center;align-items:center}.tools{width:100%;height:100%;display:-webkit-box;display:flex;-webkit-box-align:center;align-items:center}@media (max-width:1037px){.top-toolbar{height:60px}.tools{height:100%;overflow-x:auto;overflow-scrolling:touch;display:-webkit-box;display:flex;-webkit-box-align:center;align-items:center;-webkit-transition:.3s ease-in-out;transition:.3s ease-in-out;scroll-behavior:smooth;-webkit-overflow-scrolling:touch}.tools::-webkit-scrollbar{width:0;height:0;background-color:#3e4e5a}}"]}]}],"members":{"__ctor__":[{"__symbolic":"constructor"}]}},"SidePanelComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":2,"character":1},"arguments":[{"selector":"gd-side-panel","template":"
\n
\n \n
{{title}}
\n
\n \n
\n
\n \n
\n
\n
\n \n
\n
\n","styles":[".gd-side-panel-wrapper{margin-right:0;width:334px;z-index:999;background-color:#fff;-webkit-transition:margin-right .2s;transition:margin-right .2s;display:-webkit-box;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-flow:column;height:100vh}.gd-side-panel-wrapper .gd-side-panel-header{height:60px;background-color:#222e35;display:-webkit-box;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;flex-direction:row;flex-wrap:nowrap}.gd-side-panel-wrapper .gd-side-panel-header .icon{font-size:24px;color:#959da5;margin:18px;line-height:24px}.gd-side-panel-wrapper .gd-side-panel-header .title{font-size:13px;font-weight:700;color:#edf0f2;opacity:.57;margin-top:20px;width:100%}.gd-side-panel-wrapper .gd-side-panel-header .close,.gd-side-panel-wrapper .gd-side-panel-header .save{display:-webkit-box;display:flex;-webkit-box-align:center;align-items:center}.gd-side-panel-wrapper .gd-side-panel-header ::ng-deep gd-button .text{padding:0}.gd-side-panel-wrapper .gd-side-panel-body{display:-webkit-box;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-flow:column;overflow:visible;overflow-y:auto;overflow-x:hidden;height:100%}@media (max-width:1037px){.gd-side-panel-wrapper{width:100%;position:absolute;left:0;right:0;top:0;bottom:0}.gd-side-panel-wrapper.only-title{height:60px!important}}"]}]}],"members":{"title":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":9,"character":3}}]}],"icon":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":10,"character":3}}]}],"closable":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":11,"character":3}}]}],"saveable":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":12,"character":3}}]}],"hideSidePanel":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":13,"character":3}}]}],"saveInSidePanel":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":14,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor"}],"closeSidePanel":[{"__symbolic":"method"}],"saveBySidePanel":[{"__symbolic":"method"}],"toggleTitleMode":[{"__symbolic":"method"}]}},"UploadFileZoneComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":3,"character":1},"arguments":[{"selector":"gd-upload-file-zone","template":"
\n
\n \n
\n

Drag & Drop your files here

\n

OR

\n
\n \n
\n
\n","styles":[".gd-drag-n-drop-wrap{border:2px dashed #ccc;background-color:#f8f8f8;text-align:center;cursor:default;position:absolute;width:-webkit-fill-available;left:1px;display:-webkit-box;display:flex;align-content:center;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column;-webkit-box-pack:center;justify-content:center;opacity:.9;z-index:1}.gd-drag-n-drop-wrap h2{color:#959da5;margin:5px 0;font-size:15px;font-weight:300}.gd-drag-n-drop-wrap h4{color:#cacaca;font-weight:300;font-size:12px;margin:10px 0 15px}.gd-drag-n-drop-icon .fa-cloud-download-alt{color:#d1d1d1;font-size:110px}.gd-drag-n-drop-buttons i{margin-right:5px}.gd-drag-n-drop-buttons .btn{width:134px;height:35px;margin:0 10px;font-size:12px;font-weight:400}.gd-drag-n-drop-wrap.hover{background:#ddd;border-color:#aaa}"]}]}],"members":{"closeUpload":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":10,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"UploadFilesService"}]}],"ngOnInit":[{"__symbolic":"method"}],"handleFileInput":[{"__symbolic":"method"}],"onCloseUpload":[{"__symbolic":"method"}],"close":[{"__symbolic":"method"}]}},"ZoomDirective":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Directive","line":5,"character":1},"arguments":[{"selector":"[gdZoom]"}]}],"members":{"zoomActive":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":10,"character":3}}]}],"file":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":11,"character":3}}]}],"zoomInt":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostBinding","line":13,"character":3},"arguments":["style.zoom"]}]}],"transform":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostBinding","line":14,"character":3},"arguments":["style.transform"]}]}],"transformOrigin":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostBinding","line":15,"character":3},"arguments":["style.transform-origin"]}]}],"width":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostBinding","line":16,"character":3},"arguments":["style.width"]}]}],"height":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostBinding","line":17,"character":3},"arguments":["style.height"]}]}],"minWidth":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostBinding","line":18,"character":3},"arguments":["style.min-width"]}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"ZoomService"},{"__symbolic":"reference","name":"WindowService"},{"__symbolic":"reference","module":"@angular/core","name":"ElementRef","line":21,"character":92}]}],"ngOnDestroy":[{"__symbolic":"method"}],"ngOnChanges":[{"__symbolic":"method"}],"ngOnInit":[{"__symbolic":"method"}],"setStyles":[{"__symbolic":"method"}],"getScrollWidth":[{"__symbolic":"method"}],"getScrollHeight":[{"__symbolic":"method"}],"resizePages":[{"__symbolic":"method"}],"ngAfterViewInit":[{"__symbolic":"method"}]}},"SelectionService":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":2,"character":1},"arguments":[{"providedIn":"root"}]}],"members":{"restoreSelection":[{"__symbolic":"method"}],"captureSelection":[{"__symbolic":"method"}],"putSelection":[{"__symbolic":"method"}],"refreshSelection":[{"__symbolic":"method"}]},"statics":{"ngInjectableDef":{}}},"OnCloseService":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":3,"character":1},"arguments":[{"providedIn":"root"}]}],"members":{"__ctor__":[{"__symbolic":"constructor"}],"close":[{"__symbolic":"method"}]},"statics":{"ngInjectableDef":{}}},"LoadingMaskService":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":4,"character":1}}],"members":{"__ctor__":[{"__symbolic":"constructor"}],"onRequestStart":[{"__symbolic":"method"}],"onRequestFinish":[{"__symbolic":"method"}],"addStopUrl":[{"__symbolic":"method"}],"notify":[{"__symbolic":"method"}]}},"LoadingMaskInterceptorService":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":6,"character":1},"arguments":[{"providedIn":"root"}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"LoadingMaskService"}]}],"intercept":[{"__symbolic":"method"}]},"statics":{"ngInjectableDef":{}}},"FormattingDirective":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Directive","line":7,"character":1},"arguments":[{"selector":"[gdFormatting]"}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"FormattingService"},{"__symbolic":"reference","name":"BackFormattingService"},{"__symbolic":"reference","name":"SelectionService"}]}],"mouseup":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostListener","line":29,"character":3},"arguments":["mouseup"]}]}],"checkJustify":[{"__symbolic":"method"}],"checkList":[{"__symbolic":"method"}],"reportFontSize":[{"__symbolic":"method"}],"getComputedStyleProperty":[{"__symbolic":"method"}],"ngOnInit":[{"__symbolic":"method"}],"toggleBold":[{"__symbolic":"method"}],"toggleUnderline":[{"__symbolic":"method"}],"toggleItalic":[{"__symbolic":"method"}],"setBgColor":[{"__symbolic":"method"}],"setColor":[{"__symbolic":"method"}],"setFontSize":[{"__symbolic":"method"}],"toggleUndo":[{"__symbolic":"method"}],"toggleRedo":[{"__symbolic":"method"}],"setFont":[{"__symbolic":"method"}],"toggleStrikeout":[{"__symbolic":"method"}],"toggleAlign":[{"__symbolic":"method"}],"toggleAlignIE":[{"__symbolic":"method"}],"toggleList":[{"__symbolic":"method"}]}},"Formatting":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"number"},{"__symbolic":"reference","name":"string"},{"__symbolic":"reference","name":"string"},{"__symbolic":"reference","name":"boolean"},{"__symbolic":"reference","name":"boolean"},{"__symbolic":"reference","name":"boolean"},{"__symbolic":"reference","name":"string"},{"__symbolic":"reference","name":"boolean"},{"__symbolic":"reference","name":"string"},{"__symbolic":"reference","name":"string"}]}]},"statics":{"default":{"__symbolic":"function","parameters":[],"value":{"__symbolic":"new","expression":{"__symbolic":"reference","name":"Formatting"},"arguments":[10,"#000000","#FFFFFF",false,false,false,"Arial",false,"",""]}}}},"FormattingService":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor"}],"changeFormatFontSize":[{"__symbolic":"method"}],"changeFormatBold":[{"__symbolic":"method"}],"changeFormatUnderline":[{"__symbolic":"method"}],"Undo":[{"__symbolic":"method"}],"Redo":[{"__symbolic":"method"}],"changeFormatItalic":[{"__symbolic":"method"}],"changeFormatColor":[{"__symbolic":"method"}],"changeFormatBgColor":[{"__symbolic":"method"}],"changeFormatFont":[{"__symbolic":"method"}],"changeFormatStrikeout":[{"__symbolic":"method"}],"changeFormatAlign":[{"__symbolic":"method"}],"changeFormatList":[{"__symbolic":"method"}]},"statics":{"createFontSizeOption":{"__symbolic":"function","parameters":["val"],"value":{"value":{"__symbolic":"reference","name":"val"},"name":{"__symbolic":"binop","operator":"+","left":{"__symbolic":"reference","name":"val"},"right":"px"},"separator":false}},"getFontSizeOptions":{"__symbolic":"function","parameters":[],"value":[{"__symbolic":"call","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"FormattingService"},"member":"createFontSizeOption"},"arguments":[8]},{"__symbolic":"call","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"FormattingService"},"member":"createFontSizeOption"},"arguments":[10]},{"__symbolic":"call","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"FormattingService"},"member":"createFontSizeOption"},"arguments":[12]},{"__symbolic":"call","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"FormattingService"},"member":"createFontSizeOption"},"arguments":[14]},{"__symbolic":"call","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"FormattingService"},"member":"createFontSizeOption"},"arguments":[16]},{"__symbolic":"call","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"FormattingService"},"member":"createFontSizeOption"},"arguments":[18]},{"__symbolic":"call","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"FormattingService"},"member":"createFontSizeOption"},"arguments":[20]},{"__symbolic":"call","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"FormattingService"},"member":"createFontSizeOption"},"arguments":[22]},{"__symbolic":"call","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"FormattingService"},"member":"createFontSizeOption"},"arguments":[24]}]},"createFontOption":{"__symbolic":"function","parameters":["val"],"value":{"value":{"__symbolic":"reference","name":"val"},"name":{"__symbolic":"reference","name":"val"},"separator":false}}}},"BackFormattingService":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"FormattingService"},"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":3,"character":1},"arguments":[{"providedIn":"root"}]}],"members":{"__ctor__":[{"__symbolic":"constructor"}]},"statics":{"ngInjectableDef":{}}},"EditorDirective":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Directive","line":4,"character":1},"arguments":[{"selector":"[gdEditor]"}]}],"members":{"text":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":8,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"SelectionService"},{"__symbolic":"reference","name":"EditHtmlService"}]}],"onInput":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostListener","line":15,"character":3},"arguments":["keyup",["$event"]]}]}],"onMouseleave":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostListener","line":26,"character":3},"arguments":["mouseleave",["$event"]]}]}],"onBlur":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostListener","line":35,"character":3},"arguments":["blur",["$event"]]}]}]}},"EditHtmlService":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":3,"character":1},"arguments":[{"providedIn":"root"}]}],"members":{"__ctor__":[{"__symbolic":"constructor"}]},"statics":{"ngInjectableDef":{}}},"ColorPickerComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":13,"character":1},"arguments":[{"selector":"gd-color-picker","template":"
\n
\n
\n
\n
\n","styles":[".bcPicker-picker{border:1px;border-radius:100%}.bcPicker-palette{width:250px;background-color:#fdfdfd;z-index:999;box-shadow:0 0 5px #efefef;display:-webkit-box;display:flex;flex-wrap:wrap;-webkit-box-pack:center;justify-content:center}.bcPicker-palette>.bcPicker-color{width:18px;height:18px;margin:2px;cursor:pointer}"]}]}],"members":{"isOpen":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":19,"character":3}}]}],"selectedColor":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":20,"character":3}}]}],"closeOutside":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":21,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor"}],"ngOnInit":[{"__symbolic":"method"}],"select":[{"__symbolic":"method"}],"close":[{"__symbolic":"method"}]}},"LoadingMaskComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":3,"character":1},"arguments":[{"selector":"gd-loading-mask","template":"
\n
\n  Loading... Please wait.\n
\n
\n","styles":[".loading-wrapper{background:rgba(0,0,0,.5);width:100%;height:100%;font-size:14px;color:#fff;position:fixed;top:0;left:0;z-index:99999}.loading-message{position:absolute;left:50%;top:50%;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%)}"]}]}],"members":{"loadingMask":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":10,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"LoadingMaskService"}]}],"ngOnInit":[{"__symbolic":"method"}],"ngAfterViewInit":[{"__symbolic":"method"}]}},"SuccessModalComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":2,"character":1},"arguments":[{"selector":"gd-success-modal","template":"\n
\n
\n \n \n
\n
\n
\n
\n
\n","styles":[".check_mark{margin:47px auto}.sa-icon{width:80px;height:80px;border:4px solid gray;border-radius:50%;padding:0;position:relative;box-sizing:content-box}#gd-modal-success{display:-webkit-box;display:flex;overflow:hidden;width:469px;height:183px}.sa-icon.sa-success{border-color:#4caf50;-webkit-transform:scale(1.18);transform:scale(1.18)}.sa-icon.sa-success::after,.sa-icon.sa-success::before{content:'';position:absolute;width:60px;height:120px;background:#fff}.sa-icon.sa-success::before{border-radius:120px 0 0 120px;top:-7px;left:-33px;-webkit-transform:rotate(-45deg);transform:rotate(-45deg);-webkit-transform-origin:60px 60px;transform-origin:60px 60px}.sa-icon.sa-success::after{border-radius:0 120px 120px 0;top:-11px;left:30px;-webkit-transform:rotate(-45deg);transform:rotate(-45deg);-webkit-transform-origin:0 60px;transform-origin:0 60px}.sa-icon.sa-success .sa-placeholder{width:80px;height:80px;border:4px solid rgba(76,175,80,.5);border-radius:50%;box-sizing:content-box;position:absolute;left:-4px;top:-4px;z-index:2}.sa-icon.sa-success .sa-fix{width:5px;height:90px;background-color:#fff;position:absolute;left:28px;top:8px;z-index:1;-webkit-transform:rotate(-45deg);transform:rotate(-45deg)}.sa-icon.sa-success.animate::after{-webkit-animation:4.25s ease-in rotatePlaceholder;animation:4.25s ease-in rotatePlaceholder}.animateSuccessTip{-webkit-animation:.75s animateSuccessTip;animation:.75s animateSuccessTip}.animateSuccessLong{-webkit-animation:.75s animateSuccessLong;animation:.75s animateSuccessLong}@-webkit-keyframes animateSuccessLong{0%,65%{width:0;right:46px;top:54px}84%{width:55px;right:0;top:35px}100%{width:47px;right:8px;top:38px}}@-webkit-keyframes animateSuccessTip{0%,54%{width:0;left:1px;top:19px}70%{width:50px;left:-8px;top:37px}84%{width:17px;left:21px;top:48px}100%{width:25px;left:14px;top:45px}}@keyframes animateSuccessTip{0%,54%{width:0;left:1px;top:19px}70%{width:50px;left:-8px;top:37px}84%{width:17px;left:21px;top:48px}100%{width:25px;left:14px;top:45px}}@keyframes animateSuccessLong{0%,65%{width:0;right:46px;top:54px}84%{width:55px;right:0;top:35px}100%{width:47px;right:8px;top:38px}}.sa-icon.sa-success .sa-line{height:5px;background-color:#4caf50;display:block;border-radius:2px;position:absolute;z-index:2}.sa-icon.sa-success .sa-line.sa-tip{width:25px;left:14px;top:46px;-webkit-transform:rotate(45deg);transform:rotate(45deg)}.sa-icon.sa-success .sa-line.sa-long{width:47px;right:8px;top:38px;-webkit-transform:rotate(-45deg);transform:rotate(-45deg)}@-webkit-keyframes rotatePlaceholder{0%,5%{transform:rotate(-45deg);-webkit-transform:rotate(-45deg)}100%,12%{transform:rotate(-405deg);-webkit-transform:rotate(-405deg)}}@keyframes rotatePlaceholder{0%,5%{transform:rotate(-45deg);-webkit-transform:rotate(-45deg)}100%,12%{transform:rotate(-405deg);-webkit-transform:rotate(-405deg)}}@media (max-width:1037px){#gd-modal-success{left:50%;top:50%;position:relative;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%)}}"]}]}],"members":{"__ctor__":[{"__symbolic":"constructor"}],"ngOnInit":[{"__symbolic":"method"}]}},"TabComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":3,"character":1},"arguments":[{"selector":"gd-tab","template":"
\n
{{tabTitle}}
\n \n
\n
\n \n
\n","styles":[".tab-content{height:60px;position:absolute;background-color:#fff;width:100%;left:0;line-height:60px;display:none;z-index:9}.tab-content ::ng-deep .toolbar-panel{height:60px}.tab-content.active{display:-webkit-box;display:flex}.gd-tab{text-align:center;font-size:11px;color:#e5e5e5;height:30px;line-height:30px;cursor:pointer;display:-webkit-box;display:flex;-webkit-box-align:center;align-items:center;-webkit-box-pack:center;justify-content:center}.gd-tab .icon{display:none;font-size:14px}.gd-tab .smp-tab-title{margin:auto 23px}.gd-tab.active{background-color:#fff;color:#3e4e5a;font-weight:700}@media (max-width:1037px){.gd-tab{height:60px;line-height:60px;width:60px}.gd-tab .title{display:none}.gd-tab .icon{display:block;font-size:22px}}"]}]}],"members":{"id":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":9,"character":3}}]}],"tabTitle":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":10,"character":3}}]}],"icon":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":11,"character":3}}]}],"disabled":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":12,"character":3}}]}],"active":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":13,"character":3}}]}],"content":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":14,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"TabActivatorService"}]}],"activation":[{"__symbolic":"method"}],"ngOnInit":[{"__symbolic":"method"}],"selectTab":[{"__symbolic":"method"}]}},"TabbedToolbarsComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":2,"character":1},"arguments":[{"selector":"gd-tabbed-toolbars","template":"
\n \n \n
\n","styles":[".top-panel{background:#3e4e5a;display:-webkit-box;display:flex;width:100%;height:90px}.top-panel ::ng-deep .logo{height:30px;font-size:16px}@media (max-width:1037px){.top-panel{height:60px}.top-panel ::ng-deep .logo{height:60px}}"]}]}],"members":{"logo":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":8,"character":3}}]}],"icon":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":9,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor"}],"ngOnInit":[{"__symbolic":"method"}]}},"TabActivatorService":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor"}],"changeActiveTab":[{"__symbolic":"method"}]}},"DropDownToggleComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":41,"character":1},"arguments":[{"selector":"gd-drop-down-toggle","template":"","encapsulation":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewEncapsulation","line":45,"character":18},"member":"None"},"styles":[".drop-down{position:relative}.show .drop-down-items{display:-webkit-box;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column;position:absolute;z-index:1000;min-width:100%;max-height:300px;padding:0;background-color:#fff;box-shadow:0 6px 12px rgba(0,0,0,.175);background-clip:padding-box;overflow-y:auto;overflow-x:hidden}.show .drop-down-items .drop-down-item,.show .drop-down-items gd-drop-down-item{color:#959da5;display:-webkit-box;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;flex-direction:row;-webkit-box-pack:justify;justify-content:space-between;cursor:pointer;font-size:10px;line-height:28px;min-height:28px;width:100%}.show .drop-down-items .drop-down-item fa-icon svg,.show .drop-down-items gd-drop-down-item fa-icon svg{margin:0 10px;color:#959da5}.show .drop-down-items .drop-down-item .text,.show .drop-down-items gd-drop-down-item .text{width:100%;margin-right:10px}.show .drop-down-items .drop-down-item:hover,.show .drop-down-items gd-drop-down-item:hover{background-color:#25c2d4}.show .drop-down-items .drop-down-item:hover *,.show .drop-down-items gd-drop-down-item:hover *{color:#fff}.drop-down-items{display:none}"]}]}],"members":{"click":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostListener","line":48,"character":3},"arguments":["click",["$event"]]}]}],"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":50,"character":15},"arguments":[{"__symbolic":"reference","name":"DropDownComponent"}]}]],"parameters":[null]}]}},"DropDownItemsComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":56,"character":1},"arguments":[{"selector":"gd-drop-down-items","template":"
","encapsulation":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewEncapsulation","line":60,"character":18},"member":"None"},"styles":[".drop-down{position:relative}.show .drop-down-items{display:-webkit-box;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column;position:absolute;z-index:1000;min-width:100%;max-height:300px;padding:0;background-color:#fff;box-shadow:0 6px 12px rgba(0,0,0,.175);background-clip:padding-box;overflow-y:auto;overflow-x:hidden}.show .drop-down-items .drop-down-item,.show .drop-down-items gd-drop-down-item{color:#959da5;display:-webkit-box;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;flex-direction:row;-webkit-box-pack:justify;justify-content:space-between;cursor:pointer;font-size:10px;line-height:28px;min-height:28px;width:100%}.show .drop-down-items .drop-down-item fa-icon svg,.show .drop-down-items gd-drop-down-item fa-icon svg{margin:0 10px;color:#959da5}.show .drop-down-items .drop-down-item .text,.show .drop-down-items gd-drop-down-item .text{width:100%;margin-right:10px}.show .drop-down-items .drop-down-item:hover,.show .drop-down-items gd-drop-down-item:hover{background-color:#25c2d4}.show .drop-down-items .drop-down-item:hover *,.show .drop-down-items gd-drop-down-item:hover *{color:#fff}.drop-down-items{display:none}"]}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":76,"character":15},"arguments":[{"__symbolic":"reference","name":"DropDownComponent"}]}]],"parameters":[null]}],"onClickOutside":[{"__symbolic":"method"}]}},"DropDownItemComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":86,"character":1},"arguments":[{"selector":"gd-drop-down-item","template":"
","styles":[".drop-down{position:relative}.show .drop-down-items{display:-webkit-box;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column;position:absolute;z-index:1000;min-width:100%;max-height:300px;padding:0;background-color:#fff;box-shadow:0 6px 12px rgba(0,0,0,.175);background-clip:padding-box;overflow-y:auto;overflow-x:hidden}.show .drop-down-items .drop-down-item,.show .drop-down-items gd-drop-down-item{color:#959da5;display:-webkit-box;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;flex-direction:row;-webkit-box-pack:justify;justify-content:space-between;cursor:pointer;font-size:10px;line-height:28px;min-height:28px;width:100%}.show .drop-down-items .drop-down-item fa-icon svg,.show .drop-down-items gd-drop-down-item fa-icon svg{margin:0 10px;color:#959da5}.show .drop-down-items .drop-down-item .text,.show .drop-down-items gd-drop-down-item .text{width:100%;margin-right:10px}.show .drop-down-items .drop-down-item:hover,.show .drop-down-items gd-drop-down-item:hover{background-color:#25c2d4}.show .drop-down-items .drop-down-item:hover *,.show .drop-down-items gd-drop-down-item:hover *{color:#fff}.drop-down-items{display:none}"]}]}],"members":{"class":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostBinding","line":92,"character":3},"arguments":["class"]}]}],"selected":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":95,"character":3}}]}],"click":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostListener","line":98,"character":3},"arguments":["click"]}]}],"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":101,"character":15},"arguments":[{"__symbolic":"reference","name":"DropDownComponent"}]}]],"parameters":[null]}],"selectEntry":[{"__symbolic":"method"}]}},"DropDownComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":112,"character":1},"arguments":[{"selector":"gd-drop-down","template":"
","encapsulation":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewEncapsulation","line":116,"character":18},"member":"None"},"styles":[".drop-down{position:relative}.show .drop-down-items{display:-webkit-box;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column;position:absolute;z-index:1000;min-width:100%;max-height:300px;padding:0;background-color:#fff;box-shadow:0 6px 12px rgba(0,0,0,.175);background-clip:padding-box;overflow-y:auto;overflow-x:hidden}.show .drop-down-items .drop-down-item,.show .drop-down-items gd-drop-down-item{color:#959da5;display:-webkit-box;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;flex-direction:row;-webkit-box-pack:justify;justify-content:space-between;cursor:pointer;font-size:10px;line-height:28px;min-height:28px;width:100%}.show .drop-down-items .drop-down-item fa-icon svg,.show .drop-down-items gd-drop-down-item fa-icon svg{margin:0 10px;color:#959da5}.show .drop-down-items .drop-down-item .text,.show .drop-down-items gd-drop-down-item .text{width:100%;margin-right:10px}.show .drop-down-items .drop-down-item:hover,.show .drop-down-items gd-drop-down-item:hover{background-color:#25c2d4}.show .drop-down-items .drop-down-item:hover *,.show .drop-down-items gd-drop-down-item:hover *{color:#fff}.drop-down-items{display:none}"]}]}],"members":{"placement":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":119,"character":3}}]}],"open":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":126,"character":3}},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostBinding","line":127,"character":3},"arguments":["class.show"]}]}],"class":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostBinding","line":130,"character":3},"arguments":["class"]}]}],"close":[{"__symbolic":"method"}],"toggle":[{"__symbolic":"method"}],"getPlacement":[{"__symbolic":"method"}]}},"LeftSideBarComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":2,"character":1},"arguments":[{"selector":"gd-left-side-bar","template":"
\n
\n
 Loading...\n
\n
\n \n
\n","styles":[".left-panel{border-radius:0;float:left}.gd-left-bar-fade{margin:auto;overflow:hidden;-webkit-overflow-scrolling:touch;-webkit-transition:-webkit-transform .3s ease-out;transition:transform .3s ease-out;transition:transform .3s ease-out,-webkit-transform .3s ease-out;width:100%;height:100%;display:-webkit-box;display:flex;-webkit-box-pack:center;justify-content:center;-webkit-box-align:center;align-items:center;position:fixed;z-index:1000}@media (max-width:1037px){.gd-left-bar-fade{top:100px;right:0}.gd-left-bar-spinner{top:20%}}"]}]}],"members":{"showSpinner":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":8,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor"}],"ngOnInit":[{"__symbolic":"method"}]}},"AddDynamicComponentService":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":7,"character":1},"arguments":[{"providedIn":"root"}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/core","name":"ComponentFactoryResolver","line":12,"character":40},{"__symbolic":"reference","module":"@angular/core","name":"ApplicationRef","line":13,"character":31}]}],"addDynamicComponent":[{"__symbolic":"method"}]},"statics":{"ngInjectableDef":{}}},"HostDynamicDirective":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Directive","line":3,"character":1},"arguments":[{"selector":"[gdHostDynamic]"}]}],"members":{"ident":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":7,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/core","name":"ViewContainerRef","line":9,"character":39},{"__symbolic":"reference","name":"HostingDynamicComponentService"}]}],"ngAfterViewInit":[{"__symbolic":"method"}],"ngOnDestroy":[{"__symbolic":"method"}]}},"HostingDynamicComponentService":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor"}],"add":[{"__symbolic":"method"}],"remove":[{"__symbolic":"method"}],"find":[{"__symbolic":"method"}]}},"TopTabActivatorService":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"TabActivatorService"},"members":{"__ctor__":[{"__symbolic":"constructor"}]}},"MenuType":{"__symbolic":"class","members":{},"statics":{"FOR_SIGNATURE":"signature","FOR_ANNOTATION":"annotation"}},"ContextMenuComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":10,"character":1},"arguments":[{"selector":"gd-context-menu","template":"
10 ? 'gd-context-menu-top' : 'gd-context-menu-bottom'\">\n \n \n \n \n \n \n
\n","styles":[".gd-context-menu-top{top:-44px}.gd-context-menu-bottom{bottom:-40px}.gd-context-menu{box-shadow:rgba(0,0,0,.52) 0 0 5px;background-color:#fff;position:absolute;left:0;right:0;margin:auto;cursor:default;width:max-content;width:-moz-max-content;width:-webkit-max-content;display:-webkit-box;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;flex-direction:row;z-index:999}.gd-context-menu .arrows{cursor:move}.gd-context-menu ::ng-deep .active{background-color:#e7e7e7}.gd-context-menu ::ng-deep .icon-button{margin:0!important}@media (max-width:1037px){.gd-context-menu-top{top:-42px;-webkit-transform-origin:bottom center;transform-origin:bottom center}}"]}]}],"members":{"formatting":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":16,"character":3}}]}],"textMenu":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":17,"character":3}}]}],"topPosition":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":18,"character":3}}]}],"lock":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":19,"character":3}}]}],"translation":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":20,"character":3}}]}],"menuType":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":21,"character":3}}]}],"changeFormatting":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":22,"character":3}}]}],"removeItem":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":23,"character":3}}]}],"copySign":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":24,"character":3}}]}],"lockOut":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":25,"character":3}}]}],"comment":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":26,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"WindowService"},{"__symbolic":"reference","name":"ZoomService"},{"__symbolic":"reference","name":"ElementRef","module":"@angular/core","arguments":[{"__symbolic":"error","message":"Could not resolve type","line":32,"character":48,"context":{"typeName":"HTMLElement"},"module":"./lib/context-menu/context-menu.component"}]},{"__symbolic":"reference","module":"@angular/core","name":"Renderer2","line":33,"character":32}]}],"ngOnInit":[{"__symbolic":"method"}],"changeScale":[{"__symbolic":"method"}],"saveChanges":[{"__symbolic":"method"}],"selectFontSize":[{"__symbolic":"method"}],"selectFont":[{"__symbolic":"method"}],"selectColor":[{"__symbolic":"method"}],"toggleBold":[{"__symbolic":"method"}],"toggleItalic":[{"__symbolic":"method"}],"toggleUnderline":[{"__symbolic":"method"}],"deleteItem":[{"__symbolic":"method"}],"toggleLock":[{"__symbolic":"method"}],"onCopySign":[{"__symbolic":"method"}],"isSignature":[{"__symbolic":"method"}],"isAnnotation":[{"__symbolic":"method"}],"addComment":[{"__symbolic":"method"}]}},"TextMenuComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":10,"character":1},"arguments":[{"selector":"gd-text-menu","template":"
\n \n \n \n \n \n \n
\n
\n \n \n
\n","styles":["::ng-deep .active{background-color:#e7e7e7}.gd-text-menu{display:-webkit-box;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;flex-direction:row}.gd-text-menu .format-select{height:37px;display:-webkit-box;display:flex;-webkit-box-pack:center;justify-content:center;-webkit-box-align:center;align-items:center;max-width:80px;margin:0 3px}.gd-text-menu .first-component{margin-left:8px}.gd-text-menu ::ng-deep .dropdown-menu{top:40px!important;height:120px;overflow-y:auto}.gd-text-menu ::ng-deep .icon-button{margin:0!important}.bg-color-pic{border-radius:100%;border:1px solid #ccc;position:absolute;height:8px;width:8px;right:6px;bottom:6px}.palette{position:relative;top:40px;left:-55px;z-index:100}@media (max-width:1037px){.gd-text-menu{position:fixed;left:0;right:0;width:inherit;height:60px;-webkit-box-align:center;align-items:center;padding:0;margin:0;background-color:#fff;border-top:2px solid #707070;-webkit-transform-origin:top left;transform-origin:top left;z-index:1000}.gd-text-menu ::ng-deep .selected-value{white-space:normal!important;word-wrap:break-word}.gd-text-menu .icon{color:#fff;margin:0 9px}.gd-text-menu ::ng-deep .bcPicker-palette{left:-200px;top:-185px}.gd-text-menu .palette{top:unset;bottom:40px;left:unset;right:5px}.gd-text-menu ::ng-deep .dropdown-menu{bottom:40px;top:unset!important}.gd-text-menu ::ng-deep .first-component ::ng-deep .dropdown-menu{left:0}.gd-text-menu ::ng-deep .button{margin:3px!important;font-size:16px}}"]}]}],"members":{"blur":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":16,"character":3}}]}],"fontSize":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":17,"character":3}}]}],"font":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":18,"character":3}}]}],"bold":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":19,"character":3}}]}],"italic":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":20,"character":3}}]}],"underline":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":21,"character":3}}]}],"color":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":22,"character":3}}]}],"decoration":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":23,"character":3}}]}],"showTooltips":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":24,"character":3}}]}],"outFontSize":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":26,"character":3}}]}],"outFont":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":27,"character":3}}]}],"outBold":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":28,"character":3}}]}],"outItalic":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":29,"character":3}}]}],"outUnderline":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":30,"character":3}}]}],"outColor":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":31,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"OnCloseService"},{"__symbolic":"reference","name":"ZoomService"},{"__symbolic":"reference","name":"WindowService"},{"__symbolic":"reference","name":"ElementRef","module":"@angular/core","arguments":[{"__symbolic":"error","message":"Could not resolve type","line":42,"character":48,"context":{"typeName":"HTMLElement"},"module":"./lib/text-menu/text-menu.component"}]},{"__symbolic":"reference","module":"@angular/core","name":"Renderer2","line":43,"character":32}]}],"ngOnInit":[{"__symbolic":"method"}],"changePosition":[{"__symbolic":"method"}],"selectFontSize":[{"__symbolic":"method"}],"selectFont":[{"__symbolic":"method"}],"toggleColorPicker":[{"__symbolic":"method"}],"selectColor":[{"__symbolic":"method"}],"toggleBold":[{"__symbolic":"method"}],"toggleItalic":[{"__symbolic":"method"}],"toggleUnderline":[{"__symbolic":"method"}],"closePicker":[{"__symbolic":"method"}]}},"ɵa":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":2,"character":1},"arguments":[{"selector":"gd-tabs","template":"
\n \n
\n","styles":[".gd-tabs{display:-webkit-box;display:flex}"]}]}],"members":{"__ctor__":[{"__symbolic":"constructor"}]}},"ɵb":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Directive","line":2,"character":1},"arguments":[{"selector":"[gdTooltip]"}]}],"members":{"showToolTip":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":7,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor"}],"onHovering":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostListener","line":12,"character":3},"arguments":["mouseenter"]}]}],"onUnhovering":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostListener","line":17,"character":3},"arguments":["mouseleave"]}]}]}},"ɵc":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":6,"character":1},"arguments":[{"selector":"gd-resizing","template":"
\n\n
\n\n
\n\n
\n","styles":[".ui-resizable-handle{background-color:#679ffa;width:8px;height:8px;border-radius:100%;position:absolute;font-size:.1px;display:block}.se-resize{bottom:-5px;right:-5px;cursor:se-resize}.ne-resize{top:-5px;right:-5px;cursor:ne-resize}.sw-resize{bottom:-5px;left:-5px;cursor:sw-resize}.nw-resize{top:-5px;left:-5px;cursor:nw-resize}"]}]}],"members":{"init":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":13,"character":3}}]}],"id":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":14,"character":3}}]}],"se":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":15,"character":3}}]}],"ne":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":16,"character":3}}]}],"sw":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":17,"character":3}}]}],"nw":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":18,"character":3}}]}],"pageWidth":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":19,"character":3}}]}],"pageHeight":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":20,"character":3}}]}],"offsetX":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":26,"character":3}}]}],"offsetY":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":27,"character":3}}]}],"offsetTop":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":28,"character":3}}]}],"offsetLeft":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":29,"character":3}}]}],"release":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":30,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor"}],"ngAfterViewInit":[{"__symbolic":"method"}],"ngOnInit":[{"__symbolic":"method"}],"catchUp":[{"__symbolic":"method"}],"resize":[{"__symbolic":"method"}],"setOffsets":[{"__symbolic":"method"}],"end":[{"__symbolic":"method"}],"start":[{"__symbolic":"method"}],"drop":[{"__symbolic":"method"}],"getElementId":[{"__symbolic":"method"}]}},"ɵd":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":5,"character":1},"arguments":[{"selector":"gd-top-tab","template":"
\n \n \n
\n","styles":[".gd-tab{font-size:14px;color:#3e4e5a;cursor:pointer;display:-webkit-box;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column;-webkit-box-align:center;align-items:center;align-content:center;-webkit-box-pack:center;justify-content:center;min-width:36px;height:36px;text-align:center;position:relative;white-space:nowrap;padding:0!important;margin:0 10px}.gd-tab .gd-tab-tooltip{display:-webkit-box;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column;margin:0!important}.gd-tab.active{background-color:#acacac;color:#fff!important;font-weight:700}.gd-tab.disabled{cursor:not-allowed;opacity:.4}.gd-tab ::ng-deep .tooltip{font-size:12px;margin:20px -57px}.gd-tab .title{margin:auto 23px}@media (max-width:1037px){.gd-tab{font-size:20px}}"]}]}],"members":{"id":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":11,"character":3}}]}],"icon":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":12,"character":3}}]}],"disabled":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":13,"character":3}}]}],"tooltip":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":14,"character":3}}]}],"activeTab":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":15,"character":3}}]}],"elementPosition":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":16,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"TopTabActivatorService"},{"__symbolic":"reference","name":"ModalService"},{"__symbolic":"reference","name":"ExceptionMessageService"}]}],"activation":[{"__symbolic":"method"}],"ngOnInit":[{"__symbolic":"method"}],"toggleTab":[{"__symbolic":"method"}]}}},"origins":{"CommonComponentsModule":"./lib/common-components.module","Api":"./lib/config.service","ConfigService":"./lib/config.service","CommonModals":"./lib/modal.service","ModalService":"./lib/modal.service","PageModel":"./lib/file.service","RotatedPage":"./lib/file.service","FileCredentials":"./lib/file.service","SaveFile":"./lib/file.service","FileDescription":"./lib/file.service","FileModel":"./lib/file.service","HttpError":"./lib/file.service","Utils":"./lib/file.service","FileUtil":"./lib/file.service","FileService":"./lib/file.service","UploadFilesService":"./lib/upload-files.service","SanitizeHtmlPipe":"./lib/pipes","SanitizeResourceHtmlPipe":"./lib/pipes","SanitizeStylePipe":"./lib/pipes","HighlightSearchPipe":"./lib/pipes","NavigateService":"./lib/navigate.service","PagePreloadService":"./lib/page-preload.service","ZoomService":"./lib/zoom.service","RenderPrintService":"./lib/render-print.service","ErrorInterceptorService":"./lib/error-interceptor.service","ExceptionMessageService":"./lib/exception-message.service","PasswordService":"./lib/password.service","WindowService":"./lib/window.service","ViewportService":"./lib/viewport.service","BrowseFilesModalComponent":"./lib/browse-files-modal/browse-files-modal.component","ButtonComponent":"./lib/button/button.component","DisabledCursorDirective":"./lib/disabled-cursor.directive","DndDirective":"./lib/dnd.directive","DocumentComponent":"./lib/document/document.component","ErrorModalComponent":"./lib/error-modal/error-modal.component","InitStateComponent":"./lib/init-state/init-state.component","LogoComponent":"./lib/logo/logo.component","ModalComponent":"./lib/modal/modal.component","PageComponent":"./lib/page/page.component","PasswordRequiredComponent":"./lib/password-required/password-required.component","RenderPrintDirective":"./lib/render-print.directive","RotationDirective":"./lib/rotation.directive","ScrollableDirective":"./lib/scrollable.directive","MouseWheelDirective":"./lib/mousewheel.directive","SearchService":"./lib/search.service","SearchComponent":"./lib/search/search.component","SearchableDirective":"./lib/searchable.directive","Option":"./lib/select/select.component","SelectComponent":"./lib/select/select.component","TooltipComponent":"./lib/tooltip/tooltip.component","TopToolbarComponent":"./lib/top-toolbar/top-toolbar.component","SidePanelComponent":"./lib/side-panel/side-panel.component","UploadFileZoneComponent":"./lib/upload-file-zone/upload-file-zone.component","ZoomDirective":"./lib/zoom.directive","SelectionService":"./lib/selection.service","OnCloseService":"./lib/on-close.service","LoadingMaskService":"./lib/loading-mask.service","LoadingMaskInterceptorService":"./lib/loading-mask-interceptor.service","FormattingDirective":"./lib/formatting.directive","Formatting":"./lib/formatting.service","FormattingService":"./lib/formatting.service","BackFormattingService":"./lib/back-formatting.service","EditorDirective":"./lib/editor.directive","EditHtmlService":"./lib/edit-html.service","ColorPickerComponent":"./lib/color-picker/color-picker.component","LoadingMaskComponent":"./lib/loading-mask/loading-mask.component","SuccessModalComponent":"./lib/success-modal/success-modal.component","TabComponent":"./lib/tab/tab.component","TabbedToolbarsComponent":"./lib/tabbed-toolbars/tabbed-toolbars.component","TabActivatorService":"./lib/tab-activator.service","DropDownToggleComponent":"./lib/drop-down/drop-down.component","DropDownItemsComponent":"./lib/drop-down/drop-down.component","DropDownItemComponent":"./lib/drop-down/drop-down.component","DropDownComponent":"./lib/drop-down/drop-down.component","LeftSideBarComponent":"./lib/left-side-bar/left-side-bar.component","AddDynamicComponentService":"./lib/add-dynamic-component.service","HostDynamicDirective":"./lib/host-dynamic.directive","HostingDynamicComponentService":"./lib/hosting-dynamic-component.service","TopTabActivatorService":"./lib/top-tab-activator.service","MenuType":"./lib/context-menu/context-menu.component","ContextMenuComponent":"./lib/context-menu/context-menu.component","TextMenuComponent":"./lib/text-menu/text-menu.component","ɵa":"./lib/tabs/tabs.component","ɵb":"./lib/tooltip.directive","ɵc":"./lib/resizing/resizing.component","ɵd":"./lib/top-tab/top-tab.component"},"importAs":"@groupdocs.examples.angular/common-components"} \ No newline at end of file +{"__symbolic":"module","version":4,"metadata":{"CommonComponentsModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":108,"character":1},"arguments":[{"imports":[{"__symbolic":"reference","module":"@angular/common","name":"CommonModule","line":109,"character":12},{"__symbolic":"reference","module":"@fortawesome/angular-fontawesome","name":"FontAwesomeModule","line":109,"character":26},{"__symbolic":"reference","module":"ng-click-outside","name":"ClickOutsideModule","line":109,"character":45}],"declarations":[{"__symbolic":"reference","name":"TopToolbarComponent"},{"__symbolic":"reference","name":"SidePanelComponent"},{"__symbolic":"reference","name":"ButtonComponent"},{"__symbolic":"reference","name":"LogoComponent"},{"__symbolic":"reference","name":"TooltipComponent"},{"__symbolic":"reference","name":"ModalComponent"},{"__symbolic":"reference","name":"BrowseFilesModalComponent"},{"__symbolic":"reference","name":"DocumentComponent"},{"__symbolic":"reference","name":"PageComponent"},{"__symbolic":"reference","name":"SanitizeHtmlPipe"},{"__symbolic":"reference","name":"SanitizeResourceHtmlPipe"},{"__symbolic":"reference","name":"SanitizeStylePipe"},{"__symbolic":"reference","name":"HighlightSearchPipe"},{"__symbolic":"reference","name":"UploadFileZoneComponent"},{"__symbolic":"reference","name":"DndDirective"},{"__symbolic":"reference","name":"ScrollableDirective"},{"__symbolic":"reference","name":"MouseWheelDirective"},{"__symbolic":"reference","name":"ZoomDirective"},{"__symbolic":"reference","name":"SelectComponent"},{"__symbolic":"reference","name":"DisabledCursorDirective"},{"__symbolic":"reference","name":"RotationDirective"},{"__symbolic":"reference","name":"InitStateComponent"},{"__symbolic":"reference","name":"RenderPrintDirective"},{"__symbolic":"reference","name":"ErrorModalComponent"},{"__symbolic":"reference","name":"PasswordRequiredComponent"},{"__symbolic":"reference","name":"SearchComponent"},{"__symbolic":"reference","name":"SearchableDirective"},{"__symbolic":"reference","name":"TabbedToolbarsComponent"},{"__symbolic":"reference","name":"TabComponent"},{"__symbolic":"reference","name":"ɵa"},{"__symbolic":"reference","name":"ColorPickerComponent"},{"__symbolic":"reference","name":"FormattingDirective"},{"__symbolic":"reference","name":"SuccessModalComponent"},{"__symbolic":"reference","name":"EditorDirective"},{"__symbolic":"reference","name":"LoadingMaskComponent"},{"__symbolic":"reference","name":"DropDownComponent"},{"__symbolic":"reference","name":"DropDownItemComponent"},{"__symbolic":"reference","name":"DropDownItemsComponent"},{"__symbolic":"reference","name":"DropDownToggleComponent"},{"__symbolic":"reference","name":"LeftSideBarComponent"},{"__symbolic":"reference","name":"ɵb"},{"__symbolic":"reference","name":"HostDynamicDirective"},{"__symbolic":"reference","name":"ɵc"},{"__symbolic":"reference","name":"ɵd"},{"__symbolic":"reference","name":"TextMenuComponent"},{"__symbolic":"reference","name":"ContextMenuComponent"}],"exports":[{"__symbolic":"reference","name":"TopToolbarComponent"},{"__symbolic":"reference","name":"SidePanelComponent"},{"__symbolic":"reference","name":"ButtonComponent"},{"__symbolic":"reference","name":"LogoComponent"},{"__symbolic":"reference","name":"TooltipComponent"},{"__symbolic":"reference","name":"ModalComponent"},{"__symbolic":"reference","name":"BrowseFilesModalComponent"},{"__symbolic":"reference","name":"DocumentComponent"},{"__symbolic":"reference","name":"PageComponent"},{"__symbolic":"reference","name":"SanitizeResourceHtmlPipe"},{"__symbolic":"reference","name":"SanitizeStylePipe"},{"__symbolic":"reference","name":"HighlightSearchPipe"},{"__symbolic":"reference","name":"SanitizeHtmlPipe"},{"__symbolic":"reference","name":"UploadFileZoneComponent"},{"__symbolic":"reference","name":"ScrollableDirective"},{"__symbolic":"reference","name":"MouseWheelDirective"},{"__symbolic":"reference","name":"SelectComponent"},{"__symbolic":"reference","name":"RotationDirective"},{"__symbolic":"reference","name":"InitStateComponent"},{"__symbolic":"reference","name":"RenderPrintDirective"},{"__symbolic":"reference","name":"ErrorModalComponent"},{"__symbolic":"reference","name":"PasswordRequiredComponent"},{"__symbolic":"reference","name":"SearchComponent"},{"__symbolic":"reference","name":"SearchableDirective"},{"__symbolic":"reference","name":"TabbedToolbarsComponent"},{"__symbolic":"reference","name":"TabComponent"},{"__symbolic":"reference","name":"ɵa"},{"__symbolic":"reference","name":"ColorPickerComponent"},{"__symbolic":"reference","name":"FormattingDirective"},{"__symbolic":"reference","name":"SuccessModalComponent"},{"__symbolic":"reference","name":"LoadingMaskComponent"},{"__symbolic":"reference","name":"DndDirective"},{"__symbolic":"reference","name":"DropDownComponent"},{"__symbolic":"reference","name":"DropDownItemComponent"},{"__symbolic":"reference","name":"DropDownItemsComponent"},{"__symbolic":"reference","name":"DropDownToggleComponent"},{"__symbolic":"reference","name":"ZoomDirective"},{"__symbolic":"reference","name":"DropDownToggleComponent"},{"__symbolic":"reference","name":"LeftSideBarComponent"},{"__symbolic":"reference","name":"ɵb"},{"__symbolic":"reference","name":"HostDynamicDirective"},{"__symbolic":"reference","name":"ɵc"},{"__symbolic":"reference","name":"ɵd"},{"__symbolic":"reference","name":"TextMenuComponent"},{"__symbolic":"reference","name":"ContextMenuComponent"}],"providers":[{"__symbolic":"reference","name":"ConfigService"},{"__symbolic":"reference","name":"Api"},{"__symbolic":"reference","name":"ModalService"},{"__symbolic":"reference","name":"FileService"},{"__symbolic":"reference","name":"FileModel"},{"__symbolic":"reference","name":"FileUtil"},{"__symbolic":"reference","name":"Utils"},{"__symbolic":"reference","name":"SanitizeHtmlPipe"},{"__symbolic":"reference","name":"SanitizeResourceHtmlPipe"},{"__symbolic":"reference","name":"SanitizeStylePipe"},{"__symbolic":"reference","name":"HighlightSearchPipe"},{"__symbolic":"reference","name":"UploadFilesService"},{"__symbolic":"reference","name":"RenderPrintService"},{"__symbolic":"reference","name":"NavigateService"},{"__symbolic":"reference","name":"PagePreloadService"},{"__symbolic":"reference","name":"ZoomService"},{"__symbolic":"reference","name":"ExceptionMessageService"},{"__symbolic":"reference","name":"PasswordService"},{"__symbolic":"reference","name":"ErrorInterceptorService"},{"__symbolic":"reference","name":"SearchService"},{"__symbolic":"reference","name":"WindowService"},{"__symbolic":"reference","name":"ViewportService"},{"__symbolic":"reference","name":"FormattingService"},{"__symbolic":"reference","name":"BackFormattingService"},{"__symbolic":"reference","name":"OnCloseService"},{"__symbolic":"reference","name":"LoadingMaskInterceptorService"},{"__symbolic":"reference","name":"LoadingMaskService"},{"__symbolic":"reference","name":"TabActivatorService"},{"__symbolic":"reference","name":"AddDynamicComponentService"},{"__symbolic":"reference","name":"HostingDynamicComponentService"},{"__symbolic":"reference","name":"TopTabActivatorService"}]}]}],"members":{"__ctor__":[{"__symbolic":"constructor"}]}},"Api":{"__symbolic":"class","members":{},"statics":{"VIEWER_APP":"/viewer","SIGNATURE_APP":"/signature","ANNOTATION_APP":"/annotation","SEARCH_APP":"/search","EDITOR_APP":"/editor","COMPARISON_APP":"/comparison","CONVERSION_APP":"/conversion","METADATA_APP":"/metadata","DEFAULT_API_ENDPOINT":{"__symbolic":"select","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"window"},"member":"location"},"member":"href"},"LOAD_FILE_TREE":"/loadFileTree","LOAD_CONFIG":"/loadConfig","LOAD_DOCUMENT_DESCRIPTION":"/loadDocumentDescription","LOAD_DOCUMENT_PAGE":"/loadDocumentPage","LOAD_DOCUMENT_PROPERTIES":"/loadProperties","LOAD_DOCUMENT_PROPERTIES_NAMES":"/loadPropertiesNames","SAVE_PROPERTY":"/saveProperty","REMOVE_PROPERTY":"/removeProperty","ROTATE_DOCUMENT_PAGE":"/rotateDocumentPages","UPLOAD_DOCUMENTS":"/uploadDocument","DOWNLOAD_DOCUMENTS":"/downloadDocument","DOWNLOAD_ANNOTATED":"/downloadAnnotated","LOAD_PRINT":"/loadPrint","LOAD_PRINT_PDF":"/printPdf","LOAD_THUMBNAILS":"/loadThumbnails","LOAD_FORMATS":"/loadFormats","SAVE_FILE":"/saveFile","CREATE_FILE":"/createFile","COMPARE_FILES":"/compare","CONVERT_FILE":"/convert","DELETE_SIGNATURE_FILE":"/deleteSignatureFile","REMOVE_FROM_INDEX":"/removeFromIndex","GET_FILE_STATUS":"/getFileStatus","SAVE_OPTICAL_CODE":"/saveOpticalCode","SAVE_TEXT":"/saveText","SAVE_IMAGE":"/saveImage","SAVE_STAMP":"/saveStamp","SIGN":"/sign","DOWNLOAD_SIGNED":"/downloadSigned","LOAD_SIGNATURE_IMAGE":"/loadSignatureImage","ANNOTATE":"/annotate","SEARCH":"/search","ADD_FILES_TO_INDEX":"/addFilesToIndex","CLEAN_METADATA":"/clean","EXPORT_METADATA":"/export","httpOptionsJson":{"headers":{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@angular/common/http","name":"HttpHeaders","line":50,"character":17},"arguments":[{"Content-Type":"application/json","$quoted$":["Content-Type"]}]}},"httpOptionsJsonResponseTypeBlob":{"headers":{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@angular/common/http","name":"HttpHeaders","line":55,"character":17},"arguments":[{"Content-Type":"application/json","$quoted$":["Content-Type"]}]},"responseType":"blob"}}},"ConfigService":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":62,"character":1}}],"members":{"__ctor__":[{"__symbolic":"constructor"}],"getConfigEndpoint":[{"__symbolic":"method"}],"getViewerApiEndpoint":[{"__symbolic":"method"}],"getEditorApiEndpoint":[{"__symbolic":"method"}],"getComparisonApiEndpoint":[{"__symbolic":"method"}],"getConversionApiEndpoint":[{"__symbolic":"method"}],"getMetadataApiEndpoint":[{"__symbolic":"method"}],"getSignatureApiEndpoint":[{"__symbolic":"method"}],"getAnnotationApiEndpoint":[{"__symbolic":"method"}],"getSearchApiEndpoint":[{"__symbolic":"method"}]}},"CommonModals":{"__symbolic":"class","members":{},"statics":{"PasswordRequired":"gd-password-required","ErrorMessage":"gd-error-message","BrowseFiles":"gd-browse-files","CreateDocument":"gd-create-document","OperationSuccess":"gd-success-modal","DrawHandSignature":"gd-draw-hand-signature","DrawStampSignature":"gd-draw-stamp-signature","InformationMessage":"gd-information-message"}},"ModalService":{"__symbolic":"class","members":{"add":[{"__symbolic":"method"}],"remove":[{"__symbolic":"method"}],"open":[{"__symbolic":"method"}],"close":[{"__symbolic":"method"}]}},"PageModel":{"__symbolic":"class","members":{}},"RotatedPage":{"__symbolic":"class","members":{}},"FileCredentials":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"string"},{"__symbolic":"reference","name":"string"}]}]}},"SaveFile":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"FileCredentials"},"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"string"},{"__symbolic":"reference","name":"string"},{"__symbolic":"reference","name":"string"}]}]}},"FileDescription":{"__symbolic":"class","members":{}},"FileModel":{"__symbolic":"class","members":{}},"HttpError":{"__symbolic":"class","members":{},"statics":{"BadRequest":400,"Unauthorized":401,"Forbidden":403,"NotFound":404,"TimeOut":408,"Conflict":409,"InternalServerError":500}},"Utils":{"__symbolic":"class","members":{}},"FileUtil":{"__symbolic":"class","members":{},"statics":{"map":{"folder":{"format":"","icon":"folder","$quoted$":["format","icon"]},"pdf":{"format":"Portable Document Format","icon":"file-pdf","unit":"pt","$quoted$":["format","icon","unit"]},"doc":{"format":"Microsoft Word","icon":"file-word","unit":"pt","$quoted$":["format","icon","unit"]},"docx":{"format":"Microsoft Word","icon":"file-word","unit":"pt","$quoted$":["format","icon","unit"]},"docm":{"format":"Microsoft Word","icon":"file-word","unit":"pt","$quoted$":["format","icon","unit"]},"dot":{"format":"Microsoft Word","icon":"file-word","unit":"pt","$quoted$":["format","icon","unit"]},"dotx":{"format":"Microsoft Word","icon":"file-word","unit":"pt","$quoted$":["format","icon","unit"]},"dotm":{"format":"Microsoft Word","icon":"file-word","unit":"pt","$quoted$":["format","icon","unit"]},"xls":{"format":"Microsoft Excel","icon":"file-excel","unit":"px","$quoted$":["format","icon","unit"]},"xlsx":{"format":"Microsoft Excel","icon":"file-excel","unit":"px","$quoted$":["format","icon","unit"]},"xlsm":{"format":"Microsoft Excel","icon":"file-excel","unit":"px","$quoted$":["format","icon","unit"]},"xlsb":{"format":"Microsoft Excel","icon":"file-excel","unit":"px","$quoted$":["format","icon","unit"]},"xls2003":{"format":"Microsoft Excel","icon":"file-excel","unit":"px","$quoted$":["format","icon","unit"]},"xltx":{"format":"Microsoft Excel","icon":"file-excel","unit":"px","$quoted$":["format","icon","unit"]},"xltm":{"format":"Microsoft Excel","icon":"file-excel","unit":"px","$quoted$":["format","icon","unit"]},"ppt":{"format":"Microsoft PowerPoint","icon":"file-powerpoint","unit":"pt","$quoted$":["format","icon","unit"]},"pptx":{"format":"Microsoft PowerPoint","icon":"file-powerpoint","unit":"pt","$quoted$":["format","icon","unit"]},"pps":{"format":"Microsoft PowerPoint","icon":"file-powerpoint","unit":"pt","$quoted$":["format","icon","unit"]},"ppsx":{"format":"Microsoft PowerPoint","icon":"file-powerpoint","unit":"pt","$quoted$":["format","icon","unit"]},"vsd":{"format":"Microsoft Visio","icon":"file-code","unit":"px","$quoted$":["format","icon","unit"]},"vdx":{"format":"Microsoft Visio","icon":"file-code","unit":"px","$quoted$":["format","icon","unit"]},"vss":{"format":"Microsoft Visio","icon":"file-code","unit":"px","$quoted$":["format","icon","unit"]},"vsx":{"format":"Microsoft Visio","icon":"file-code","unit":"px","$quoted$":["format","icon","unit"]},"vst":{"format":"Microsoft Visio","icon":"file-code","unit":"px","$quoted$":["format","icon","unit"]},"vtx":{"format":"Microsoft Visio","icon":"file-code","unit":"px","$quoted$":["format","icon","unit"]},"vsdx":{"format":"Microsoft Visio","icon":"file-code","unit":"px","$quoted$":["format","icon","unit"]},"vdw":{"format":"Microsoft Visio","icon":"file-code","unit":"px","$quoted$":["format","icon","unit"]},"vstx":{"format":"Microsoft Visio","icon":"file-code","unit":"px","$quoted$":["format","icon","unit"]},"vssx":{"format":"Microsoft Visio","icon":"file-code","unit":"px","$quoted$":["format","icon","unit"]},"mpp":{"format":"Microsoft Project","icon":"file-alt","unit":"pt","$quoted$":["format","icon","unit"]},"mpt":{"format":"Microsoft Project","icon":"file-alt","unit":"pt","$quoted$":["format","icon","unit"]},"msg":{"format":"Microsoft Outlook","icon":"file-alt","unit":"pt","$quoted$":["format","icon","unit"]},"eml":{"format":"Microsoft Outlook","icon":"file-alt","unit":"pt","$quoted$":["format","icon","unit"]},"emlx":{"format":"Microsoft Outlook","icon":"file-alt","unit":"pt","$quoted$":["format","icon","unit"]},"one":{"format":"Microsoft OneNote","icon":"file-word","unit":"pt","$quoted$":["format","icon","unit"]},"odt":{"format":"Open Document Text","icon":"file-word","unit":"pt","$quoted$":["format","icon","unit"]},"ott":{"format":"Open Document Text Template","icon":"file-word","unit":"pt","$quoted$":["format","icon","unit"]},"ods":{"format":"Open Document Spreadsheet","icon":"file-excel","unit":"px","$quoted$":["format","icon","unit"]},"odp":{"format":"Open Document Presentation","icon":"file-powerpoint","unit":"pt","$quoted$":["format","icon","unit"]},"otp":{"format":"Open Document Presentation","icon":"file-powerpoint","unit":"pt","$quoted$":["format","icon","unit"]},"ots":{"format":"Open Document Presentation","icon":"file-powerpoint","unit":"pt","$quoted$":["format","icon","unit"]},"potx":{"format":"Open Document Presentation","icon":"file-powerpoint","unit":"pt","$quoted$":["format","icon","unit"]},"potm":{"format":"Open Document Presentation","icon":"file-powerpoint","unit":"pt","$quoted$":["format","icon","unit"]},"pptm":{"format":"Open Document Presentation","icon":"file-powerpoint","unit":"pt","$quoted$":["format","icon","unit"]},"ppsm":{"format":"Open Document Presentation","icon":"file-powerpoint","unit":"pt","$quoted$":["format","icon","unit"]},"rtf":{"format":"Rich Text Format","icon":"file-alt","unit":"pt","$quoted$":["format","icon","unit"]},"txt":{"format":"Plain Text File","icon":"file-alt","unit":"pt","$quoted$":["format","icon","unit"]},"csv":{"format":"Comma-Separated Values","icon":"file-excel","unit":"px","$quoted$":["format","icon","unit"]},"html":{"format":"HyperText Markup Language","icon":"file-word","unit":"pt","$quoted$":["format","icon","unit"]},"mht":{"format":"HyperText Markup Language","icon":"file-word","unit":"pt","$quoted$":["format","icon","unit"]},"mhtml":{"format":"HyperText Markup Language","icon":"file-word","unit":"pt","$quoted$":["format","icon","unit"]},"xml":{"format":"Extensible Markup Language","icon":"file-word","unit":"pt","$quoted$":["format","icon","unit"]},"xps":{"format":"XML Paper Specification","icon":"file-word","unit":"pt","$quoted$":["format","icon","unit"]},"dxf":{"format":"AutoCAD Drawing File Format","icon":"file-image","unit":"px","$quoted$":["format","icon","unit"]},"dwg":{"format":"AutoCAD Drawing File Format","icon":"file-image","unit":"px","$quoted$":["format","icon","unit"]},"bmp":{"format":"Bitmap Picture","icon":"file-image","unit":"px","$quoted$":["format","icon","unit"]},"gif":{"format":"Graphics Interchange Format","icon":"file-image","unit":"px","$quoted$":["format","icon","unit"]},"jpg":{"format":"Joint Photographic Experts Group","icon":"file-image","unit":"px","$quoted$":["format","icon","unit"]},"jpe":{"format":"Joint Photographic Experts Group","icon":"file-image","unit":"px","$quoted$":["format","icon","unit"]},"jpeg":{"format":"Joint Photographic Experts Group","icon":"file-image","unit":"px","$quoted$":["format","icon","unit"]},"jfif":{"format":"Joint Photographic Experts Group","icon":"file-image","unit":"px","$quoted$":["format","icon","unit"]},"png":{"format":"Portable Network Graphics","icon":"file-image","unit":"px","$quoted$":["format","icon","unit"]},"tiff":{"format":"Tagged Image File Format","icon":"file-image","unit":"px","$quoted$":["format","icon","unit"]},"tif":{"format":"Tagged Image File Format","icon":"file-image","unit":"px","$quoted$":["format","icon","unit"]},"psd":{"format":"Tagged Image File Format","icon":"file-image","unit":"px","$quoted$":["format","icon","unit"]},"svg":{"format":"Tagged Image File Format","icon":"file-image","unit":"px","$quoted$":["format","icon","unit"]},"jp2":{"format":"Tagged Image File Format","icon":"file-image","unit":"px","$quoted$":["format","icon","unit"]},"epub":{"format":"Electronic Publication","icon":"file-pdf","unit":"pt","$quoted$":["format","icon","unit"]},"ico":{"format":"Windows Icon","icon":"file-image","unit":"px","$quoted$":["format","icon","unit"]},"webp":{"format":"Compressed Image","icon":"file-image","unit":"px","$quoted$":["format","icon","unit"]},"mobi":{"format":"Mobipocket eBook","icon":"file-pdf","unit":"pt","$quoted$":["format","icon","unit"]},"tex":{"format":"LaTeX Source Document","icon":"file-pdf","unit":"pt","$quoted$":["format","icon","unit"]},"djvu":{"format":"Multi-Layer Raster Image","icon":"file-alt","unit":"pt","$quoted$":["format","icon","unit"]},"unknown":{"format":"This format is not supported","icon":"file","$quoted$":["format","icon"]},"$quoted$":["folder","pdf","doc","docx","docm","dot","dotx","dotm","xls","xlsx","xlsm","xlsb","xls2003","xltx","xltm","ppt","pptx","pps","ppsx","vsd","vdx","vss","vsx","vst","vtx","vsdx","vdw","vstx","vssx","mpp","mpt","msg","eml","emlx","one","odt","ott","ods","odp","otp","ots","potx","potm","pptm","ppsm","rtf","txt","csv","html","mht","mhtml","xml","xps","dxf","dwg","bmp","gif","jpg","jpe","jpeg","jfif","png","tiff","tif","psd","svg","jp2","epub","ico","webp","mobi","tex","djvu","unknown"]}}},"FileService":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor"}]}},"UploadFilesService":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor"}],"changeFilesList":[{"__symbolic":"method"}]}},"SanitizeHtmlPipe":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Pipe","line":3,"character":1},"arguments":[{"name":"safeHtml"}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/platform-browser","name":"DomSanitizer","line":5,"character":33}]}],"transform":[{"__symbolic":"method"}]}},"SanitizeResourceHtmlPipe":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Pipe","line":13,"character":1},"arguments":[{"name":"safeResourceHtml"}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/platform-browser","name":"DomSanitizer","line":5,"character":33}]}],"transform":[{"__symbolic":"method"}]}},"SanitizeStylePipe":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Pipe","line":23,"character":1},"arguments":[{"name":"safeStyle"}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/platform-browser","name":"DomSanitizer","line":5,"character":33}]}],"transform":[{"__symbolic":"method"}]}},"HighlightSearchPipe":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Pipe","line":33,"character":1},"arguments":[{"name":"highlight"}]}],"members":{"transform":[{"__symbolic":"method"}]}},"NavigateService":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":4,"character":1},"arguments":[{"providedIn":"root"}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"PagePreloadService"}]}],"nextPage":[{"__symbolic":"method"}],"prevPage":[{"__symbolic":"method"}],"toLastPage":[{"__symbolic":"method"}],"toFirstPage":[{"__symbolic":"method"}],"navigateTo":[{"__symbolic":"method"}]},"statics":{"ngInjectableDef":{}}},"PagePreloadService":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor"}],"changeLastPageInView":[{"__symbolic":"method"}]}},"ZoomService":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor"}],"changeZoom":[{"__symbolic":"method"}],"createZoomOption":[{"__symbolic":"method"}],"zoomOptions":[{"__symbolic":"method"}]}},"RenderPrintService":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor"}],"changePages":[{"__symbolic":"method"}],"changeBlob":[{"__symbolic":"method"}]}},"ErrorInterceptorService":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":8,"character":1},"arguments":[{"providedIn":"root"}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"ModalService"},{"__symbolic":"reference","name":"ExceptionMessageService"}]}],"intercept":[{"__symbolic":"method"}]},"statics":{"ErrorMessageWindowName":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"./modal.service","name":"CommonModals","line":13,"character":48},"member":"ErrorMessage"},"ngInjectableDef":{}}},"ExceptionMessageService":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor"}],"changeMessage":[{"__symbolic":"method"}],"changeHttpEvent":[{"__symbolic":"method"}]}},"PasswordService":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor"}],"setPassword":[{"__symbolic":"method"}]}},"WindowService":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor"}],"isMobile":[{"__symbolic":"method"}],"isTablet":[{"__symbolic":"method"}],"isDesktop":[{"__symbolic":"method"}],"getWidth":[{"__symbolic":"method"}],"getHeight":[{"__symbolic":"method"}],"isEdge":[{"__symbolic":"method"}],"isFirefox":[{"__symbolic":"method"}]}},"ViewportService":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":4,"character":1},"arguments":[{"providedIn":"root"}]}],"members":{"__ctor__":[{"__symbolic":"constructor"}],"checkInViewport":[{"__symbolic":"method"}]},"statics":{"ngInjectableDef":{}}},"BrowseFilesModalComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":12,"character":1},"arguments":[{"selector":"gd-browse-files-modal","template":"\r\n
\r\n
\r\n \r\n Drop file here to upload\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n Upload file\r\n \r\n \r\n \r\n \r\n \r\n
{{item.name}}
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
FILE
\r\n
SIZE
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
..
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
{{file?.name}}
\r\n
{{getFormatName(file)}}
\r\n
\r\n
\r\n
\r\n {{getSize(file?.size)}}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n  Loading... Please wait.\r\n
\r\n
\r\n
\r\n","styles":[".gd-modal-table{width:100%;text-align:left}#gd-browse-section{width:1036px;height:561px;overflow-y:auto}.list-files-header{height:60px;color:#6e6e6e;font-size:13px;font-weight:700;background-color:#f4f4f4;margin-top:24px}.list-files-header.upload-url{margin-top:20px}.header-name{padding-left:24px;width:90%;line-height:60px}.header-size{padding-right:27px;line-height:60px}.file-size,.header-size{width:10%;color:#777;text-align:right}.file-description{display:-webkit-box;display:flex;width:90%;padding:18px 0 18px 24px;font-size:14px;-webkit-box-flex:1;flex:1;cursor:pointer;overflow:hidden}.file-size{font-size:12px;padding:0 27px 0 0;width:10%;line-height:79px}.list-files-header,.list-files-lines{display:-webkit-box;display:flex;width:100%;-webkit-box-pack:justify;justify-content:space-between}.gd-modal-spinner{background-color:#fff;width:100%;height:20px;text-align:center;font-size:16px}.gd-cancel-button{padding:7px;background:0 0;width:28px;overflow:hidden}.gd-cancel-button i{font-size:21px}.gd-file-name{white-space:nowrap;overflow:hidden;width:100%;text-overflow:ellipsis}.go-up{display:-webkit-box;display:flex;font-size:26px;cursor:pointer;color:#4b566c;height:79px}.go-up-dots{margin-left:20px;margin-top:22px;font-size:16px}.go-up-icon{display:block;padding:18px 0 18px 24px}.upload-panel{display:-webkit-box;display:flex;position:relative;width:100%}.upload-panel .context{display:-webkit-box;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column;width:100%;margin-left:24px;margin-top:24px;margin-right:24px}.upload-panel .context .context-actions{display:-webkit-box;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;flex-direction:row;width:100%}.upload-panel .context .context-actions :last-child{margin-right:0}.upload-panel .context .context-actions ::ng-deep .button{height:37px;width:96px;padding:0;-webkit-box-pack:center;justify-content:center}.upload-panel .context .context-actions ::ng-deep .button ::ng-deep .text{font-size:10px}.upload-panel .context .context-panel{display:-webkit-box;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;flex-direction:row;width:100%;margin-top:20px}.upload-panel .context .context-panel .upload-url{display:-webkit-box;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;flex-direction:row;width:100%}.upload-panel .context .context-panel .upload-url .url-input{width:100%;height:27px;border:1px solid #25c2d4;font-size:14px;padding-left:6px}.upload-panel .context .context-panel .upload-url .url-check{width:31px;height:31px;color:#fff;font-size:15px;background-color:#25c2d4}.upload-panel .context .context-panel .upload-url .url-check .ng-fa-icon{display:block;padding:8px}.upload-panel gd-drop-down{margin-right:10px}.file-description .ng-fa-icon.fa-file-pdf{color:#e04e4e}.file-description .ng-fa-icon.fa-file-word{color:#539cf0}.file-description .ng-fa-icon.fa-file-powerpoint{color:#e29e1e}.file-description .ng-fa-icon.fa-file-excel{color:#7cbc46}.file-description .ng-fa-icon.fa-file-image{color:#c375ed}.file-description .ng-fa-icon.fa-file,.file-description .ng-fa-icon.fa-file-alt,.file-description .ng-fa-icon.fa-file-text .fa-folder{color:#4b566c}.file-description .ng-fa-icon{font-size:32px}.file-name{font-size:16px;color:#6e6e6e;overflow:hidden;text-overflow:ellipsis}.file-name-format{padding-left:11px;overflow:hidden}.file-format{font-size:10px;padding-top:3px;color:#acacac}.go-up,.list-files-lines{border-bottom:1px solid #e7e7e7}.list-files-lines:hover{background-color:#e5e5e5}.gd-dnd-wrap{background-color:#fff;cursor:default;position:absolute;width:100%;height:calc(100% - 60px);background:rgba(255,255,255,.7);z-index:1;display:-webkit-box;display:flex;-webkit-box-pack:center;justify-content:center;-webkit-box-align:center;align-items:center}.dnd-wrapper{display:-webkit-box;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column;-webkit-box-align:center;align-items:center;-webkit-box-pack:center;justify-content:center;top:259px;position:absolute}.dnd-wrapper .text{color:#6e6e6e;font-size:14px}.dnd-wrapper .icon{display:-webkit-box;display:flex;width:113px;height:90px;font-size:90px;color:#3e4e5a;margin-bottom:30px}@media (max-width:1037px){.file-size,.header-size{width:18%}.gd-dnd-wrap{width:95%}#gd-browse-section{width:100%;height:calc(100% - 146px)}}"]}]}],"members":{"files":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":20,"character":3}}]}],"uploadConfig":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":21,"character":3}}]}],"selectedFileGuid":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":22,"character":3}}]}],"selectedDirectory":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":23,"character":3}}]}],"urlForUpload":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":24,"character":3}}]}],"closing":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":25,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"UploadFilesService"}]}],"ngOnInit":[{"__symbolic":"method"}],"getSize":[{"__symbolic":"method"}],"getFormatName":[{"__symbolic":"method"}],"getFormatIcon":[{"__symbolic":"method"}],"choose":[{"__symbolic":"method"}],"goUp":[{"__symbolic":"method"}],"selectUpload":[{"__symbolic":"method"}],"refresh":[{"__symbolic":"method"}],"showSpinner":[{"__symbolic":"method"}],"uploadUrl":[{"__symbolic":"method"}],"handleFileInput":[{"__symbolic":"method"}],"cleanUpload":[{"__symbolic":"method"}]}},"ButtonComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":3,"character":1},"arguments":[{"selector":"gd-button","template":"
\r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n","styles":[".icon-button{padding:0!important;margin:0 7px}.button{padding:0 10px;font-size:14px;color:#959da5;cursor:pointer;display:-webkit-box;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column;-webkit-box-align:center;align-items:center;align-content:center;-webkit-box-pack:center;justify-content:center;min-width:37px;height:37px;text-align:center;position:relative;white-space:nowrap}.button.inactive{cursor:not-allowed;opacity:.4}.button.active *{color:#ccd0d4}.button.primary{background-color:#3e4e5a;color:#fff}.button.primary.active{color:#fff;background-color:#688296}.button.brand{background-color:#25c2d4;color:#fff}.button.brand.active{color:#fff;background-color:#688296}.button .text{font-size:13px;padding-left:10px}.button .button-tooltip{display:-webkit-box;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column}@media (max-width:1037px){.button{font-size:22px}.arrow-button{margin:5px}}"]}]}],"members":{"iconOnly":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":9,"character":3}}]}],"intent":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":10,"character":3}}]}],"disabled":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":11,"character":3}}]}],"icon":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":12,"character":3}}]}],"iconClass":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":13,"character":3}}]}],"tooltip":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":14,"character":3}}]}],"className":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":15,"character":3}}]}],"toggle":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":16,"character":3}}]}],"iconSize":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":17,"character":3}}]}],"iconRegular":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":18,"character":3}}]}],"elementPosition":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":19,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"WindowService"}]}],"iconButtonClass":[{"__symbolic":"method"}],"onHovering":[{"__symbolic":"method"}],"onUnhovering":[{"__symbolic":"method"}],"cleanAll":[{"__symbolic":"method"}]}},"DisabledCursorDirective":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Directive","line":2,"character":1},"arguments":[{"selector":"[gdDisabledCursor]"}]}],"members":{"dis":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":7,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor"}],"cursor":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostBinding","line":12,"character":3},"arguments":["class.inactive"]}]}],"updateCursor":[{"__symbolic":"method"}],"ngOnInit":[{"__symbolic":"method"}],"ngOnChanges":[{"__symbolic":"method"}]}},"DndDirective":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Directive","line":3,"character":1},"arguments":[{"selector":"[gdDnd]"}]}],"members":{"closing":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":8,"character":3}}]}],"opening":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":9,"character":3}}]}],"dropped":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":10,"character":3}}]}],"active":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostBinding","line":12,"character":3},"arguments":["class.active"]}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"UploadFilesService"}]}],"onDragEnter":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostListener","line":19,"character":3},"arguments":["dragenter",["$event"]]}]}],"onDragOver":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostListener","line":28,"character":3},"arguments":["dragover",["$event"]]}]}],"onDragLeave":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostListener","line":35,"character":3},"arguments":["dragleave",["$event"]]}]}],"onDrop":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostListener","line":46,"character":3},"arguments":["drop",["$event"]]}]}],"onClick":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostListener","line":59,"character":3},"arguments":["click",["$event"]]}]}],"closeArea":[{"__symbolic":"method"}]}},"DocumentComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":18,"character":1},"arguments":[{"selector":"gd-document","template":"
Please wait...
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n","styles":[":host{-webkit-box-flex:1;flex:1;-webkit-transition:.4s;transition:.4s;background-color:#e7e7e7;height:100%;overflow:scroll;touch-action:auto!important}:host .document{-webkit-user-select:text!important;-moz-user-select:text!important;-ms-user-select:text!important;user-select:text!important;touch-action:auto!important}.page{display:inline-block;background-color:#fff;margin:20px;box-shadow:0 3px 6px rgba(0,0,0,.16);-webkit-transition:.3s;transition:.3s}.page.excel{overflow:auto}.page.presentation{margin:0;-webkit-transition:unset;transition:unset}.page.presentation.active{margin:20px}.wait{position:absolute;top:55px;left:Calc(30%)}.panzoom{display:-webkit-box;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;flex-direction:row;flex-wrap:wrap;-webkit-box-pack:center;justify-content:center;align-content:flex-start}@media (max-width:1037px){.page{min-width:unset!important;min-height:unset!important;margin:5px 0}}"]}]}],"members":{"mode":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":25,"character":3}}]}],"preloadPageCount":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":26,"character":3}}]}],"file":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":27,"character":3}}]}],"selectedPage":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":28,"character":3}}]}],"showActiveSlide":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":29,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"ElementRef","module":"@angular/core","arguments":[{"__symbolic":"error","message":"Could not resolve type","line":51,"character":48,"context":{"typeName":"HTMLElement"},"module":"./lib/document/document.component"}]},{"__symbolic":"reference","name":"ZoomService"},{"__symbolic":"reference","name":"WindowService"},{"__symbolic":"reference","name":"NavigateService"}]}],"ngOnInit":[{"__symbolic":"method"}],"ngOnChanges":[{"__symbolic":"method"}],"ngAfterViewInit":[{"__symbolic":"method"}],"ifExcel":[{"__symbolic":"method"}],"ifPresentation":[{"__symbolic":"method"}],"getDimensionWithUnit":[{"__symbolic":"method"}],"ifEdge":[{"__symbolic":"method"}],"ngAfterViewChecked":[{"__symbolic":"method"}],"isVisible":[{"__symbolic":"method"}]}},"ErrorModalComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":3,"character":1},"arguments":[{"selector":"gd-error-modal","template":"\r\n
\r\n \r\n
\r\n
Something went wrong
\r\n
{{message ? message : 'Server is not available'}}
\r\n
\r\n
\r\n
\r\n","styles":[".gd-modal-error{display:-webkit-inline-box;display:inline-flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column;-webkit-box-flex:1;flex:1}.gd-modal-error .gd-modal-error-message{font-size:12px;margin:0 24px 24px 0;word-break:break-word}.gd-modal-error .gd-modal-error-title{font-size:16px;font-weight:700;margin:14px 0 10px}#gd-error-section{max-width:468px;max-height:204px;display:-webkit-box;display:flex}#gd-error-section fa-icon{-webkit-box-flex:1;flex:1;color:#e04e4e;font-size:40px;margin:13px 23px 90px;text-align:center;max-width:46px}"]}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"ExceptionMessageService"}]}],"ngOnInit":[{"__symbolic":"method"}]}},"InitStateComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":2,"character":1},"arguments":[{"selector":"gd-init-state","template":"
\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n \r\n {{text}}\r\n
\r\n
\r\n","styles":[".wrapper{color:#959da5;background-color:#e7e7e7;display:-webkit-box;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column;-webkit-box-pack:center;justify-content:center;-webkit-box-align:center;align-items:center;width:100%;height:100%}.icon{font-size:65px;margin-bottom:43px;display:-webkit-box;display:flex;color:#959da5}.start{font-size:15px;text-align:center;color:#959da5}.gd-drag-n-drop-wrap.active{background-color:#fff;position:fixed;top:0;background:rgba(255,255,255,.8)}.gd-drag-n-drop-wrap.active .init-state-wrapper{position:absolute;opacity:.2;top:unset}.gd-drag-n-drop-wrap.active .init-state-dnd-wrapper{top:0;z-index:999}.gd-drag-n-drop-wrap.active .init-state-dnd-wrapper .icon{width:113px;height:90px;font-size:90px;color:#3e4e5a;margin-bottom:30px}.gd-drag-n-drop-wrap.active .text{color:#6e6e6e;font-size:14px}.init-state-dnd-wrapper,.init-state-wrapper{display:-webkit-box;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column;width:250px;height:250px;-webkit-box-align:center;align-items:center;-webkit-box-pack:center;justify-content:center}.init-state-wrapper{top:-60px;position:relative}"]}]}],"members":{"icon":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":8,"character":3}}]}],"text":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":9,"character":3}}]}],"fileDropped":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":10,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor"}],"ngOnInit":[{"__symbolic":"method"}],"dropped":[{"__symbolic":"method"}]}},"LogoComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":2,"character":1},"arguments":[{"selector":"gd-logo","template":"
\r\n \r\n \r\n
\r\n\r\n","styles":[".logo{background-color:#25c2d4;height:60px;display:-webkit-box;display:flex;-webkit-box-align:center;align-items:center;-webkit-box-pack:center;justify-content:center}.text{color:#fff;font-size:15px;text-transform:uppercase;margin:0 14px}.icon{display:none;font-size:32px;color:rgba(255,255,255,.5);margin:14px}@media (max-width:1037px){.logo{width:60px;height:60px}.logo .text{display:none}.logo .icon{display:block}}"]}]}],"members":{"logo":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":9,"character":3}}]}],"icon":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":10,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor"}],"ngOnInit":[{"__symbolic":"method"}]}},"ModalComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":3,"character":1},"arguments":[{"selector":"gd-modal","template":"
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
×
\r\n

{{title}}

\r\n
\r\n\r\n
\r\n \r\n
\r\n\r\n
\r\n\r\n
\r\n
\r\n
\r\n\r\n\r\n","styles":["@import url(https://fonts.googleapis.com/css?family=Montserrat&display=swap);:host *{font-family:'Open Sans',Arial,Helvetica,sans-serif}.gd-modal{overflow:hidden;position:fixed;top:0;right:0;bottom:0;left:0;z-index:1050;-webkit-overflow-scrolling:touch;outline:0;background-color:rgba(0,0,0,.5)}.gd-modal-dialog{box-shadow:#0005 0 0 10px;position:fixed;left:50%;top:50%;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%);z-index:1051}.gd-modal-dialog ::ng-deep .button{-webkit-box-orient:unset!important;-webkit-box-direction:unset!important;flex-direction:unset!important}.gd-modal-content{background-color:#fff;height:100%;display:-webkit-box;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column}.gd-modal-header{height:60px;padding:0 12px 0 24px;background-color:#3e4e5a}.gd-modal-close{position:absolute;right:12px;top:12px;cursor:pointer;color:#fff;width:37px;height:37px;text-align:center}.gd-modal-close span{font-size:18px;font-weight:900;height:19px;width:10px;line-height:36px}.gd-modal-title{font-size:16px;font-weight:400;padding-top:17px;padding-bottom:22px;margin:0;color:#fff}.gd-modal-body{background-color:#fff;overflow:hidden;overflow-y:auto;height:calc(100% - 75px)}.gd-modal-footer{height:auto}.gd-modal-footer>.btn{float:right;margin:20px 15px;padding:10px 20px;cursor:pointer;font-size:12px}@media (max-width:1037px){.gd-modal-dialog{width:100%;height:100%}.gd-modal-body{height:100%}}"]}]}],"members":{"id":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":9,"character":3}}]}],"title":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":10,"character":3}}]}],"visible":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":11,"character":3}}]}],"cancel":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":12,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"ModalService"},{"__symbolic":"reference","module":"@angular/core","name":"ElementRef","line":16,"character":54}]}],"ngOnInit":[{"__symbolic":"method"}],"ngOnDestroy":[{"__symbolic":"method"}],"open":[{"__symbolic":"method"}],"close":[{"__symbolic":"method"}],"onClose":[{"__symbolic":"method"}],"cancelClose":[{"__symbolic":"method"}]}},"PageComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":2,"character":1},"arguments":[{"selector":"gd-page","template":"
\r\n
\r\n \"\"\r\n\r\n
\r\n \r\n  Loading... Please wait.\r\n
\r\n
\r\n","styles":[".gd-page-spinner{margin-top:150px;text-align:center}.gd-wrapper{width:inherit;height:inherit}.gd-wrapper div{width:100%}::ng-deep .gd-highlight{background-color:#ff0}::ng-deep .gd-highlight-select{background-color:#ff9b00}"]}]}],"members":{"angle":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":9,"character":3}}]}],"width":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":10,"character":3}}]}],"height":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":11,"character":3}}]}],"number":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":12,"character":3}}]}],"data":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":13,"character":3}}]}],"isHtml":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":14,"character":3}}]}],"editable":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":15,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor"}],"ngOnInit":[{"__symbolic":"method"}],"ngOnChanges":[{"__symbolic":"method"}]}},"PasswordRequiredComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":7,"character":1},"arguments":[{"selector":"gd-password-required","template":"\r\n
\r\n
\r\n \r\n \r\n {{message}}\r\n \r\n Open\r\n \r\n
\r\n
\r\n
\r\n","styles":["#gd-password-section{width:375px;height:164px}.gd-password-wrap{display:-webkit-box;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column;margin:24px}.gd-password-wrap label{font-size:14px;color:#acacac;padding-bottom:12px}.gd-password-wrap input{height:30px;border:1px solid #25c2d4}.gd-password-wrap input.error{border-color:#e04e4e}.gd-password-wrap gd-button{align-self:flex-end}.gd-password-wrap ::ng-deep .button{height:37px;width:72px;padding:0;-webkit-box-pack:center;justify-content:center}.gd-password-wrap ::ng-deep .button ::ng-deep .text{font-size:10px!important}.gd-password-error{color:#e04e4e;padding:10px 0 12px;height:12px;line-height:12px;font-size:12px}@media (max-width:1037px){#gd-password-section{min-width:375px}}"]}]}],"members":{"cancelEvent":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":14,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"ExceptionMessageService"},{"__symbolic":"reference","name":"PasswordService"}]}],"ngOnInit":[{"__symbolic":"method"}],"setPassword":[{"__symbolic":"method"}],"onCloseOpen":[{"__symbolic":"method"}],"cancel":[{"__symbolic":"method"}]}},"RenderPrintDirective":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Directive","line":4,"character":1},"arguments":[{"selector":"[gdRenderPrint]"}]}],"members":{"htmlMode":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":8,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"RenderPrintService"}]}],"renderPrint":[{"__symbolic":"method"}],"openWindow":[{"__symbolic":"method"}],"renderPrintBlob":[{"__symbolic":"method"}]}},"RotationDirective":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Directive","line":2,"character":1},"arguments":[{"selector":"[gdRotation]"}]}],"members":{"angle":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":7,"character":3}}]}],"isHtmlMode":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":8,"character":3}}]}],"width":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":9,"character":3}}]}],"height":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":10,"character":3}}]}],"withMargin":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":11,"character":3}}]}],"animation":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostBinding","line":13,"character":3},"arguments":["style.animation"]}]}],"transition":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostBinding","line":14,"character":3},"arguments":["style.transition-property"]}]}],"transform":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostBinding","line":15,"character":3},"arguments":["style.transform"]}]}],"margin":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostBinding","line":17,"character":3},"arguments":["style.margin"]}]}],"__ctor__":[{"__symbolic":"constructor"}],"updateCursor":[{"__symbolic":"method"}],"isLandscape":[{"__symbolic":"method"}],"ngOnInit":[{"__symbolic":"method"}],"ngOnChanges":[{"__symbolic":"method"}]}},"ScrollableDirective":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Directive","line":18,"character":1},"arguments":[{"selector":"[gdScrollable]"}]}],"members":{"isPresentation":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":22,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"ElementRef","module":"@angular/core","arguments":[{"__symbolic":"error","message":"Could not resolve type","line":28,"character":46,"context":{"typeName":"HTMLElement"},"module":"./lib/scrollable.directive"}]},{"__symbolic":"reference","name":"NavigateService"},{"__symbolic":"reference","name":"PagePreloadService"},{"__symbolic":"reference","name":"ZoomService"},{"__symbolic":"reference","name":"WindowService"},{"__symbolic":"reference","name":"ViewportService"}]}],"ngAfterViewInit":[{"__symbolic":"method"}],"scrolling":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostListener","line":51,"character":3},"arguments":["scroll"]}]}],"resizing":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostListener","line":55,"character":3},"arguments":["window:resize"]}]}],"scrollToPage":[{"__symbolic":"method"}],"getChildren":[{"__symbolic":"method"}],"getPage":[{"__symbolic":"method"}],"calculateOffset":[{"__symbolic":"method"}],"countPagesOnWidth":[{"__symbolic":"method"}],"refresh":[{"__symbolic":"method"}],"ngOnChanges":[{"__symbolic":"method"}],"ngOnInit":[{"__symbolic":"method"}],"getWidth":[{"__symbolic":"method"}],"getZoom":[{"__symbolic":"method"}]}},"MouseWheelDirective":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Directive","line":8,"character":1},"arguments":[{"selector":"[gdMouseWheel]"}]}],"members":{"mouseWheelUp":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":12,"character":3}}]}],"mouseWheelDown":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":13,"character":3}}]}],"onMouseWheelChrome":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostListener","line":15,"character":3},"arguments":["mousewheel",["$event"]]}]}],"onMouseWheelFirefox":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostListener","line":19,"character":3},"arguments":["DOMMouseScroll",["$event"]]}]}],"onMouseWheelIE":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostListener","line":23,"character":3},"arguments":["onmousewheel",["$event"]]}]}],"mouseWheelFunc":[{"__symbolic":"method"}]}},"SearchService":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor"}],"setText":[{"__symbolic":"method"}],"setCurrent":[{"__symbolic":"method"}],"setTotal":[{"__symbolic":"method"}]}},"SearchComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":3,"character":1},"arguments":[{"selector":"gd-search","template":"
\r\n \r\n
{{current}} of {{total}}
\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n","styles":[".gd-nav-search-btn{margin:3px 0 4px}.gd-nav-search-cancel{color:#fff;font-size:14px;width:37px}.gd-search-count{color:#959da5;font-size:12px;position:absolute;right:148px;top:14px}.gd-nav-search-container{background-color:#3e4e5a;width:410px;position:fixed;left:50%;top:60px;z-index:2;-webkit-transform:translate(-50%,0);transform:translate(-50%,0);display:-webkit-box;display:flex}.gd-search-input{float:left;height:30px;width:267px;font-size:14px;color:#6e6e6e;border:1px solid #25c2d4;margin:7px 0 7px 7px;box-sizing:border-box;padding:6px 0 5px 9px}input[type=text]::-ms-clear{display:none}@media (max-width:1037px){.gd-search-input{width:231px;height:30px;margin:7px 0 7px 5px}.gd-search-count{position:absolute;left:193px;top:15px}.gd-nav-search-container{width:100%}}"]}]}],"members":{"hidePanel":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":10,"character":3}}]}],"textElement":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":15,"character":3},"arguments":["text",{"static":true}]}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"SearchService"}]}],"ngOnInit":[{"__symbolic":"method"}],"setText":[{"__symbolic":"method"}],"hide":[{"__symbolic":"method"}],"prev":[{"__symbolic":"method"}],"next":[{"__symbolic":"method"}],"ngAfterViewInit":[{"__symbolic":"method"}]}},"SearchableDirective":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Directive","line":7,"character":1},"arguments":[{"selector":"[gdSearchable]"}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"ElementRef","module":"@angular/core","arguments":[{"__symbolic":"error","message":"Could not resolve type","line":17,"character":46,"context":{"typeName":"HTMLElement"},"module":"./lib/searchable.directive"}]},{"__symbolic":"reference","name":"SearchService"},{"__symbolic":"reference","name":"HighlightSearchPipe"},{"__symbolic":"reference","name":"ZoomService"}]}],"highlightSearch":[{"__symbolic":"method"}],"moveToCurrent":[{"__symbolic":"method"}],"highlightEl":[{"__symbolic":"method"}],"cleanHighlight":[{"__symbolic":"method"}],"getZoom":[{"__symbolic":"method"}]}},"Option":{"__symbolic":"interface"},"SelectComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":9,"character":1},"arguments":[{"selector":"gd-select","template":"
\r\n
\r\n {{showSelected?.name}}\r\n
\r\n \r\n \r\n
\r\n
\r\n
{{option.name}}
\r\n
\r\n
\r\n
\r\n
\r\n","styles":[".select{min-width:50px;display:-webkit-box;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;flex-direction:row;-webkit-box-pack:center;justify-content:center;-webkit-box-align:center;align-items:center;color:#959da5}.selected-value{font-size:14px;cursor:pointer;white-space:nowrap;overflow:hidden;text-overflow:clip;max-width:70px}.selected-value.inactive{cursor:not-allowed;color:#ccc}.nav-caret{display:inline-block;width:0;height:0;margin-left:2px;vertical-align:middle;border-top:4px dashed;border-right:4px solid transparent;border-left:4px solid transparent;cursor:pointer}.nav-caret.inactive{cursor:not-allowed;color:#ccc}.dropdown-menu{position:absolute;top:49px;z-index:1000;float:left;min-width:96px;list-style:none;font-size:13px;text-align:left;background-color:#fff;box-shadow:0 3px 6px rgba(0,0,0,.3);background-clip:padding-box}.dropdown-menu .option{display:block;padding:7px 0 7px 7px;clear:both;font-weight:400;line-height:1.42857143;white-space:nowrap;cursor:pointer;font-size:10px}.dropdown-menu .option:hover{background-color:#25c2d4;color:#fff!important}.dropdown-menu-separator{height:1px;overflow:hidden;background-color:#f4f4f4;padding:0!important}"]}]}],"members":{"options":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":16,"character":3}}]}],"disabled":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":17,"character":3}}]}],"showSelected":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":18,"character":3}}]}],"selected":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":19,"character":3}}]}],"opened":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":20,"character":3}}]}],"isOpen":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":21,"character":3}}]}],"icon":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":22,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"OnCloseService"}]}],"open":[{"__symbolic":"method"}],"close":[{"__symbolic":"method"}],"onClickOutside":[{"__symbolic":"method"}],"toggle":[{"__symbolic":"method"}],"select":[{"__symbolic":"method"}]}},"TooltipComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":2,"character":1},"arguments":[{"selector":"gd-tooltip","template":"\r\n","styles":[".tooltip{position:absolute;width:-webkit-fit-content;width:-moz-fit-content;width:fit-content;background-color:#000;color:#fff;text-align:center;border-radius:0;padding:5px;z-index:1;font-size:10px;height:11px;line-height:11px;-ms-grid-row-align:center;align-self:center;margin:8px!important}.first-element{margin-left:10px!important}.last-element{margin-left:-10px!important}.tooltip.hidden{visibility:hidden}.tooltip.shown{visibility:visible}.shown:after{content:\" \";position:absolute;bottom:100%;left:50%;margin-left:-5px;border:5px solid transparent;border-bottom-color:#000}"]}]}],"members":{"text":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":9,"character":3}}]}],"position":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":10,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor"}],"getClass":[{"__symbolic":"method"}],"show":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":23,"character":3}}]}],"ngOnInit":[{"__symbolic":"method"}]}},"TopToolbarComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":2,"character":1},"arguments":[{"selector":"gd-top-toolbar","template":"
\r\n
\r\n \r\n
\r\n
\r\n","styles":[".top-toolbar{width:100%;height:60px;z-index:999;display:-webkit-box;display:flex;-webkit-box-align:center;align-items:center}.tools{width:100%;height:100%;display:-webkit-box;display:flex;-webkit-box-align:center;align-items:center}@media (max-width:1037px){.top-toolbar{height:60px}.tools{height:100%;overflow-x:auto;overflow-scrolling:touch;display:-webkit-box;display:flex;-webkit-box-align:center;align-items:center;-webkit-transition:.3s ease-in-out;transition:.3s ease-in-out;scroll-behavior:smooth;-webkit-overflow-scrolling:touch}.tools::-webkit-scrollbar{width:0;height:0;background-color:#3e4e5a}}"]}]}],"members":{"__ctor__":[{"__symbolic":"constructor"}]}},"SidePanelComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":2,"character":1},"arguments":[{"selector":"gd-side-panel","template":"
\r\n
\r\n \r\n
{{title}}
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n","styles":[".gd-side-panel-wrapper{margin-right:0;width:334px;z-index:999;background-color:#fff;-webkit-transition:margin-right .2s;transition:margin-right .2s;display:-webkit-box;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-flow:column;height:100vh}.gd-side-panel-wrapper .gd-side-panel-header{height:60px;background-color:#222e35;display:-webkit-box;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;flex-direction:row;flex-wrap:nowrap}.gd-side-panel-wrapper .gd-side-panel-header .icon{font-size:24px;color:#959da5;margin:18px;line-height:24px}.gd-side-panel-wrapper .gd-side-panel-header .title{font-size:13px;font-weight:700;color:#edf0f2;opacity:.57;margin-top:20px;width:100%}.gd-side-panel-wrapper .gd-side-panel-header .close,.gd-side-panel-wrapper .gd-side-panel-header .save{display:-webkit-box;display:flex;-webkit-box-align:center;align-items:center}.gd-side-panel-wrapper .gd-side-panel-header ::ng-deep gd-button .text{padding:0}.gd-side-panel-wrapper .gd-side-panel-body{display:-webkit-box;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-flow:column;overflow:visible;overflow-y:auto;overflow-x:hidden;height:100%}@media (max-width:1037px){.gd-side-panel-wrapper{width:100%;position:absolute;left:0;right:0;top:0;bottom:0}.gd-side-panel-wrapper.only-title{height:60px!important}}"]}]}],"members":{"title":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":9,"character":3}}]}],"icon":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":10,"character":3}}]}],"closable":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":11,"character":3}}]}],"saveable":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":12,"character":3}}]}],"hideSidePanel":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":13,"character":3}}]}],"saveInSidePanel":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":14,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor"}],"closeSidePanel":[{"__symbolic":"method"}],"saveBySidePanel":[{"__symbolic":"method"}],"toggleTitleMode":[{"__symbolic":"method"}]}},"UploadFileZoneComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":3,"character":1},"arguments":[{"selector":"gd-upload-file-zone","template":"
\r\n
\r\n \r\n
\r\n

Drag & Drop your files here

\r\n

OR

\r\n
\r\n \r\n
\r\n
\r\n","styles":[".gd-drag-n-drop-wrap{border:2px dashed #ccc;background-color:#f8f8f8;text-align:center;cursor:default;position:absolute;width:-webkit-fill-available;left:1px;display:-webkit-box;display:flex;align-content:center;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column;-webkit-box-pack:center;justify-content:center;opacity:.9;z-index:1}.gd-drag-n-drop-wrap h2{color:#959da5;margin:5px 0;font-size:15px;font-weight:300}.gd-drag-n-drop-wrap h4{color:#cacaca;font-weight:300;font-size:12px;margin:10px 0 15px}.gd-drag-n-drop-icon .fa-cloud-download-alt{color:#d1d1d1;font-size:110px}.gd-drag-n-drop-buttons i{margin-right:5px}.gd-drag-n-drop-buttons .btn{width:134px;height:35px;margin:0 10px;font-size:12px;font-weight:400}.gd-drag-n-drop-wrap.hover{background:#ddd;border-color:#aaa}"]}]}],"members":{"closeUpload":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":10,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"UploadFilesService"}]}],"ngOnInit":[{"__symbolic":"method"}],"handleFileInput":[{"__symbolic":"method"}],"onCloseUpload":[{"__symbolic":"method"}],"close":[{"__symbolic":"method"}]}},"ZoomDirective":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Directive","line":5,"character":1},"arguments":[{"selector":"[gdZoom]"}]}],"members":{"zoomActive":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":10,"character":3}}]}],"file":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":11,"character":3}}]}],"zoomInt":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostBinding","line":13,"character":3},"arguments":["style.zoom"]}]}],"transform":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostBinding","line":14,"character":3},"arguments":["style.transform"]}]}],"transformOrigin":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostBinding","line":15,"character":3},"arguments":["style.transform-origin"]}]}],"width":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostBinding","line":16,"character":3},"arguments":["style.width"]}]}],"height":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostBinding","line":17,"character":3},"arguments":["style.height"]}]}],"minWidth":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostBinding","line":18,"character":3},"arguments":["style.min-width"]}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"ZoomService"},{"__symbolic":"reference","name":"WindowService"},{"__symbolic":"reference","module":"@angular/core","name":"ElementRef","line":21,"character":92}]}],"ngOnDestroy":[{"__symbolic":"method"}],"ngOnChanges":[{"__symbolic":"method"}],"ngOnInit":[{"__symbolic":"method"}],"setStyles":[{"__symbolic":"method"}],"getScrollWidth":[{"__symbolic":"method"}],"getScrollHeight":[{"__symbolic":"method"}],"resizePages":[{"__symbolic":"method"}],"ngAfterViewInit":[{"__symbolic":"method"}]}},"SelectionService":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":2,"character":1},"arguments":[{"providedIn":"root"}]}],"members":{"restoreSelection":[{"__symbolic":"method"}],"captureSelection":[{"__symbolic":"method"}],"putSelection":[{"__symbolic":"method"}],"refreshSelection":[{"__symbolic":"method"}]},"statics":{"ngInjectableDef":{}}},"OnCloseService":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":3,"character":1},"arguments":[{"providedIn":"root"}]}],"members":{"__ctor__":[{"__symbolic":"constructor"}],"close":[{"__symbolic":"method"}]},"statics":{"ngInjectableDef":{}}},"LoadingMaskService":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":4,"character":1}}],"members":{"__ctor__":[{"__symbolic":"constructor"}],"onRequestStart":[{"__symbolic":"method"}],"onRequestFinish":[{"__symbolic":"method"}],"addStopUrl":[{"__symbolic":"method"}],"notify":[{"__symbolic":"method"}]}},"LoadingMaskInterceptorService":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":6,"character":1},"arguments":[{"providedIn":"root"}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"LoadingMaskService"}]}],"intercept":[{"__symbolic":"method"}]},"statics":{"ngInjectableDef":{}}},"FormattingDirective":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Directive","line":7,"character":1},"arguments":[{"selector":"[gdFormatting]"}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"FormattingService"},{"__symbolic":"reference","name":"BackFormattingService"},{"__symbolic":"reference","name":"SelectionService"}]}],"mouseup":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostListener","line":29,"character":3},"arguments":["mouseup"]}]}],"checkJustify":[{"__symbolic":"method"}],"checkList":[{"__symbolic":"method"}],"reportFontSize":[{"__symbolic":"method"}],"getComputedStyleProperty":[{"__symbolic":"method"}],"ngOnInit":[{"__symbolic":"method"}],"toggleBold":[{"__symbolic":"method"}],"toggleUnderline":[{"__symbolic":"method"}],"toggleItalic":[{"__symbolic":"method"}],"setBgColor":[{"__symbolic":"method"}],"setColor":[{"__symbolic":"method"}],"setFontSize":[{"__symbolic":"method"}],"toggleUndo":[{"__symbolic":"method"}],"toggleRedo":[{"__symbolic":"method"}],"setFont":[{"__symbolic":"method"}],"toggleStrikeout":[{"__symbolic":"method"}],"toggleAlign":[{"__symbolic":"method"}],"toggleAlignIE":[{"__symbolic":"method"}],"toggleList":[{"__symbolic":"method"}]}},"Formatting":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"number"},{"__symbolic":"reference","name":"string"},{"__symbolic":"reference","name":"string"},{"__symbolic":"reference","name":"boolean"},{"__symbolic":"reference","name":"boolean"},{"__symbolic":"reference","name":"boolean"},{"__symbolic":"reference","name":"string"},{"__symbolic":"reference","name":"boolean"},{"__symbolic":"reference","name":"string"},{"__symbolic":"reference","name":"string"}]}]},"statics":{"default":{"__symbolic":"function","parameters":[],"value":{"__symbolic":"new","expression":{"__symbolic":"reference","name":"Formatting"},"arguments":[10,"#000000","#FFFFFF",false,false,false,"Arial",false,"",""]}}}},"FormattingService":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor"}],"changeFormatFontSize":[{"__symbolic":"method"}],"changeFormatBold":[{"__symbolic":"method"}],"changeFormatUnderline":[{"__symbolic":"method"}],"Undo":[{"__symbolic":"method"}],"Redo":[{"__symbolic":"method"}],"changeFormatItalic":[{"__symbolic":"method"}],"changeFormatColor":[{"__symbolic":"method"}],"changeFormatBgColor":[{"__symbolic":"method"}],"changeFormatFont":[{"__symbolic":"method"}],"changeFormatStrikeout":[{"__symbolic":"method"}],"changeFormatAlign":[{"__symbolic":"method"}],"changeFormatList":[{"__symbolic":"method"}]},"statics":{"createFontSizeOption":{"__symbolic":"function","parameters":["val"],"value":{"value":{"__symbolic":"reference","name":"val"},"name":{"__symbolic":"binop","operator":"+","left":{"__symbolic":"reference","name":"val"},"right":"px"},"separator":false}},"getFontSizeOptions":{"__symbolic":"function","parameters":[],"value":[{"__symbolic":"call","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"FormattingService"},"member":"createFontSizeOption"},"arguments":[8]},{"__symbolic":"call","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"FormattingService"},"member":"createFontSizeOption"},"arguments":[10]},{"__symbolic":"call","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"FormattingService"},"member":"createFontSizeOption"},"arguments":[12]},{"__symbolic":"call","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"FormattingService"},"member":"createFontSizeOption"},"arguments":[14]},{"__symbolic":"call","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"FormattingService"},"member":"createFontSizeOption"},"arguments":[16]},{"__symbolic":"call","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"FormattingService"},"member":"createFontSizeOption"},"arguments":[18]},{"__symbolic":"call","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"FormattingService"},"member":"createFontSizeOption"},"arguments":[20]},{"__symbolic":"call","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"FormattingService"},"member":"createFontSizeOption"},"arguments":[22]},{"__symbolic":"call","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"FormattingService"},"member":"createFontSizeOption"},"arguments":[24]}]},"createFontOption":{"__symbolic":"function","parameters":["val"],"value":{"value":{"__symbolic":"reference","name":"val"},"name":{"__symbolic":"reference","name":"val"},"separator":false}}}},"BackFormattingService":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"FormattingService"},"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":3,"character":1},"arguments":[{"providedIn":"root"}]}],"members":{"__ctor__":[{"__symbolic":"constructor"}]},"statics":{"ngInjectableDef":{}}},"EditorDirective":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Directive","line":4,"character":1},"arguments":[{"selector":"[gdEditor]"}]}],"members":{"text":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":8,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"SelectionService"},{"__symbolic":"reference","name":"EditHtmlService"}]}],"onInput":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostListener","line":15,"character":3},"arguments":["keyup",["$event"]]}]}],"onMouseleave":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostListener","line":26,"character":3},"arguments":["mouseleave",["$event"]]}]}],"onBlur":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostListener","line":35,"character":3},"arguments":["blur",["$event"]]}]}]}},"EditHtmlService":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":3,"character":1},"arguments":[{"providedIn":"root"}]}],"members":{"__ctor__":[{"__symbolic":"constructor"}]},"statics":{"ngInjectableDef":{}}},"ColorPickerComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":13,"character":1},"arguments":[{"selector":"gd-color-picker","template":"
\r\n
\r\n
\r\n
\r\n
\r\n","styles":[".bcPicker-picker{border:1px;border-radius:100%}.bcPicker-palette{width:250px;background-color:#fdfdfd;z-index:999;box-shadow:0 0 5px #efefef;display:-webkit-box;display:flex;flex-wrap:wrap;-webkit-box-pack:center;justify-content:center}.bcPicker-palette>.bcPicker-color{width:18px;height:18px;margin:2px;cursor:pointer}"]}]}],"members":{"isOpen":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":19,"character":3}}]}],"selectedColor":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":20,"character":3}}]}],"closeOutside":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":21,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor"}],"ngOnInit":[{"__symbolic":"method"}],"select":[{"__symbolic":"method"}],"close":[{"__symbolic":"method"}]}},"LoadingMaskComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":3,"character":1},"arguments":[{"selector":"gd-loading-mask","template":"
\r\n
\r\n  Loading... Please wait.\r\n
\r\n
\r\n","styles":[".loading-wrapper{background:rgba(0,0,0,.5);width:100%;height:100%;font-size:14px;color:#fff;position:fixed;top:0;left:0;z-index:99999}.loading-message{position:absolute;left:50%;top:50%;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%)}"]}]}],"members":{"loadingMask":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":10,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"LoadingMaskService"}]}],"ngOnInit":[{"__symbolic":"method"}],"ngAfterViewInit":[{"__symbolic":"method"}]}},"SuccessModalComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":2,"character":1},"arguments":[{"selector":"gd-success-modal","template":"\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n","styles":[".check_mark{margin:47px auto}.sa-icon{width:80px;height:80px;border:4px solid gray;border-radius:50%;padding:0;position:relative;box-sizing:content-box}#gd-modal-success{display:-webkit-box;display:flex;overflow:hidden;width:469px;height:183px}.sa-icon.sa-success{border-color:#4caf50;-webkit-transform:scale(1.18);transform:scale(1.18)}.sa-icon.sa-success::after,.sa-icon.sa-success::before{content:'';position:absolute;width:60px;height:120px;background:#fff}.sa-icon.sa-success::before{border-radius:120px 0 0 120px;top:-7px;left:-33px;-webkit-transform:rotate(-45deg);transform:rotate(-45deg);-webkit-transform-origin:60px 60px;transform-origin:60px 60px}.sa-icon.sa-success::after{border-radius:0 120px 120px 0;top:-11px;left:30px;-webkit-transform:rotate(-45deg);transform:rotate(-45deg);-webkit-transform-origin:0 60px;transform-origin:0 60px}.sa-icon.sa-success .sa-placeholder{width:80px;height:80px;border:4px solid rgba(76,175,80,.5);border-radius:50%;box-sizing:content-box;position:absolute;left:-4px;top:-4px;z-index:2}.sa-icon.sa-success .sa-fix{width:5px;height:90px;background-color:#fff;position:absolute;left:28px;top:8px;z-index:1;-webkit-transform:rotate(-45deg);transform:rotate(-45deg)}.sa-icon.sa-success.animate::after{-webkit-animation:4.25s ease-in rotatePlaceholder;animation:4.25s ease-in rotatePlaceholder}.animateSuccessTip{-webkit-animation:.75s animateSuccessTip;animation:.75s animateSuccessTip}.animateSuccessLong{-webkit-animation:.75s animateSuccessLong;animation:.75s animateSuccessLong}@-webkit-keyframes animateSuccessLong{0%,65%{width:0;right:46px;top:54px}84%{width:55px;right:0;top:35px}100%{width:47px;right:8px;top:38px}}@-webkit-keyframes animateSuccessTip{0%,54%{width:0;left:1px;top:19px}70%{width:50px;left:-8px;top:37px}84%{width:17px;left:21px;top:48px}100%{width:25px;left:14px;top:45px}}@keyframes animateSuccessTip{0%,54%{width:0;left:1px;top:19px}70%{width:50px;left:-8px;top:37px}84%{width:17px;left:21px;top:48px}100%{width:25px;left:14px;top:45px}}@keyframes animateSuccessLong{0%,65%{width:0;right:46px;top:54px}84%{width:55px;right:0;top:35px}100%{width:47px;right:8px;top:38px}}.sa-icon.sa-success .sa-line{height:5px;background-color:#4caf50;display:block;border-radius:2px;position:absolute;z-index:2}.sa-icon.sa-success .sa-line.sa-tip{width:25px;left:14px;top:46px;-webkit-transform:rotate(45deg);transform:rotate(45deg)}.sa-icon.sa-success .sa-line.sa-long{width:47px;right:8px;top:38px;-webkit-transform:rotate(-45deg);transform:rotate(-45deg)}@-webkit-keyframes rotatePlaceholder{0%,5%{transform:rotate(-45deg);-webkit-transform:rotate(-45deg)}100%,12%{transform:rotate(-405deg);-webkit-transform:rotate(-405deg)}}@keyframes rotatePlaceholder{0%,5%{transform:rotate(-45deg);-webkit-transform:rotate(-45deg)}100%,12%{transform:rotate(-405deg);-webkit-transform:rotate(-405deg)}}@media (max-width:1037px){#gd-modal-success{left:50%;top:50%;position:relative;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%)}}"]}]}],"members":{"__ctor__":[{"__symbolic":"constructor"}],"ngOnInit":[{"__symbolic":"method"}]}},"TabComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":3,"character":1},"arguments":[{"selector":"gd-tab","template":"
\r\n
{{tabTitle}}
\r\n \r\n
\r\n
\r\n \r\n
\r\n","styles":[".tab-content{height:60px;position:absolute;background-color:#fff;width:100%;left:0;line-height:60px;display:none;z-index:9}.tab-content ::ng-deep .toolbar-panel{height:60px}.tab-content.active{display:-webkit-box;display:flex}.gd-tab{text-align:center;font-size:11px;color:#e5e5e5;height:30px;line-height:30px;cursor:pointer;display:-webkit-box;display:flex;-webkit-box-align:center;align-items:center;-webkit-box-pack:center;justify-content:center}.gd-tab .icon{display:none;font-size:14px}.gd-tab .smp-tab-title{margin:auto 23px}.gd-tab.active{background-color:#fff;color:#3e4e5a;font-weight:700}@media (max-width:1037px){.gd-tab{height:60px;line-height:60px;width:60px}.gd-tab .title{display:none}.gd-tab .icon{display:block;font-size:22px}}"]}]}],"members":{"id":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":9,"character":3}}]}],"tabTitle":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":10,"character":3}}]}],"icon":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":11,"character":3}}]}],"disabled":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":12,"character":3}}]}],"active":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":13,"character":3}}]}],"content":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":14,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"TabActivatorService"}]}],"activation":[{"__symbolic":"method"}],"ngOnInit":[{"__symbolic":"method"}],"selectTab":[{"__symbolic":"method"}]}},"TabbedToolbarsComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":2,"character":1},"arguments":[{"selector":"gd-tabbed-toolbars","template":"
\r\n \r\n \r\n
\r\n","styles":[".top-panel{background:#3e4e5a;display:-webkit-box;display:flex;width:100%;height:90px}.top-panel ::ng-deep .logo{height:30px;font-size:16px}@media (max-width:1037px){.top-panel{height:60px}.top-panel ::ng-deep .logo{height:60px}}"]}]}],"members":{"logo":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":8,"character":3}}]}],"icon":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":9,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor"}],"ngOnInit":[{"__symbolic":"method"}]}},"TabActivatorService":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor"}],"changeActiveTab":[{"__symbolic":"method"}]}},"DropDownToggleComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":41,"character":1},"arguments":[{"selector":"gd-drop-down-toggle","template":"","encapsulation":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewEncapsulation","line":45,"character":18},"member":"None"},"styles":[".drop-down{position:relative}.show .drop-down-items{display:-webkit-box;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column;position:absolute;z-index:1000;min-width:100%;max-height:300px;padding:0;background-color:#fff;box-shadow:0 6px 12px rgba(0,0,0,.175);background-clip:padding-box;overflow-y:auto;overflow-x:hidden}.show .drop-down-items .drop-down-item,.show .drop-down-items gd-drop-down-item{color:#959da5;display:-webkit-box;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;flex-direction:row;-webkit-box-pack:justify;justify-content:space-between;cursor:pointer;font-size:10px;line-height:28px;min-height:28px;width:100%}.show .drop-down-items .drop-down-item fa-icon svg,.show .drop-down-items gd-drop-down-item fa-icon svg{margin:0 10px;color:#959da5}.show .drop-down-items .drop-down-item .text,.show .drop-down-items gd-drop-down-item .text{width:100%;margin-right:10px}.show .drop-down-items .drop-down-item:hover,.show .drop-down-items gd-drop-down-item:hover{background-color:#25c2d4}.show .drop-down-items .drop-down-item:hover *,.show .drop-down-items gd-drop-down-item:hover *{color:#fff}.drop-down-items{display:none}"]}]}],"members":{"click":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostListener","line":48,"character":3},"arguments":["click",["$event"]]}]}],"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":50,"character":15},"arguments":[{"__symbolic":"reference","name":"DropDownComponent"}]}]],"parameters":[null]}]}},"DropDownItemsComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":56,"character":1},"arguments":[{"selector":"gd-drop-down-items","template":"
","encapsulation":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewEncapsulation","line":60,"character":18},"member":"None"},"styles":[".drop-down{position:relative}.show .drop-down-items{display:-webkit-box;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column;position:absolute;z-index:1000;min-width:100%;max-height:300px;padding:0;background-color:#fff;box-shadow:0 6px 12px rgba(0,0,0,.175);background-clip:padding-box;overflow-y:auto;overflow-x:hidden}.show .drop-down-items .drop-down-item,.show .drop-down-items gd-drop-down-item{color:#959da5;display:-webkit-box;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;flex-direction:row;-webkit-box-pack:justify;justify-content:space-between;cursor:pointer;font-size:10px;line-height:28px;min-height:28px;width:100%}.show .drop-down-items .drop-down-item fa-icon svg,.show .drop-down-items gd-drop-down-item fa-icon svg{margin:0 10px;color:#959da5}.show .drop-down-items .drop-down-item .text,.show .drop-down-items gd-drop-down-item .text{width:100%;margin-right:10px}.show .drop-down-items .drop-down-item:hover,.show .drop-down-items gd-drop-down-item:hover{background-color:#25c2d4}.show .drop-down-items .drop-down-item:hover *,.show .drop-down-items gd-drop-down-item:hover *{color:#fff}.drop-down-items{display:none}"]}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":76,"character":15},"arguments":[{"__symbolic":"reference","name":"DropDownComponent"}]}]],"parameters":[null]}],"onClickOutside":[{"__symbolic":"method"}]}},"DropDownItemComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":86,"character":1},"arguments":[{"selector":"gd-drop-down-item","template":"
","styles":[".drop-down{position:relative}.show .drop-down-items{display:-webkit-box;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column;position:absolute;z-index:1000;min-width:100%;max-height:300px;padding:0;background-color:#fff;box-shadow:0 6px 12px rgba(0,0,0,.175);background-clip:padding-box;overflow-y:auto;overflow-x:hidden}.show .drop-down-items .drop-down-item,.show .drop-down-items gd-drop-down-item{color:#959da5;display:-webkit-box;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;flex-direction:row;-webkit-box-pack:justify;justify-content:space-between;cursor:pointer;font-size:10px;line-height:28px;min-height:28px;width:100%}.show .drop-down-items .drop-down-item fa-icon svg,.show .drop-down-items gd-drop-down-item fa-icon svg{margin:0 10px;color:#959da5}.show .drop-down-items .drop-down-item .text,.show .drop-down-items gd-drop-down-item .text{width:100%;margin-right:10px}.show .drop-down-items .drop-down-item:hover,.show .drop-down-items gd-drop-down-item:hover{background-color:#25c2d4}.show .drop-down-items .drop-down-item:hover *,.show .drop-down-items gd-drop-down-item:hover *{color:#fff}.drop-down-items{display:none}"]}]}],"members":{"class":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostBinding","line":92,"character":3},"arguments":["class"]}]}],"selected":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":95,"character":3}}]}],"click":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostListener","line":98,"character":3},"arguments":["click"]}]}],"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":101,"character":15},"arguments":[{"__symbolic":"reference","name":"DropDownComponent"}]}]],"parameters":[null]}],"selectEntry":[{"__symbolic":"method"}]}},"DropDownComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":112,"character":1},"arguments":[{"selector":"gd-drop-down","template":"
","encapsulation":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewEncapsulation","line":116,"character":18},"member":"None"},"styles":[".drop-down{position:relative}.show .drop-down-items{display:-webkit-box;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column;position:absolute;z-index:1000;min-width:100%;max-height:300px;padding:0;background-color:#fff;box-shadow:0 6px 12px rgba(0,0,0,.175);background-clip:padding-box;overflow-y:auto;overflow-x:hidden}.show .drop-down-items .drop-down-item,.show .drop-down-items gd-drop-down-item{color:#959da5;display:-webkit-box;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;flex-direction:row;-webkit-box-pack:justify;justify-content:space-between;cursor:pointer;font-size:10px;line-height:28px;min-height:28px;width:100%}.show .drop-down-items .drop-down-item fa-icon svg,.show .drop-down-items gd-drop-down-item fa-icon svg{margin:0 10px;color:#959da5}.show .drop-down-items .drop-down-item .text,.show .drop-down-items gd-drop-down-item .text{width:100%;margin-right:10px}.show .drop-down-items .drop-down-item:hover,.show .drop-down-items gd-drop-down-item:hover{background-color:#25c2d4}.show .drop-down-items .drop-down-item:hover *,.show .drop-down-items gd-drop-down-item:hover *{color:#fff}.drop-down-items{display:none}"]}]}],"members":{"placement":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":119,"character":3}}]}],"open":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":126,"character":3}},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostBinding","line":127,"character":3},"arguments":["class.show"]}]}],"class":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostBinding","line":130,"character":3},"arguments":["class"]}]}],"close":[{"__symbolic":"method"}],"toggle":[{"__symbolic":"method"}],"getPlacement":[{"__symbolic":"method"}]}},"LeftSideBarComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":2,"character":1},"arguments":[{"selector":"gd-left-side-bar","template":"
\r\n
\r\n
 Loading...\r\n
\r\n
\r\n \r\n
\r\n","styles":[".left-panel{border-radius:0;float:left}.gd-left-bar-fade{margin:auto;overflow:hidden;-webkit-overflow-scrolling:touch;-webkit-transition:-webkit-transform .3s ease-out;transition:transform .3s ease-out;transition:transform .3s ease-out,-webkit-transform .3s ease-out;width:100%;height:100%;display:-webkit-box;display:flex;-webkit-box-pack:center;justify-content:center;-webkit-box-align:center;align-items:center;position:fixed;z-index:1000}@media (max-width:1037px){.gd-left-bar-fade{top:100px;right:0}.gd-left-bar-spinner{top:20%}}"]}]}],"members":{"showSpinner":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":8,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor"}],"ngOnInit":[{"__symbolic":"method"}]}},"AddDynamicComponentService":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":7,"character":1},"arguments":[{"providedIn":"root"}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/core","name":"ComponentFactoryResolver","line":12,"character":40},{"__symbolic":"reference","module":"@angular/core","name":"ApplicationRef","line":13,"character":31}]}],"addDynamicComponent":[{"__symbolic":"method"}]},"statics":{"ngInjectableDef":{}}},"HostDynamicDirective":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Directive","line":3,"character":1},"arguments":[{"selector":"[gdHostDynamic]"}]}],"members":{"ident":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":7,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/core","name":"ViewContainerRef","line":9,"character":39},{"__symbolic":"reference","name":"HostingDynamicComponentService"}]}],"ngAfterViewInit":[{"__symbolic":"method"}],"ngOnDestroy":[{"__symbolic":"method"}]}},"HostingDynamicComponentService":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor"}],"add":[{"__symbolic":"method"}],"remove":[{"__symbolic":"method"}],"find":[{"__symbolic":"method"}]}},"TopTabActivatorService":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"TabActivatorService"},"members":{"__ctor__":[{"__symbolic":"constructor"}]}},"MenuType":{"__symbolic":"class","members":{},"statics":{"FOR_SIGNATURE":"signature","FOR_ANNOTATION":"annotation"}},"ContextMenuComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":10,"character":1},"arguments":[{"selector":"gd-context-menu","template":"
10 ? 'gd-context-menu-top' : 'gd-context-menu-bottom'\">\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n","styles":[".gd-context-menu-top{top:-44px}.gd-context-menu-bottom{bottom:-40px}.gd-context-menu{box-shadow:rgba(0,0,0,.52) 0 0 5px;background-color:#fff;position:absolute;left:0;right:0;margin:auto;cursor:default;width:max-content;width:-moz-max-content;width:-webkit-max-content;display:-webkit-box;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;flex-direction:row;z-index:999}.gd-context-menu .arrows{cursor:move}.gd-context-menu ::ng-deep .active{background-color:#e7e7e7}.gd-context-menu ::ng-deep .icon-button{margin:0!important}@media (max-width:1037px){.gd-context-menu-top{top:-42px;-webkit-transform-origin:bottom center;transform-origin:bottom center}}"]}]}],"members":{"formatting":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":16,"character":3}}]}],"textMenu":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":17,"character":3}}]}],"topPosition":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":18,"character":3}}]}],"lock":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":19,"character":3}}]}],"translation":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":20,"character":3}}]}],"menuType":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":21,"character":3}}]}],"changeFormatting":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":22,"character":3}}]}],"removeItem":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":23,"character":3}}]}],"copySign":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":24,"character":3}}]}],"lockOut":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":25,"character":3}}]}],"comment":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":26,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"WindowService"},{"__symbolic":"reference","name":"ZoomService"},{"__symbolic":"reference","name":"ElementRef","module":"@angular/core","arguments":[{"__symbolic":"error","message":"Could not resolve type","line":32,"character":48,"context":{"typeName":"HTMLElement"},"module":"./lib/context-menu/context-menu.component"}]},{"__symbolic":"reference","module":"@angular/core","name":"Renderer2","line":33,"character":32}]}],"ngOnInit":[{"__symbolic":"method"}],"changeScale":[{"__symbolic":"method"}],"saveChanges":[{"__symbolic":"method"}],"selectFontSize":[{"__symbolic":"method"}],"selectFont":[{"__symbolic":"method"}],"selectColor":[{"__symbolic":"method"}],"toggleBold":[{"__symbolic":"method"}],"toggleItalic":[{"__symbolic":"method"}],"toggleUnderline":[{"__symbolic":"method"}],"deleteItem":[{"__symbolic":"method"}],"toggleLock":[{"__symbolic":"method"}],"onCopySign":[{"__symbolic":"method"}],"isSignature":[{"__symbolic":"method"}],"isAnnotation":[{"__symbolic":"method"}],"addComment":[{"__symbolic":"method"}]}},"TextMenuComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":10,"character":1},"arguments":[{"selector":"gd-text-menu","template":"
\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n","styles":["::ng-deep .active{background-color:#e7e7e7}.gd-text-menu{display:-webkit-box;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;flex-direction:row}.gd-text-menu .format-select{height:37px;display:-webkit-box;display:flex;-webkit-box-pack:center;justify-content:center;-webkit-box-align:center;align-items:center;max-width:80px;margin:0 3px}.gd-text-menu .first-component{margin-left:8px}.gd-text-menu ::ng-deep .dropdown-menu{top:40px!important;height:120px;overflow-y:auto}.gd-text-menu ::ng-deep .icon-button{margin:0!important}.bg-color-pic{border-radius:100%;border:1px solid #ccc;position:absolute;height:8px;width:8px;right:6px;bottom:6px}.palette{position:relative;top:40px;left:-55px;z-index:100}@media (max-width:1037px){.gd-text-menu{position:fixed;left:0;right:0;width:inherit;height:60px;-webkit-box-align:center;align-items:center;padding:0;margin:0;background-color:#fff;border-top:2px solid #707070;-webkit-transform-origin:top left;transform-origin:top left;z-index:1000}.gd-text-menu ::ng-deep .selected-value{white-space:normal!important;word-wrap:break-word}.gd-text-menu .icon{color:#fff;margin:0 9px}.gd-text-menu ::ng-deep .bcPicker-palette{left:-200px;top:-185px}.gd-text-menu .palette{top:unset;bottom:40px;left:unset;right:5px}.gd-text-menu ::ng-deep .dropdown-menu{bottom:40px;top:unset!important}.gd-text-menu ::ng-deep .first-component ::ng-deep .dropdown-menu{left:0}.gd-text-menu ::ng-deep .button{margin:3px!important;font-size:16px}}"]}]}],"members":{"blur":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":16,"character":3}}]}],"fontSize":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":17,"character":3}}]}],"font":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":18,"character":3}}]}],"bold":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":19,"character":3}}]}],"italic":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":20,"character":3}}]}],"underline":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":21,"character":3}}]}],"color":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":22,"character":3}}]}],"decoration":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":23,"character":3}}]}],"showTooltips":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":24,"character":3}}]}],"outFontSize":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":26,"character":3}}]}],"outFont":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":27,"character":3}}]}],"outBold":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":28,"character":3}}]}],"outItalic":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":29,"character":3}}]}],"outUnderline":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":30,"character":3}}]}],"outColor":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":31,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"OnCloseService"},{"__symbolic":"reference","name":"ZoomService"},{"__symbolic":"reference","name":"WindowService"},{"__symbolic":"reference","name":"ElementRef","module":"@angular/core","arguments":[{"__symbolic":"error","message":"Could not resolve type","line":42,"character":48,"context":{"typeName":"HTMLElement"},"module":"./lib/text-menu/text-menu.component"}]},{"__symbolic":"reference","module":"@angular/core","name":"Renderer2","line":43,"character":32}]}],"ngOnInit":[{"__symbolic":"method"}],"changePosition":[{"__symbolic":"method"}],"selectFontSize":[{"__symbolic":"method"}],"selectFont":[{"__symbolic":"method"}],"toggleColorPicker":[{"__symbolic":"method"}],"selectColor":[{"__symbolic":"method"}],"toggleBold":[{"__symbolic":"method"}],"toggleItalic":[{"__symbolic":"method"}],"toggleUnderline":[{"__symbolic":"method"}],"closePicker":[{"__symbolic":"method"}]}},"ɵa":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":2,"character":1},"arguments":[{"selector":"gd-tabs","template":"
\r\n \r\n
\r\n","styles":[".gd-tabs{display:-webkit-box;display:flex}"]}]}],"members":{"__ctor__":[{"__symbolic":"constructor"}]}},"ɵb":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Directive","line":2,"character":1},"arguments":[{"selector":"[gdTooltip]"}]}],"members":{"showToolTip":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":7,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor"}],"onHovering":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostListener","line":12,"character":3},"arguments":["mouseenter"]}]}],"onUnhovering":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostListener","line":17,"character":3},"arguments":["mouseleave"]}]}]}},"ɵc":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":6,"character":1},"arguments":[{"selector":"gd-resizing","template":"
\r\n\r\n
\r\n\r\n
\r\n\r\n
\r\n","styles":[".ui-resizable-handle{background-color:#679ffa;width:8px;height:8px;border-radius:100%;position:absolute;font-size:.1px;display:block}.se-resize{bottom:-5px;right:-5px;cursor:se-resize}.ne-resize{top:-5px;right:-5px;cursor:ne-resize}.sw-resize{bottom:-5px;left:-5px;cursor:sw-resize}.nw-resize{top:-5px;left:-5px;cursor:nw-resize}"]}]}],"members":{"init":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":13,"character":3}}]}],"id":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":14,"character":3}}]}],"se":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":15,"character":3}}]}],"ne":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":16,"character":3}}]}],"sw":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":17,"character":3}}]}],"nw":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":18,"character":3}}]}],"pageWidth":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":19,"character":3}}]}],"pageHeight":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":20,"character":3}}]}],"offsetX":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":26,"character":3}}]}],"offsetY":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":27,"character":3}}]}],"offsetTop":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":28,"character":3}}]}],"offsetLeft":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":29,"character":3}}]}],"release":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":30,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor"}],"ngAfterViewInit":[{"__symbolic":"method"}],"ngOnInit":[{"__symbolic":"method"}],"catchUp":[{"__symbolic":"method"}],"resize":[{"__symbolic":"method"}],"setOffsets":[{"__symbolic":"method"}],"end":[{"__symbolic":"method"}],"start":[{"__symbolic":"method"}],"drop":[{"__symbolic":"method"}],"getElementId":[{"__symbolic":"method"}]}},"ɵd":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":5,"character":1},"arguments":[{"selector":"gd-top-tab","template":"
\r\n \r\n \r\n
\r\n","styles":[".gd-tab{font-size:14px;color:#3e4e5a;cursor:pointer;display:-webkit-box;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column;-webkit-box-align:center;align-items:center;align-content:center;-webkit-box-pack:center;justify-content:center;min-width:36px;height:36px;text-align:center;position:relative;white-space:nowrap;padding:0!important;margin:0 10px}.gd-tab .gd-tab-tooltip{display:-webkit-box;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column;margin:0!important}.gd-tab.active{background-color:#acacac;color:#fff!important;font-weight:700}.gd-tab.disabled{cursor:not-allowed;opacity:.4}.gd-tab ::ng-deep .tooltip{font-size:12px;margin:20px -57px}.gd-tab .title{margin:auto 23px}@media (max-width:1037px){.gd-tab{font-size:20px}}"]}]}],"members":{"id":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":11,"character":3}}]}],"icon":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":12,"character":3}}]}],"disabled":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":13,"character":3}}]}],"tooltip":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":14,"character":3}}]}],"activeTab":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":15,"character":3}}]}],"elementPosition":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":16,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"TopTabActivatorService"},{"__symbolic":"reference","name":"ModalService"},{"__symbolic":"reference","name":"ExceptionMessageService"}]}],"activation":[{"__symbolic":"method"}],"ngOnInit":[{"__symbolic":"method"}],"toggleTab":[{"__symbolic":"method"}]}}},"origins":{"CommonComponentsModule":"./lib/common-components.module","Api":"./lib/config.service","ConfigService":"./lib/config.service","CommonModals":"./lib/modal.service","ModalService":"./lib/modal.service","PageModel":"./lib/file.service","RotatedPage":"./lib/file.service","FileCredentials":"./lib/file.service","SaveFile":"./lib/file.service","FileDescription":"./lib/file.service","FileModel":"./lib/file.service","HttpError":"./lib/file.service","Utils":"./lib/file.service","FileUtil":"./lib/file.service","FileService":"./lib/file.service","UploadFilesService":"./lib/upload-files.service","SanitizeHtmlPipe":"./lib/pipes","SanitizeResourceHtmlPipe":"./lib/pipes","SanitizeStylePipe":"./lib/pipes","HighlightSearchPipe":"./lib/pipes","NavigateService":"./lib/navigate.service","PagePreloadService":"./lib/page-preload.service","ZoomService":"./lib/zoom.service","RenderPrintService":"./lib/render-print.service","ErrorInterceptorService":"./lib/error-interceptor.service","ExceptionMessageService":"./lib/exception-message.service","PasswordService":"./lib/password.service","WindowService":"./lib/window.service","ViewportService":"./lib/viewport.service","BrowseFilesModalComponent":"./lib/browse-files-modal/browse-files-modal.component","ButtonComponent":"./lib/button/button.component","DisabledCursorDirective":"./lib/disabled-cursor.directive","DndDirective":"./lib/dnd.directive","DocumentComponent":"./lib/document/document.component","ErrorModalComponent":"./lib/error-modal/error-modal.component","InitStateComponent":"./lib/init-state/init-state.component","LogoComponent":"./lib/logo/logo.component","ModalComponent":"./lib/modal/modal.component","PageComponent":"./lib/page/page.component","PasswordRequiredComponent":"./lib/password-required/password-required.component","RenderPrintDirective":"./lib/render-print.directive","RotationDirective":"./lib/rotation.directive","ScrollableDirective":"./lib/scrollable.directive","MouseWheelDirective":"./lib/mousewheel.directive","SearchService":"./lib/search.service","SearchComponent":"./lib/search/search.component","SearchableDirective":"./lib/searchable.directive","Option":"./lib/select/select.component","SelectComponent":"./lib/select/select.component","TooltipComponent":"./lib/tooltip/tooltip.component","TopToolbarComponent":"./lib/top-toolbar/top-toolbar.component","SidePanelComponent":"./lib/side-panel/side-panel.component","UploadFileZoneComponent":"./lib/upload-file-zone/upload-file-zone.component","ZoomDirective":"./lib/zoom.directive","SelectionService":"./lib/selection.service","OnCloseService":"./lib/on-close.service","LoadingMaskService":"./lib/loading-mask.service","LoadingMaskInterceptorService":"./lib/loading-mask-interceptor.service","FormattingDirective":"./lib/formatting.directive","Formatting":"./lib/formatting.service","FormattingService":"./lib/formatting.service","BackFormattingService":"./lib/back-formatting.service","EditorDirective":"./lib/editor.directive","EditHtmlService":"./lib/edit-html.service","ColorPickerComponent":"./lib/color-picker/color-picker.component","LoadingMaskComponent":"./lib/loading-mask/loading-mask.component","SuccessModalComponent":"./lib/success-modal/success-modal.component","TabComponent":"./lib/tab/tab.component","TabbedToolbarsComponent":"./lib/tabbed-toolbars/tabbed-toolbars.component","TabActivatorService":"./lib/tab-activator.service","DropDownToggleComponent":"./lib/drop-down/drop-down.component","DropDownItemsComponent":"./lib/drop-down/drop-down.component","DropDownItemComponent":"./lib/drop-down/drop-down.component","DropDownComponent":"./lib/drop-down/drop-down.component","LeftSideBarComponent":"./lib/left-side-bar/left-side-bar.component","AddDynamicComponentService":"./lib/add-dynamic-component.service","HostDynamicDirective":"./lib/host-dynamic.directive","HostingDynamicComponentService":"./lib/hosting-dynamic-component.service","TopTabActivatorService":"./lib/top-tab-activator.service","MenuType":"./lib/context-menu/context-menu.component","ContextMenuComponent":"./lib/context-menu/context-menu.component","TextMenuComponent":"./lib/text-menu/text-menu.component","ɵa":"./lib/tabs/tabs.component","ɵb":"./lib/tooltip.directive","ɵc":"./lib/resizing/resizing.component","ɵd":"./lib/top-tab/top-tab.component"},"importAs":"@groupdocs.examples.angular/common-components"} \ No newline at end of file diff --git a/libs/annotation/src/lib/annotation-app.component.html b/libs/annotation/src/lib/annotation-app.component.html index c07110155..11120f64e 100644 --- a/libs/annotation/src/lib/annotation-app.component.html +++ b/libs/annotation/src/lib/annotation-app.component.html @@ -11,9 +11,9 @@ - - diff --git a/libs/annotation/src/lib/annotation-app.component.less b/libs/annotation/src/lib/annotation-app.component.less index b396b4bf2..113e8568a 100644 --- a/libs/annotation/src/lib/annotation-app.component.less +++ b/libs/annotation/src/lib/annotation-app.component.less @@ -59,10 +59,6 @@ } } -.desktop-hide { - display: none; -} - @media @phone-down { ::ng-deep .logo { ::ng-deep .icon { @@ -83,10 +79,6 @@ } } - .desktop-hide { - display: block; - } - .gd-document { height:~"calc(100% - 120px)"; } diff --git a/libs/annotation/src/lib/annotation-app.component.ts b/libs/annotation/src/lib/annotation-app.component.ts index d7c1810c1..2088ad037 100644 --- a/libs/annotation/src/lib/annotation-app.component.ts +++ b/libs/annotation/src/lib/annotation-app.component.ts @@ -115,9 +115,9 @@ export class AnnotationAppComponent implements OnInit { this.isDesktop = _windowService.isDesktop(); _windowService.onResize.subscribe((w) => { this.isDesktop = _windowService.isDesktop(); - if (!this.isDesktop) { + //if (!this.isDesktop) { this.refreshZoom(); - } + //} }); this._activeAnnotationService.activeChange.subscribe((id: number) => { diff --git a/libs/common-components/src/lib/context-menu/context-menu.component.ts b/libs/common-components/src/lib/context-menu/context-menu.component.ts index 3287bb8e2..7a988d6c8 100644 --- a/libs/common-components/src/lib/context-menu/context-menu.component.ts +++ b/libs/common-components/src/lib/context-menu/context-menu.component.ts @@ -38,10 +38,7 @@ export class ContextMenuComponent implements OnInit { }); _zoomService.zoomChange.subscribe((val: number) => { - if (this.isMobile) - { - this.changeScale(val); - } + this.changeScale(val); }); } @@ -50,6 +47,9 @@ export class ContextMenuComponent implements OnInit { changeScale(val: number){ this.renderer.setStyle(this._elementRef.nativeElement.querySelector('.gd-context-menu'), 'transform', 'scale(' + 1/(val/100) + ')'); + if (!this.isMobile && val && val !== 100) { + this.renderer.setStyle(this._elementRef.nativeElement.querySelector('.gd-context-menu'), 'left', this.translation + 'px'); + } } saveChanges() {