From 367abac26d56bc7a266386dc2166dd7a0536089f Mon Sep 17 00:00:00 2001 From: Egor Date: Wed, 26 Feb 2020 02:20:20 +0300 Subject: [PATCH 1/5] Initial version directive for editing header/footer. --- ....examples.angular-common-components.umd.js | 14842 +++++++--------- ...mples.angular-common-components.umd.js.map | 2 +- ...mples.angular-common-components.umd.min.js | 16 +- ...s.angular-common-components.umd.min.js.map | 2 +- ...docs.examples.angular-common-components.js | 11 +- .../esm2015/lib/editheaderfooter.directive.js | 116 + .../esm5/lib/editheaderfooter.directive.js | 133 + ...docs.examples.angular-common-components.js | 1570 +- ....examples.angular-common-components.js.map | 2 +- ...docs.examples.angular-common-components.js | 1598 +- ....examples.angular-common-components.js.map | 2 +- ...cs.examples.angular-common-components.d.ts | 9 +- ...es.angular-common-components.metadata.json | 2 +- .../lib/editheaderfooter.directive.d.ts | 16 + .../src/lib/common-components.module.ts | 3 + .../src/lib/document/document.component.html | 2 +- .../lib/editheaderfooter.directive.spec.ts | 8 + .../src/lib/editheaderfooter.directive.ts | 67 + libs/editor/src/lib/editor-app.component.less | 17 +- libs/editor/src/lib/editor-app.component.ts | 16 + 20 files changed, 7419 insertions(+), 11015 deletions(-) create mode 100644 dist/libs/common-components/esm2015/lib/editheaderfooter.directive.js create mode 100644 dist/libs/common-components/esm5/lib/editheaderfooter.directive.js create mode 100644 dist/libs/common-components/lib/editheaderfooter.directive.d.ts create mode 100644 libs/common-components/src/lib/editheaderfooter.directive.spec.ts create mode 100644 libs/common-components/src/lib/editheaderfooter.directive.ts 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 65c0c559b..55bd90d71 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 @@ -2,7 +2,7 @@ typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@angular/core'), require('@angular/common'), require('rxjs'), require('rxjs/operators'), require('@fortawesome/angular-fontawesome'), require('@fortawesome/fontawesome-svg-core'), require('@fortawesome/free-solid-svg-icons'), require('@fortawesome/free-regular-svg-icons'), require('@angular/common/http'), require('jquery'), require('hammerjs'), require('@angular/platform-browser'), require('ng-click-outside')) : typeof define === 'function' && define.amd ? define('@groupdocs.examples.angular/common-components', ['exports', '@angular/core', '@angular/common', 'rxjs', 'rxjs/operators', '@fortawesome/angular-fontawesome', '@fortawesome/fontawesome-svg-core', '@fortawesome/free-solid-svg-icons', '@fortawesome/free-regular-svg-icons', '@angular/common/http', 'jquery', 'hammerjs', '@angular/platform-browser', 'ng-click-outside'], factory) : (global = global || self, factory((global.groupdocs = global.groupdocs || {}, global.groupdocs.examples = global.groupdocs.examples || {}, global.groupdocs.examples.angular = global.groupdocs.examples.angular || {}, global.groupdocs.examples.angular['common-components'] = {}), global.ng.core, global.ng.common, global.rxjs, global.rxjs.operators, global.angularFontawesome, global.fontawesomeSvgCore, global.freeSolidSvgIcons, global.freeRegularSvgIcons, global.ng.common.http, global.jquery, global.Hammer, global.ng.platformBrowser, global.ngClickOutside)); -}(this, (function (exports, core, common, rxjs, operators, angularFontawesome, fontawesomeSvgCore, freeSolidSvgIcons, freeRegularSvgIcons, http, jquery, Hammer, platformBrowser, ngClickOutside) { 'use strict'; +}(this, function (exports, core, common, rxjs, operators, angularFontawesome, fontawesomeSvgCore, freeSolidSvgIcons, freeRegularSvgIcons, http, jquery, Hammer, platformBrowser, ngClickOutside) { 'use strict'; /*! ***************************************************************************** Copyright (c) Microsoft Corporation. All rights reserved. @@ -33,85 +33,6 @@ d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); } - var __assign = function() { - __assign = Object.assign || function __assign(t) { - for (var s, i = 1, n = arguments.length; i < n; i++) { - s = arguments[i]; - for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p]; - } - return t; - }; - return __assign.apply(this, arguments); - }; - - function __rest(s, e) { - var t = {}; - for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) - t[p] = s[p]; - if (s != null && typeof Object.getOwnPropertySymbols === "function") - for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) { - if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) - t[p[i]] = s[p[i]]; - } - return t; - } - - function __decorate(decorators, target, key, desc) { - var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; - if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); - 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; - return c > 3 && r && Object.defineProperty(target, key, r), r; - } - - function __param(paramIndex, decorator) { - return function (target, key) { decorator(target, key, paramIndex); } - } - - function __metadata(metadataKey, metadataValue) { - if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(metadataKey, metadataValue); - } - - function __awaiter(thisArg, _arguments, P, generator) { - return new (P || (P = Promise))(function (resolve, reject) { - function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } - function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } - function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); } - step((generator = generator.apply(thisArg, _arguments || [])).next()); - }); - } - - function __generator(thisArg, body) { - var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g; - return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g; - function verb(n) { return function (v) { return step([n, v]); }; } - function step(op) { - if (f) throw new TypeError("Generator is already executing."); - while (_) try { - 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; - if (y = 0, t) op = [op[0] & 2, t.value]; - switch (op[0]) { - case 0: case 1: t = op; break; - case 4: _.label++; return { value: op[1], done: false }; - case 5: _.label++; y = op[1]; op = [0]; continue; - case 7: op = _.ops.pop(); _.trys.pop(); continue; - default: - if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; } - if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; } - if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; } - if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; } - if (t[2]) _.ops.pop(); - _.trys.pop(); continue; - } - op = body.call(thisArg, _); - } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; } - if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true }; - } - } - - function __exportStar(m, exports) { - for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p]; - } - function __values(o) { var m = typeof Symbol === "function" && o[Symbol.iterator], i = 0; if (m) return m.call(o); @@ -121,8180 +42,6844 @@ return { value: o && o[i++], done: !o }; } }; - } - - function __read(o, n) { - var m = typeof Symbol === "function" && o[Symbol.iterator]; - if (!m) return o; - var i = m.call(o), r, ar = [], e; - try { - while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value); - } - catch (error) { e = { error: error }; } - finally { - try { - if (r && !r.done && (m = i["return"])) m.call(i); - } - finally { if (e) throw e.error; } - } - return ar; - } - - function __spread() { - for (var ar = [], i = 0; i < arguments.length; i++) - ar = ar.concat(__read(arguments[i])); - return ar; - } - - function __spreadArrays() { - for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length; - for (var r = Array(s), k = 0, i = 0; i < il; i++) - for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++) - r[k] = a[j]; - return r; - }; - - function __await(v) { - return this instanceof __await ? (this.v = v, this) : new __await(v); - } - - function __asyncGenerator(thisArg, _arguments, generator) { - if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined."); - var g = generator.apply(thisArg, _arguments || []), i, q = []; - return i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () { return this; }, i; - 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); }); }; } - function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } } - function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); } - function fulfill(value) { resume("next", value); } - function reject(value) { resume("throw", value); } - function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); } - } - - function __asyncDelegator(o) { - var i, p; - return i = {}, verb("next"), verb("throw", function (e) { throw e; }), verb("return"), i[Symbol.iterator] = function () { return this; }, i; - 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; } - } - - function __asyncValues(o) { - if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined."); - var m = o[Symbol.asyncIterator], i; - 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); - 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); }); }; } - function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); } - } - - function __makeTemplateObject(cooked, raw) { - if (Object.defineProperty) { Object.defineProperty(cooked, "raw", { value: raw }); } else { cooked.raw = raw; } - return cooked; - }; - - function __importStar(mod) { - if (mod && mod.__esModule) return mod; - var result = {}; - if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k]; - result.default = mod; - return result; - } - - function __importDefault(mod) { - 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:flex;align-items:center}.tools{width:100%;height:100%;display:flex;align-items:center}@media (max-width:1037px){.top-toolbar{height:60px}.tools{height:100%;overflow-x:auto;overflow-scrolling:touch;display:flex;align-items:center;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.hideSidePanel = new core.EventEmitter(); - this.onlyTitle = false; - } - /** - * @return {?} - */ - SidePanelComponent.prototype.openSidePanel = /** - * @return {?} - */ - function () { - this.hideSidePanel.emit(true); - }; - /** - * @return {?} - */ - SidePanelComponent.prototype.toggleTitleMode = /** - * @return {?} - */ - function () { - 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", - 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{display:-webkit-box;display:flex;-webkit-box-align:center;align-items:center}.gd-side-panel-wrapper .gd-side-panel-header /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 }], - hideSidePanel: [{ type: core.Output }] - }; - return SidePanelComponent; + /** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ + var SidePanelComponent = /** @class */ (function () { + function SidePanelComponent() { + this.hideSidePanel = new core.EventEmitter(); + this.onlyTitle = false; + } + /** + * @return {?} + */ + SidePanelComponent.prototype.openSidePanel = /** + * @return {?} + */ + function () { + this.hideSidePanel.emit(true); + }; + /** + * @return {?} + */ + SidePanelComponent.prototype.toggleTitleMode = /** + * @return {?} + */ + function () { + 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", + styles: [".gd-side-panel-wrapper{margin-right:0;width:334px;z-index:999;background-color:#fff;transition:margin-right .2s;display:flex;flex-flow:column;height:100vh}.gd-side-panel-wrapper .gd-side-panel-header{height:60px;background-color:#222e35;display:flex;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{display:flex;align-items:center}.gd-side-panel-wrapper .gd-side-panel-header /deep/ gd-button .text{padding:0}.gd-side-panel-wrapper .gd-side-panel-body{display:flex;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 }], + hideSidePanel: [{ type: core.Output }] + }; + return SidePanelComponent; }()); - if (false) { - /** @type {?} */ - SidePanelComponent.prototype.title; - /** @type {?} */ - SidePanelComponent.prototype.icon; - /** @type {?} */ - SidePanelComponent.prototype.hideSidePanel; - /** @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; + /** + * @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; + /** + * @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:flex;flex-direction:column;align-items:center;align-content: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:flex;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; + /** + * @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:flex;align-items: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:0!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; + /** + * @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:0!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.EDITOR_APP = '/editor'; - Api.COMPARISON_APP = '/comparison'; - Api.CONVERSION_APP = '/conversion'; - 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.ROTATE_DOCUMENT_PAGE = '/rotateDocumentPages'; - Api.UPLOAD_DOCUMENTS = '/uploadDocument'; - Api.DOWNLOAD_DOCUMENTS = '/downloadDocument'; - Api.LOAD_PRINT = '/loadPrint'; - Api.LOAD_PRINT_PDF = '/printPdf'; - Api.LOAD_THUMBNAILS = '/loadThumbnails'; - Api.LOAD_FORMATS = '/loadFormats'; - Api.SAVE_FILE = '/saveFile'; - Api.COMPARE_FILES = '/compare'; - Api.CONVERT_FILE = '/convert'; - Api.DELETE_SIGNATURE_FILE = '/deleteSignatureFile'; - 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.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.EDITOR_APP; - /** @type {?} */ - Api.COMPARISON_APP; - /** @type {?} */ - Api.CONVERSION_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.ROTATE_DOCUMENT_PAGE; - /** @type {?} */ - Api.UPLOAD_DOCUMENTS; - /** @type {?} */ - Api.DOWNLOAD_DOCUMENTS; - /** @type {?} */ - Api.LOAD_PRINT; - /** @type {?} */ - Api.LOAD_PRINT_PDF; - /** @type {?} */ - Api.LOAD_THUMBNAILS; - /** @type {?} */ - Api.LOAD_FORMATS; - /** @type {?} */ - Api.SAVE_FILE; - /** @type {?} */ - Api.COMPARE_FILES; - /** @type {?} */ - Api.CONVERT_FILE; - /** @type {?} */ - Api.DELETE_SIGNATURE_FILE; - /** @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.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.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; - }; - ConfigService.decorators = [ - { type: core.Injectable } - ]; - /** @nocollapse */ - ConfigService.ctorParameters = function () { return []; }; - return ConfigService; + /** + * @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.EDITOR_APP = '/editor'; + Api.COMPARISON_APP = '/comparison'; + Api.CONVERSION_APP = '/conversion'; + 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.ROTATE_DOCUMENT_PAGE = '/rotateDocumentPages'; + Api.UPLOAD_DOCUMENTS = '/uploadDocument'; + Api.DOWNLOAD_DOCUMENTS = '/downloadDocument'; + Api.LOAD_PRINT = '/loadPrint'; + Api.LOAD_PRINT_PDF = '/printPdf'; + Api.LOAD_THUMBNAILS = '/loadThumbnails'; + Api.LOAD_FORMATS = '/loadFormats'; + Api.SAVE_FILE = '/saveFile'; + Api.COMPARE_FILES = '/compare'; + Api.CONVERT_FILE = '/convert'; + Api.DELETE_SIGNATURE_FILE = '/deleteSignatureFile'; + 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.httpOptionsJson = { + headers: new http.HttpHeaders({ + 'Content-Type': 'application/json', + }) + }; + Api.httpOptionsJsonResponseTypeBlob = { + headers: new http.HttpHeaders({ + 'Content-Type': 'application/json', + }), + responseType: (/** @type {?} */ ('blob')) + }; + return Api; + }()); + 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.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; + }; + 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; + /** + * @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; + }()); + 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-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; + /** + * @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%;transform:translate(-50%,-50%);z-index:1051}.gd-modal-content{background-color:#fff;height:100%;display:flex;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; - } - 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; + }()); + var RotatedPage = /** @class */ (function () { + function RotatedPage() { + } + return RotatedPage; + }()); + var FileCredentials = /** @class */ (function () { + function FileCredentials(guid, password) { + this.guid = guid; + this.password = password; + } + return FileCredentials; + }()); + 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)); + var FileDescription = /** @class */ (function () { + function FileDescription() { + this.printAllowed = true; + } + return FileDescription; + }()); + var FileModel = /** @class */ (function () { + function FileModel() { + } + return FileModel; + }()); + 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; + }()); + 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; + }()); + 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; + /** + * @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; + /** + * @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:flex;width:90%;padding:18px 0 18px 24px;font-size:14px;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:flex;width:100%;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: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:flex;position:relative;width:100%}.upload-panel .context{display:flex;flex-direction:column;width:100%;margin-left:24px;margin-top:24px;margin-right:24px}.upload-panel .context .context-actions{display:flex;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;justify-content:center}.upload-panel .context .context-actions ::ng-deep .button ::ng-deep .text{font-size:10px}.upload-panel .context .context-panel{display:flex;flex-direction:row;width:100%;margin-top:20px}.upload-panel .context .context-panel .upload-url{display:flex;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:flex;justify-content:center;align-items:center}.dnd-wrapper{display:flex;flex-direction:column;align-items:center;justify-content:center;top:259px;position:absolute}.dnd-wrapper .text{color:#6e6e6e;font-size:14px}.dnd-wrapper .icon{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; + /** + * @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 - */ - /** @type {?} */ - var $$1 = jquery; - var DocumentComponent = /** @class */ (function () { - function DocumentComponent(_elementRef, _zoomService, _windowService) { - var _this = this; - this._elementRef = _elementRef; - this._zoomService = _zoomService; - this._windowService = _windowService; - 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(); - } - /** - * @return {?} - */ - DocumentComponent.prototype.ngOnInit = /** - * @return {?} - */ - function () { - }; - /** - * @return {?} - */ - DocumentComponent.prototype.ngOnChanges = /** - * @return {?} - */ - function () { - /** @type {?} */ - var panzoom = this._elementRef.nativeElement.children.item(0).children.item(0); - ((/** @type {?} */ (panzoom))).style.transform = ''; - // TODO: this intersects with zooming by zoom directive, but still needed - // for flush previous settings before opening another file - //this._zoomService.changeZoom(100); - //this.scale = 1; - }; - /** - * @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"; - }; - /** - * @param {?} value - * @return {?} - */ - DocumentComponent.prototype.getDimensionWithUnit = /** - * @param {?} value - * @return {?} - */ - function (value) { - return 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 () { - /** @type {?} */ - var elementNodeListOf = this._elementRef.nativeElement.querySelectorAll('.gd-wrapper'); - /** @type {?} */ - var element = elementNodeListOf.item(0); - if (element) { - $$1(element).trigger('focus'); - } - }; - /** - * @param {?} el - * @return {?} - */ - DocumentComponent.prototype.absolutePosition = /** - * @param {?} el - * @return {?} - */ - function (el) { - /** @type {?} */ - var x = 0; - /** @type {?} */ - var y = 0; - while (el !== null) { - x += el.offsetLeft; - y += el.offsetTop; - el = el.offsetParent; - } - return { x: x, y: y }; - }; - ; - /** - * @param {?} pos - * @param {?} viewportDim - * @param {?} docDim - * @return {?} - */ - DocumentComponent.prototype.restrictRawPos = /** - * @param {?} pos - * @param {?} viewportDim - * @param {?} docDim - * @return {?} - */ - function (pos, viewportDim, docDim) { - if (pos < viewportDim / this.scale - docDim) { // too far left/up? - pos = viewportDim / this.scale - docDim; - } - else if (pos > 0) { // too far right/down? - pos = 0; - } - return pos; - }; - ; - /** - * @return {?} - */ - DocumentComponent.prototype.updateLastPos = /** - * @return {?} - */ - function () { - this.lastX = this.x; - this.lastY = this.y; - }; - ; - /** - * @param {?} deltaX - * @param {?} deltaY - * @return {?} - */ - DocumentComponent.prototype.translate = /** - * @param {?} deltaX - * @param {?} deltaY - * @return {?} - */ - function (deltaX, deltaY) { - // We restrict to the min of the viewport width/height or current width/height as the - // current width/height may be smaller than the viewport width/height - /** @type {?} */ - var newX = this.restrictRawPos(this.lastX + deltaX / this.scale, Math.min(this.viewportWidth, this.curWidth), this.docWidth); - this.x = newX; - // TODO: value here and in the similar line below changes to positive to take any effect - this.container.scrollLeft = -Math.ceil(newX * this.scale); - /** @type {?} */ - var newY = this.restrictRawPos(this.lastY + deltaY / this.scale, Math.min(this.viewportHeight, this.curHeight), this.docHeight); - this.y = newY; - this.container.scrollTop = -Math.ceil(newY * this.scale); - this.doc.style.transform = 'scale(' + this.scale + ')'; - }; - ; - /** - * @param {?} scaleBy - * @return {?} - */ - DocumentComponent.prototype.startZoom = /** - * @param {?} scaleBy - * @return {?} - */ - function (scaleBy) { - this.scale = this.lastScale * scaleBy; - this.curWidth = this.docWidth * this.scale; - this.curHeight = this.docHeight * this.scale; - // Adjust margins to make sure that we aren't out of bounds - this.translate(0, 0); - }; - ; - /** - * @param {?} $event - * @return {?} - */ - DocumentComponent.prototype.rawCenter = /** - * @param {?} $event - * @return {?} - */ - function ($event) { - /** @type {?} */ - var pos = this.absolutePosition(this.container); - // We need to account for the scroll position - /** @type {?} */ - var scrollLeft = window.pageXOffset ? window.pageXOffset : document.body.scrollLeft; - /** @type {?} */ - var scrollTop = window.pageYOffset ? window.pageYOffset : document.body.scrollTop; - /** @type {?} */ - var zoomX = -this.x + ($event.center.x - pos.x + scrollLeft) / this.scale; - /** @type {?} */ - var zoomY = -this.y + ($event.center.y - pos.y + scrollTop) / this.scale; - return { x: zoomX, y: zoomY }; - }; - ; - /** - * @return {?} - */ - DocumentComponent.prototype.updateLastScale = /** - * @return {?} - */ - function () { - this.lastScale = this.scale; - }; - ; - /** - * @param {?} scaleBy - * @param {?} rawZoomX - * @param {?} rawZoomY - * @param {?} doNotUpdateLast - * @return {?} - */ - DocumentComponent.prototype.zoomAround = /** - * @param {?} scaleBy - * @param {?} rawZoomX - * @param {?} rawZoomY - * @param {?} doNotUpdateLast - * @return {?} - */ - function (scaleBy, rawZoomX, rawZoomY, doNotUpdateLast) { - // Zoom - this.startZoom(scaleBy); - // New raw center of viewport - /** @type {?} */ - var rawCenterX = -this.x + Math.min(this.viewportWidth, this.curWidth) / 2 / this.scale; - /** @type {?} */ - var rawCenterY = -this.y + Math.min(this.viewportHeight, this.curHeight) / 2 / this.scale; - // Delta - /** @type {?} */ - var deltaX = (rawCenterX - rawZoomX) * this.scale; - /** @type {?} */ - var deltaY = (rawCenterY - rawZoomY) * this.scale; - // Translate back to zoom center - this.translate(deltaX, deltaY); - if (!doNotUpdateLast) { - this.updateLastScale(); - this.updateLastPos(); - } - }; - ; - /** - * @param {?} $event - * @return {?} - */ - DocumentComponent.prototype.onPinch = /** - * @param {?} $event - * @return {?} - */ - function ($event) { - if (this.pinchCenter === null) { - this.pinchCenter = this.rawCenter($event); - /** @type {?} */ - var offsetX = this.pinchCenter.x * this.scale - (-this.x * this.scale + Math.min(this.viewportWidth, this.curWidth) / 2); - /** @type {?} */ - var offsetY = this.pinchCenter.y * this.scale - (-this.y * this.scale + Math.min(this.viewportHeight, this.curHeight) / 2); - this.pinchCenterOffset = { x: offsetX, y: offsetY }; - } - /** @type {?} */ - var newScale = this.scale * $event.scale; - /** @type {?} */ - var zoomX = this.pinchCenter.x * newScale - this.pinchCenterOffset.x; - /** @type {?} */ - var zoomY = this.pinchCenter.y * newScale - this.pinchCenterOffset.y; - /** @type {?} */ - var zoomCenter = { x: zoomX / newScale, y: zoomY / newScale }; - this.zoomAround($event.scale, zoomCenter.x, zoomCenter.y, true); - }; - /** - * @param {?} $event - * @return {?} - */ - DocumentComponent.prototype.onPinchEnd = /** - * @param {?} $event - * @return {?} - */ - function ($event) { - this.updateLastScale(); - this.updateLastPos(); - this.pinchCenter = null; - }; - /** - * @param {?} $event - * @return {?} - */ - DocumentComponent.prototype.onPan = /** - * @param {?} $event - * @return {?} - */ - function ($event) { - // TODO: looks like native pan works better - // if (!this.isDesktop) { - // this.translate($event.deltaX, $event.deltaY); - // } - }; - /** - * @param {?} $event - * @return {?} - */ - DocumentComponent.prototype.onPanEnd = /** - * @param {?} $event - * @return {?} - */ - function ($event) { - // if (!this.isDesktop) { - // this.updateLastPos(); - // } - }; - /** - * @param {?} $event - * @return {?} - */ - DocumentComponent.prototype.onDoubleTap = /** - * @param {?} $event - * @return {?} - */ - function ($event) { - if (!this.isDesktop) { - if ($event.tapCount === 2) { - /** @type {?} */ - var c = this.rawCenter($event); - this.zoomAround(2, c.x, c.y, false); - } - } - }; - 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}.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}.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 } - ]; }; - DocumentComponent.propDecorators = { - mode: [{ type: core.Input }], - preloadPageCount: [{ type: core.Input }], - file: [{ type: core.Input }] - }; - return DocumentComponent; + /** + * @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) { + var _this = this; + this._elementRef = _elementRef; + this._zoomService = _zoomService; + this._windowService = _windowService; + 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(); + } + /** + * @return {?} + */ + DocumentComponent.prototype.ngOnInit = /** + * @return {?} + */ + function () { + }; + /** + * @return {?} + */ + DocumentComponent.prototype.ngOnChanges = /** + * @return {?} + */ + function () { + /** @type {?} */ + var panzoom = this._elementRef.nativeElement.children.item(0).children.item(0); + ((/** @type {?} */ (panzoom))).style.transform = ''; + // TODO: this intersects with zooming by zoom directive, but still needed + // for flush previous settings before opening another file + //this._zoomService.changeZoom(100); + //this.scale = 1; + }; + /** + * @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"; + }; + /** + * @param {?} value + * @return {?} + */ + DocumentComponent.prototype.getDimensionWithUnit = /** + * @param {?} value + * @return {?} + */ + function (value) { + return 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 () { + /** @type {?} */ + var elementNodeListOf = this._elementRef.nativeElement.querySelectorAll('.gd-wrapper'); + /** @type {?} */ + var element = elementNodeListOf.item(0); + if (element) { + $$1(element).trigger('focus'); + } + }; + /** + * @param {?} el + * @return {?} + */ + DocumentComponent.prototype.absolutePosition = /** + * @param {?} el + * @return {?} + */ + function (el) { + /** @type {?} */ + var x = 0; + /** @type {?} */ + var y = 0; + while (el !== null) { + x += el.offsetLeft; + y += el.offsetTop; + el = el.offsetParent; + } + return { x: x, y: y }; + }; + /** + * @param {?} pos + * @param {?} viewportDim + * @param {?} docDim + * @return {?} + */ + DocumentComponent.prototype.restrictRawPos = /** + * @param {?} pos + * @param {?} viewportDim + * @param {?} docDim + * @return {?} + */ + function (pos, viewportDim, docDim) { + if (pos < viewportDim / this.scale - docDim) { // too far left/up? + pos = viewportDim / this.scale - docDim; + } + else if (pos > 0) { // too far right/down? + pos = 0; + } + return pos; + }; + /** + * @return {?} + */ + DocumentComponent.prototype.updateLastPos = /** + * @return {?} + */ + function () { + this.lastX = this.x; + this.lastY = this.y; + }; + /** + * @param {?} deltaX + * @param {?} deltaY + * @return {?} + */ + DocumentComponent.prototype.translate = /** + * @param {?} deltaX + * @param {?} deltaY + * @return {?} + */ + function (deltaX, deltaY) { + // We restrict to the min of the viewport width/height or current width/height as the + // current width/height may be smaller than the viewport width/height + /** @type {?} */ + var newX = this.restrictRawPos(this.lastX + deltaX / this.scale, Math.min(this.viewportWidth, this.curWidth), this.docWidth); + this.x = newX; + // TODO: value here and in the similar line below changes to positive to take any effect + this.container.scrollLeft = -Math.ceil(newX * this.scale); + /** @type {?} */ + var newY = this.restrictRawPos(this.lastY + deltaY / this.scale, Math.min(this.viewportHeight, this.curHeight), this.docHeight); + this.y = newY; + this.container.scrollTop = -Math.ceil(newY * this.scale); + this.doc.style.transform = 'scale(' + this.scale + ')'; + }; + /** + * @param {?} scaleBy + * @return {?} + */ + DocumentComponent.prototype.startZoom = /** + * @param {?} scaleBy + * @return {?} + */ + function (scaleBy) { + this.scale = this.lastScale * scaleBy; + this.curWidth = this.docWidth * this.scale; + this.curHeight = this.docHeight * this.scale; + // Adjust margins to make sure that we aren't out of bounds + this.translate(0, 0); + }; + /** + * @param {?} $event + * @return {?} + */ + DocumentComponent.prototype.rawCenter = /** + * @param {?} $event + * @return {?} + */ + function ($event) { + /** @type {?} */ + var pos = this.absolutePosition(this.container); + // We need to account for the scroll position + /** @type {?} */ + var scrollLeft = window.pageXOffset ? window.pageXOffset : document.body.scrollLeft; + /** @type {?} */ + var scrollTop = window.pageYOffset ? window.pageYOffset : document.body.scrollTop; + /** @type {?} */ + var zoomX = -this.x + ($event.center.x - pos.x + scrollLeft) / this.scale; + /** @type {?} */ + var zoomY = -this.y + ($event.center.y - pos.y + scrollTop) / this.scale; + return { x: zoomX, y: zoomY }; + }; + /** + * @return {?} + */ + DocumentComponent.prototype.updateLastScale = /** + * @return {?} + */ + function () { + this.lastScale = this.scale; + }; + /** + * @param {?} scaleBy + * @param {?} rawZoomX + * @param {?} rawZoomY + * @param {?} doNotUpdateLast + * @return {?} + */ + DocumentComponent.prototype.zoomAround = /** + * @param {?} scaleBy + * @param {?} rawZoomX + * @param {?} rawZoomY + * @param {?} doNotUpdateLast + * @return {?} + */ + function (scaleBy, rawZoomX, rawZoomY, doNotUpdateLast) { + // Zoom + this.startZoom(scaleBy); + // New raw center of viewport + /** @type {?} */ + var rawCenterX = -this.x + Math.min(this.viewportWidth, this.curWidth) / 2 / this.scale; + /** @type {?} */ + var rawCenterY = -this.y + Math.min(this.viewportHeight, this.curHeight) / 2 / this.scale; + // Delta + /** @type {?} */ + var deltaX = (rawCenterX - rawZoomX) * this.scale; + /** @type {?} */ + var deltaY = (rawCenterY - rawZoomY) * this.scale; + // Translate back to zoom center + this.translate(deltaX, deltaY); + if (!doNotUpdateLast) { + this.updateLastScale(); + this.updateLastPos(); + } + }; + /** + * @param {?} $event + * @return {?} + */ + DocumentComponent.prototype.onPinch = /** + * @param {?} $event + * @return {?} + */ + function ($event) { + if (this.pinchCenter === null) { + this.pinchCenter = this.rawCenter($event); + /** @type {?} */ + var offsetX = this.pinchCenter.x * this.scale - (-this.x * this.scale + Math.min(this.viewportWidth, this.curWidth) / 2); + /** @type {?} */ + var offsetY = this.pinchCenter.y * this.scale - (-this.y * this.scale + Math.min(this.viewportHeight, this.curHeight) / 2); + this.pinchCenterOffset = { x: offsetX, y: offsetY }; + } + /** @type {?} */ + var newScale = this.scale * $event.scale; + /** @type {?} */ + var zoomX = this.pinchCenter.x * newScale - this.pinchCenterOffset.x; + /** @type {?} */ + var zoomY = this.pinchCenter.y * newScale - this.pinchCenterOffset.y; + /** @type {?} */ + var zoomCenter = { x: zoomX / newScale, y: zoomY / newScale }; + this.zoomAround($event.scale, zoomCenter.x, zoomCenter.y, true); + }; + /** + * @param {?} $event + * @return {?} + */ + DocumentComponent.prototype.onPinchEnd = /** + * @param {?} $event + * @return {?} + */ + function ($event) { + this.updateLastScale(); + this.updateLastPos(); + this.pinchCenter = null; + }; + /** + * @param {?} $event + * @return {?} + */ + DocumentComponent.prototype.onPan = /** + * @param {?} $event + * @return {?} + */ + function ($event) { + // TODO: looks like native pan works better + // if (!this.isDesktop) { + // this.translate($event.deltaX, $event.deltaY); + // } + }; + /** + * @param {?} $event + * @return {?} + */ + DocumentComponent.prototype.onPanEnd = /** + * @param {?} $event + * @return {?} + */ + function ($event) { + // if (!this.isDesktop) { + // this.updateLastPos(); + // } + }; + /** + * @param {?} $event + * @return {?} + */ + DocumentComponent.prototype.onDoubleTap = /** + * @param {?} $event + * @return {?} + */ + function ($event) { + if (!this.isDesktop) { + if ($event.tapCount === 2) { + /** @type {?} */ + var c = this.rawCenter($event); + this.zoomAround(2, c.x, c.y, false); + } + } + }; + 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{flex:1;transition:.4s;background-color:#e7e7e7;height:100%;overflow:scroll}.page{display:inline-block;background-color:#fff;margin:20px;box-shadow:0 3px 6px rgba(0,0,0,.16);transition:.3s}.page.excel{overflow:auto}.wait{position:absolute;top:55px;left:Calc(30%)}.panzoom{display:flex;flex-direction:row;flex-wrap:wrap;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 } + ]; }; + DocumentComponent.propDecorators = { + mode: [{ type: core.Input }], + preloadPageCount: [{ type: core.Input }], + file: [{ type: core.Input }] + }; + return DocumentComponent; }()); - if (false) { - /** @type {?} */ - DocumentComponent.prototype.mode; - /** @type {?} */ - DocumentComponent.prototype.preloadPageCount; - /** @type {?} */ - DocumentComponent.prototype.file; - /** @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; - /* Skipping unhandled member: ;*/ - /* Skipping unhandled member: ;*/ - /* Skipping unhandled member: ;*/ - /* Skipping unhandled member: ;*/ - /* Skipping unhandled member: ;*/ - /* Skipping unhandled member: ;*/ - /* Skipping unhandled member: ;*/ - /* Skipping unhandled member: ;*/ - } - /** - * @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) { - // 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 !== null ? this.data.replace(/>\s+<').replace(/\uFEFF/g, "") : null; - /** @type {?} */ - var dataImagePngBase64 = 'data:image/png;base64,'; - this.imgData = dataImagePngBase64; - if (!this.isHtml) { - this.imgData += 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%}/deep/ .gd-highlight{background-color:#ff0}/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; + /** + * @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!@*/ !!/(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) { + // 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 !== null ? this.data.replace(/>\s+<').replace(/\uFEFF/g, "") : null; + /** @type {?} */ + var dataImagePngBase64 = 'data:image/png;base64,'; + this.imgData = dataImagePngBase64; + if (!this.isHtml) { + this.imgData += 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%}/deep/ .gd-highlight{background-color:#ff0}/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; + /** + * @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; + }()); + 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; + }()); + 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; + }()); + 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; }()); - 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: "
\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:flex;align-content:center;flex-direction:column;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; }()); - /** - * @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; + /** + * @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 {?} */ - 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; + /** + * @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 {?} */ - 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 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; + /** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ + var NavigateService = /** @class */ (function () { + function NavigateService(_pagePreloadService) { + var _this = this; + this._pagePreloadService = _pagePreloadService; + this._currentPage = 0; + this._countPages = 0; + this._navigate = new rxjs.Observable((/** + * @param {?} observer + * @return {?} + */ + function (observer) { + return _this._observer = 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 - */ - 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) { - var _this = this; - this._pagePreloadService = _pagePreloadService; - this._currentPage = 0; - this._countPages = 0; - this._navigate = new rxjs.Observable((/** - * @param {?} observer - * @return {?} - */ - function (observer) { - return _this._observer = 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; + /** + * @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; }()); - if (false) { - /** - * @type {?} - * @private - */ - NavigateService.prototype._currentPage; - /** - * @type {?} - * @private - */ - NavigateService.prototype._countPages; - /** - * @type {?} - * @private - */ - NavigateService.prototype._navigate; - /** - * @type {?} - * @private - */ - NavigateService.prototype._observer; - /** - * @type {?} - * @private - */ - NavigateService.prototype._pagePreloadService; - } - /** - * @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.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; + /** @type {?} */ + var count = Math.floor((this.getWidth() - offset) / (pageEl.getBoundingClientRect().width * this.getZoom())); + return count === 0 ? 1 : count; + }; + /** + * @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; + this._navigateService.currentPage = page; + } + currentPageSet = true; + } + this._pagePreloadService.changeLastPageInView(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 = { + scrolling: [{ type: core.HostListener, args: ['scroll',] }], + resizing: [{ type: core.HostListener, args: ['window:resize',] }] + }; + return ScrollableDirective; }()); - /** - * @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.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; - /** @type {?} */ - var count = Math.floor((this.getWidth() - offset) / (pageEl.getBoundingClientRect().width * this.getZoom())); - return count === 0 ? 1 : count; - }; - /** - * @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; - this._navigateService.currentPage = page; - } - currentPageSet = true; - } - this._pagePreloadService.changeLastPageInView(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 = { - scrolling: [{ type: core.HostListener, args: ['scroll',] }], - resizing: [{ type: core.HostListener, args: ['window:resize',] }] - }; - return ScrollableDirective; + /** + * @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 {?} 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 scrollWidth = this.getScrollWidth(this.el.nativeElement.parentElement); + this.width = (viewPortWidth / zoomInt - scrollWidth / 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',] }], + minWidth: [{ type: core.HostBinding, args: ['style.min-width',] }] + }; + return ZoomDirective; }()); - if (false) { - /** - * @type {?} - * @private - */ - ScrollableDirective.prototype.currentPage; - /** - * @type {?} - * @private - */ - ScrollableDirective.prototype.zoom; - /** - * @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 - */ - 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 {?} 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 scrollWidth = this.getScrollWidth(this.el.nativeElement.parentElement); - this.width = (viewPortWidth / zoomInt - scrollWidth / 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',] }], - minWidth: [{ type: core.HostBinding, args: ['style.min-width',] }] - }; - return ZoomDirective; + /** + * @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 {?} */ - 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.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; + /** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ + var SelectComponent = /** @class */ (function () { + function SelectComponent(_onCloseService) { + var _this = this; + this._onCloseService = _onCloseService; + this.disabled = false; + this.selected = 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; + } + }; + /** + * @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
{{option.name}}
\r\n
\r\n
\r\n
\r\n
\r\n", + styles: [".select{min-width:50px;display:flex;flex-direction:row;justify-content: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 }], + isOpen: [{ type: core.Input }] + }; + return SelectComponent; }()); - 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.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; - } - }; - /** - * @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
{{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 }], - isOpen: [{ type: core.Input }] - }; - return SelectComponent; + /** + * @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 {?} */ - SelectComponent.prototype.options; - /** @type {?} */ - SelectComponent.prototype.disabled; - /** @type {?} */ - SelectComponent.prototype.showSelected; - /** @type {?} */ - SelectComponent.prototype.selected; - /** @type {?} */ - SelectComponent.prototype.isOpen; - /** - * @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; + /** + * @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 {?} */ - 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; + /** + * @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:flex;flex-direction:column;justify-content:center;align-items:center;width:100%;height:100%}.icon{font-size:65px;margin-bottom:43px;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:flex;flex-direction:column;width:250px;height:250px;align-items: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 {?} */ - 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; + /** + * @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 {?} */ - 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; + /** + * @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, e_2, _b; + /** @type {?} */ + var pagesHtml = ''; + if (this.htmlMode) { + 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 += '
' + + '
' + page.data + '
' + + '
'; + } + } + 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; } + } + } + else { + try { + for (var pages_2 = __values(pages), pages_2_1 = pages_2.next(); !pages_2_1.done; pages_2_1 = pages_2.next()) { + var page = pages_2_1.value; + pagesHtml += '
' + + '
' + + '
'; + } + } + catch (e_2_1) { e_2 = { error: e_2_1 }; } + finally { + try { + if (pages_2_1 && !pages_2_1.done && (_b = pages_2.return)) _b.call(pages_2); + } + finally { if (e_2) throw e_2.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(); + windowObject.focus(); + windowObject.print(); + windowObject.close(); + }; + /** + * @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 {?} - * @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, e_2, _b; - /** @type {?} */ - var pagesHtml = ''; - if (this.htmlMode) { - 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 += '
' + - '
' + page.data + '
' + - '
'; - } - } - 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; } - } - } - else { - try { - for (var pages_2 = __values(pages), pages_2_1 = pages_2.next(); !pages_2_1.done; pages_2_1 = pages_2.next()) { - var page = pages_2_1.value; - pagesHtml += '
' + - '
' + - '
'; - } - } - catch (e_2_1) { e_2 = { error: e_2_1 }; } - finally { - try { - if (pages_2_1 && !pages_2_1.done && (_b = pages_2.return)) _b.call(pages_2); - } - finally { if (e_2) throw e_2.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(); - windowObject.focus(); - windowObject.print(); - windowObject.close(); - }; - /** - * @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; + /** + * @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(); + } + Object.defineProperty(ExceptionMessageService.prototype, "messageChange", { + get: /** + * @return {?} + */ + function () { + return this._messageChange; + }, + enumerable: true, + configurable: true + }); + /** + * @param {?} message + * @return {?} + */ + ExceptionMessageService.prototype.changeMessage = /** + * @param {?} message + * @return {?} + */ + function (message) { + this._observer.next(message); + }; + return ExceptionMessageService; }()); - 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(); - } - Object.defineProperty(ExceptionMessageService.prototype, "messageChange", { - get: /** - * @return {?} - */ - function () { - return this._messageChange; - }, - enumerable: true, - configurable: true - }); - /** - * @param {?} message - * @return {?} - */ - ExceptionMessageService.prototype.changeMessage = /** - * @param {?} message - * @return {?} - */ - function (message) { - this._observer.next(message); - }; - return ExceptionMessageService; + /** + * @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:inline-flex;flex-direction:column;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:flex}#gd-error-section fa-icon{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 {?} - * @private - */ - ExceptionMessageService.prototype._observer; - /** - * @type {?} - * @private - */ - ExceptionMessageService.prototype._messageChange; - } - /** - * @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; + /** + * @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 {?} */ - 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; + /** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ + /** @type {?} */ + var $$4 = 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 = $$4("#password"); + if (element) { + element.focus(); + } + }), 100); + } + else { + $$4("#password").val(""); + } + }; + /** + * @param {?} $event + * @return {?} + */ + PasswordRequiredComponent.prototype.cancel = /** + * @param {?} $event + * @return {?} + */ + function ($event) { + $$4("#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:468px;height:164px}.gd-password-wrap{display:flex;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;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 {?} - * @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 $$4 = 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 = $$4("#password"); - if (element) { - element.focus(); - } - }), 100); - } - else { - $$4("#password").val(""); - } - }; - /** - * @param {?} $event - * @return {?} - */ - PasswordRequiredComponent.prototype.cancel = /** - * @param {?} $event - * @return {?} - */ - function ($event) { - $$4("#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:468px;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; + /** + * @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._modalService.open(CommonModals.ErrorMessage); + 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.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 {?} */ - 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._modalService.open(CommonModals.ErrorMessage); - 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.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; + /** + * @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 - */ - 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; + /** + * @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;transform:translate(-50%,0);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 {?} - * @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; + /** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ + /** @type {?} */ + var $$5 = 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) { + $$5(value).removeClass('gd-highlight-select'); + })); + /** @type {?} */ + var currentEl = el.querySelectorAll('.gd-highlight')[this.current - 1]; + $$5(currentEl).addClass('gd-highlight-select'); + if (currentEl) { + /** @type {?} */ + var options = { + left: 0, + top: ($$5(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 = $$5(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 = $$5(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 {?} */ - 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 $$5 = 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) { - $$5(value).removeClass('gd-highlight-select'); - })); - /** @type {?} */ - var currentEl = el.querySelectorAll('.gd-highlight')[this.current - 1]; - $$5(currentEl).addClass('gd-highlight-select'); - if (currentEl) { - /** @type {?} */ - var options = { - left: 0, - top: ($$5(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 = $$5(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 = $$5(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; + /** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ + var EditHeaderFooterDirective = /** @class */ (function () { + function EditHeaderFooterDirective(_zoomService, _windowService, el) { + this._zoomService = _zoomService; + this._windowService = _windowService; + this.el = el; + } + /** + * @return {?} + */ + EditHeaderFooterDirective.prototype.ngAfterViewInit = /** + * @return {?} + */ + function () { + this.footerRef = this.el.nativeElement.querySelectorAll('.footer')[0]; + this.footerRef.setAttribute("contenteditable", false); + this.footerRef.className += " disabled"; + }; + /** + * @return {?} + */ + EditHeaderFooterDirective.prototype.ngOnDestroy = /** + * @return {?} + */ + function () { + }; + /** + * @return {?} + */ + EditHeaderFooterDirective.prototype.ngOnChanges = /** + * @return {?} + */ + function () { + }; + /** + * @return {?} + */ + EditHeaderFooterDirective.prototype.ngOnInit = /** + * @return {?} + */ + function () { + }; + /** + * @param {?} event + * @return {?} + */ + EditHeaderFooterDirective.prototype.dblclickEvent = /** + * @param {?} event + * @return {?} + */ + function (event) { + /** @type {?} */ + var footerTitle = document.createElement("div"); + footerTitle.className = "footer-title"; + footerTitle.append('Footer'); + /** @type {?} */ + var footer = event.target.closest('.footer'); + if (footer && footer.classList.contains('disabled')) { + console.log('dblclick in footer fired'); + footer.classList.remove('disabled'); + footer.setAttribute("contenteditable", true); + footer.before(footerTitle); + } + event.preventDefault(); + event.stopPropagation(); + }; + /** + * @param {?} event + * @return {?} + */ + EditHeaderFooterDirective.prototype.clickEvent = /** + * @param {?} event + * @return {?} + */ + function (event) { + console.log('click on el fired'); + /** @type {?} */ + var footer = event.target.closest('.footer'); + if (!footer) { + this.footerRef.setAttribute("contenteditable", false); + if (!this.footerRef.classList.contains('disabled')) { + this.footerRef.className += " disabled"; + } + /** @type {?} */ + var section = this.el.nativeElement.querySelectorAll('.section')[0]; + /** @type {?} */ + var footerTitle = this.el.nativeElement.querySelectorAll('.footer-title')[0]; + if (section && footerTitle) { + section.removeChild(footerTitle); + } + } + }; + EditHeaderFooterDirective.decorators = [ + { type: core.Directive, args: [{ + selector: '[gdEditHeaderFooter]' + },] } + ]; + /** @nocollapse */ + EditHeaderFooterDirective.ctorParameters = function () { return [ + { type: ZoomService }, + { type: WindowService }, + { type: core.ElementRef } + ]; }; + EditHeaderFooterDirective.propDecorators = { + dblclickEvent: [{ type: core.HostListener, args: ['dblclick', ['$event'],] }], + clickEvent: [{ type: core.HostListener, args: ['click', ['$event'],] }] + }; + return EditHeaderFooterDirective; }()); - 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; + /** + * @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: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; + /** + * @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;margin:auto 23px}.gd-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}.gd-tab .title{display:none}.gd-tab .icon{display:block}}"] - }] } - ]; - /** @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; + /** + * @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:flex}.gd-tab{text-align:center;font-size:11px;color:#e5e5e5;height:30px;line-height:30px;cursor:pointer;display:flex;align-items:center;justify-content:center}.gd-tab .icon{display:none;font-size:14px;margin:auto 23px}.gd-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}.gd-tab .title{display:none}.gd-tab .icon{display:block}}"] + }] } + ]; + /** @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: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; + /** + * @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; + }()); + 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; + /** + * @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:flex;flex-wrap:wrap;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; + /** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ + var SelectionService = /** @class */ (function () { + function SelectionService() { + this.isIE = !!/(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 $$6 = 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 = $$6(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"; - } - $$6(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; + /** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ + /** @type {?} */ + var $$6 = 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!@*/ !!/(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 = $$6(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"; + } + $$6(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:flex;overflow:hidden;width:469px;height:183px}.sa-icon.sa-success{border-color:#4caf50;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;transform:rotate(-45deg);transform-origin:60px 60px}.sa-icon.sa-success::after{border-radius:0 120px 120px 0;top:-11px;left:30px;transform:rotate(-45deg);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;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;transform:rotate(45deg)}.sa-icon.sa-success .sa-line.sa-long{width:47px;right:8px;top:38px;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;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; + /** + * @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; + /** + * @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 = !!/(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); - } - /** - * @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(); - }; - /** - * @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; + /** + * @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); + } + /** + * @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(); + }; + /** + * @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; + /** + * @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%;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; + /** + * @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; + /** + * @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:flex;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:flex;flex-direction:row;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; + }()); + /** + * 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:flex;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:flex;flex-direction:row;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; + }()); + /** + * 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:flex;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:flex;flex-direction:row;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; + }()); + /** + * 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:flex;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:flex;flex-direction:row;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; + /** + * @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;transition:transform .3s ease-out;width:100%;height:100%;display:flex;justify-content: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; + /** + * @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; + /** + * @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; + /** + * @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; + /** + * @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 $$7 = 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 = $$7(this.getElementId(this.SE)); - /** @type {?} */ - var elNW = $$7(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; + /** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ + /** @type {?} */ + var $$7 = 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 = $$7(this.getElementId(this.SE)); + /** @type {?} */ + var elNW = $$7(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; + /** + * @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:flex;flex-direction:column;align-items:center;align-content: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:flex;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 $$8 = jquery; - var TextMenuComponent = /** @class */ (function () { - function TextMenuComponent(_onCloseService) { - var _this = this; - this._onCloseService = _onCloseService; - 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; - })); - } - /** - * @return {?} - */ - TextMenuComponent.prototype.ngOnInit = /** - * @return {?} - */ - function () { - }; - /** - * @param {?} $event - * @return {?} - */ - TextMenuComponent.prototype.selectFontSize = /** - * @param {?} $event - * @return {?} - */ - function ($event) { - $$8(".gd-wrapper").off("keyup"); - this.outFontSize.emit($event.value); - $$8(".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;bottom:0;left:0;right:0;width:100%;height:60px;-webkit-box-align:center;align-items:center;padding:0;margin:0;background-color:#fff;border-top:2px solid #707070}.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:-200px}.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 .button{margin:3px!important}}"] - }] } - ]; - /** @nocollapse */ - TextMenuComponent.ctorParameters = function () { return [ - { type: OnCloseService } - ]; }; - 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; + /** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ + /** @type {?} */ + var $$8 = jquery; + var TextMenuComponent = /** @class */ (function () { + function TextMenuComponent(_onCloseService) { + var _this = this; + this._onCloseService = _onCloseService; + 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; + })); + } + /** + * @return {?} + */ + TextMenuComponent.prototype.ngOnInit = /** + * @return {?} + */ + function () { + }; + /** + * @param {?} $event + * @return {?} + */ + TextMenuComponent.prototype.selectFontSize = /** + * @param {?} $event + * @return {?} + */ + function ($event) { + $$8(".gd-wrapper").off("keyup"); + this.outFontSize.emit($event.value); + $$8(".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:flex;flex-direction:row}.gd-text-menu .format-select{height:37px;display:flex;justify-content: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;bottom:0;left:0;right:0;width:100%;height:60px;align-items:center;padding:0;margin:0;background-color:#fff;border-top:2px solid #707070}.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:-200px}.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 .button{margin:3px!important}}"] + }] } + ]; + /** @nocollapse */ + TextMenuComponent.ctorParameters = function () { return [ + { type: OnCloseService } + ]; }; + 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 {?} - * @private - */ - TextMenuComponent.prototype._onCloseService; - } - /** - * @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) { - var _this = this; - this._windowService = _windowService; - 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(); - })); - } - /** - * @return {?} - */ - ContextMenuComponent.prototype.ngOnInit = /** - * @return {?} - */ - function () { - }; - /** - * @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:-34px}}"] - }] } - ]; - /** @nocollapse */ - ContextMenuComponent.ctorParameters = function () { return [ - { type: WindowService } - ]; }; - 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; + /** + * @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; + }()); + var ContextMenuComponent = /** @class */ (function () { + function ContextMenuComponent(_windowService) { + var _this = this; + this._windowService = _windowService; + 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(); + })); + } + /** + * @return {?} + */ + ContextMenuComponent.prototype.ngOnInit = /** + * @return {?} + */ + function () { + }; + /** + * @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:flex;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:-34px}}"] + }] } + ]; + /** @nocollapse */ + ContextMenuComponent.ctorParameters = function () { return [ + { type: WindowService } + ]; }; + 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; - } - /** - * @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, - 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, - 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, + ZoomDirective, + SelectComponent, + DisabledCursorDirective, + RotationDirective, + InitStateComponent, + RenderPrintDirective, + ErrorModalComponent, + PasswordRequiredComponent, + SearchComponent, + SearchableDirective, + EditHeaderFooterDirective, + 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, + SelectComponent, + RotationDirective, + InitStateComponent, + RenderPrintDirective, + ErrorModalComponent, + PasswordRequiredComponent, + SearchComponent, + SearchableDirective, + EditHeaderFooterDirective, + 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; @@ -8377,12 +6962,13 @@ exports.WindowService = WindowService; exports.ZoomDirective = ZoomDirective; exports.ZoomService = ZoomService; - exports.ɵa = TabsComponent; - exports.ɵb = TooltipDirective; - exports.ɵc = ResizingComponent; - exports.ɵd = TopTabComponent; + exports.ɵa = EditHeaderFooterDirective; + exports.ɵb = TabsComponent; + exports.ɵc = TooltipDirective; + exports.ɵd = ResizingComponent; + exports.ɵe = TopTabComponent; Object.defineProperty(exports, '__esModule', { value: true }); -}))); +})); //# sourceMappingURL=groupdocs.examples.angular-common-components.umd.js.map 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 d9806f8c1..8a7bba793 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/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/page-preload.service.ts","ng://@groupdocs.examples.angular/common-components/lib/navigate.service.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/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 @Output() hideSidePanel = new EventEmitter();\n\n onlyTitle = false;\n\n constructor() {\n }\n\n openSidePanel() {\n this.hideSidePanel.emit(true);\n }\n\n toggleTitleMode(){\n this.onlyTitle = !this.onlyTitle;\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 EDITOR_APP = '/editor';\n public static COMPARISON_APP = '/comparison';\n public static CONVERSION_APP = '/conversion';\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 ROTATE_DOCUMENT_PAGE = '/rotateDocumentPages';\n public static UPLOAD_DOCUMENTS = '/uploadDocument';\n public static DOWNLOAD_DOCUMENTS = '/downloadDocument';\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 COMPARE_FILES = '/compare';\n public static CONVERT_FILE = '/convert';\n public static DELETE_SIGNATURE_FILE = '/deleteSignatureFile';\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\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 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","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}\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 {\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';\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 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\n _zoomService.zoomChange.subscribe((val: number) => {\n this.zoom = val;\n });\n\n this.isDesktop = _windowService.isDesktop();\n }\n\n ngOnInit() {\n }\n\n ngOnChanges() {\n const panzoom = this._elementRef.nativeElement.children.item(0).children.item(0);\n (panzoom as any).style.transform = '';\n // TODO: this intersects with zooming by zoom directive, but still needed\n // for flush previous settings before opening another file\n //this._zoomService.changeZoom(100);\n //this.scale = 1;\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 getDimensionWithUnit(value: number) {\n return 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 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 absolutePosition(el) {\n let x = 0, y = 0;\n\n while (el !== null) {\n x += el.offsetLeft;\n y += el.offsetTop;\n el = el.offsetParent;\n }\n\n return {x: x, y: y};\n };\n\n restrictRawPos(pos, viewportDim, docDim) {\n if (pos < viewportDim / this.scale - docDim) { // too far left/up?\n pos = viewportDim / this.scale - docDim;\n } else if (pos > 0) { // too far right/down?\n pos = 0;\n }\n return pos;\n };\n\n updateLastPos() {\n this.lastX = this.x;\n this.lastY = this.y;\n };\n\n translate(deltaX, deltaY) {\n // We restrict to the min of the viewport width/height or current width/height as the\n // current width/height may be smaller than the viewport width/height\n const newX = this.restrictRawPos(this.lastX + deltaX / this.scale,\n Math.min(this.viewportWidth, this.curWidth), this.docWidth);\n this.x = newX;\n // TODO: value here and in the similar line below changes to positive to take any effect\n this.container.scrollLeft = -Math.ceil(newX * this.scale);\n\n const newY = this.restrictRawPos(this.lastY + deltaY / this.scale,\n Math.min(this.viewportHeight, this.curHeight), this.docHeight);\n this.y = newY;\n this.container.scrollTop = -Math.ceil(newY * this.scale);\n\n this.doc.style.transform = 'scale(' + this.scale + ')';\n };\n\n startZoom(scaleBy) {\n this.scale = this.lastScale * scaleBy;\n\n this.curWidth = this.docWidth * this.scale;\n this.curHeight = this.docHeight * this.scale;\n\n // Adjust margins to make sure that we aren't out of bounds\n this.translate(0, 0);\n };\n\n rawCenter($event) {\n const pos = this.absolutePosition(this.container);\n\n // We need to account for the scroll position\n const scrollLeft = window.pageXOffset ? window.pageXOffset : document.body.scrollLeft;\n const scrollTop = window.pageYOffset ? window.pageYOffset : document.body.scrollTop;\n\n const zoomX = -this.x + ($event.center.x - pos.x + scrollLeft) / this.scale;\n const zoomY = -this.y + ($event.center.y - pos.y + scrollTop) / this.scale;\n\n return {x: zoomX, y: zoomY};\n };\n\n updateLastScale() {\n this.lastScale = this.scale;\n };\n\n zoomAround(scaleBy, rawZoomX, rawZoomY, doNotUpdateLast) {\n // Zoom\n this.startZoom(scaleBy);\n\n // New raw center of viewport\n const rawCenterX = -this.x + Math.min(this.viewportWidth, this.curWidth) / 2 / this.scale;\n const rawCenterY = -this.y + Math.min(this.viewportHeight, this.curHeight) / 2 / this.scale;\n\n // Delta\n const deltaX = (rawCenterX - rawZoomX) * this.scale;\n const deltaY = (rawCenterY - rawZoomY) * this.scale;\n\n // Translate back to zoom center\n this.translate(deltaX, deltaY);\n\n if (!doNotUpdateLast) {\n this.updateLastScale();\n this.updateLastPos();\n }\n };\n\n onPinch($event) {\n if (this.pinchCenter === null) {\n this.pinchCenter = this.rawCenter($event);\n const offsetX = this.pinchCenter.x * this.scale - (-this.x * this.scale + Math.min(this.viewportWidth, this.curWidth) / 2);\n const offsetY = this.pinchCenter.y * this.scale - (-this.y * this.scale + Math.min(this.viewportHeight, this.curHeight) / 2);\n this.pinchCenterOffset = {x: offsetX, y: offsetY};\n }\n\n const newScale = this.scale * $event.scale;\n\n const zoomX = this.pinchCenter.x * newScale - this.pinchCenterOffset.x;\n const zoomY = this.pinchCenter.y * newScale - this.pinchCenterOffset.y;\n const zoomCenter = {x: zoomX / newScale, y: zoomY / newScale};\n\n this.zoomAround($event.scale, zoomCenter.x, zoomCenter.y, true);\n }\n\n onPinchEnd($event) {\n this.updateLastScale();\n this.updateLastPos();\n this.pinchCenter = null;\n }\n\n onPan($event) {\n // TODO: looks like native pan works better\n // if (!this.isDesktop) {\n // this.translate($event.deltaX, $event.deltaY);\n // }\n }\n\n onPanEnd($event) {\n // if (!this.isDesktop) {\n // this.updateLastPos();\n // }\n }\n\n onDoubleTap($event) {\n if (!this.isDesktop) {\n if ($event.tapCount === 2) {\n const c = this.rawCenter($event);\n this.zoomAround(2, c.x, c.y, false);\n }\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 // 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 !== null ? this.data.replace(/>\\s+<').replace(/\\uFEFF/g,\"\") : null;\n const dataImagePngBase64 = 'data:image/png;base64,';\n this.imgData = dataImagePngBase64;\n if (!this.isHtml) {\n this.imgData += 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 {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 {Observable, Observer} 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 readonly _navigate: Observable;\n private _observer: Observer;\n\n constructor(private _pagePreloadService: PagePreloadService) {\n this._navigate = new Observable(observer =>\n this._observer = observer);\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 {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\n private currentPage: number;\n private zoom = 100;\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 const count = Math.floor((this.getWidth() - offset) / (pageEl.getBoundingClientRect().width * this.getZoom()));\n return count === 0 ? 1 : count;\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 this._navigateService.currentPage = page;\n }\n currentPageSet = true;\n }\n this._pagePreloadService.changeLastPageInView(page);\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 {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.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 resizePages(zoom){\n const zoomInt = zoom === 100 ? 1 : zoom / 100;\n\n const viewPortWidth = this.el.nativeElement.parentElement.offsetWidth;\n const scrollWidth = this.getScrollWidth(this.el.nativeElement.parentElement);\n this.width = (viewPortWidth/zoomInt - scrollWidth/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 @Input() isOpen = false;\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 }\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 if (this.htmlMode) {\n for (const page of pages) {\n pagesHtml += '
' +\n '
' + page.data + '
' +\n '
';\n }\n } else {\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 windowObject.focus();\n windowObject.print();\n windowObject.close();\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 {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 constructor() {\n }\n\n get messageChange(): Observable {\n return this._messageChange;\n }\n\n changeMessage(message: string) {\n this._observer.next(message);\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 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._modalService.open(CommonModals.ErrorMessage);\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 }\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 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} 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\";\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\n constructor(private _onCloseService: OnCloseService) {\n _onCloseService.onClose.subscribe(() => {\n this.colorPickerShow = false;\n });\n }\n\n ngOnInit() {\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} from '@angular/core';\nimport {Formatting} from \"../formatting.service\";\nimport {WindowService} from \"../window.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 this.isMobile = _windowService.isMobile();\n _windowService.onResize.subscribe((w) => {\n this.isMobile = _windowService.isMobile();\n });\n }\n\n ngOnInit() {\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 {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 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 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","library","fas","far","NgModule","CommonModule","FontAwesomeModule","ClickOutsideModule"],"mappings":";;;;;;IAAA;IACA;IACA;IACA;IACA;;IAEA;IACA;IACA;IACA;;IAEA;IACA;IACA;IACA;;IAEA,IAAI,aAAa,GAAG,SAAS,CAAC,EAAE,CAAC,EAAE;IACnC,IAAI,aAAa,GAAG,MAAM,CAAC,cAAc;IACzC,SAAS,EAAE,SAAS,EAAE,EAAE,EAAE,YAAY,KAAK,IAAI,UAAU,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,SAAS,GAAG,CAAC,CAAC,EAAE,CAAC;IACpF,QAAQ,UAAU,CAAC,EAAE,CAAC,EAAE,EAAE,KAAK,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IACnF,IAAI,OAAO,aAAa,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAC/B,CAAC,CAAC;;AAEF,IAAO,SAAS,SAAS,CAAC,CAAC,EAAE,CAAC,EAAE;IAChC,IAAI,aAAa,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACxB,IAAI,SAAS,EAAE,GAAG,EAAE,IAAI,CAAC,WAAW,GAAG,CAAC,CAAC,EAAE;IAC3C,IAAI,CAAC,CAAC,SAAS,GAAG,CAAC,KAAK,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,SAAS,GAAG,CAAC,CAAC,SAAS,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC;IACzF,CAAC;;AAED,IAAO,IAAI,QAAQ,GAAG,WAAW;IACjC,IAAI,QAAQ,GAAG,MAAM,CAAC,MAAM,IAAI,SAAS,QAAQ,CAAC,CAAC,EAAE;IACrD,QAAQ,KAAK,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE;IAC7D,YAAY,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;IAC7B,YAAY,KAAK,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IACzF,SAAS;IACT,QAAQ,OAAO,CAAC,CAAC;IACjB,MAAK;IACL,IAAI,OAAO,QAAQ,CAAC,KAAK,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;IAC3C,EAAC;;AAED,IAAO,SAAS,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE;IAC7B,IAAI,IAAI,CAAC,GAAG,EAAE,CAAC;IACf,IAAI,KAAK,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC;IACvF,QAAQ,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IACpB,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,OAAO,MAAM,CAAC,qBAAqB,KAAK,UAAU;IACvE,QAAQ,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,qBAAqB,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;IAChF,YAAY,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,MAAM,CAAC,SAAS,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IAC1F,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAClC,SAAS;IACT,IAAI,OAAO,CAAC,CAAC;IACb,CAAC;;AAED,IAAO,SAAS,UAAU,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE;IAC1D,IAAI,IAAI,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,MAAM,GAAG,IAAI,KAAK,IAAI,GAAG,IAAI,GAAG,MAAM,CAAC,wBAAwB,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI,EAAE,CAAC,CAAC;IACjI,IAAI,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,OAAO,CAAC,QAAQ,KAAK,UAAU,EAAE,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;IACnI,SAAS,KAAK,IAAI,CAAC,GAAG,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,IAAI,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC;IACtJ,IAAI,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;IAClE,CAAC;;AAED,IAAO,SAAS,OAAO,CAAC,UAAU,EAAE,SAAS,EAAE;IAC/C,IAAI,OAAO,UAAU,MAAM,EAAE,GAAG,EAAE,EAAE,SAAS,CAAC,MAAM,EAAE,GAAG,EAAE,UAAU,CAAC,CAAC,EAAE;IACzE,CAAC;;AAED,IAAO,SAAS,UAAU,CAAC,WAAW,EAAE,aAAa,EAAE;IACvD,IAAI,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,OAAO,CAAC,QAAQ,KAAK,UAAU,EAAE,OAAO,OAAO,CAAC,QAAQ,CAAC,WAAW,EAAE,aAAa,CAAC,CAAC;IACnI,CAAC;;AAED,IAAO,SAAS,SAAS,CAAC,OAAO,EAAE,UAAU,EAAE,CAAC,EAAE,SAAS,EAAE;IAC7D,IAAI,OAAO,KAAK,CAAC,KAAK,CAAC,GAAG,OAAO,CAAC,EAAE,UAAU,OAAO,EAAE,MAAM,EAAE;IAC/D,QAAQ,SAAS,SAAS,CAAC,KAAK,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE;IACnG,QAAQ,SAAS,QAAQ,CAAC,KAAK,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE;IACtG,QAAQ,SAAS,IAAI,CAAC,MAAM,EAAE,EAAE,MAAM,CAAC,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,CAAC,UAAU,OAAO,EAAE,EAAE,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC,EAAE;IACvJ,QAAQ,IAAI,CAAC,CAAC,SAAS,GAAG,SAAS,CAAC,KAAK,CAAC,OAAO,EAAE,UAAU,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC;IAC9E,KAAK,CAAC,CAAC;IACP,CAAC;;AAED,IAAO,SAAS,WAAW,CAAC,OAAO,EAAE,IAAI,EAAE;IAC3C,IAAI,IAAI,CAAC,GAAG,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;IACrH,IAAI,OAAO,CAAC,GAAG,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,OAAO,MAAM,KAAK,UAAU,KAAK,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,WAAW,EAAE,OAAO,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;IAC7J,IAAI,SAAS,IAAI,CAAC,CAAC,EAAE,EAAE,OAAO,UAAU,CAAC,EAAE,EAAE,OAAO,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE;IACtE,IAAI,SAAS,IAAI,CAAC,EAAE,EAAE;IACtB,QAAQ,IAAI,CAAC,EAAE,MAAM,IAAI,SAAS,CAAC,iCAAiC,CAAC,CAAC;IACtE,QAAQ,OAAO,CAAC,EAAE,IAAI;IACtB,YAAY,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;IACzK,YAAY,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC;IACpD,YAAY,QAAQ,EAAE,CAAC,CAAC,CAAC;IACzB,gBAAgB,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC,MAAM;IAC9C,gBAAgB,KAAK,CAAC,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,OAAO,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;IACxE,gBAAgB,KAAK,CAAC,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS;IACjE,gBAAgB,KAAK,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,SAAS;IACjE,gBAAgB;IAChB,oBAAoB,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,EAAE;IAChI,oBAAoB,IAAI,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE;IAC1G,oBAAoB,IAAI,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE;IACzF,oBAAoB,IAAI,CAAC,IAAI,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,EAAE;IACvF,oBAAoB,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC;IAC1C,oBAAoB,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,SAAS;IAC3C,aAAa;IACb,YAAY,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;IACvC,SAAS,CAAC,OAAO,CAAC,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE;IAClE,QAAQ,IAAI,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;IACzF,KAAK;IACL,CAAC;;AAED,IAAO,SAAS,YAAY,CAAC,CAAC,EAAE,OAAO,EAAE;IACzC,IAAI,KAAK,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IACvE,CAAC;;AAED,IAAO,SAAS,QAAQ,CAAC,CAAC,EAAE;IAC5B,IAAI,IAAI,CAAC,GAAG,OAAO,MAAM,KAAK,UAAU,IAAI,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC;IACtE,IAAI,IAAI,CAAC,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAC5B,IAAI,OAAO;IACX,QAAQ,IAAI,EAAE,YAAY;IAC1B,YAAY,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,KAAK,CAAC,CAAC;IAC/C,YAAY,OAAO,EAAE,KAAK,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC;IACpD,SAAS;IACT,KAAK,CAAC;IACN,CAAC;;AAED,IAAO,SAAS,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE;IAC7B,IAAI,IAAI,CAAC,GAAG,OAAO,MAAM,KAAK,UAAU,IAAI,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IAC/D,IAAI,IAAI,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;IACrB,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC;IACrC,IAAI,IAAI;IACR,QAAQ,OAAO,CAAC,CAAC,KAAK,KAAK,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;IACnF,KAAK;IACL,IAAI,OAAO,KAAK,EAAE,EAAE,CAAC,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,EAAE;IAC3C,YAAY;IACZ,QAAQ,IAAI;IACZ,YAAY,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAC7D,SAAS;IACT,gBAAgB,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,CAAC,KAAK,CAAC,EAAE;IACzC,KAAK;IACL,IAAI,OAAO,EAAE,CAAC;IACd,CAAC;;AAED,IAAO,SAAS,QAAQ,GAAG;IAC3B,IAAI,KAAK,IAAI,EAAE,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,EAAE;IACtD,QAAQ,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC7C,IAAI,OAAO,EAAE,CAAC;IACd,CAAC;;AAED,IAAO,SAAS,cAAc,GAAG;IACjC,IAAI,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,IAAI,SAAS,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;IACxF,IAAI,KAAK,IAAI,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE;IACpD,QAAQ,KAAK,IAAI,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE;IACzE,YAAY,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IACxB,IAAI,OAAO,CAAC,CAAC;IACb,CAAC,CAAC;;AAEF,IAAO,SAAS,OAAO,CAAC,CAAC,EAAE;IAC3B,IAAI,OAAO,IAAI,YAAY,OAAO,IAAI,IAAI,CAAC,CAAC,GAAG,CAAC,EAAE,IAAI,IAAI,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC;IACzE,CAAC;;AAED,IAAO,SAAS,gBAAgB,CAAC,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE;IACjE,IAAI,IAAI,CAAC,MAAM,CAAC,aAAa,EAAE,MAAM,IAAI,SAAS,CAAC,sCAAsC,CAAC,CAAC;IAC3F,IAAI,IAAI,CAAC,GAAG,SAAS,CAAC,KAAK,CAAC,OAAO,EAAE,UAAU,IAAI,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC;IAClE,IAAI,OAAO,CAAC,GAAG,EAAE,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,EAAE,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,GAAG,YAAY,EAAE,OAAO,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;IAC1H,IAAI,SAAS,IAAI,CAAC,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,UAAU,CAAC,EAAE,EAAE,OAAO,IAAI,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE;IAC9I,IAAI,SAAS,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE;IACtF,IAAI,SAAS,IAAI,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,YAAY,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE;IAC5H,IAAI,SAAS,OAAO,CAAC,KAAK,EAAE,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,EAAE;IACtD,IAAI,SAAS,MAAM,CAAC,KAAK,EAAE,EAAE,MAAM,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,EAAE;IACtD,IAAI,SAAS,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE;IACtF,CAAC;;AAED,IAAO,SAAS,gBAAgB,CAAC,CAAC,EAAE;IACpC,IAAI,IAAI,CAAC,EAAE,CAAC,CAAC;IACb,IAAI,OAAO,CAAC,GAAG,EAAE,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,OAAO,EAAE,UAAU,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,YAAY,EAAE,OAAO,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;IAChJ,IAAI,SAAS,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,UAAU,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,KAAK,QAAQ,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE;IACnJ,CAAC;;AAED,IAAO,SAAS,aAAa,CAAC,CAAC,EAAE;IACjC,IAAI,IAAI,CAAC,MAAM,CAAC,aAAa,EAAE,MAAM,IAAI,SAAS,CAAC,sCAAsC,CAAC,CAAC;IAC3F,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC;IACvC,IAAI,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,OAAO,QAAQ,KAAK,UAAU,GAAG,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC,GAAG,EAAE,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,EAAE,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,GAAG,YAAY,EAAE,OAAO,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;IACrN,IAAI,SAAS,IAAI,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,UAAU,CAAC,EAAE,EAAE,OAAO,IAAI,OAAO,CAAC,UAAU,OAAO,EAAE,MAAM,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE;IACpK,IAAI,SAAS,MAAM,CAAC,OAAO,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,EAAE,OAAO,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC,EAAE;IAChI,CAAC;;AAED,IAAO,SAAS,oBAAoB,CAAC,MAAM,EAAE,GAAG,EAAE;IAClD,IAAI,IAAI,MAAM,CAAC,cAAc,EAAE,EAAE,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,GAAG,GAAG,GAAG,CAAC,EAAE;IACnH,IAAI,OAAO,MAAM,CAAC;IAClB,CAAC,CAAC;;AAEF,IAAO,SAAS,YAAY,CAAC,GAAG,EAAE;IAClC,IAAI,IAAI,GAAG,IAAI,GAAG,CAAC,UAAU,EAAE,OAAO,GAAG,CAAC;IAC1C,IAAI,IAAI,MAAM,GAAG,EAAE,CAAC;IACpB,IAAI,IAAI,GAAG,IAAI,IAAI,EAAE,KAAK,IAAI,CAAC,IAAI,GAAG,EAAE,IAAI,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;IACnG,IAAI,MAAM,CAAC,OAAO,GAAG,GAAG,CAAC;IACzB,IAAI,OAAO,MAAM,CAAC;IAClB,CAAC;;AAED,IAAO,SAAS,eAAe,CAAC,GAAG,EAAE;IACrC,IAAI,OAAO,CAAC,GAAG,IAAI,GAAG,CAAC,UAAU,IAAI,GAAG,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC;IAC5D,CAAC;;;;;;ACnMD;QASE;SACC;;oBARFA,cAAS,SAAC;wBACT,QAAQ,EAAE,gBAAgB;wBAC1B,gIAA2C;;qBAE5C;;;;QAKD,0BAAC;KATD;;;;;;ACFA;QAeE;YAJU,kBAAa,GAAG,IAAIC,iBAAY,EAAW,CAAC;YAEtD,cAAS,GAAG,KAAK,CAAC;SAGjB;;;;QAED,0CAAa;;;QAAb;YACE,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;SAC/B;;;;QAED,4CAAe;;;QAAf;YACE,IAAI,CAAC,SAAS,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC;SAClC;;oBAtBFD,cAAS,SAAC;wBACT,QAAQ,EAAE,eAAe;wBACzB,sjBAA0C;;qBAE3C;;;;;4BAGEE,UAAK;2BACLA,UAAK;oCACLC,WAAM;;QAcT,yBAAC;KAvBD,IAuBC;;;QAhBC,mCAAuB;;QACvB,kCAAsB;;QACtB,2CAAsD;;QAEtD,uCAAkB;;;;;;;ICbpB;QAGM,gBAAgB,GAAG,GAAG;;QACtB,gBAAgB,GAAG,IAAI;AAE7B;QAOE;YAAA,iBAgBC;YArBO,kBAAa,GAAoB,IAAIC,YAAO,EAAE,CAAC;YAMrD,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC,UAAU,CAAC;YAC/B,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,WAAW,CAAC;YAEjC,IAAI,CAAC,QAAQ,GAAGC,cAAS,CAAC,MAAM,EAAE,QAAQ,CAAC;iBACxC,IAAI,CACHC,sBAAY,CAAC,GAAG,CAAC,EACjBC,8BAAoB,EAAE,EACtBC,mBAAS,CAAC,EAAC,MAAM,EAAE,EAAC,UAAU,EAAE,MAAM,CAAC,UAAU,EAAE,WAAW,EAAE,MAAM,CAAC,WAAW,EAAC,EAAC,CAAC,EACrFC,aAAG;;;;YAAC,UAAA,KAAK;gBACP,KAAI,CAAC,aAAa,CAAC,IAAI,oBAAS,KAAK,CAAC,MAAM,GAAC,CAAC;gBAC9C,KAAI,CAAC,KAAK,GAAG,oBAAC,KAAK,CAAC,MAAM,IAAY,UAAU,CAAC;gBACjD,KAAI,CAAC,MAAM,GAAG,oBAAC,KAAK,CAAC,MAAM,IAAY,WAAW,CAAC;aACpD,EAAC,CACH,CAAC;YACJ,IAAI,CAAC,QAAQ,CAAC,SAAS,EAAE,CAAC;SAC3B;QAED,sBAAI,mCAAQ;;;;YAAZ;gBACE,OAAO,IAAI,CAAC,aAAa,CAAC,YAAY,EAAE,CAAC;aAC1C;;;WAAA;;;;QAED,gCAAQ;;;QAAR;YACE,OAAO,IAAI,CAAC,KAAK,IAAI,gBAAgB,CAAC;SACvC;;;;QAED,gCAAQ;;;QAAR;YACE,OAAO,IAAI,CAAC,KAAK,IAAI,gBAAgB,CAAC;SACvC;;;;QAED,iCAAS;;;QAAT;YACE,OAAO,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;SAC7C;;;;QAED,gCAAQ;;;QAAR;YACE,OAAO,IAAI,CAAC,KAAK,CAAC;SACnB;;;;QAED,iCAAS;;;QAAT;YACE,OAAO,IAAI,CAAC,MAAM,CAAC;SACpB;;;;QAED,8BAAM;;;QAAN;YACE,OAAO,MAAM,CAAC,SAAS,CAAC,SAAS,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;SACtE;;;;QAED,iCAAS;;;QAAT;YACE,OAAO,SAAS,CAAC,SAAS,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC;SAClE;QACH,oBAAC;KAAA,IAAA;;;;;;QAtDC,sCAAuD;;;;;QACvD,iCAAiB;;;;;QACjB,8BAAsB;;;;;QACtB,+BAAuB;;;;;;;ACXzB;QAwBE,yBAAY,aAA4B;YAAxC,iBAKC;YApBQ,aAAQ,GAAG,IAAI,CAAC;YAChB,WAAM,GAAG,SAAS,CAAC;YACnB,aAAQ,GAAG,KAAK,CAAC;YAKjB,WAAM,GAAG,KAAK,CAAC;YAEf,gBAAW,GAAG,KAAK,CAAC;YACpB,oBAAe,GAAG,CAAC,CAAC;YAE7B,gBAAW,GAAG,KAAK,CAAC;YAIlB,IAAI,CAAC,SAAS,GAAG,aAAa,CAAC,SAAS,EAAE,CAAC;YAC3C,aAAa,CAAC,QAAQ,CAAC,SAAS;;;;YAAC,UAAC,CAAC;gBACjC,KAAI,CAAC,SAAS,GAAG,aAAa,CAAC,SAAS,EAAE,CAAC;aAC5C,EAAC,CAAC;SACJ;;;;QAED,yCAAe;;;QAAf;YACE,OAAO,IAAI,CAAC,QAAQ,GAAG,aAAa,GAAG,EAAE,CAAC;SAC3C;;;;QAED,oCAAU;;;QAAV;YACE,IAAI,IAAI,CAAC,SAAS,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;gBACpC,IAAI,CAAC,SAAS,IAAI,SAAS,CAAC;aAC7B;SACF;;;;QAED,sCAAY;;;QAAZ;YACE,IAAI,IAAI,CAAC,SAAS,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;gBACpC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;aAC3D;SACF;;;;;;;QAEO,kCAAQ;;;;;;QAAhB,UAAiB,GAAW,EAAE,GAAW;YACvC,OAAO,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE;gBACrC,GAAG,GAAG,GAAG,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;aAC5B;YACD,OAAO,GAAG,CAAC;SACZ;;oBAjDFT,cAAS,SAAC;wBACT,QAAQ,EAAE,WAAW;wBACrB,umBAAsC;;qBAEvC;;;;oBANO,aAAa;;;+BAQlBE,UAAK;6BACLA,UAAK;+BACLA,UAAK;2BACLA,UAAK;gCACLA,UAAK;8BACLA,UAAK;gCACLA,UAAK;6BACLA,UAAK;+BACLA,UAAK;kCACLA,UAAK;sCACLA,UAAK;;QAkCR,sBAAC;KAlDD,IAkDC;;;QA5CC,mCAAyB;;QACzB,iCAA4B;;QAC5B,mCAA0B;;QAC1B,+BAAsB;;QACtB,oCAA2B;;QAC3B,kCAAyB;;QACzB,oCAA2B;;QAC3B,iCAAwB;;QACxB,mCAA0B;;QAC1B,sCAA6B;;QAC7B,0CAA6B;;QAE7B,sCAAoB;;;;;QACpB,oCAA2B;;;;;;;ACtB7B;QAYE;SAAiB;;;;QAEjB,gCAAQ;;;QAAR;SACC;;oBAbFF,cAAS,SAAC;wBACT,QAAQ,EAAE,SAAS;wBACnB,oMAAoC;;qBAErC;;;;;2BAGEE,UAAK;2BACLA,UAAK;;QAOR,oBAAC;KAfD,IAeC;;;QARC,6BAAc;;QACd,6BAAc;;;;;;;ACVhB;QAaE;YAHS,aAAQ,GAAG,CAAC,CAAC;YACtB,eAAU,GAAG,QAAQ,CAAC;SAGrB;;;;QAED,mCAAQ;;;QAAR;YACE,IAAI,IAAI,CAAC,QAAQ,KAAK,CAAC,EAAE;gBACvB,OAAO,SAAS,CAAC;aAClB;YACD,OAAO,UAAU,IAAI,IAAI,CAAC,QAAQ,GAAG,CAAC,GAAG,cAAc,GAAG,eAAe,CAAC,CAAC;SAC5E;QAED,sBACI,kCAAI;;;;;YADR,UACS,KAAc;gBACrB,IAAI,CAAC,UAAU,GAAG,KAAK,GAAG,OAAO,GAAG,QAAQ,CAAC;aAC9C;;;WAAA;;;;QAED,mCAAQ;;;QAAR;SACC;;oBA3BFF,cAAS,SAAC;wBACT,QAAQ,EAAE,YAAY;wBACtB,gGAAuC;;qBAExC;;;;;2BAGEE,UAAK;+BACLA,UAAK;2BAaLA,UAAK;;QAQR,uBAAC;KA7BD,IA6BC;;;QAtBC,gCAAsB;;QACtB,oCAAsB;;QACtB,sCAAsB;;;;;;;ACXxB;QAGA;SA2CC;QA1Ce,cAAU,GAAG,SAAS,CAAC;QACvB,iBAAa,GAAG,YAAY,CAAC;QAC7B,kBAAc,GAAG,aAAa,CAAC;QAC/B,cAAU,GAAG,SAAS,CAAC;QACvB,kBAAc,GAAG,aAAa,CAAC;QAC/B,kBAAc,GAAG,aAAa,CAAC;QAC/B,wBAAoB,GAAG,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC;QAC5C,kBAAc,GAAG,eAAe,CAAC;QACjC,eAAW,GAAG,aAAa,CAAC;QAC5B,6BAAyB,GAAG,0BAA0B,CAAC;QACvD,sBAAkB,GAAG,mBAAmB,CAAC;QACzC,wBAAoB,GAAG,sBAAsB,CAAC;QAC9C,oBAAgB,GAAG,iBAAiB,CAAC;QACrC,sBAAkB,GAAG,mBAAmB,CAAC;QACzC,cAAU,GAAG,YAAY,CAAC;QAC1B,kBAAc,GAAG,WAAW,CAAC;QAC7B,mBAAe,GAAG,iBAAiB,CAAC;QACpC,gBAAY,GAAG,cAAc,CAAC;QAC9B,aAAS,GAAG,WAAW,CAAC;QACxB,iBAAa,GAAG,UAAU,CAAC;QAC3B,gBAAY,GAAG,UAAU,CAAC;QAC1B,yBAAqB,GAAG,sBAAsB,CAAC;QAC/C,qBAAiB,GAAG,kBAAkB,CAAC;QACvC,aAAS,GAAG,WAAW,CAAC;QACxB,cAAU,GAAG,YAAY,CAAC;QAC1B,cAAU,GAAG,YAAY,CAAC;QAC1B,QAAI,GAAG,OAAO,CAAC;QACf,mBAAe,GAAG,iBAAiB,CAAC;QACpC,wBAAoB,GAAG,qBAAqB,CAAC;QAC7C,YAAQ,GAAG,WAAW,CAAC;QAEvB,mBAAe,GAAG;YAC9B,OAAO,EAAE,IAAIQ,gBAAW,CAAC;gBACvB,cAAc,EAAE,kBAAkB;aACnC,CAAC;SACH,CAAC;QACY,mCAA+B,GAAG;YAC9C,OAAO,EAAE,IAAIA,gBAAW,CAAC;gBACvB,cAAc,EAAE,kBAAkB;aACnC,CAAC;YACF,YAAY,qBAAE,MAAM,EAAU;SAC/B,CAAC;QACJ,UAAC;KA3CD,IA2CC;;;QA1CC,eAAqC;;QACrC,kBAA2C;;QAC3C,mBAA6C;;QAC7C,eAAqC;;QACrC,mBAA6C;;QAC7C,mBAA6C;;QAC7C,yBAA0D;;QAC1D,mBAA+C;;QAC/C,gBAA0C;;QAC1C,8BAAqE;;QACrE,uBAAuD;;QACvD,yBAA4D;;QAC5D,qBAAmD;;QACnD,uBAAuD;;QACvD,eAAwC;;QACxC,mBAA2C;;QAC3C,oBAAkD;;QAClD,iBAA4C;;QAC5C,cAAsC;;QACtC,kBAAyC;;QACzC,iBAAwC;;QACxC,0BAA6D;;QAC7D,sBAAqD;;QACrD,cAAsC;;QACtC,eAAwC;;QACxC,eAAwC;;QACxC,SAA6B;;QAC7B,oBAAkD;;QAClD,yBAA2D;;QAC3D,aAAqC;;QAErC,oBAIE;;QACF,oCAKE;;AAGJ;QAKE;YACE,IAAI,CAAC,WAAW,GAAG,GAAG,CAAC,oBAAoB,CAAC;SAC7C;QAED,sBAAI,sCAAW;;;;YAwBf;gBACE,OAAO,IAAI,CAAC,YAAY,CAAC;aAC1B;;;;;YA1BD,UAAgB,GAAW;gBACzB,IAAI,CAAC,YAAY,GAAG,GAAG,IAAI,GAAG,CAAC,IAAI,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC;aAC9F;;;WAAA;;;;;QAED,yCAAiB;;;;QAAjB,UAAkB,GAAG;YACnB,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,GAAG,GAAG,IAAI,GAAG,CAAC,WAAW,CAAC;SACvG;;;;QAED,4CAAoB;;;QAApB;YACE,OAAO,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,GAAG,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,GAAG,GAAG,CAAC,UAAU,CAAC;SAC5G;;;;QAED,4CAAoB;;;QAApB;YACE,OAAO,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,GAAG,GAAG,CAAC,UAAU,CAAC;SACnH;;;;QAED,gDAAwB;;;QAAxB;YACE,OAAO,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,cAAc,CAAC,GAAG,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,GAAG,GAAG,CAAC,cAAc,CAAC;SAC3H;;;;QAED,gDAAwB;;;QAAxB;YACE,OAAO,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,cAAc,CAAC,GAAG,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,GAAG,GAAG,CAAC,cAAc,CAAC;SAC3H;;;;QAMD,+CAAuB;;;QAAvB;YACE,OAAO,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,GAAG,CAAC,aAAa,CAAC,GAAG,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,GAAG,GAAG,CAAC,aAAa,CAAC;SAClH;;;;QAED,gDAAwB;;;QAAxB;YACE,OAAO,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,GAAG,CAAC,cAAc,CAAC,GAAG,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,GAAG,GAAG,CAAC,cAAc,CAAC;SACpH;;oBA3CFC,eAAU;;;;QA4CX,oBAAC;KA5CD,IA4CC;;;;;;QAzCC,qCAA6B;;;;;;;ACnD/B;QAAA;SASC;QARQ,6BAAgB,GAAG,sBAAsB,CAAC;QAC1C,yBAAY,GAAG,kBAAkB,CAAC;QAClC,wBAAW,GAAG,iBAAiB,CAAC;QAChC,2BAAc,GAAG,oBAAoB,CAAC;QACtC,6BAAgB,GAAG,kBAAkB,CAAC;QACtC,8BAAiB,GAAG,wBAAwB,CAAC;QAC7C,+BAAkB,GAAG,yBAAyB,CAAC;QAC/C,+BAAkB,GAAG,wBAAwB,CAAC;QACvD,mBAAC;KATD,IASC;;;QARC,8BAAiD;;QACjD,0BAAyC;;QACzC,yBAAuC;;QACvC,4BAA6C;;QAC7C,8BAA6C;;QAC7C,+BAAoD;;QACpD,gCAAsD;;QACtD,gCAAqD;;AAGvD;QAAA;YACU,WAAM,GAAU,EAAE,CAAC;SAuB5B;;;;;QArBC,0BAAG;;;;QAAH,UAAI,KAAU;YACZ,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;SACzB;;;;;QAED,6BAAM;;;;QAAN,UAAO,EAAU;YACf,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM;;;;YAAC,UAAA,CAAC,IAAI,OAAA,CAAC,CAAC,EAAE,KAAK,EAAE,GAAA,EAAC,CAAC;SACpD;;;;;QAED,2BAAI;;;;QAAJ,UAAK,EAAU;;gBACP,KAAK,GAAQ,IAAI,CAAC,MAAM,CAAC,MAAM;;;;YAAC,UAAA,CAAC,IAAI,OAAA,CAAC,CAAC,EAAE,KAAK,EAAE,GAAA,EAAC,CAAC,CAAC,CAAC;YAC1D,IAAI,KAAK,EAAE;gBACT,KAAK,CAAC,IAAI,EAAE,CAAC;aACd;SACF;;;;;QAED,4BAAK;;;;QAAL,UAAM,EAAU;;gBACR,KAAK,GAAQ,IAAI,CAAC,MAAM,CAAC,MAAM;;;;YAAC,UAAA,CAAC,IAAI,OAAA,CAAC,CAAC,EAAE,KAAK,EAAE,GAAA,EAAC,CAAC,CAAC,CAAC;YAC1D,IAAI,KAAK,EAAE;gBACT,KAAK,CAAC,KAAK,EAAE,CAAC;aACf;SACF;QACH,mBAAC;KAAA,IAAA;;;;;;QAvBC,8BAA2B;;;;;;;ACZ7B;QAgBE,wBAAoB,YAA0B,EAAE,EAAc;YAA1C,iBAAY,GAAZ,YAAY,CAAc;YALpC,YAAO,GAAG,IAAIV,iBAAY,EAAW,CAAC;YACtC,WAAM,GAAG,IAAIA,iBAAY,EAAW,CAAC;YAC/C,eAAU,GAAG,KAAK,CAAC;YAIjB,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC,aAAa,CAAC;SACjC;;;;QAED,iCAAQ;;;QAAR;YACE,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE;gBACZ,OAAO,CAAC,KAAK,CAAC,uBAAuB,CAAC,CAAC;gBACvC,OAAO;aACR;YAED,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YAExC,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;SAC7B;;;;QAED,oCAAW;;;QAAX;YACE,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAClC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;SACvB;;;;QAED,6BAAI;;;QAAJ;YACE,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;YACvB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;SACzB;;;;QAED,8BAAK;;;QAAL;YACE,KAAK,CAAC,cAAc,EAAE,CAAC;YACvB,KAAK,CAAC,eAAe,EAAE,CAAC;YACxB,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;YACxB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;SAC1B;;;;;QAED,gCAAO;;;;QAAP,UAAQ,MAAkB;YACxB,MAAM,CAAC,eAAe,EAAE,CAAC;YACzB,IAAI,MAAM,IAAI,MAAM,CAAC,MAAM,IAAI,oBAAU,MAAM,CAAC,MAAM,IAAE,EAAE,KAAK,aAAa,EAAE;gBAC5E,IAAI,CAAC,KAAK,EAAE,CAAC;aACd;SACF;;;;QAED,oCAAW;;;QAAX;YACE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACxB,IAAI,CAAC,KAAK,EAAE,CAAC;SACd;;oBAvDFD,cAAS,SAAC;wBACT,QAAQ,EAAE,UAAU;wBACpB,wkBAAqC;;qBAEtC;;;;oBANO,YAAY;oBADDY,eAAU;;;yBAS1BV,UAAK;4BACLA,UAAK;8BACLC,WAAM;6BACNA,WAAM;;QA+CT,qBAAC;KAxDD,IAwDC;;;QAlDC,4BAAoB;;QACpB,+BAAuB;;QACvB,iCAAgD;;QAChD,gCAA+C;;QAC/C,oCAAmB;;;;;QACnB,iCAAqB;;;;;QAET,sCAAkC;;;;;;;;QChBhD;SAOC;QAAD,gBAAC;KAAA,IAAA;;;QANC,yBAAa;;QACb,0BAAc;;QACd,0BAAc;;QACd,2BAAe;;QACf,2BAAe;;QACf,6BAAkB;;AAGpB;QAAA;SAGC;QAAD,kBAAC;KAAA,IAAA;;;QAFC,iCAAmB;;QACnB,4BAAc;;AAGhB;QAIE,yBAAY,IAAY,EAAE,QAAgB;YACxC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YACjB,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;SAC1B;QACH,sBAAC;KAAA,IAAA;;;QAPC,+BAAa;;QACb,mCAAiB;;AAQnB;QAA8BU,4BAAe;QAG3C,kBAAY,IAAY,EAAE,QAAgB,EAAE,OAAe;YAA3D,YACE,kBAAM,IAAI,EAAE,QAAQ,CAAC,SAEtB;YADC,KAAI,CAAC,OAAO,GAAG,OAAO,CAAC;;SACxB;QACH,eAAC;KAPD,CAA8B,eAAe,GAO5C;;;QANC,2BAAgB;;AAQlB;QAAA;YAGE,iBAAY,GAAG,IAAI,CAAC;SAErB;QAAD,sBAAC;KAAA,IAAA;;;QAJC,+BAAa;;QACb,gCAAmB;;QACnB,uCAAoB;;QACpB,wCAAuB;;AAGzB;QAAA;SAMC;QAAD,gBAAC;KAAA,IAAA;;;QALC,yBAAa;;QACb,yBAAa;;QACb,8BAAmB;;QACnB,yBAAa;;QACb,gCAAqB;;AAGvB;QAAA;SAQC;QAPQ,oBAAU,GAAG,GAAG,CAAC;QACjB,sBAAY,GAAG,GAAG,CAAC;QACnB,mBAAS,GAAG,GAAG,CAAC;QAChB,kBAAQ,GAAG,GAAG,CAAC;QACf,iBAAO,GAAG,GAAG,CAAC;QACd,kBAAQ,GAAG,GAAG,CAAC;QACf,6BAAmB,GAAG,GAAG,CAAC;QACnC,gBAAC;KARD,IAQC;;;QAPC,qBAAwB;;QACxB,uBAA0B;;QAC1B,oBAAuB;;QACvB,mBAAsB;;QACtB,kBAAqB;;QACrB,mBAAsB;;QACtB,8BAAiC;;AAGnC;QAAA;SA2DC;;;;;QA1De,sBAAgB;;;;QAA9B,UAA+B,KAAK;;gBAC5B,KAAK,GAAG;gBACZ,CAAC,EAAE,CAAC;gBACJ,CAAC,EAAE,CAAC;aACL;;gBACK,MAAM,sBAAyB,MAAM,CAAC,KAAK,EAAA;;gBAC3C,EAAE,GAAG,KAAK,IAAI,MAAM;YAC1B,IAAI,EAAE,CAAC,KAAK,IAAI,MAAM,CAAC,KAAK,IAAI,MAAM,CAAC,OAAO,KAAK,EAAE,CAAC,OAAO,IAAI,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE;;;oBAChG,KAAK,GAAG,OAAO,EAAE,CAAC,KAAK,KAAK,WAAW,IAAI,EAAE,CAAC,KAAK,KAAK,CAAC,GAAG,EAAE,CAAC,KAAK,GAAG,MAAM,CAAC,KAAK;;oBACnF,KAAK,GAAG,OAAO,EAAE,CAAC,KAAK,KAAK,WAAW,IAAI,EAAE,CAAC,KAAK,KAAK,CAAC,GAAG,EAAE,CAAC,KAAK,GAAG,MAAM,CAAC,KAAK;;oBACnF,SAAO,GAAG,OAAO,MAAM,CAAC,OAAO,KAAK,WAAW,IAAI,MAAM,CAAC,OAAO,KAAK,CAAC;;oBACvE,SAAO,GAAG,OAAO,MAAM,CAAC,OAAO,KAAK,WAAW,IAAI,MAAM,CAAC,OAAO,KAAK,CAAC;gBAC7E,KAAK,CAAC,CAAC,GAAG,KAAK,GAAG,KAAK,IAAI,SAAO,GAAG,MAAM,CAAC,OAAO,GAAG,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;gBAC3E,KAAK,CAAC,CAAC,GAAG,KAAK,GAAG,KAAK,IAAI,SAAO,GAAG,MAAM,CAAC,OAAO,GAAG,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;aAC5E;iBAAM,IAAI,EAAE,CAAC,OAAO,EAAE;gBACrB,KAAK,CAAC,CAAC,GAAG,EAAE,CAAC,OAAO,GAAG,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC;gBAChD,KAAK,CAAC,CAAC,GAAG,EAAE,CAAC,OAAO,GAAG,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC;aAChD;YACD,OAAO,KAAK,CAAC;SACd;;;;;QAEa,WAAK;;;;QAAnB,UAAoB,KAAa;;gBACzB,MAAM,GAAG,2CAA2C,CAAC,IAAI,CAAC,KAAK,CAAC;YACtE,IAAI,MAAM,EAAE;;oBACJ,CAAC,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;;oBAC3B,CAAC,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;;oBAC3B,CAAC,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;gBACjC,OAAO,MAAM,GAAG,MAAM,GAAG,CAAC,GAAG,GAAG,GAAG,CAAC,GAAG,GAAG,GAAG,CAAC,GAAG,GAAG,GAAG,EAAE,CAAC;aAC3D;YACD,OAAO,KAAK,CAAC;SACd;;;;;QAEa,WAAK;;;;QAAnB,UAAoB,KAAa;;YAE/B,IAAI,KAAK,CAAC,KAAK,CAAC,2BAA2B,CAAC,EAAE;gBAC5C,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,GAAG,IAAI,KAAK,IAAI,GAAG,GAAG,KAAK,CAAC,CAAC;;aAE1D;iBAAM,IAAI,KAAK,CAAC,KAAK,CAAC,0DAA0D,CAAC,EAAE;;oBAC5E,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;;oBACrF,GAAG;;;;gBAAG,UAAU,GAAG;oBACjB,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,EAAE;wBAClB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,EAAE;4BAClD,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC;yBACjB;qBACF;oBACD,OAAO,GAAG,CAAC;iBACZ,CAAA;gBACH,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE;;wBACZ,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;;wBAC9B,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;;wBAC1B,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;oBAC5B,OAAO,GAAG,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;iBACxB;;aAEF;iBAAM;gBACL,OAAO,EAAE,CAAC;aACX;SACF;QACH,YAAC;KAAA,IAAA;;QAED;SA2FC;;;;;;QAbe,aAAI;;;;;QAAlB,UAAmB,QAAgB,EAAE,WAAoB;YACvD,IAAI,QAAQ,IAAI,CAAC,WAAW,EAAE;;oBACtB,OAAO,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC;;oBAC7B,MAAI,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE;gBACxC,IAAI,OAAO,QAAQ,CAAC,GAAG,CAAC,MAAI,CAAC,KAAK,WAAW,EAAE;oBAC7C,OAAO,OAAO,CAAC,MAAM,GAAG,CAAC,GAAG,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,GAAG,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;iBAC9E;qBAAM;oBACL,OAAO,QAAQ,CAAC,GAAG,CAAC,MAAI,CAAC,CAAC;iBAC3B;aACF;iBAAM;gBACL,OAAO,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;aAC/B;SACF;QAzFa,YAAG,GAAG;YAClB,QAAQ,EAAE,EAAC,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAC;YAC1C,KAAK,EAAE,EAAC,QAAQ,EAAE,0BAA0B,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,IAAI,EAAC;YAC/E,KAAK,EAAE,EAAC,QAAQ,EAAE,gBAAgB,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,IAAI,EAAC;YACtE,MAAM,EAAE,EAAC,QAAQ,EAAE,gBAAgB,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,IAAI,EAAC;YACvE,MAAM,EAAE,EAAC,QAAQ,EAAE,gBAAgB,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,IAAI,EAAC;YACvE,KAAK,EAAE,EAAC,QAAQ,EAAE,gBAAgB,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,IAAI,EAAC;YACtE,MAAM,EAAE,EAAC,QAAQ,EAAE,gBAAgB,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,IAAI,EAAC;YACvE,MAAM,EAAE,EAAC,QAAQ,EAAE,gBAAgB,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,IAAI,EAAC;YACvE,KAAK,EAAE,EAAC,QAAQ,EAAE,iBAAiB,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,IAAI,EAAC;YACxE,MAAM,EAAE,EAAC,QAAQ,EAAE,iBAAiB,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,IAAI,EAAC;YACzE,MAAM,EAAE,EAAC,QAAQ,EAAE,iBAAiB,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,IAAI,EAAC;YACzE,MAAM,EAAE,EAAC,QAAQ,EAAE,iBAAiB,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,IAAI,EAAC;YACzE,SAAS,EAAE,EAAC,QAAQ,EAAE,iBAAiB,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,IAAI,EAAC;YAC5E,MAAM,EAAE,EAAC,QAAQ,EAAE,iBAAiB,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,IAAI,EAAC;YACzE,MAAM,EAAE,EAAC,QAAQ,EAAE,iBAAiB,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,IAAI,EAAC;YACzE,KAAK,EAAE,EAAC,QAAQ,EAAE,sBAAsB,EAAE,MAAM,EAAE,iBAAiB,EAAE,MAAM,EAAE,IAAI,EAAC;YAClF,MAAM,EAAE,EAAC,QAAQ,EAAE,sBAAsB,EAAE,MAAM,EAAE,iBAAiB,EAAE,MAAM,EAAE,IAAI,EAAC;YACnF,KAAK,EAAE,EAAC,QAAQ,EAAE,sBAAsB,EAAE,MAAM,EAAE,iBAAiB,EAAE,MAAM,EAAE,IAAI,EAAC;YAClF,MAAM,EAAE,EAAC,QAAQ,EAAE,sBAAsB,EAAE,MAAM,EAAE,iBAAiB,EAAE,MAAM,EAAE,IAAI,EAAC;YACnF,KAAK,EAAE,EAAC,QAAQ,EAAE,iBAAiB,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,IAAI,EAAC;YACvE,KAAK,EAAE,EAAC,QAAQ,EAAE,iBAAiB,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,IAAI,EAAC;YACvE,KAAK,EAAE,EAAC,QAAQ,EAAE,iBAAiB,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,IAAI,EAAC;YACvE,KAAK,EAAE,EAAC,QAAQ,EAAE,iBAAiB,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,IAAI,EAAC;YACvE,KAAK,EAAE,EAAC,QAAQ,EAAE,iBAAiB,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,IAAI,EAAC;YACvE,KAAK,EAAE,EAAC,QAAQ,EAAE,iBAAiB,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,IAAI,EAAC;YACvE,MAAM,EAAE,EAAC,QAAQ,EAAE,iBAAiB,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,IAAI,EAAC;YACxE,KAAK,EAAE,EAAC,QAAQ,EAAE,iBAAiB,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,IAAI,EAAC;YACvE,MAAM,EAAE,EAAC,QAAQ,EAAE,iBAAiB,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,IAAI,EAAC;YACxE,MAAM,EAAE,EAAC,QAAQ,EAAE,iBAAiB,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,IAAI,EAAC;YACxE,KAAK,EAAE,EAAC,QAAQ,EAAE,mBAAmB,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,IAAI,EAAC;YACxE,KAAK,EAAE,EAAC,QAAQ,EAAE,mBAAmB,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,IAAI,EAAC;YACxE,KAAK,EAAE,EAAC,QAAQ,EAAE,mBAAmB,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,IAAI,EAAC;YACxE,KAAK,EAAE,EAAC,QAAQ,EAAE,mBAAmB,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,IAAI,EAAC;YACxE,MAAM,EAAE,EAAC,QAAQ,EAAE,mBAAmB,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,IAAI,EAAC;YACzE,KAAK,EAAE,EAAC,QAAQ,EAAE,mBAAmB,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,IAAI,EAAC;YACzE,KAAK,EAAE,EAAC,QAAQ,EAAE,oBAAoB,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,IAAI,EAAC;YAC1E,KAAK,EAAE,EAAC,QAAQ,EAAE,6BAA6B,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,IAAI,EAAC;YACnF,KAAK,EAAE,EAAC,QAAQ,EAAE,2BAA2B,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,IAAI,EAAC;YAClF,KAAK,EAAE,EAAC,QAAQ,EAAE,4BAA4B,EAAE,MAAM,EAAE,iBAAiB,EAAE,MAAM,EAAE,IAAI,EAAC;YACxF,KAAK,EAAE,EAAC,QAAQ,EAAE,4BAA4B,EAAE,MAAM,EAAE,iBAAiB,EAAE,MAAM,EAAE,IAAI,EAAC;YACxF,KAAK,EAAE,EAAC,QAAQ,EAAE,4BAA4B,EAAE,MAAM,EAAE,iBAAiB,EAAE,MAAM,EAAE,IAAI,EAAC;YACxF,MAAM,EAAE,EAAC,QAAQ,EAAE,4BAA4B,EAAE,MAAM,EAAE,iBAAiB,EAAE,MAAM,EAAE,IAAI,EAAC;YACzF,MAAM,EAAE,EAAC,QAAQ,EAAE,4BAA4B,EAAE,MAAM,EAAE,iBAAiB,EAAE,MAAM,EAAE,IAAI,EAAC;YACzF,MAAM,EAAE,EAAC,QAAQ,EAAE,4BAA4B,EAAE,MAAM,EAAE,iBAAiB,EAAE,MAAM,EAAE,IAAI,EAAC;YACzF,MAAM,EAAE,EAAC,QAAQ,EAAE,4BAA4B,EAAE,MAAM,EAAE,iBAAiB,EAAE,MAAM,EAAE,IAAI,EAAC;YACzF,KAAK,EAAE,EAAC,QAAQ,EAAE,kBAAkB,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,IAAI,EAAC;YACvE,KAAK,EAAE,EAAC,QAAQ,EAAE,iBAAiB,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,IAAI,EAAC;YACtE,KAAK,EAAE,EAAC,QAAQ,EAAE,wBAAwB,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,IAAI,EAAC;YAC/E,MAAM,EAAE,EAAC,QAAQ,EAAE,2BAA2B,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,IAAI,EAAC;YAClF,KAAK,EAAE,EAAC,QAAQ,EAAE,2BAA2B,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,IAAI,EAAC;YACjF,OAAO,EAAE,EAAC,QAAQ,EAAE,2BAA2B,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,IAAI,EAAC;YACnF,KAAK,EAAE,EAAC,QAAQ,EAAE,4BAA4B,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,IAAI,EAAC;YAClF,KAAK,EAAE,EAAC,QAAQ,EAAE,yBAAyB,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,IAAI,EAAC;YAC/E,KAAK,EAAE,EAAC,QAAQ,EAAE,6BAA6B,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,IAAI,EAAC;YACpF,KAAK,EAAE,EAAC,QAAQ,EAAE,6BAA6B,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,IAAI,EAAC;YACpF,KAAK,EAAE,EAAC,QAAQ,EAAE,gBAAgB,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,IAAI,EAAC;YACvE,KAAK,EAAE,EAAC,QAAQ,EAAE,6BAA6B,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,IAAI,EAAC;YACpF,KAAK,EAAE,EAAC,QAAQ,EAAE,kCAAkC,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,IAAI,EAAC;YACzF,KAAK,EAAE,EAAC,QAAQ,EAAE,kCAAkC,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,IAAI,EAAC;YACzF,MAAM,EAAE,EAAC,QAAQ,EAAE,kCAAkC,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,IAAI,EAAC;YAC1F,MAAM,EAAE,EAAC,QAAQ,EAAE,kCAAkC,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,IAAI,EAAC;YAC1F,KAAK,EAAE,EAAC,QAAQ,EAAE,2BAA2B,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,IAAI,EAAC;YAClF,MAAM,EAAE,EAAC,QAAQ,EAAE,0BAA0B,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,IAAI,EAAC;YAClF,KAAK,EAAE,EAAC,QAAQ,EAAE,0BAA0B,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,IAAI,EAAC;YACjF,KAAK,EAAE,EAAC,QAAQ,EAAE,0BAA0B,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,IAAI,EAAC;YACjF,KAAK,EAAE,EAAC,QAAQ,EAAE,0BAA0B,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,IAAI,EAAC;YACjF,KAAK,EAAE,EAAC,QAAQ,EAAE,0BAA0B,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,IAAI,EAAC;YACjF,MAAM,EAAE,EAAC,QAAQ,EAAE,wBAAwB,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,IAAI,EAAC;YAC9E,KAAK,EAAE,EAAC,QAAQ,EAAE,cAAc,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,IAAI,EAAC;YACrE,MAAM,EAAE,EAAC,QAAQ,EAAE,kBAAkB,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,IAAI,EAAC;YAC1E,MAAM,EAAE,EAAC,QAAQ,EAAE,kBAAkB,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,IAAI,EAAC;YACxE,KAAK,EAAE,EAAC,QAAQ,EAAE,uBAAuB,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,IAAI,EAAC;YAC5E,MAAM,EAAE,EAAC,QAAQ,EAAE,0BAA0B,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,IAAI,EAAC;YAChF,SAAS,EAAE,EAAC,QAAQ,EAAE,8BAA8B,EAAE,MAAM,EAAE,MAAM,EAAC;SACtE,CAAC;QAeJ,eAAC;KA3FD,IA2FC;;;QA1FC,aA2EE;;AAiBJ;QAEE;SACC;QACH,kBAAC;KAAA;;;;;;ACxND;QAME;YAAA,iBAGC;YAFC,IAAI,CAAC,cAAc,GAAG,IAAIC,eAAU;;;;YAAC,UAAA,QAAQ;gBAC3C,OAAA,KAAI,CAAC,SAAS,GAAG,QAAQ;aAAA,EAAC,CAAC;SAC9B;QAED,sBAAI,6CAAa;;;;YAAjB;gBACE,OAAO,IAAI,CAAC,cAAc,CAAC;aAC5B;;;WAAA;;;;;QAED,4CAAe;;;;QAAf,UAAgB,SAAmB;YACjC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;SAChC;QACH,yBAAC;KAAA,IAAA;;;;;;QAfC,4CAA6C;;;;;QAC7C,uCAAsC;;;;;;;ICJxC;QAIM,CAAC,GAAG,MAAM;;QAEV,WAAW,GAAG,MAAM;;QAEpB,UAAU,GAAG,KAAK;;QAElB,eAAe,GAAG,CAAC,EAAC,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,KAAK,EAAC,EAAE,EAAC,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,EAAC,CAAC;AAE5F;QAkBE,mCAAoB,cAAkC;YAAlC,mBAAc,GAAd,cAAc,CAAoB;YAZtD,YAAO,GAAG,eAAe,CAAC;YAIhB,qBAAgB,GAAG,IAAIb,iBAAY,EAAU,CAAC;YAC9C,sBAAiB,GAAG,IAAIA,iBAAY,EAAU,CAAC;YAC/C,iBAAY,GAAG,IAAIA,iBAAY,EAAU,CAAC;YAC1C,YAAO,GAAG,IAAIA,iBAAY,EAAW,CAAC;YAEhD,kBAAa,GAAG,KAAK,CAAC;YACtB,mBAAc,GAAG,KAAK,CAAC;SAGtB;;;;QAED,4CAAQ;;;QAAR;SACC;;;;;QAED,2CAAO;;;;QAAP,UAAQ,IAAY;;gBACZ,EAAE,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI;YAC7B,IAAI,EAAE,GAAG,CAAC,EAAE;gBACV,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,GAAG,GAAG,CAAC,GAAG,GAAG,IAAI,KAAK,CAAC;aAC7C;iBAAM;;oBACC,EAAE,GAAG,IAAI,GAAG,IAAI;gBACtB,IAAI,EAAE,GAAG,CAAC,EAAE;oBACV,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,GAAG,GAAG,CAAC,GAAG,GAAG,IAAI,KAAK,CAAC;iBAC7C;aACF;YACD,OAAO,IAAI,GAAG,QAAQ,CAAC;SACxB;;;;;QAED,iDAAa;;;;QAAb,UAAc,IAAe;YAC3B,OAAO,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC;SACxD;;;;;QAED,iDAAa;;;;QAAb,UAAc,IAAe;YAC3B,OAAO,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC;SACtD;;;;;QAED,0CAAM;;;;QAAN,UAAO,IAAe;YACpB,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;YACzB,IAAI,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,WAAW,EAAE;gBACtC,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;aACxC;iBAAM;gBACL,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;aACvC;SACF;;;;QAED,wCAAI;;;QAAJ;YACE,IAAI,IAAI,CAAC,YAAY,EAAE;;oBACjB,IAAI,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI;gBACjC,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE;oBAC/C,IAAI,GAAG,EAAE,CAAC;iBACX;qBAAM;oBACL,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,cAAc,EAAE,EAAE,CAAC,CAAC;iBACzC;gBACD,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;aACnC;SACF;;;;;QAED,gDAAY;;;;QAAZ,UAAa,MAAc;YACzB,IAAI,UAAU,KAAK,MAAM,EAAE;gBACzB,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;aAC3B;iBAAM;gBACL,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;gBAC3B,CAAC,CAAC,kBAAkB,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;aACxC;SACF;;;;;QAED,2CAAO;;;;QAAP,UAAQ,MAAM;YAEZ,IAAI,MAAM,EAAE;gBACV,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;gBAClB,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBAChC,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;gBAC3B,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;aAC1B;iBAAM;gBACL,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;aACzB;SACF;;;;QAED,+CAAW;;;QAAX;YACE,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC;SACpB;;;;;QAED,6CAAS;;;;QAAT,UAAU,GAAW;YACnB,IAAI,GAAG,EAAE;gBACP,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBAC5B,IAAI,CAAC,WAAW,EAAE,CAAC;aACpB;SACF;;;;;QAED,mDAAe;;;;QAAf,UAAgB,KAAe;YAC7B,IAAI,CAAC,cAAc,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;SAC5C;;;;QAED,+CAAW;;;QAAX;YACE,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;YAC5B,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;SAC5B;;oBAzGFD,cAAS,SAAC;wBACT,QAAQ,EAAE,uBAAuB;wBACjC,0kGAAkD;;qBAEnD;;;;oBAdO,kBAAkB;;;4BAkBvBE,UAAK;mCACLA,UAAK;uCACLC,WAAM;wCACNA,WAAM;mCACNA,WAAM;8BACNA,WAAM;;QA6FT,gCAAC;KA1GD,IA0GC;;;QApGC,4CAA0B;;QAE1B,0CAAe;;QACf,iDAAsB;;QACtB,qDAAwD;;QACxD,sDAAyD;;QACzD,iDAAoD;;QACpD,4CAAgD;;;;;QAChD,iDAAgC;;QAChC,kDAAsB;;QACtB,mDAAuB;;;;;QAEX,mDAA0C;;;;;;;AC9BxD;QAOE;YAJQ,cAAS,GAAoB,IAAIC,YAAO,EAAE,CAAC;YAClC,gBAAW,GAAuB,IAAI,CAAC,SAAS,CAAC,YAAY,EAAE,CAAC;SAIhF;QAED,sBAAI,6BAAI;;;;YAAR;gBACE,OAAO,IAAI,CAAC,KAAK,CAAC;aACnB;;;WAAA;QAED,sBAAI,mCAAU;;;;YAAd;gBACE,OAAO,IAAI,CAAC,WAAW,CAAC;aACzB;;;WAAA;;;;;QAED,gCAAU;;;;QAAV,UAAW,IAAY;YACrB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;YAClB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;SAC3B;;;;;;;;QAEO,sCAAgB;;;;;;;QAAxB,UAAyB,GAAQ,EAAE,IAAY,EAAE,GAAoB;YAApB,oBAAA,EAAA,WAAoB;YACnE,OAAO,EAAC,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,GAAG,EAAC,CAAA;SAChD;;;;;;QAED,iCAAW;;;;;QAAX,UAAY,KAAK,EAAE,MAAM;YACvB,OAAO,CAAC,IAAI,CAAC,gBAAgB,CAAC,EAAE,EAAE,KAAK,CAAC;gBACtC,IAAI,CAAC,gBAAgB,CAAC,EAAE,EAAE,KAAK,CAAC;gBAChC,IAAI,CAAC,gBAAgB,CAAC,GAAG,EAAC,MAAM,CAAC;gBACjC,IAAI,CAAC,gBAAgB,CAAC,GAAG,EAAE,MAAM,CAAC;gBAClC,IAAI,CAAC,gBAAgB,CAAC,GAAG,EAAE,MAAM,CAAC;gBAClC,IAAI,CAAC,gBAAgB,CAAC,GAAG,EAAE,MAAM,CAAC;gBAClC,IAAI,CAAC,gBAAgB,CAAC,CAAC,EAAE,EAAE,EAAE,IAAI,CAAC;gBAClC,IAAI,CAAC,gBAAgB,CAAC,KAAK,EAAE,WAAW,CAAC;gBACzC,IAAI,CAAC,gBAAgB,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC,CAAC;SAChD;QACH,kBAAC;KAAA,IAAA;;;;;;QAnCC,gCAAmD;;;;;QACnD,kCAAiF;;;;;QACjF,4BAAsB;;;;;;;ICLxB;QAeMW,GAAC,GAAG,MAAM;AAEhB;QA+BE,2BAAsB,WAAoC,EACtC,YAAyB,EACzB,cAA6B;YAFjD,iBASC;YATqB,gBAAW,GAAX,WAAW,CAAyB;YACtC,iBAAY,GAAZ,YAAY,CAAa;YACzB,mBAAc,GAAd,cAAc,CAAe;YAvBjD,SAAI,GAAG,KAAK,CAAC;YAGb,aAAQ,GAAG,IAAI,CAAC;YAChB,cAAS,GAAG,IAAI,CAAC;YACjB,kBAAa,GAAG,IAAI,CAAC;YACrB,mBAAc,GAAG,IAAI,CAAC;YACtB,UAAK,GAAG,IAAI,CAAC;YACb,cAAS,GAAG,IAAI,CAAC;YACjB,cAAS,GAAG,IAAI,CAAC;YACjB,QAAG,GAAG,IAAI,CAAC;YACX,MAAC,GAAG,CAAC,CAAC;YACN,UAAK,GAAG,CAAC,CAAC;YACV,MAAC,GAAG,CAAC,CAAC;YACN,UAAK,GAAG,CAAC,CAAC;YACV,gBAAW,GAAG,IAAI,CAAC;YACnB,sBAAiB,GAAG,IAAI,CAAC;YACzB,aAAQ,GAAG,CAAC,CAAC;YACb,cAAS,GAAG,CAAC,CAAC;YAOZ,YAAY,CAAC,UAAU,CAAC,SAAS;;;;YAAC,UAAC,GAAW;gBAC5C,KAAI,CAAC,IAAI,GAAG,GAAG,CAAC;aACjB,EAAC,CAAC;YAEH,IAAI,CAAC,SAAS,GAAG,cAAc,CAAC,SAAS,EAAE,CAAC;SAC7C;;;;QAED,oCAAQ;;;QAAR;SACC;;;;QAED,uCAAW;;;QAAX;;gBACQ,OAAO,GAAG,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC;YAChF,oBAAC,OAAO,IAAS,KAAK,CAAC,SAAS,GAAG,EAAE,CAAC;;;;;SAKvC;;;;QAED,2CAAe;;;QAAf;;YAEE,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;;YAE5E,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC;YAEhD,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC;YACrC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC;YACvC,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC;;YAG1C,IAAI,CAAC,KAAK,GAAG,CAAC,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,YAAY,CAAC,IAAI,GAAG,GAAG,CAAC;YAEjF,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC;YAC5B,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC;YAClD,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC;YAC3C,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC;;gBAEvC,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC;SAC1C;;;;;;QAGD,mCAAO;;;;;QAAP;YACE,OAAO,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,MAAM,KAAK,iBAAiB,CAAC;SAC1E;;;;;QAED,gDAAoB;;;;QAApB,UAAqB,KAAa;YAChC,OAAO,KAAK,IAAI,IAAI,CAAC,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,IAAI,GAAG,IAAI,CAAC,CAAC;SAC/E;;;;QAED,kCAAM;;;QAAN;YACE,OAAO,SAAS,CAAC,SAAS,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;SAC/D;;;;QAED,8CAAkB;;;QAAlB;;gBACQ,iBAAiB,GAAG,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,gBAAgB,CAAC,aAAa,CAAC;;gBAClF,OAAO,GAAG,iBAAiB,CAAC,IAAI,CAAC,CAAC,CAAC;YACzC,IAAI,OAAO,EAAE;gBACXA,GAAC,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;aAC7B;SACF;;;;;QAED,4CAAgB;;;;QAAhB,UAAiB,EAAE;;gBACb,CAAC,GAAG,CAAC;;gBAAE,CAAC,GAAG,CAAC;YAEhB,OAAO,EAAE,KAAK,IAAI,EAAE;gBAClB,CAAC,IAAI,EAAE,CAAC,UAAU,CAAC;gBACnB,CAAC,IAAI,EAAE,CAAC,SAAS,CAAC;gBAClB,EAAE,GAAG,EAAE,CAAC,YAAY,CAAC;aACtB;YAED,OAAO,EAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAC,CAAC;SACrB;QAAA,CAAC;;;;;;;QAEF,0CAAc;;;;;;QAAd,UAAe,GAAG,EAAE,WAAW,EAAE,MAAM;YACrC,IAAI,GAAG,GAAG,WAAW,GAAG,IAAI,CAAC,KAAK,GAAG,MAAM,EAAE;gBAC3C,GAAG,GAAG,WAAW,GAAG,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC;aACzC;iBAAM,IAAI,GAAG,GAAG,CAAC,EAAE;gBAClB,GAAG,GAAG,CAAC,CAAC;aACT;YACD,OAAO,GAAG,CAAC;SACZ;QAAA,CAAC;;;;QAEF,yCAAa;;;QAAb;YACE,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,CAAC,CAAC;YACpB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,CAAC,CAAC;SACrB;QAAA,CAAC;;;;;;QAEF,qCAAS;;;;;QAAT,UAAU,MAAM,EAAE,MAAM;;;;gBAGhB,IAAI,GAAG,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,KAAK,GAAG,MAAM,GAAG,IAAI,CAAC,KAAK,EAC/D,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,aAAa,EAAE,IAAI,CAAC,QAAQ,CAAC,EAAE,IAAI,CAAC,QAAQ,CAAC;YAC7D,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC;;YAEd,IAAI,CAAC,SAAS,CAAC,UAAU,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC;;gBAEpD,IAAI,GAAG,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,KAAK,GAAG,MAAM,GAAG,IAAI,CAAC,KAAK,EAC/D,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,cAAc,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC;YAChE,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC;YACd,IAAI,CAAC,SAAS,CAAC,SAAS,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC;YAEzD,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,SAAS,GAAG,QAAQ,GAAG,IAAI,CAAC,KAAK,GAAG,GAAG,CAAC;SACxD;QAAA,CAAC;;;;;QAEF,qCAAS;;;;QAAT,UAAU,OAAO;YACf,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC;YAEtC,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC;YAC3C,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC;;YAG7C,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;SACtB;QAAA,CAAC;;;;;QAEF,qCAAS;;;;QAAT,UAAU,MAAM;;gBACR,GAAG,GAAG,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,SAAS,CAAC;;;gBAG3C,UAAU,GAAG,MAAM,CAAC,WAAW,GAAG,MAAM,CAAC,WAAW,GAAG,QAAQ,CAAC,IAAI,CAAC,UAAU;;gBAC/E,SAAS,GAAG,MAAM,CAAC,WAAW,GAAG,MAAM,CAAC,WAAW,GAAG,QAAQ,CAAC,IAAI,CAAC,SAAS;;gBAE7E,KAAK,GAAG,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,GAAG,UAAU,IAAI,IAAI,CAAC,KAAK;;gBACrE,KAAK,GAAG,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,GAAG,SAAS,IAAI,IAAI,CAAC,KAAK;YAE1E,OAAO,EAAC,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAC,CAAC;SAC7B;QAAA,CAAC;;;;QAEF,2CAAe;;;QAAf;YACE,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC;SAC7B;QAAA,CAAC;;;;;;;;QAEF,sCAAU;;;;;;;QAAV,UAAW,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,eAAe;;YAErD,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;;;gBAGlB,UAAU,GAAG,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,aAAa,EAAE,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,KAAK;;gBACnF,UAAU,GAAG,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,cAAc,EAAE,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,KAAK;;;gBAGrF,MAAM,GAAG,CAAC,UAAU,GAAG,QAAQ,IAAI,IAAI,CAAC,KAAK;;gBAC7C,MAAM,GAAG,CAAC,UAAU,GAAG,QAAQ,IAAI,IAAI,CAAC,KAAK;;YAGnD,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;YAE/B,IAAI,CAAC,eAAe,EAAE;gBACpB,IAAI,CAAC,eAAe,EAAE,CAAC;gBACvB,IAAI,CAAC,aAAa,EAAE,CAAC;aACtB;SACF;QAAA,CAAC;;;;;QAEF,mCAAO;;;;QAAP,UAAQ,MAAM;YACZ,IAAI,IAAI,CAAC,WAAW,KAAK,IAAI,EAAE;gBAC7B,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;;oBACpC,OAAO,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,aAAa,EAAE,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;;oBACpH,OAAO,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,cAAc,EAAE,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;gBAC5H,IAAI,CAAC,iBAAiB,GAAG,EAAC,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,EAAC,CAAC;aACnD;;gBAEK,QAAQ,GAAG,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC,KAAK;;gBAEpC,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC,GAAG,QAAQ,GAAG,IAAI,CAAC,iBAAiB,CAAC,CAAC;;gBAChE,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC,GAAG,QAAQ,GAAG,IAAI,CAAC,iBAAiB,CAAC,CAAC;;gBAChE,UAAU,GAAG,EAAC,CAAC,EAAE,KAAK,GAAG,QAAQ,EAAE,CAAC,EAAE,KAAK,GAAG,QAAQ,EAAC;YAE7D,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;SACjE;;;;;QAED,sCAAU;;;;QAAV,UAAW,MAAM;YACf,IAAI,CAAC,eAAe,EAAE,CAAC;YACvB,IAAI,CAAC,aAAa,EAAE,CAAC;YACrB,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;SACzB;;;;;QAED,iCAAK;;;;QAAL,UAAM,MAAM;;;;;SAKX;;;;;QAED,oCAAQ;;;;QAAR,UAAS,MAAM;;;;SAId;;;;;QAED,uCAAW;;;;QAAX,UAAY,MAAM;YAChB,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE;gBACnB,IAAI,MAAM,CAAC,QAAQ,KAAK,CAAC,EAAE;;wBACnB,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC;oBAChC,IAAI,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;iBACrC;aACF;SACF;;oBAtOFf,cAAS,SAAC;wBACT,QAAQ,EAAE,aAAa;wBACvB,q9BAAwC;;qBAEzC;;;;oBAlBCY,eAAU;oBAOJ,WAAW;oBAEX,aAAa;;;2BAYlBV,UAAK;uCACLA,UAAK;2BACLA,UAAK;;QA8NR,wBAAC;KAvOD,IAuOC;;;QAhOC,iCAAuB;;QACvB,6CAAkC;;QAClC,iCAA+B;;QAC/B,iCAAa;;QACb,iCAAa;;QAEb,qCAAgB;;QAChB,sCAAiB;;QACjB,0CAAqB;;QACrB,2CAAsB;;QACtB,kCAAa;;QACb,sCAAiB;;QACjB,sCAAiB;;QACjB,gCAAW;;QACX,8BAAM;;QACN,kCAAU;;QACV,8BAAM;;QACN,kCAAU;;QACV,wCAAmB;;QACnB,8CAAyB;;QACzB,qCAAa;;QACb,sCAAc;;QACd,sCAAmB;;;;;QAEP,wCAA8C;;;;;QAC9C,yCAAiC;;;;;QACjC,2CAAqC;;;;;;;;;;;;;;;AClDnD;QAkBE;SACC;;;;QAED,gCAAQ;;;QAAR;;gBACQ,IAAI,gBAAe,KAAK,IAAI,CAAC,CAAC,0BAA0B,CAAC,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC;YACxF,IAAG,IAAI,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAC;gBAC3B,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;aACvB;SACF;;;;;QAED,mCAAW;;;;QAAX,UAAY,OAAsB;;;YAGhC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,KAAK,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAC,IAAI,CAAC,CAAC,OAAO,CAAC,SAAS,EAAC,EAAE,CAAC,GAAG,IAAI,CAAC;;gBACzF,kBAAkB,GAAG,wBAAwB;YACnD,IAAI,CAAC,OAAO,GAAG,kBAAkB,CAAC;YAClC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE;gBAChB,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,IAAI,CAAC;aAC3B;SACF;;oBAnCFF,cAAS,SAAC;wBACT,QAAQ,EAAE,SAAS;wBACnB,imBAAoC;;qBAErC;;;;;4BAGEE,UAAK;4BACLA,UAAK;6BACLA,UAAK;6BACLA,UAAK;2BACLA,UAAK;6BACLA,UAAK;+BACLA,UAAK;;QAuBR,oBAAC;KApCD,IAoCC;;;QA7BC,8BAAuB;;QACvB,8BAAuB;;QACvB,+BAAwB;;QACxB,+BAAwB;;QACxB,6BAAsB;;QACtB,+BAAyB;;QACzB,iCAA2B;;QAC3B,gCAAgB;;;;;;;AChBlB;QAKE,0BAAoB,SAAuB;YAAvB,cAAS,GAAT,SAAS,CAAc;SAC1C;;;;;QAED,oCAAS;;;;QAAT,UAAU,IAAY;YACpB,OAAO,IAAI,CAAC,SAAS,CAAC,uBAAuB,CAAC,IAAI,CAAC,CAAC;SACrD;;oBAPFc,SAAI,SAAC,EAAC,IAAI,EAAE,UAAU,EAAC;;;;oBAFhBC,4BAAY;;QAUpB,uBAAC;KARD,IAQC;;;;;;QANa,qCAA+B;;AAQ7C;QAEE,kCAAoB,SAAuB;YAAvB,cAAS,GAAT,SAAS,CAAc;SAC1C;;;;;QAED,4CAAS;;;;QAAT,UAAU,IAAY;YACpB,OAAO,IAAI,CAAC,SAAS,CAAC,8BAA8B,CAAC,IAAI,CAAC,CAAC;SAC5D;;oBAPFD,SAAI,SAAC,EAAC,IAAI,EAAE,kBAAkB,EAAC;;;;oBAZxBC,4BAAY;;QAoBpB,+BAAC;KARD,IAQC;;;;;;QANa,6CAA+B;;AAQ7C;QAEE,2BAAoB,SAAuB;YAAvB,cAAS,GAAT,SAAS,CAAc;SAC1C;;;;;QAED,qCAAS;;;;QAAT,UAAU,IAAY;YACpB,OAAO,IAAI,CAAC,SAAS,CAAC,wBAAwB,CAAC,IAAI,CAAC,CAAC;SACtD;;oBAPFD,SAAI,SAAC,EAAC,IAAI,EAAE,WAAW,EAAC;;;;oBAtBjBC,4BAAY;;QA8BpB,wBAAC;KARD,IAQC;;;;;;QANa,sCAA+B;;AAQ7C;QAAA;SAUC;;;;;;QAPC,uCAAS;;;;;QAAT,UAAU,KAAa,EAAE,IAAY;YACnC,IAAI,CAAC,IAAI,EAAE;gBACT,OAAO,KAAK,CAAC;aACd;;gBACK,EAAE,GAAG,IAAI,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC;YACjC,OAAO,KAAK,CAAC,OAAO,CAAC,EAAE,EAAE,sCAAsC,CAAC,CAAC;SAClE;;oBATFD,SAAI,SAAC,EAAC,IAAI,EAAE,WAAW,EAAC;;QAUzB,0BAAC;KAVD;;;;;;ACjCA;QAYE,iCAAoB,cAAkC;YAAlC,mBAAc,GAAd,cAAc,CAAoB;YAF5C,gBAAW,GAAG,IAAIf,iBAAY,EAAW,CAAC;SAEO;;;;QAE3D,0CAAQ;;;QAAR;SACC;;;;;QAED,iDAAe;;;;QAAf,UAAgB,KAAe;YAC7B,IAAI,CAAC,cAAc,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;YAC3C,IAAI,CAAC,aAAa,EAAE,CAAC;SACtB;;;;QAED,+CAAa;;;QAAb;YACE,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;SAC7B;;;;;QAED,uCAAK;;;;QAAL,UAAM,MAAM;YACV,IAAI,MAAM,CAAC,MAAM,CAAC,EAAE,KAAK,aAAa,EAAE;gBACtC,IAAI,CAAC,aAAa,EAAE,CAAC;aACtB;SACF;;oBA3BFD,cAAS,SAAC;wBACT,QAAQ,EAAE,qBAAqB;wBAC/B,+nBAAgD;;qBAEjD;;;;oBANO,kBAAkB;;;kCASvBG,WAAM;;QAqBT,8BAAC;KA5BD,IA4BC;;;QArBC,8CAAoD;;;;;QAExC,iDAA0C;;;;;;;ACZxD;QAgBE,sBAAsB,mBAAuC;YAAvC,wBAAmB,GAAnB,mBAAmB,CAAoB;YARnD,YAAO,GAAG,IAAIF,iBAAY,EAAW,CAAC;YACtC,YAAO,GAAG,IAAIA,iBAAY,EAAW,CAAC;YACtC,YAAO,GAAG,IAAIA,iBAAY,EAAW,CAAC;YAEnB,WAAM,GAAG,KAAK,CAAC;YAEpC,gBAAW,GAAG,CAAC,CAAC;SAGvB;;;;;QAGM,kCAAW;;;;QADlB,UACmB,GAAG;YACpB,GAAG,CAAC,cAAc,EAAE,CAAC;YACrB,GAAG,CAAC,eAAe,EAAE,CAAC;YACtB,IAAI,CAAC,WAAW,EAAE,CAAC;YACnB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;YACnB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;SACzB;;;;;QAGM,iCAAU;;;;QADjB,UACkB,GAAG;YACnB,GAAG,CAAC,cAAc,EAAE,CAAC;YACrB,GAAG,CAAC,eAAe,EAAE,CAAC;YACtB,OAAO,KAAK,CAAC;SACd;;;;;QAGM,kCAAW;;;;QADlB,UACmB,GAAG;YACpB,GAAG,CAAC,cAAc,EAAE,CAAC;YACrB,GAAG,CAAC,eAAe,EAAE,CAAC;YACtB,IAAI,CAAC,WAAW,EAAE,CAAC;YACnB,IAAI,IAAI,CAAC,WAAW,KAAK,CAAC,EAAE;gBAC1B,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;gBACpB,IAAI,CAAC,SAAS,EAAE,CAAC;aAClB;SACF;;;;;QAGM,6BAAM;;;;QADb,UACc,GAAG;YACf,GAAG,CAAC,cAAc,EAAE,CAAC;YACrB,GAAG,CAAC,eAAe,EAAE,CAAC;;gBAChB,KAAK,GAAG,GAAG,CAAC,YAAY,CAAC,KAAK;YACpC,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE;gBACpB,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;gBACpB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBACxB,IAAI,CAAC,mBAAmB,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;gBAChD,IAAI,CAAC,SAAS,EAAE,CAAC;aAClB;SACF;;;;;QAGM,8BAAO;;;;QADd,UACe,KAAK;YAClB,IAAI,CAAC,SAAS,EAAE,CAAC;SAClB;;;;;QAEO,gCAAS;;;;QAAjB;YACE,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACxB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;SAC1B;;oBAhEFiB,cAAS,SAAC;wBACT,QAAQ,EAAE,SAAS;qBACpB;;;;oBAJO,kBAAkB;;;8BAOvBf,WAAM;8BACNA,WAAM;8BACNA,WAAM;6BAENgB,gBAAW,SAAC,cAAc;kCAO1BC,iBAAY,SAAC,WAAW,EAAE,CAAC,QAAQ,CAAC;iCASpCA,iBAAY,SAAC,UAAU,EAAE,CAAC,QAAQ,CAAC;kCAOnCA,iBAAY,SAAC,WAAW,EAAE,CAAC,QAAQ,CAAC;6BAWpCA,iBAAY,SAAC,MAAM,EAAE,CAAC,QAAQ,CAAC;8BAa/BA,iBAAY,SAAC,OAAO,EAAE,CAAC,QAAQ,CAAC;;QASnC,mBAAC;KAjED,IAiEC;;;QA5DC,+BAAgD;;QAChD,+BAAgD;;QAChD,+BAAgD;;QAEhD,8BAA4C;;;;;QAE5C,mCAAwB;;;;;QAEZ,2CAAiD;;;;;;;AChB/D;QAME;YAAA,iBAGC;YAFC,IAAI,CAAC,aAAa,GAAG,IAAIN,eAAU;;;;YAAC,UAAA,QAAQ;gBAC1C,OAAA,KAAI,CAAC,SAAS,GAAG,QAAQ;aAAA,EAAC,CAAC;SAC9B;QAED,sBAAI,4CAAY;;;;YAAhB;gBACE,OAAO,IAAI,CAAC,aAAa,CAAC;aAC3B;;;WAAA;;;;;QAED,iDAAoB;;;;QAApB,UAAqB,IAAY;YAC/B,IAAG,IAAI,CAAC,SAAS,EAAE;gBACjB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;aAC3B;SACF;QACH,yBAAC;KAAA,IAAA;;;;;;QAjBC,2CAAmD;;;;;QACnD,uCAAoC;;;;;;;ACJtC;QAaE,yBAAoB,mBAAuC;YAA3D,iBAGC;YAHmB,wBAAmB,GAAnB,mBAAmB,CAAoB;YALnD,iBAAY,GAAG,CAAC,CAAC;YACjB,gBAAW,GAAG,CAAC,CAAC;YAKtB,IAAI,CAAC,SAAS,GAAG,IAAIA,eAAU;;;;YAAC,UAAA,QAAQ;gBACtC,OAAA,KAAI,CAAC,SAAS,GAAG,QAAQ;aAAA,EAAC,CAAC;SAC9B;QAED,sBAAI,qCAAQ;;;;YAAZ;gBACE,OAAO,IAAI,CAAC,SAAS,CAAC;aACvB;;;WAAA;QAED,sBAAI,uCAAU;;;;YAAd;gBACE,OAAO,IAAI,CAAC,WAAW,CAAC;aACzB;;;;;YAED,UAAe,KAAa;gBAC1B,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;aAC1B;;;WAJA;QAMD,sBAAI,wCAAW;;;;YAAf;gBACE,OAAO,IAAI,CAAC,YAAY,CAAC;aAC1B;;;;;YAED,UAAgB,KAAa;gBAC3B,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;aAC3B;;;WAJA;;;;QAMD,kCAAQ;;;QAAR;YACE,IAAI,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,WAAW,EAAE;gBACxC,IAAI,CAAC,YAAY,EAAE,CAAC;gBACpB,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;aACpC;SACF;;;;QAED,kCAAQ;;;QAAR;YACE,IAAI,IAAI,CAAC,YAAY,GAAG,CAAC,EAAE;gBACzB,IAAI,CAAC,YAAY,EAAE,CAAC;gBACpB,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;aACpC;SACF;;;;QAED,oCAAU;;;QAAV;YACE,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,WAAW,CAAC;YACrC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;SACpC;;;;QAED,qCAAW;;;QAAX;YACE,IAAI,CAAC,YAAY,GAAG,CAAC,CAAC;YACtB,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;SACpC;;;;;QAED,oCAAU;;;;QAAV,UAAW,IAAY;YACrB,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;YACxB,IAAI,CAAC,mBAAmB,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAC;YACpD,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;SAC3B;;oBA9DFH,eAAU,SAAC;wBACV,UAAU,EAAE,MAAM;qBACnB;;;;oBALO,kBAAkB;;;8BAD1B;KAIA,IA+DC;;;;;;QA3DC,uCAAyB;;;;;QACzB,sCAAwB;;;;;QACxB,oCAA+C;;;;;QAC/C,oCAAoC;;;;;QAExB,8CAA+C;;;;;;;ICb7D;QAEMI,GAAC,GAAG,MAAM;AAEhB;QAKE;SACC;;;;;;;;QAED,yCAAe;;;;;;;QAAf,UAAgB,EAAE,EAAE,IAAkB,EAAE,UAAsB,EAAE,MAAoB;YAAhE,qBAAA,EAAA,UAAkB;YAAE,2BAAA,EAAA,cAAsB;YAAE,uBAAA,EAAA,YAAoB;YAClF,IAAI,CAAC,EAAE,EAAE;gBACP,OAAO,KAAK,CAAC;aACd;;gBACK,CAAC,GAAG,MAAM;;gBACV,CAAC,GAAG,GAAG;;gBAEP,GAAG,GAAGA,GAAC,CAAC,MAAM,CAAC;;gBAEf,QAAQ,GAAG;gBACf,GAAG,EAAE,GAAG,CAAC,SAAS,EAAE;gBACpB,IAAI,EAAE,GAAG,CAAC,UAAU,EAAE,GAAG,UAAU;gBACnC,KAAK,EAAE,GAAG,CAAC,UAAU,EAAE,GAAG,GAAG,CAAC,KAAK,EAAE,GAAG,EAAE;gBAC1C,MAAM,EAAE,GAAG,CAAC,SAAS,EAAE,GAAG,GAAG,CAAC,MAAM,EAAE;aACvC;YAGD,IAAI,KAAK,CAAC,IAAI,CAAC,EAAE;gBACf,IAAI,GAAG,GAAG,CAAC;aACZ;;gBAEK,KAAK,GAAG,IAAI,GAAG,GAAG;;gBAClB,MAAM,GAAGA,GAAC,CAAC,EAAE,CAAC,CAAC,WAAW,EAAE,IAAI,KAAK,CAAC;;gBACtC,KAAK,GAAGA,GAAC,CAAC,EAAE,CAAC,CAAC,UAAU,EAAE,IAAI,KAAK,CAAC;YAE1C,IAAI,CAAC,KAAK,IAAI,CAAC,MAAM,EAAE;gBACrB,OAAO,KAAK,CAAC;aACd;;gBAEK,MAAM,GAAGA,GAAC,CAAC,EAAE,CAAC,CAAC,MAAM,EAAE;;gBACvB,KAAK,GAAG,CAAC,MAAM,CAAC,IAAI,IAAI,KAAK,CAAC,IAAI,KAAK;;gBACvC,MAAM,GAAG,CAAC,MAAM,CAAC,GAAG,IAAI,KAAK,CAAC,IAAI,MAAM;;gBAExC,OAAO,IAAI,EAAE,QAAQ,CAAC,KAAK,IAAI,MAAM,CAAC,IAAI,IAAI,KAAK,CAAC,CAAC,IAAI,QAAQ,CAAC,IAAI,GAAG,KAAK,IAAI,QAAQ,CAAC,MAAM,IAAI,MAAM,CAAC,GAAG,IAAI,KAAK,CAAC,CAAC,IAAI,QAAQ,CAAC,GAAG,GAAG,MAAM,CAAC,CAAC;YAE3J,IAAI,CAAC,OAAO,EAAE;gBACZ,OAAO,KAAK,CAAC;aACd;;gBAEK,MAAM,GAAG;gBACb,GAAG,EAAE,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,MAAM,GAAG,QAAQ,CAAC,GAAG,IAAI,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;gBACzE,MAAM,EAAE,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,QAAQ,CAAC,MAAM,IAAI,MAAM,CAAC,GAAG,IAAI,KAAK,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;gBAC/F,IAAI,EAAE,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,KAAK,GAAG,QAAQ,CAAC,IAAI,IAAI,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;gBACzE,KAAK,EAAE,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,QAAQ,CAAC,KAAK,IAAI,MAAM,CAAC,IAAI,IAAI,KAAK,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;aAC9F;YAED,OAAO,CAAC,MAAM,CAAC,IAAI,GAAG,MAAM,CAAC,KAAK,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,GAAG,MAAM,CAAC,MAAM,KAAK,CAAC,CAAC;SAC/E;;oBAvDFJ,eAAU,SAAC;wBACV,UAAU,EAAE,MAAM;qBACnB;;;;;8BAND;KAIA;;;;;;ICJA;QAgBMI,GAAC,GAAG,MAAM;AAEhB;QAQE,6BAAoB,WAAoC,EACpC,gBAAiC,EACjC,mBAAuC,EACvC,YAAyB,EACzB,cAA6B,EAC7B,gBAAiC;YALrD,iBAYC;YAZmB,gBAAW,GAAX,WAAW,CAAyB;YACpC,qBAAgB,GAAhB,gBAAgB,CAAiB;YACjC,wBAAmB,GAAnB,mBAAmB,CAAoB;YACvC,iBAAY,GAAZ,YAAY,CAAa;YACzB,mBAAc,GAAd,cAAc,CAAe;YAC7B,qBAAgB,GAAhB,gBAAgB,CAAiB;YAP7C,SAAI,GAAG,GAAG,CAAC;YASjB,IAAI,CAAC,IAAI,GAAG,YAAY,CAAC,IAAI,GAAG,YAAY,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;YAC9D,YAAY,CAAC,UAAU,CAAC,SAAS;;;;YAAC,UAAC,GAAW;gBAC5C,KAAI,CAAC,IAAI,GAAG,GAAG,GAAG,GAAG,GAAG,KAAI,CAAC,IAAI,CAAC;gBAClC,KAAI,CAAC,OAAO,EAAE,CAAC;aAChB,EAAC,CAAC;SACJ;;;;QAED,6CAAe;;;QAAf;YAAA,iBAOC;YANC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;YACxE,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,SAAS;;;;YAAE,UAAA,KAAK;gBAC7C,KAAI,CAAC,WAAW,GAAG,KAAK,CAAC;gBACzB,KAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;aAC1B,GAAE,CAAC;YACJ,IAAI,CAAC,OAAO,EAAE,CAAC;SAChB;;;;QAEuB,uCAAS;;;QAAjC;YACE,IAAI,CAAC,OAAO,EAAE,CAAC;SAChB;;;;QAE8B,sCAAQ;;;QAAvC;YACE,IAAI,CAAC,OAAO,EAAE,CAAC;SAChB;;;;;QAED,0CAAY;;;;QAAZ,UAAa,UAAkB;;gBACvB,EAAE,GAAG,IAAI,CAAC,WAAW,CAAC,aAAa;;gBACnC,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC;;gBAC/B,IAAI,GAAG,UAAU,GAAG,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,GAAG,CAAC,CAAC,GAAG,IAAI;;gBAC3D,SAAS,IAAI,IAAI,IAAIA,GAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,KAAKA,GAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC;YACzE,IAAI,IAAI,CAAC,gBAAgB,CAAC,eAAe,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,SAAS,EAAE;gBACvE,OAAO;aACR;;gBACK,WAAW,GAAG,IAAI,CAAC,eAAe,CAAC,UAAU,CAAC;;gBAC9C,OAAO,GAAG;gBACd,IAAI,EAAE,CAAC;gBACP,GAAG,EAAE,WAAW;aACjB;YACD,IAAG,EAAE,EAAC;;gBAEJ,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;aACpB;SACF;;;;;QAEO,yCAAW;;;;QAAnB;;gBACQ,EAAE,GAAG,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC,aAAa,GAAG,IAAI;YACnE,IAAI,EAAE,EAAE;;gBAEN,OAAO,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;aACtD;SACF;;;;;;QAEO,qCAAO;;;;;QAAf,UAAgB,UAAkB;;gBAC1B,EAAE,GAAG,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC,aAAa,GAAG,IAAI;YACnE,IAAI,EAAE,EAAE;gBACN,OAAO,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC,CAAC;aAC3E;SACF;;;;;;QAEO,6CAAe;;;;;QAAvB,UAAwB,UAAkB;;gBAClC,KAAK,GAAG,IAAI,CAAC,cAAc,CAAC,SAAS,EAAE,GAAG,CAAC,GAAG,IAAI,CAAC,iBAAiB,EAAE;;gBACtE,MAAM,GAAG,IAAI,CAAC,cAAc,CAAC,SAAS,EAAE,GAAG,EAAE,GAAG,EAAE;;gBACpD,WAAW,GAAG,CAAC;YACnB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,UAAU,GAAG,KAAK,EAAE,CAAC,EAAE,EAAE;;oBACrC,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;;oBACtB,YAAY,GAAG,IAAI,GAAG,IAAI,CAAC,YAAY,GAAG,CAAC;gBACjD,WAAW,IAAI,YAAY,GAAG,CAAC,GAAG,YAAY,GAAG,IAAI,CAAC,OAAO,EAAE,GAAG,MAAM,GAAG,CAAC,CAAC;aAC9E;YACD,OAAO,WAAW,CAAC;SACpB;;;;;QAEO,+CAAiB;;;;QAAzB;;gBACQ,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;;gBACxB,MAAM,GAAG,GAAG;;gBACZ,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,MAAM,KAAK,MAAM,CAAC,qBAAqB,EAAE,CAAC,KAAK,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;YAC9G,OAAO,KAAK,KAAK,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;SAChC;;;;QAED,qCAAO;;;QAAP;;gBACM,IAAI;;gBACJ,cAAc,GAAG,KAAK;;gBACpB,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC;;gBACzC,eAAe,GAAG,IAAI,CAAC,WAAW,IAAI,QAAQ,GAAG,QAAQ,CAAC,qBAAqB,EAAE,GAAG,IAAI;YAC9F,KAAK,IAAI,GAAG,CAAC,EAAE,IAAI,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC,MAAM,GAAG,CAAC,EAAE,IAAI,EAAE,EAAE;;oBACrD,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC;gBAClC,IAAI,IAAI,CAAC,gBAAgB,CAAC,eAAe,CAAC,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,EAAE;oBAC7D,IAAI,CAAC,cAAc,EAAE;wBACnB,IAAI,CAAC,IAAI,CAAC,WAAW,IAAI,CAAC,QAAQ,KAAK,IAAI,CAAC,WAAW,IAAI,eAAe,IAAI,OAAO,CAAC,qBAAqB,EAAE,CAAC,GAAG,KAAK,eAAe,CAAC,GAAG,CAAC,EAAE;4BAC1I,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;4BACxB,IAAI,CAAC,gBAAgB,CAAC,WAAW,GAAG,IAAI,CAAC;yBAC1C;wBACD,cAAc,GAAG,IAAI,CAAC;qBACvB;oBACD,IAAI,CAAC,mBAAmB,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAC;iBACrD;aACF;SACF;;;;;QAED,yCAAW;;;;QAAX,UAAY,OAAsB;YAChC,IAAI,CAAC,OAAO,EAAE,CAAC;SAChB;;;;QAED,sCAAQ;;;QAAR;YACE,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;SACzE;;;;;QAGO,sCAAQ;;;;QAAhB;YACE,OAAO,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,WAAW,GAAG,MAAM,CAAC,UAAU,CAAC;SAC1F;;;;;QAEO,qCAAO;;;;QAAf;YACE,OAAO,IAAI,CAAC,IAAI,GAAG,GAAG,CAAC;SACxB;;oBA/HFG,cAAS,SAAC;wBACT,QAAQ,EAAE,gBAAgB;qBAC3B;;;;oBAjBCN,eAAU;oBAOJ,eAAe;oBACf,kBAAkB;oBAClB,WAAW;oBACX,aAAa;oBACb,eAAe;;;gCAmCpBQ,iBAAY,SAAC,QAAQ;+BAIrBA,iBAAY,SAAC,eAAe;;QA6F/B,0BAAC;KAhID,IAgIC;;;;;;QA3HC,0CAA4B;;;;;QAC5B,mCAAmB;;;;;QAEP,0CAA4C;;;;;QAC5C,+CAAyC;;;;;QACzC,kDAA+C;;;;;QAC/C,2CAAiC;;;;;QACjC,6CAAqC;;;;;QACrC,+CAAyC;;;;;;;AC/BvD;QAoBE,uBAAoB,YAAyB,EAAU,cAA6B,EAAE,EAAc;YAAhF,iBAAY,GAAZ,YAAY,CAAa;YAAU,mBAAc,GAAd,cAAc,CAAe;YAV3E,eAAU,GAAG,IAAI,CAAC;YAWzB,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC;SACd;;;;QAED,mCAAW;;;QAAX;SACC;;;;QAED,mCAAW;;;QAAX;YACE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;YACvC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;SAC1C;;;;QAED,gCAAQ;;;QAAR;YAAA,iBAUC;YATC,IAAI,CAAE,IAAI,CAAC,UAAU,EAAE;gBACrB,OAAO;aACR;YAED,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;YACvC,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,SAAS;;;;YAAC,UAAC,IAAI;gBAC1C,KAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;gBACrB,KAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;aACxB,EAAC,CAAC;SACJ;;;;;;QAEO,iCAAS;;;;;QAAjB,UAAkB,IAAI;YACpB,IAAI,CAAE,IAAI,CAAC,UAAU,EAAE;gBACrB,OAAO;aACR;;gBAEK,OAAO,GAAG,IAAI,KAAK,GAAG,GAAG,CAAC,GAAG,IAAI,GAAG,GAAG;YAE7C,IAAI,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,EAAE;gBAChC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;aACxB;iBACI;gBACH,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;aACrB;YAED,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,EAAE;gBACjC,IAAI,CAAC,SAAS,GAAG,QAAQ,GAAG,OAAO,GAAG,GAAG,CAAC;gBAC1C,IAAI,CAAC,eAAe,GAAG,UAAU,CAAC;aACnC;iBACI;gBACH,IAAI,CAAC,SAAS,GAAG,EAAE,CAAC;gBACpB,IAAI,CAAC,eAAe,GAAG,EAAE,CAAC;aAC3B;;gBAEG,QAAQ,GAAG,CAAC;YAChB,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO;;;;YAAC,UAAA,IAAI;gBAC1B;oBACE,IAAI,IAAI,CAAC,KAAK,GAAG,QAAQ,EAAC;wBACxB,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC;qBACvB;iBACF;aACF,EAAC,CAAC;;YAGH,IAAI,CAAC,QAAQ,GAAG,QAAQ,GAAG,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,IAAI,CAAC;SACtE;;;;;;QAEO,sCAAc;;;;;QAAtB,UAAuB,GAAG;YACxB,OAAO,GAAG,CAAC,WAAW,GAAG,GAAG,CAAC,WAAW,CAAC;SAC1C;;;;;;QAEO,mCAAW;;;;;QAAnB,UAAoB,IAAI;;gBAChB,OAAO,GAAG,IAAI,KAAK,GAAG,GAAG,CAAC,GAAG,IAAI,GAAG,GAAG;;gBAEvC,aAAa,GAAG,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,aAAa,CAAC,WAAW;;gBAC/D,WAAW,GAAG,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,aAAa,CAAC;YAC5E,IAAI,CAAC,KAAK,GAAG,CAAC,aAAa,GAAC,OAAO,GAAG,WAAW,GAAC,OAAO,IAAI,IAAI,CAAC;SACnE;;;;QAED,uCAAe;;;QAAf;YACE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;SACxC;;oBAzFFF,cAAS,SAAC;wBACT,QAAQ,EAAE,UAAU;qBACrB;;;;oBANO,WAAW;oBAEV,aAAa;oBAHmDN,eAAU;;;iCAUhFV,UAAK;2BACLA,UAAK;8BAELiB,gBAAW,SAAC,YAAY;gCACxBA,gBAAW,SAAC,iBAAiB;sCAC7BA,gBAAW,SAAC,wBAAwB;4BACpCA,gBAAW,SAAC,aAAa;+BACzBA,gBAAW,SAAC,iBAAiB;;QA8EhC,oBAAC;KA1FD,IA0FC;;;QArFC,mCAA2B;;QAC3B,6BAAc;;QAEd,gCAA2C;;QAC3C,kCAAkD;;QAClD,wCAA+D;;QAC/D,8BAA0C;;QAC1C,iCAAiD;;QACjD,2BAAoB;;;;;QAER,qCAAiC;;;;;QAAE,uCAAqC;;;;;;;ACpBtF;QAUE;YAHQ,cAAS,GAAqB,IAAIf,YAAO,EAAE,CAAC;YACnC,aAAQ,GAAwB,IAAI,CAAC,SAAS,CAAC,YAAY,EAAE,CAAC;SAG9E;QAED,sBAAI,mCAAO;;;;YAAX;gBACE,OAAO,IAAI,CAAC,QAAQ,CAAC;aACtB;;;WAAA;;;;;QAED,8BAAK;;;;QAAL,UAAM,KAAc;YAClB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;SAC3B;;oBAhBFO,eAAU,SAAC;wBACV,UAAU,EAAE,MAAM;qBACnB;;;;;6BALD;KAGA,IAiBC;;;;;;QAbC,mCAAoD;;;;;QACpD,kCAA+E;;;;;;;ICRjF;;;IAGA,qBAIC;;;QAHC,sBAAa;;QACb,uBAAW;;QACX,2BAAmB;;AAGrB;QAaE,yBAAsB,eAA+B;YAArD,iBAIC;YAJqB,oBAAe,GAAf,eAAe,CAAgB;YAL5C,aAAQ,GAAG,KAAK,CAAC;YAEhB,aAAQ,GAAsB,IAAIV,iBAAY,EAAE,CAAC;YAClD,WAAM,GAAG,KAAK,CAAC;YAGtB,eAAe,CAAC,OAAO,CAAC,SAAS;;;YAAC;gBAChC,KAAI,CAAC,KAAK,EAAE,CAAC;aACd,EAAC,CAAC;SACJ;;;;QAED,8BAAI;;;QAAJ;YACE,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;gBAClB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;aACpB;SACF;;;;QAED,+BAAK;;;QAAL;YACE,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;SACrB;;;;;QAED,wCAAc;;;;QAAd,UAAe,KAAa;YAC1B,IAAI,CAAC,KAAK,EAAE,CAAC;SACd;;;;;QAED,gCAAM;;;;QAAN,UAAO,MAAM;;YAEX,MAAM,CAAC,cAAc,EAAE,CAAC;YACxB,MAAM,CAAC,eAAe,EAAE,CAAC;YACzB,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;gBAClB,IAAI,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC;aAC5B;SACF;;;;;;QAED,gCAAM;;;;;QAAN,UAAO,MAAM,EAAE,KAAa;YAC1B,MAAM,CAAC,cAAc,EAAE,CAAC;YACxB,MAAM,CAAC,eAAe,EAAE,CAAC;YACzB,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAC1B,IAAI,CAAC,KAAK,EAAE,CAAC;SACd;;oBA/CFD,cAAS,SAAC;wBACT,QAAQ,EAAE,WAAW;wBACrB,4vBAAsC;;qBAEvC;;;;oBAZO,cAAc;;;8BAenBE,UAAK;+BACLA,UAAK;mCACLA,UAAK;+BACLC,WAAM;6BACND,UAAK;;QAqCR,sBAAC;KAhDD,IAgDC;;;QAzCC,kCAA2B;;QAC3B,mCAA0B;;QAC1B,uCAA8B;;QAC9B,mCAA2D;;QAC3D,iCAAwB;;;;;QAEZ,0CAAyC;;;;;;;ACtBvD;QASE;SACC;;;;;QAIO,8CAAY;;;;QAApB;YACE,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,GAAG,GAAG,IAAI,GAAG,KAAK,CAAC;SACvC;;;;QAED,0CAAQ;;;QAAR;YACE,IAAI,CAAC,YAAY,EAAE,CAAC;SACrB;;;;;QAED,6CAAW;;;;QAAX,UAAY,OAAsB;YAChC,IAAI,CAAC,YAAY,EAAE,CAAA;SACpB;;oBAtBFgB,cAAS,SAAC;wBACT,QAAQ,EAAE,oBAAoB;qBAC/B;;;;;0BAGEhB,UAAK;6BAKLiB,gBAAW,SAAC,gBAAgB;;QAa/B,8BAAC;KAvBD,IAuBC;;;QAlBC,sCAAsB;;QAKtB,yCAA+C;;;;;;;ACZjD;QAmBE;YARS,eAAU,GAAG,IAAI,CAAC;SAS1B;;;;;QAEO,wCAAY;;;;QAApB;YACE,IAAI,OAAO,IAAI,CAAC,KAAK,KAAK,QAAQ,EAAC;gBACjC,IAAI,CAAC,KAAK,GAAG,QAAQ,CAAC,IAAI,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;aACvC;YAED,IAAI,IAAI,CAAC,KAAK,EAAE;gBACd,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC;gBACxB,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC;gBACzB,IAAI,CAAC,SAAS,GAAG,SAAS,GAAG,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC;aAClD;iBAAM,IAAI,IAAI,CAAC,KAAK,KAAK,CAAC,IAAI,IAAI,CAAC,SAAS,EAAE;gBAC7C,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;gBACtB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;gBACvB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;aACvB;YAED,IAAI,IAAI,CAAC,UAAU,EAAE;gBACnB,IAAI,IAAI,CAAC,KAAK,KAAK,EAAE,IAAI,IAAI,CAAC,KAAK,KAAK,GAAG,IAAI,IAAI,CAAC,KAAK,KAAK,CAAC,EAAE,IAAI,IAAI,CAAC,KAAK,KAAK,CAAC,GAAG,EAAE;oBACxF,IAAI,IAAI,CAAC,UAAU,EAAE;wBACnB,IAAI,IAAI,CAAC,WAAW,EAAE,EAAE;4BACtB,IAAI,CAAC,MAAM,GAAG,aAAa,CAAC;yBAC7B;6BAAM;4BACL,IAAI,CAAC,MAAM,GAAG,cAAc,CAAC;yBAC9B;qBACF;yBAAM;wBACL,IAAI,IAAI,CAAC,WAAW,EAAE,EAAE;4BACtB,IAAI,CAAC,MAAM,GAAG,mBAAmB,CAAC;yBACnC;6BAAM;4BACL,IAAI,CAAC,MAAM,GAAG,mBAAmB,CAAC;yBACnC;qBACF;iBACF;qBAAM,IAAI,IAAI,CAAC,KAAK,KAAK,CAAC,GAAG,IAAI,IAAI,CAAC,KAAK,KAAK,GAAG,EAAE;oBACpD,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC;iBACvB;qBAAM;oBACL,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;iBACpB;aACF;SAEF;;;;QAED,uCAAW;;;QAAX;YACE,OAAO,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC;SACjC;;;;QAED,oCAAQ;;;QAAR;YACE,IAAI,CAAC,YAAY,EAAE,CAAC;SACrB;;;;;QAED,uCAAW;;;;QAAX,UAAY,OAAsB;YAChC,IAAI,CAAC,YAAY,EAAE,CAAA;SACpB;;oBArEFD,cAAS,SAAC;wBACT,QAAQ,EAAE,cAAc;qBACzB;;;;;4BAGEhB,UAAK;iCACLA,UAAK;4BACLA,UAAK;6BACLA,UAAK;iCACLA,UAAK;gCAELiB,gBAAW,SAAC,iBAAiB;iCAC7BA,gBAAW,SAAC,2BAA2B;gCACvCA,gBAAW,SAAC,iBAAiB;6BAE7BA,gBAAW,SAAC,cAAc;;QAwD7B,wBAAC;KAvED,IAuEC;;;QAlEC,kCAAuB;;QACvB,uCAA6B;;QAC7B,kCAAuB;;QACvB,mCAAwB;;QACxB,uCAA2B;;QAE3B,sCAAkD;;QAClD,uCAA6D;;QAC7D,sCAAkD;;QAElD,mCAA4C;;;;;;;ACjB9C;QAaE;YAHU,gBAAW,GAAG,IAAIlB,iBAAY,EAAW,CAAC;YACpD,mBAAc,GAAG,KAAK,CAAC;SAGtB;;;;QAED,qCAAQ;;;QAAR;SACC;;;;;QAED,oCAAO;;;;QAAP,UAAQ,MAAM;YACZ,IAAI,MAAM,EAAE;gBACV,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;gBAC9B,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;aAC7B;SACF;;oBAtBFD,cAAS,SAAC;wBACT,QAAQ,EAAE,eAAe;wBACzB,giBAA0C;;qBAE3C;;;;;2BAEEE,UAAK;2BACLA,UAAK;kCACLC,WAAM;;QAeT,yBAAC;KAvBD,IAuBC;;;QAjBC,kCAAsB;;QACtB,kCAAsB;;QACtB,yCAAoD;;QACpD,4CAAuB;;;;;;;ACXzB;QASE;YAAA,iBAKC;YAJC,IAAI,CAAC,OAAO,GAAG,IAAIW,eAAU;;;;YAAC,UAAA,QAAQ;gBACpC,OAAA,KAAI,CAAC,SAAS,GAAG,QAAQ;aAAA,EAAC,CAAC;YAC7B,IAAI,CAAC,WAAW,GAAG,IAAIA,eAAU;;;;YAAC,UAAA,QAAQ;gBACxC,OAAA,KAAI,CAAC,aAAa,GAAG,QAAQ;aAAA,EAAC,CAAC;SAClC;QAED,sBAAI,2CAAW;;;;YAAf;gBACE,OAAO,IAAI,CAAC,OAAO,CAAC;aACrB;;;WAAA;;;;;QAED,wCAAW;;;;QAAX,UAAY,KAAkB;YAC5B,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;SAC5B;QAED,sBAAI,+CAAe;;;;YAAnB;gBACE,OAAO,IAAI,CAAC,WAAW,CAAC;aACzB;;;WAAA;;;;;QAED,uCAAU;;;;QAAV,UAAW,IAAU;YACnB,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;SAC/B;QACH,yBAAC;KAAA,IAAA;;;;;;QA3BC,qCAAyC;;;;;QACzC,uCAAyC;;;;;QACzC,yCAAsC;;;;;QACtC,2CAAsC;;;;;;;;QCGtC,8BAAoB,cAAkC;YAAtD,iBAOC;YAPmB,mBAAc,GAAd,cAAc,CAAoB;YACpD,cAAc,CAAC,WAAW,CAAC,SAAS;;;;YAAC,UAAA,KAAK;gBACxC,KAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;aACzB,EAAC,CAAC;YACH,cAAc,CAAC,eAAe,CAAC,SAAS;;;;YAAC,UAAA,IAAI;gBAC3C,KAAI,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;aAC5B,EAAC,CAAC;SACJ;;;;;;QAEO,0CAAW;;;;;QAAnB,UAAoB,KAAkB;;;gBAChC,SAAS,GAAG,EAAE;YAClB,IAAI,IAAI,CAAC,QAAQ,EAAE;;oBACjB,KAAmB,IAAA,UAAAO,SAAA,KAAK,CAAA,4BAAA,+CAAE;wBAArB,IAAM,IAAI,kBAAA;wBACb,SAAS,IAAI,mBAAmB,GAAG,IAAI,CAAC,MAAM,GAAG,oBAAoB;4BACnE,0BAA0B,GAAG,IAAI,CAAC,IAAI,GAAG,QAAQ;4BACjD,QAAQ,CAAC;qBACZ;;;;;;;;;aACF;iBAAM;;oBACL,KAAmB,IAAA,UAAAA,SAAA,KAAK,CAAA,4BAAA,+CAAE;wBAArB,IAAM,IAAI,kBAAA;wBACb,SAAS,IAAI,mBAAmB,GAAG,IAAI,CAAC,MAAM,GAAG,oBAAoB;4BACnE,oHAAoH,GAAG,IAAI,CAAC,IAAI,GAAG,sBAAsB;4BACzJ,QAAQ,CAAC;qBACZ;;;;;;;;;aACF;YACD,IAAI,CAAC,UAAU,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;SAC7D;;;;;;;;QAEO,yCAAU;;;;;;;QAAlB,UAAmB,SAAS,EAAE,KAAK,EAAE,MAAM;;gBACnC,QAAQ,GAAG,GAAG;;gBACd,OAAO,GAAG,GAAG;;gBACf,eAAe,GAAG,EAAE;YACxB,IAAG,KAAK,GAAG,OAAO,IAAI,MAAM,GAAG,QAAQ,EAAC;;oBAChC,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,QAAQ,CAAC,GAAG,GAAG;gBAChD,eAAe,GAAG,qDAAqD,CAAC;gBACxE,IAAG,SAAS,CAAC,SAAS,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,EAAC;oBAC3D,eAAe,GAAG,kCAAkC,GAAG,IAAI,GAAG,KAAK,CAAC;iBACrE;aACF;;gBACG,QAAQ,GAAG,SAAS;gBACtB,iFAAiF;gBACjF,gDAAgD,GAAG,eAAe;YACpE,QAAQ,GAAG,QAAQ,GAAG,UAAU,CAAC;;gBAE3B,YAAY,GAAG,MAAM,CAAC,IAAI,CAAC,EAAE,EAAE,aAAa,EAAE,0FAA0F,CAAC;YAC/I,YAAY,CAAC,KAAK,EAAE,CAAC;YACrB,YAAY,CAAC,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;YACxC,YAAY,CAAC,QAAQ,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;YACzC,YAAY,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC;YAC9B,YAAY,CAAC,KAAK,EAAE,CAAC;YACrB,YAAY,CAAC,KAAK,EAAE,CAAC;YACrB,YAAY,CAAC,KAAK,EAAE,CAAC;SACtB;;;;;;QAEO,8CAAe;;;;;QAAvB,UAAwB,IAAU;;gBAC1B,OAAO,GAAG,GAAG,CAAC,eAAe,CAAC,IAAI,CAAC;;gBACnC,YAAY,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,aAAa,EAAE,0FAA0F,CAAC;YACpJ,YAAY,CAAC,KAAK,EAAE,CAAC;YACrB,YAAY,CAAC,KAAK,EAAE,CAAC;YACrB,YAAY,CAAC,KAAK,EAAE,CAAC;SACtB;;oBAjEFH,cAAS,SAAC;wBACT,QAAQ,EAAE,iBAAiB;qBAC5B;;;;oBAJO,kBAAkB;;;+BAMvBhB,UAAK;;QA8DR,2BAAC;KAlED,IAkEC;;;QA9DC,wCAA2B;;;;;QAEf,8CAA0C;;;;;;;ACVxD;QAME;YAHQ,cAAS,GAA4B,IAAIoB,oBAAe,CAAC,yBAAyB,CAAC,CAAC;YACpF,mBAAc,GAAuB,IAAI,CAAC,SAAS,CAAC,YAAY,EAAE,CAAC;SAG1E;QAED,sBAAI,kDAAa;;;;YAAjB;gBACE,OAAO,IAAI,CAAC,cAAc,CAAC;aAC5B;;;WAAA;;;;;QAED,+CAAa;;;;QAAb,UAAc,OAAe;YAC3B,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;SAC9B;QACH,8BAAC;KAAA,IAAA;;;;;;QAbC,4CAA4F;;;;;QAC5F,iDAA2E;;;;;;;ACJ7E;QAYE,6BAAY,cAAuC;YAAnD,iBAEC;YADC,cAAc,CAAC,aAAa,CAAC,SAAS;;;;YAAC,UAAA,OAAO,IAAI,OAAA,KAAI,CAAC,OAAO,GAAG,OAAO,GAAA,EAAC,CAAC;SAC3E;;;;QAED,sCAAQ;;;QAAR;SACC;;oBAdFtB,cAAS,SAAC;wBACT,QAAQ,EAAE,gBAAgB;wBAC1B,maAA2C;;qBAE5C;;;;oBANO,uBAAuB;;QAkB/B,0BAAC;KAhBD,IAgBC;;;QATC,sCAAgB;;;;;;;ACVlB;QAME;YAHQ,cAAS,GAAoB,IAAII,YAAO,EAAE,CAAC;YAClC,gBAAW,GAAuB,IAAI,CAAC,SAAS,CAAC,YAAY,EAAE,CAAC;SAGhF;QAED,sBAAI,uCAAU;;;;YAAd;gBACE,OAAO,IAAI,CAAC,WAAW,CAAC;aACzB;;;WAAA;;;;;QAED,qCAAW;;;;QAAX,UAAY,IAAY;YACtB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;SAC3B;QACH,sBAAC;KAAA,IAAA;;;;;;QAbC,oCAAmD;;;;;QACnD,sCAAiF;;;;;;;ICJnF;QAKMW,GAAC,GAAG,MAAM;AAEhB;QASE,mCAAY,cAAuC,EAAU,gBAAiC;YAA9F,iBAEC;YAF4D,qBAAgB,GAAhB,gBAAgB,CAAiB;YAFpF,gBAAW,GAAG,IAAId,iBAAY,EAAE,CAAC;YAGzC,cAAc,CAAC,aAAa,CAAC,SAAS;;;;YAAC,UAAA,OAAO,IAAI,OAAA,KAAI,CAAC,OAAO,GAAG,OAAO,GAAA,EAAC,CAAC;SAC3E;;;;QAED,4CAAQ;;;QAAR;SACC;;;;;QAED,+CAAW;;;;QAAX,UAAY,KAAa;YACvB,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;SAC1C;;;;;QAED,+CAAW;;;;QAAX,UAAY,MAAe;YACzB,IAAI,MAAM,EAAE;gBACV,UAAU;;;gBAAC;;wBACH,OAAO,GAAGc,GAAC,CAAC,WAAW,CAAC;oBAC9B,IAAI,OAAO,EAAE;wBACX,OAAO,CAAC,KAAK,EAAE,CAAC;qBACjB;iBACF,GAAE,GAAG,CAAC,CAAC;aACT;iBAAM;gBACLA,GAAC,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;aACxB;SACF;;;;;QAED,0CAAM;;;;QAAN,UAAO,MAAe;YACpBA,GAAC,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YACvB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;SAC7B;;oBApCFf,cAAS,SAAC;wBACT,QAAQ,EAAE,sBAAsB;wBAChC,0rBAAiD;;qBAElD;;;;oBAVO,uBAAuB;oBACvB,eAAe;;;kCAYpBG,WAAM;;QA8BT,gCAAC;KArCD,IAqCC;;;QA/BC,4CAAgB;;QAChB,gDAA2C;;;;;QAEU,qDAAyC;;;;;;;AChBhG;QAaE,iCAAoB,aAA2B,EAAU,eAAwC;YAA7E,kBAAa,GAAb,aAAa,CAAc;YAAU,oBAAe,GAAf,eAAe,CAAyB;SAChG;;;;;;QAED,2CAAS;;;;;QAAT,UAAU,GAAqB,EAAE,IAAiB;YAAlD,iBAsCC;;gBArCO,SAAS,GAAG,kCAAkC;YAEpD,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC;iBACpB,IAAI,CAACoB,aAAG;;;;YAAC,UAAA,IAAI;gBACV,OAAO,IAAI,CAAC;aACb,EAAC,EACFC,oBAAU;;;;YAAC,UAAC,SAAyB;gBACnC,IAAI,SAAS,YAAYC,sBAAiB,EAAE;oBAC1C,QAAQ,SAAS,CAAC,MAAM;wBAEtB,KAAK,SAAS,CAAC,UAAU;4BACvB,OAAO,CAAC,KAAK,CAAC,oBAAoB,EAAE,SAAS,CAAC,CAAC;4BAC/C,MAAM;wBACR,KAAK,SAAS,CAAC,YAAY;4BACzB,OAAO,CAAC,KAAK,CAAC,qBAAqB,EAAE,SAAS,CAAC,CAAC;4BAChD,MAAM;wBACR,KAAK,SAAS,CAAC,QAAQ;4BACrB,OAAO,CAAC,KAAK,CAAC,kBAAkB,EAAE,SAAS,CAAC,CAAC;4BAC7C,MAAM;wBACR,KAAK,SAAS,CAAC,OAAO;4BACpB,OAAO,CAAC,KAAK,CAAC,gBAAgB,EAAE,SAAS,CAAC,CAAC;4BAC3C,MAAM;wBACR,KAAK,SAAS,CAAC,mBAAmB;4BAChC,OAAO,CAAC,KAAK,CAAC,gBAAgB,EAAE,SAAS,CAAC,CAAC;4BAC3C,KAAI,CAAC,eAAe,CAAC,aAAa,CAAC,SAAS,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;4BAC5D,KAAI,CAAC,aAAa,CAAC,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC,CAAC;4BACnD,MAAM;wBAER,KAAK,SAAS,CAAC,SAAS;4BACtB,OAAO,CAAC,KAAK,CAAC,kBAAkB,EAAE,SAAS,CAAC,CAAC;4BAC7C,KAAI,CAAC,eAAe,CAAC,aAAa,CAAC,SAAS,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;4BAC5D,KAAI,CAAC,aAAa,CAAC,IAAI,CAAC,YAAY,CAAC,gBAAgB,CAAC,CAAC;4BACvD,MAAM;qBACT;iBACF;gBACD,OAAOC,eAAU,CAAC,SAAS,CAAC,CAAC;aAC9B,EAAC,CAAC,CAAC;SACT;;oBA9CFf,eAAU,SAAC;wBACV,UAAU,EAAE,MAAM;qBACnB;;;;oBAJqB,YAAY;oBAF1B,uBAAuB;;;sCAJ/B;KAQA,IA+CC;;;;;;QA1Ca,gDAAmC;;;;;QAAE,kDAAgD;;;;;;;ACbnG;QAYE;YATQ,cAAS,GAAoB,IAAIP,YAAO,EAAE,CAAC;YAClC,gBAAW,GAAuB,IAAI,CAAC,SAAS,CAAC,YAAY,EAAE,CAAC;YAEzE,qBAAgB,GAAoB,IAAIA,YAAO,EAAE,CAAC;YACzC,mBAAc,GAAuB,IAAI,CAAC,gBAAgB,CAAC,YAAY,EAAE,CAAC;YAEnF,mBAAc,GAAoB,IAAIA,YAAO,EAAE,CAAC;YACvC,iBAAY,GAAuB,IAAI,CAAC,cAAc,CAAC,YAAY,EAAE,CAAC;SAGtF;QAED,sBAAI,qCAAU;;;;YAAd;gBACE,OAAO,IAAI,CAAC,WAAW,CAAC;aACzB;;;WAAA;;;;;QAED,+BAAO;;;;QAAP,UAAQ,IAAY;YAClB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;SAC3B;QAED,sBAAI,wCAAa;;;;YAAjB;gBACE,OAAO,IAAI,CAAC,cAAc,CAAC;aAC5B;;;WAAA;QAED,sBAAI,sCAAW;;;;YAAf;gBACE,OAAO,IAAI,CAAC,YAAY,CAAC;aAC1B;;;WAAA;;;;;QAED,kCAAU;;;;QAAV,UAAW,OAAe;YACxB,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;SACrC;;;;;QAED,gCAAQ;;;;QAAR,UAAS,KAAa;YACpB,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;SACjC;QACH,oBAAC;KAAA,IAAA;;;;;;QAnCC,kCAAmD;;;;;QACnD,oCAAiF;;;;;QAEjF,yCAA0D;;;;;QAC1D,uCAA2F;;;;;QAE3F,uCAAwD;;;;;QACxD,qCAAuF;;;;;;;ACVzF;QAmBE,yBAAoB,cAA6B;YAAjD,iBAUC;YAVmB,mBAAc,GAAd,cAAc,CAAe;YATvC,cAAS,GAAG,IAAIH,iBAAY,CAAU,KAAK,CAAC,CAAC;YAEvD,YAAO,GAAG,CAAC,CAAC;YACZ,UAAK,GAAG,CAAC,CAAC;YAOR,cAAc,CAAC,WAAW,CAAC,SAAS;;;;YAAC,UAAC,KAAa;gBACjD,KAAI,CAAC,KAAK,GAAG,KAAK,CAAC;gBACnB,IAAI,KAAK,KAAK,CAAC,EAAE;oBACf,KAAI,CAAC,OAAO,GAAG,CAAC,CAAC;iBAClB;qBAAM;oBACL,KAAI,CAAC,OAAO,GAAG,CAAC,CAAC;iBAClB;gBACD,KAAI,CAAC,cAAc,CAAC,UAAU,CAAC,KAAI,CAAC,OAAO,CAAC,CAAC;aAC9C,EAAC,CAAC;SACJ;;;;QAED,kCAAQ;;;QAAR;SACC;;;;;QAED,iCAAO;;;;QAAP,UAAQ,IAAY;YAClB,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;SACnC;;;;QAED,8BAAI;;;QAAJ;YACE,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;YACjB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;SAC3B;;;;QAED,8BAAI;;;QAAJ;YACE,IAAI,IAAI,CAAC,OAAO,GAAG,CAAC,EAAE;gBACpB,IAAI,CAAC,OAAO,EAAE,CAAC;gBACf,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;aAC9C;SACF;;;;QAED,8BAAI;;;QAAJ;YACE,IAAI,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,KAAK,EAAE;gBAC7B,IAAI,CAAC,OAAO,EAAE,CAAC;gBACf,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;aAC9C;SACF;;;;QAED,yCAAe;;;QAAf;YACE,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,KAAK,EAAE,CAAC;SACxC;;oBAxDFD,cAAS,SAAC;wBACT,QAAQ,EAAE,WAAW;wBACrB,kpBAAsC;;qBAEvC;;;;oBANO,aAAa;;;gCASlBG,WAAM;kCAKNwB,cAAS,SAAC,MAAM,EAAC;4BAChB,MAAM,EAAG,IAAI;yBACd;;QA2CH,sBAAC;KAzDD,IAyDC;;;QAlDC,oCAAuD;;QAEvD,kCAAY;;QACZ,gCAAU;;QAEV,sCAE2B;;;;;QAEf,yCAAqC;;;;;;;ICnBnD;QAKMZ,GAAC,GAAG,MAAM;AAEhB;QAUE,6BAAoB,WAAoC,EACpC,cAA6B,EAC7B,UAA+B,EAC/B,YAAyB;YAH7C,iBAoBC;YApBmB,gBAAW,GAAX,WAAW,CAAyB;YACpC,mBAAc,GAAd,cAAc,CAAe;YAC7B,eAAU,GAAV,UAAU,CAAqB;YAC/B,iBAAY,GAAZ,YAAY,CAAa;YAP7C,YAAO,GAAG,CAAC,CAAC;YACZ,UAAK,GAAG,CAAC,CAAC;YACF,SAAI,GAAG,GAAG,CAAC;YAMjB,cAAc,CAAC,aAAa,CAAC,SAAS;;;;YAAC,UAAC,OAAe;gBACrD,KAAI,CAAC,OAAO,GAAG,OAAO,CAAC;gBACvB,IAAI,KAAI,CAAC,OAAO,KAAK,CAAC,EAAE;oBACtB,KAAI,CAAC,aAAa,EAAE,CAAC;iBACtB;aACF,EAAC,CAAC;YAEH,cAAc,CAAC,UAAU,CAAC,SAAS;;;;YAAC,UAAC,IAAY;gBAC/C,KAAI,CAAC,IAAI,GAAG,IAAI,CAAC;gBACjB,KAAI,CAAC,eAAe,EAAE,CAAC;aACxB,EAAC,CAAC;YAEH,IAAI,CAAC,IAAI,GAAG,YAAY,CAAC,IAAI,GAAG,YAAY,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;YAC9D,YAAY,CAAC,UAAU,CAAC,SAAS;;;;YAAC,UAAC,GAAW;gBAC5C,KAAI,CAAC,IAAI,GAAG,GAAG,GAAG,GAAG,GAAG,KAAI,CAAC,IAAI,CAAC;aACnC,EAAC,CAAC;SACJ;;;;;QAEO,6CAAe;;;;QAAvB;;gBACQ,EAAE,GAAG,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC,aAAa,GAAG,IAAI;YACnE,IAAI,EAAE,EAAE;gBACN,IAAI,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC;gBACxB,IAAI,IAAI,CAAC,IAAI,EAAE;oBACb,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;;wBACf,KAAK,GAAG,EAAE,CAAC,gBAAgB,CAAC,eAAe,CAAC,CAAC,MAAM;oBACzD,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;iBACpB;qBAAM;oBACL,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC;iBAChB;gBACD,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;aAC1C;SACF;;;;;QAEO,2CAAa;;;;QAArB;YACE,IAAI,IAAI,CAAC,OAAO,KAAK,CAAC,EAAE;gBACtB,OAAO;aACR;;gBACK,WAAW,GAAG,IAAI,CAAC,OAAO,EAAE;;gBAC5B,EAAE,GAAG,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC,aAAa,GAAG,IAAI;YACnE,IAAI,EAAE,EAAE;gBACN,EAAE,CAAC,gBAAgB,CAAC,sBAAsB,CAAC,CAAC,OAAO;;;;gBAAC,UAAU,KAAK;oBACjEA,GAAC,CAAC,KAAK,CAAC,CAAC,WAAW,CAAC,qBAAqB,CAAC,CAAC;iBAC7C,EAAC,CAAC;;oBACG,SAAS,GAAG,EAAE,CAAC,gBAAgB,CAAC,eAAe,CAAC,CAAC,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC;gBACxEA,GAAC,CAAC,SAAS,CAAC,CAAC,QAAQ,CAAC,qBAAqB,CAAC,CAAC;gBAC7C,IAAI,SAAS,EAAE;;wBACP,OAAO,GAAG;wBACd,IAAI,EAAE,CAAC;wBACP,GAAG,EAAE,CAACA,GAAC,CAAC,SAAS,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,IAAI,EAAE,CAAC,aAAa,CAAC,aAAa,CAAC,SAAS,GAAG,GAAG;qBAClF;;oBAED,EAAE,CAAC,aAAa,CAAC,aAAa,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;iBAChD;aACF;SACF;;;;;;QAEO,yCAAW;;;;;QAAnB,UAAoB,EAAW;;gBACvB,SAAS,GAAGA,GAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,CAAC,MAAM;;;YAAC;;oBAC5C,QAAQ,GAAG,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,WAAW,EAAE;;oBACpD,UAAU,GAAG,oBAAU,IAAI,IAAE,SAAS,GAAG,CAAC,oBAAU,IAAI,IAAE,SAAS,CAAC,QAAQ,CAAC,cAAc,CAAC,GAAG,IAAI;gBACzG,OAAO,IAAI,CAAC,QAAQ,KAAK,CAAC;oBACxB,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC;oBACpC,QAAQ,KAAK,OAAO;oBACpB,QAAQ,KAAK,OAAO;oBACpB,QAAQ,KAAK,MAAM;oBACnB,QAAQ,KAAK,QAAQ;oBACrB,UAAU,CAAC;aACd,EAAC;;gBACI,IAAI,GAAG,IAAI,CAAC,IAAI;;gBAChB,SAAS,GAAG,IAAI,CAAC,UAAU;YACjC,SAAS,CAAC,IAAI;;;YAAC;;oBACP,KAAK,GAAGA,GAAC,CAAC,IAAI,CAAC;;oBACjB,OAAO,GAAG,KAAK,CAAC,IAAI,EAAE;gBAC1B,OAAO,GAAG,SAAS,CAAC,SAAS,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;gBAC7C,KAAK,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;aAC5B,EAAC,CAAC;YACH,EAAE,CAAC,SAAS,EAAE,CAAC;SAChB;;;;;;QAEO,4CAAc;;;;;QAAtB,UAAuB,EAAe;;gBAC9B,UAAU,GAAG,EAAE,CAAC,gBAAgB,CAAC,eAAe,CAAC;YACvD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,UAAU,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;;oBACpC,OAAO,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC;gBAClC,OAAO,CAAC,WAAW,CAAC,oBAAc,OAAO,IAAE,SAAS,CAAC,CAAC;aACvD;YACD,EAAE,CAAC,SAAS,EAAE,CAAC;SAChB;;;;;QAEO,qCAAO;;;;QAAf;YACE,OAAO,IAAI,CAAC,IAAI,GAAG,GAAG,CAAC;SACxB;;oBAxGFG,cAAS,SAAC;wBACT,QAAQ,EAAE,gBAAgB;qBAC3B;;;;oBATkBN,eAAU;oBACrB,aAAa;oBACb,mBAAmB;oBACnB,WAAW;;QA6GnB,0BAAC;KAzGD,IAyGC;;;QApGC,mCAAa;;QACb,sCAAY;;QACZ,oCAAU;;;;;QACV,mCAAmB;;;;;QAEP,0CAA4C;;;;;QAC5C,6CAAqC;;;;;QACrC,yCAAuC;;;;;QACvC,2CAAiC;;;;;;;ACpB/C;QAWE;SACC;;;;QAED,0CAAQ;;;QAAR;SACC;;oBAbFZ,cAAS,SAAC;wBACT,QAAQ,EAAE,oBAAoB;wBAC9B,mIAA+C;;qBAEhD;;;;;2BAEEE,UAAK;2BACLA,UAAK;;QAQR,8BAAC;KAfD,IAeC;;;QATC,uCAAsB;;QACtB,uCAAsB;;;;;;;ACTxB;QAME;YAHQ,cAAS,GAAoB,IAAIE,YAAO,EAAE,CAAC;YAClC,qBAAgB,GAAuB,IAAI,CAAC,SAAS,CAAC,YAAY,EAAE,CAAC;SAGrF;QAED,sBAAI,gDAAe;;;;YAAnB;gBACE,OAAO,IAAI,CAAC,gBAAgB,CAAC;aAC9B;;;WAAA;;;;;QAED,6CAAe;;;;QAAf,UAAgB,KAAa;YAC3B,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;SAC5B;QACH,0BAAC;KAAA,IAAA;;;;;;QAbC,wCAAmD;;;;;QACnD,+CAAsF;;;;;;;ACJxF;QAgBE,sBAAoB,oBAAyC;YAA7D,iBAIC;YAJmB,yBAAoB,GAApB,oBAAoB,CAAqB;YAJpD,aAAQ,GAAG,KAAK,CAAC;YACjB,WAAM,GAAG,KAAK,CAAC;YACf,YAAO,GAAG,IAAI,CAAC;YAGtB,IAAI,CAAC,oBAAoB,CAAC,eAAe,CAAC,SAAS;;;;YAAC,UAAC,KAAa;gBAChE,KAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;aACxB,EAAC,CAAC;SACJ;;;;;;QAEO,iCAAU;;;;;QAAlB,UAAmB,KAAa;YAC9B,IAAI,IAAI,CAAC,EAAE,KAAK,KAAK,EAAE;gBACrB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;aACpB;iBAAM;gBACL,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;aACrB;SACF;;;;QAED,+BAAQ;;;QAAR;SACC;;;;QAED,gCAAS;;;QAAT;YACE,IAAI,IAAI,CAAC,QAAQ,EAAE;gBACjB,OAAO;aACR;YACD,IAAI,CAAC,oBAAoB,CAAC,eAAe,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;SACpD;;oBAnCFJ,cAAS,SAAC;wBACT,QAAQ,EAAE,QAAQ;wBAClB,iYAAmC;;qBAEpC;;;;oBANO,mBAAmB;;;yBAQxBE,UAAK;+BACLA,UAAK;2BACLA,UAAK;+BACLA,UAAK;6BACLA,UAAK;8BACLA,UAAK;;QAyBR,mBAAC;KApCD,IAoCC;;;QA9BC,0BAAoB;;QACpB,gCAA0B;;QAC1B,4BAAsB;;QACtB,gCAA0B;;QAC1B,8BAAwB;;QACxB,+BAAwB;;;;;QAEZ,4CAAiD;;;;;;;AChB/D;QAQE;SACC;;oBAPFF,cAAS,SAAC;wBACT,QAAQ,EAAE,SAAS;wBACnB,0EAAoC;;qBAErC;;;;QAKD,oBAAC;KATD;;;;;;ACFA;QAGE,oBAAY,QAAgB,EAAE,KAAa,EAAE,OAAe,EAAE,IAAa,EAAE,MAAe,EAAE,SAAkB,EAAE,IAAY,EAAE,SAAkB,EAAE,KAAa,EAAE,IAAY;YAC7K,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;YACzB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;YACnB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;YACvB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YACjB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;YACrB,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;YAC3B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YACjB,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;YAC3B,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;YACnB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;SAClB;;;;QAaa,kBAAO;;;QAArB;YACE,OAAO,IAAI,UAAU,CAAC,EAAE,EAAE,SAAS,EAAE,SAAS,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;SAC9F;QACH,iBAAC;KAAA,IAAA;;;QAdC,0BAAc;;QACd,4BAAgB;;QAChB,+BAAmB;;QACnB,8BAAiB;;QACjB,2BAAc;;QACd,6BAAgB;;QAChB,0BAAa;;QACb,+BAAmB;;QACnB,2BAAc;;QACd,0BAAa;;AAOf;QA0BE;YAzBQ,kBAAa,GAAqB,IAAII,YAAO,EAAE,CAAC;YACvC,sBAAiB,GAAwB,IAAI,CAAC,aAAa,CAAC,YAAY,EAAE,CAAC;YACpF,uBAAkB,GAAqB,IAAIA,YAAO,EAAE,CAAC;YAC5C,2BAAsB,GAAwB,IAAI,CAAC,kBAAkB,CAAC,YAAY,EAAE,CAAC;YAC9F,kBAAa,GAAqB,IAAIA,YAAO,EAAE,CAAC;YACvC,UAAK,GAAwB,IAAI,CAAC,aAAa,CAAC,YAAY,EAAE,CAAC;YACxE,kBAAa,GAAqB,IAAIA,YAAO,EAAE,CAAC;YACvC,UAAK,GAAwB,IAAI,CAAC,aAAa,CAAC,YAAY,EAAE,CAAC;YACxE,oBAAe,GAAqB,IAAIA,YAAO,EAAE,CAAC;YACzC,wBAAmB,GAAwB,IAAI,CAAC,eAAe,CAAC,YAAY,EAAE,CAAC;YACxF,mBAAc,GAAoB,IAAIA,YAAO,EAAE,CAAC;YACvC,uBAAkB,GAAuB,IAAI,CAAC,cAAc,CAAC,YAAY,EAAE,CAAC;YACrF,qBAAgB,GAAoB,IAAIA,YAAO,EAAE,CAAC;YACzC,yBAAoB,GAAuB,IAAI,CAAC,gBAAgB,CAAC,YAAY,EAAE,CAAC;YACzF,sBAAiB,GAAoB,IAAIA,YAAO,EAAE,CAAC;YAC1C,0BAAqB,GAAuB,IAAI,CAAC,iBAAiB,CAAC,YAAY,EAAE,CAAC;YAC3F,kBAAa,GAAoB,IAAIA,YAAO,EAAE,CAAC;YACtC,sBAAiB,GAAuB,IAAI,CAAC,aAAa,CAAC,YAAY,EAAE,CAAC;YACnF,uBAAkB,GAAqB,IAAIA,YAAO,EAAE,CAAC;YAC5C,2BAAsB,GAAwB,IAAI,CAAC,kBAAkB,CAAC,YAAY,EAAE,CAAC;YAC9F,mBAAc,GAAoB,IAAIA,YAAO,EAAE,CAAC;YACvC,uBAAkB,GAAuB,IAAI,CAAC,cAAc,CAAC,YAAY,EAAE,CAAC;YACrF,kBAAa,GAAoB,IAAIA,YAAO,EAAE,CAAC;YACtC,sBAAiB,GAAuB,IAAI,CAAC,aAAa,CAAC,YAAY,EAAE,CAAC;SAG1F;QAED,sBAAI,+CAAgB;;;;YAApB;gBACE,OAAO,IAAI,CAAC,iBAAiB,CAAC;aAC/B;;;WAAA;QAED,sBAAI,oDAAqB;;;;YAAzB;gBACE,OAAO,IAAI,CAAC,sBAAsB,CAAC;aACpC;;;WAAA;QAED,sBAAI,gDAAiB;;;;YAArB;gBACE,OAAO,IAAI,CAAC,kBAAkB,CAAC;aAChC;;;WAAA;QAED,sBAAI,kDAAmB;;;;YAAvB;gBACE,OAAO,IAAI,CAAC,oBAAoB,CAAC;aAClC;;;WAAA;QAED,sBAAI,mDAAoB;;;;YAAxB;gBACE,OAAO,IAAI,CAAC,qBAAqB,CAAC;aACnC;;;WAAA;QAED,sBAAI,+CAAgB;;;;YAApB;gBACE,OAAO,IAAI,CAAC,iBAAiB,CAAC;aAC/B;;;WAAA;QAED,sBAAI,mCAAI;;;;YAAR;gBACE,OAAO,IAAI,CAAC,KAAK,CAAC;aACnB;;;WAAA;QAED,sBAAI,mCAAI;;;;YAAR;gBACE,OAAO,IAAI,CAAC,KAAK,CAAC;aACnB;;;WAAA;QAED,sBAAI,iDAAkB;;;;YAAtB;gBACE,OAAO,IAAI,CAAC,mBAAmB,CAAC;aACjC;;;WAAA;QAED,sBAAI,oDAAqB;;;;YAAzB;gBACE,OAAO,IAAI,CAAC,sBAAsB,CAAC;aACpC;;;WAAA;QAED,sBAAI,gDAAiB;;;;YAArB;gBACE,OAAO,IAAI,CAAC,kBAAkB,CAAC;aAChC;;;WAAA;QAED,sBAAI,+CAAgB;;;;YAApB;gBACE,OAAO,IAAI,CAAC,iBAAiB,CAAC;aAC/B;;;WAAA;;;;;QAEM,sCAAoB;;;;QAA3B,UAA4B,GAAW;YACrC,OAAO,EAAC,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,GAAG,IAAI,EAAE,SAAS,EAAE,KAAK,EAAC,CAAA;SACxD;;;;QAEM,oCAAkB;;;QAAzB;YACE,OAAO;gBACL,iBAAiB,CAAC,oBAAoB,CAAC,CAAC,CAAC;gBACzC,iBAAiB,CAAC,oBAAoB,CAAC,EAAE,CAAC;gBAC1C,iBAAiB,CAAC,oBAAoB,CAAC,EAAE,CAAC;gBAC1C,iBAAiB,CAAC,oBAAoB,CAAC,EAAE,CAAC;gBAC1C,iBAAiB,CAAC,oBAAoB,CAAC,EAAE,CAAC;gBAC1C,iBAAiB,CAAC,oBAAoB,CAAC,EAAE,CAAC;gBAC1C,iBAAiB,CAAC,oBAAoB,CAAC,EAAE,CAAC;gBAC1C,iBAAiB,CAAC,oBAAoB,CAAC,EAAE,CAAC;gBAC1C,iBAAiB,CAAC,oBAAoB,CAAC,EAAE,CAAC;aAC3C,CAAC;SACH;;;;;QAEM,kCAAgB;;;;QAAvB,UAAwB,GAAW;YACjC,OAAO,EAAC,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,SAAS,EAAE,KAAK,EAAC,CAAA;SACjD;;;;QAEM,gCAAc;;;QAArB;YAAA,iBASC;;gBARO,KAAK,GAAG,CAAC,OAAO,EAAE,SAAS,EAAE,gBAAgB,EAAE,YAAY,EAAE,UAAU,EAAE,SAAS,EAAE,aAAa,EAAE,cAAc,EAAE,SAAS,EAAE,WAAW,EAAE,WAAW,EAAE,QAAQ,EAAE,aAAa;gBACnL,YAAY,EAAE,WAAW,EAAE,UAAU,EAAE,QAAQ,EAAE,iBAAiB,EAAE,WAAW,CAAC;;gBAC5E,WAAW,GAAG,EAAE;YACtB,KAAK,CAAC,OAAO;;;;YAAC,UAAA,IAAI;gBAChB,WAAW,CAAC,IAAI,CAAC,KAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC;aAC/C,EAAC,CAAA;YAEF,OAAO,WAAW,CAAC;SACpB;;;;;QAED,gDAAoB;;;;QAApB,UAAqB,MAAc;YACjC,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;SACrC;;;;;QAED,4CAAgB;;;;QAAhB,UAAiB,IAAa;YAC5B,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;SAC/B;;;;;QAED,iDAAqB;;;;QAArB,UAAsB,SAAkB;YACtC,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;SACzC;;;;QAED,gCAAI;;;QAAJ;YACE,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,CAAC;SAC3B;;;;QAED,gCAAI;;;QAAJ;YACE,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,CAAC;SAC3B;;;;;QAED,8CAAkB;;;;QAAlB,UAAmB,MAAe;YAChC,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;SACnC;;;;;QAED,6CAAiB;;;;QAAjB,UAAkB,KAAa;YAC7B,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;SACjC;;;;;QAED,+CAAmB;;;;QAAnB,UAAoB,OAAe;YACjC,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;SACrC;;;;;QAED,4CAAgB;;;;QAAhB,UAAiB,IAAY;YAC3B,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;SAC/B;;;;;QAED,iDAAqB;;;;QAArB,UAAsB,SAAkB;YACtC,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;SACzC;;;;;QAED,6CAAiB;;;;QAAjB,UAAkB,KAAa;YAC7B,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;SACjC;;;;;QAED,4CAAgB;;;;QAAhB,UAAiB,IAAY;YAC3B,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;SAC/B;QACH,wBAAC;KAAA,IAAA;;;;;;QA5JC,0CAAwD;;;;;QACxD,8CAA4F;;;;;QAC5F,+CAA6D;;;;;QAC7D,mDAAsG;;;;;QACtG,0CAAwD;;;;;QACxD,kCAAgF;;;;;QAChF,0CAAwD;;;;;QACxD,kCAAgF;;;;;QAChF,4CAA0D;;;;;QAC1D,gDAAgG;;;;;QAChG,2CAAwD;;;;;QACxD,+CAA6F;;;;;QAC7F,6CAA0D;;;;;QAC1D,iDAAiG;;;;;QACjG,8CAA2D;;;;;QAC3D,kDAAmG;;;;;QACnG,0CAAuD;;;;;QACvD,8CAA2F;;;;;QAC3F,+CAA6D;;;;;QAC7D,mDAAsG;;;;;QACtG,2CAAwD;;;;;QACxD,+CAA6F;;;;;QAC7F,0CAAuD;;;;;QACvD,8CAA2F;;;;;;;ICxD7F;QAEM,cAAc,GAAG;QACrB,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS;QAC5G,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS;QAC5G,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS;QAC5G,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS;QAC5G,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS;QAC5G,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS;QAC5G,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS;QAC5G,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS;KAC7G;AAED;QAYE;YANS,WAAM,GAAG,KAAK,CAAC;YACd,kBAAa,GAAG,IAAIH,iBAAY,EAAU,CAAC;YAC3C,iBAAY,GAAG,IAAIA,iBAAY,EAAW,CAAC;YACrD,WAAM,GAAQ,cAAc,CAAC;YAC7B,UAAK,GAAG,SAAS,CAAC;SAGjB;;;;QAED,uCAAQ;;;QAAR;SACC;;;;;;QAED,qCAAM;;;;;QAAN,UAAO,MAAM,EAAE,KAAa;YAC1B,MAAM,CAAC,cAAc,EAAE,CAAC;YACxB,MAAM,CAAC,eAAe,EAAE,CAAC;YACzB,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;SAChC;;;;QAED,oCAAK;;;QAAL;YACE,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;YACpB,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;SAC9B;;oBA3BFD,cAAS,SAAC;wBACT,QAAQ,EAAE,iBAAiB;wBAC3B,2bAA4C;;qBAE7C;;;;;6BAEEE,UAAK;oCACLC,WAAM;mCACNA,WAAM;;QAoBT,2BAAC;KA5BD,IA4BC;;;QAtBC,sCAAwB;;QACxB,6CAAqD;;QACrD,4CAAqD;;QACrD,sCAA6B;;QAC7B,qCAAkB;;;;;;;;QCjBuBU,yCAAiB;QAE1D;mBACE,iBAAO;SACR;;oBAPFF,eAAU,SAAC;wBACV,UAAU,EAAE,MAAM;qBACnB;;;;;oCALD;KAWC,CAL0C,iBAAiB;;;;;;ACN5D;QAEA;YAKE,SAAI,GAAe,KAAK,IAAI,CAAC,CAAC,0BAA0B,CAAC,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;SAyBpF;;;;QAvBC,2CAAgB;;;QAAhB;YACE,IAAG,IAAI,CAAC,SAAS,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,SAAS,IAAI,IAAI,CAAC,IAAI,EAAC;gBAC1D,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,SAAS,CAAG,CAAC;aACrC;SACF;;;;QAED,2CAAgB;;;QAAhB;;gBACQ,SAAS,GAAG,MAAM,CAAC,YAAY,EAAE;YACvC,IAAI,SAAS,CAAC,UAAU,GAAG,CAAC,EAAE;gBAC5B,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;aAC1C;SACF;;;;;;QAEO,uCAAY;;;;;QAApB,UAAqB,SAAS;;gBACtB,GAAG,GAAG,MAAM,CAAC,YAAY,EAAE;YACjC,GAAG,CAAC,eAAe,EAAE,CAAC;YACtB,GAAG,CAAC,QAAQ,CAAC,SAAS,CAAC,UAAU,EAAE,CAAC,CAAC;SACtC;;;;QAED,2CAAgB;;;QAAhB;YACE,IAAI,CAAC,gBAAgB,EAAE,CAAC;YACxB,IAAI,CAAC,gBAAgB,EAAE,CAAC;SACzB;;oBA7BFA,eAAU,SAAC;wBACV,UAAU,EAAE,MAAM;qBACnB;;;+BAJD;KAEA,IA8BC;;;QA1BC,qCAAiB;;QACjB,gCAAmF;;;;;;;ICPrF;QAIMI,GAAC,GAAG,MAAM;AAChB;QAkBE,6BAAoB,kBAAqC,EACrC,sBAA6C,EAC7C,iBAAmC;YAFnC,uBAAkB,GAAlB,kBAAkB,CAAmB;YACrC,2BAAsB,GAAtB,sBAAsB,CAAuB;YAC7C,sBAAiB,GAAjB,iBAAiB,CAAkB;YAb/C,SAAI,GAAG,KAAK,CAAC;YACb,WAAM,GAAG,KAAK,CAAC;YACf,cAAS,GAAG,KAAK,CAAC;YAIlB,cAAS,GAAG,KAAK,CAAC;YAGlB,SAAI,GAAG,KAAK,CAAC;YAKnB,IAAI,CAAC,IAAI,gBAAe,KAAK,IAAI,CAAC,CAAC,0BAA0B,CAAC,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;SACzF;;;;QAEwB,qCAAO;;;QAAhC;YAEE,IAAI,CAAC,IAAI,GAAG,QAAQ,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC;YAC/C,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC,iBAAiB,CAAC,eAAe,CAAC,CAAC;YAC7D,IAAI,CAAC,MAAM,GAAG,QAAQ,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAC;YACnD,IAAI,CAAC,OAAO,GAAG,QAAQ,CAAC,iBAAiB,CAAC,WAAW,CAAC,CAAC;YACvD,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC,iBAAiB,CAAC,WAAW,CAAC,CAAC;YACzD,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;YACjC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;;YAG7B,IAAI,IAAI,CAAC,OAAO,KAAK,aAAa,EAAE;gBAClC,IAAI,CAAC,OAAO,GAAGA,GAAC,CAAC,MAAM,CAAC,YAAY,EAAE,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC,QAAQ,EAAE,CAAC;aACjG;YACD,IAAI,CAAC,IAAI,GAAG,QAAQ,CAAC,iBAAiB,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;YACrE,IAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,GAAG,CAAC,EAAC;gBACjC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;aACrC;YACD,IAAI,CAAC,KAAK,GAAG,QAAQ,CAAC,iBAAiB,CAAC,WAAW,CAAC,CAAC;YACrD,IAAI,CAAC,sBAAsB,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACxD,IAAI,CAAC,sBAAsB,CAAC,qBAAqB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YAClE,IAAI,CAAC,sBAAsB,CAAC,kBAAkB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YAC5D,IAAI,CAAC,sBAAsB,CAAC,iBAAiB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAC1D,IAAI,CAAC,sBAAsB,CAAC,mBAAmB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YAC9D,IAAI,CAAC,sBAAsB,CAAC,oBAAoB,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC,CAAC;YACxE,IAAI,CAAC,sBAAsB,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACxD,IAAI,CAAC,sBAAsB,CAAC,qBAAqB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YAClE,IAAI,CAAC,sBAAsB,CAAC,iBAAiB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAC1D,IAAI,CAAC,sBAAsB,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;SACzD;;;;;QAEO,0CAAY;;;;QAApB;;gBACM,KAAK,GAAG,EAAE;YACd,KAAK,GAAG,QAAQ,CAAC,iBAAiB,CAAC,eAAe,CAAC,GAAG,QAAQ,GAAG,KAAK,CAAC;YACvE,KAAK,GAAG,QAAQ,CAAC,iBAAiB,CAAC,aAAa,CAAC,GAAG,MAAM,GAAG,KAAK,CAAC;YACnE,KAAK,GAAG,QAAQ,CAAC,iBAAiB,CAAC,aAAa,CAAC,GAAG,MAAM,GAAG,KAAK,CAAC;YACnE,KAAK,GAAG,QAAQ,CAAC,iBAAiB,CAAC,cAAc,CAAC,GAAG,OAAO,GAAG,KAAK,CAAC;YACrE,OAAO,KAAK,CAAC;SACd;;;;;QAEO,uCAAS;;;;QAAjB;;gBACM,IAAI,GAAG,EAAE;YACb,IAAI,GAAG,QAAQ,CAAC,iBAAiB,CAAC,qBAAqB,CAAC,GAAG,WAAW,GAAG,IAAI,CAAC;YAC9E,IAAI,GAAG,QAAQ,CAAC,iBAAiB,CAAC,mBAAmB,CAAC,GAAG,SAAS,GAAG,IAAI,CAAC;YAC1E,OAAO,IAAI,CAAC;SACb;;;;QAED,4CAAc;;;QAAd;;gBACM,WAAW;;gBAAE,GAAG;YACpB,IAAI,MAAM,CAAC,YAAY,EAAE;gBACvB,GAAG,GAAG,MAAM,CAAC,YAAY,EAAE,CAAC;gBAC5B,IAAI,GAAG,CAAC,UAAU,EAAE;oBAClB,WAAW,GAAG,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,uBAAuB,CAAC;;oBAExD,IAAI,WAAW,CAAC,QAAQ,KAAK,CAAC,EAAE;wBAC9B,WAAW,GAAG,WAAW,CAAC,UAAU,CAAC;qBACtC;iBACF;aACF;iBAAM,IAAI,CAAC,GAAG,GAAG,QAAQ,CAAC,YAAY,EAAE,KAAK,GAAG,CAAC,IAAI,KAAK,SAAS,EAAE;gBACpE,WAAW,GAAG,GAAG,CAAC,WAAW,EAAE,CAAC,aAAa,EAAE,CAAC;aACjD;YAED,IAAI,WAAW,EAAE;gBACf,OAAO,QAAQ,CAAC,IAAI,CAAC,wBAAwB,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;aAC/F;SACF;;;;;;QAED,sDAAwB;;;;;QAAxB,UAAyB,EAAE,EAAE,QAAQ;YACnC,IAAI,MAAM,CAAC,gBAAgB,EAAE;gBAC3B,OAAO,MAAM,CAAC,gBAAgB,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC,QAAQ,CAAC,CAAC;aACpD;iBAAM,IAAI,EAAE,CAAC,YAAY,EAAE;gBAC1B,OAAO,EAAE,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;aAClC;SACF;;;;QAED,sCAAQ;;;QAAR;YAAA,iBAgDC;YA/CC,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,SAAS;;;YAAC;gBACrC,KAAI,CAAC,UAAU,EAAE,CAAC;aACnB,EAAC,CAAC;YACH,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,SAAS;;;YAAC;gBACrC,KAAI,CAAC,UAAU,EAAE,CAAC;aACnB,EAAC,CAAC;YACH,IAAI,CAAC,kBAAkB,CAAC,gBAAgB,CAAC,SAAS;;;;YAAC,UAAC,IAAa;gBAC/D,KAAI,CAAC,IAAI,GAAG,IAAI,CAAC;gBACjB,KAAI,CAAC,UAAU,EAAE,CAAC;aACnB,EAAC,CAAC;YACH,IAAI,CAAC,kBAAkB,CAAC,qBAAqB,CAAC,SAAS;;;;YAAC,UAAC,SAAkB;gBACzE,KAAI,CAAC,SAAS,GAAG,SAAS,CAAC;gBAC3B,KAAI,CAAC,eAAe,EAAE,CAAC;aACxB,EAAC,CAAC;YACH,IAAI,CAAC,kBAAkB,CAAC,kBAAkB,CAAC,SAAS;;;;YAAC,UAAC,MAAe;gBACnE,KAAI,CAAC,MAAM,GAAG,MAAM,CAAC;gBACrB,KAAI,CAAC,YAAY,EAAE,CAAC;aACrB,EAAC,CAAC;YACH,IAAI,CAAC,kBAAkB,CAAC,iBAAiB,CAAC,SAAS;;;;YAAE,UAAC,KAAa;gBACjE,KAAI,CAAC,KAAK,GAAG,KAAK,CAAC;gBACnB,KAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;aACtB,GAAE,CAAC;YACJ,IAAI,CAAC,kBAAkB,CAAC,mBAAmB,CAAC,SAAS;;;;YAAE,UAAC,OAAe;gBACrE,KAAI,CAAC,OAAO,GAAG,OAAO,CAAC;gBACvB,KAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;aAC1B,GAAE,CAAC;YACJ,IAAI,CAAC,kBAAkB,CAAC,oBAAoB,CAAC,SAAS;;;;YAAE,UAAC,QAAgB;gBACvE,KAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;aAC5B,GAAE,CAAC;YAEJ,IAAI,CAAC,kBAAkB,CAAC,gBAAgB,CAAC,SAAS;;;;YAAE,UAAC,IAAY;gBAC/D,KAAI,CAAC,IAAI,GAAG,IAAI,CAAC;gBACjB,KAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;aACpB,GAAE,CAAC;YACJ,IAAI,CAAC,kBAAkB,CAAC,qBAAqB,CAAC,SAAS;;;;YAAC,UAAC,SAAkB;gBACzE,KAAI,CAAC,SAAS,GAAG,SAAS,CAAC;gBAC3B,KAAI,CAAC,eAAe,EAAE,CAAC;aACxB,EAAC,CAAC;YACH,IAAI,CAAC,kBAAkB,CAAC,iBAAiB,CAAC,SAAS;;;;YAAC,UAAC,KAAa;gBAChE,KAAI,CAAC,KAAK,GAAG,KAAK,CAAC;gBACnB,KAAI,CAAC,WAAW,CAAC,KAAI,CAAC,KAAK,CAAC,CAAC;aAC9B,EAAC,CAAC;YACH,IAAI,CAAC,kBAAkB,CAAC,gBAAgB,CAAC,SAAS;;;;YAAC,UAAC,IAAY;;oBACxD,MAAM,GAAG,KAAI,CAAC,IAAI,KAAK,IAAI;gBACjC,KAAI,CAAC,IAAI,GAAG,IAAI,CAAC;gBACjB,KAAI,CAAC,UAAU,CAAC,KAAI,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;aACpC,EAAC,CAAC;SACJ;;;;;QAEO,wCAAU;;;;QAAlB;YACE,QAAQ,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;YAC7B,IAAI,CAAC,iBAAiB,CAAC,gBAAgB,EAAE,CAAC;SAC3C;;;;;QAEO,6CAAe;;;;QAAvB;YACE,QAAQ,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC;YAClC,IAAI,CAAC,iBAAiB,CAAC,gBAAgB,EAAE,CAAC;SAC3C;;;;;QAEO,0CAAY;;;;QAApB;YACE,QAAQ,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;YAC/B,IAAI,CAAC,iBAAiB,CAAC,gBAAgB,EAAE,CAAC;SAC3C;;;;;;QAEO,wCAAU;;;;;QAAlB,UAAmB,OAAe;YAChC,QAAQ,CAAC,WAAW,CAAC,WAAW,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;YAClD,IAAI,CAAC,iBAAiB,CAAC,gBAAgB,EAAE,CAAC;SAC3C;;;;;;QAEO,sCAAQ;;;;;QAAhB,UAAiB,KAAa;YAC5B,QAAQ,CAAC,WAAW,CAAC,WAAW,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;YAChD,IAAI,CAAC,iBAAiB,CAAC,gBAAgB,EAAE,CAAC;SAC3C;;;;;;QAEO,yCAAW;;;;;QAAnB,UAAoB,QAAgB;YAClC,IAAI,QAAQ,CAAC,YAAY,EAAE,CAAC,QAAQ,EAAE,EAAE;;oBAClC,UAAU,GAAG,0BAA0B,GAAG,QAAQ,GAAG,aAAa,GAAG,IAAI,CAAC,KAAK,GAAG,sBAAsB,GAAG,IAAI,CAAC,OAAO,GAAG,iBAAiB,GAAG,IAAI,CAAC,IAAI,GAAG,IAAI;oBAChK,QAAQ,CAAC,YAAY,EAAE,GAAG,SAAS;gBACrC,IAAI,IAAI,CAAC,IAAI,EAAE;oBACb,UAAU,GAAG,KAAK,GAAG,UAAU,GAAG,MAAM,CAAC;iBAC1C;gBACD,IAAI,IAAI,CAAC,MAAM,EAAE;oBACf,UAAU,GAAG,KAAK,GAAG,UAAU,GAAG,MAAM,CAAC;iBAC1C;gBACD,IAAI,IAAI,CAAC,SAAS,EAAE;oBAClB,UAAU,GAAG,KAAK,GAAG,UAAU,GAAG,MAAM,CAAC;iBAC1C;gBACD,IAAI,IAAI,CAAC,SAAS,EAAE;oBAClB,UAAU,GAAG,UAAU,GAAG,UAAU,GAAG,WAAW,CAAC;iBACpD;gBACD,QAAQ,CAAC,WAAW,CAAC,YAAY,EAAE,KAAK,EAAE,UAAU,CAAC,CAAC;aACvD;iBAAM;gBACL,QAAQ,CAAC,WAAW,CAAC,UAAU,EAAE,KAAK,EAAE,GAAG,CAAC,CAAC;aAC9C;YACD,IAAI,CAAC,iBAAiB,CAAC,gBAAgB,EAAE,CAAC;SAC3C;;;;;QAEO,wCAAU;;;;QAAlB;YACE,QAAQ,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;SAC9B;;;;;QAEO,wCAAU;;;;QAAlB;YACE,QAAQ,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;SAC9B;;;;;;QAEO,qCAAO;;;;;QAAf,UAAgB,IAAY;YAC1B,QAAQ,CAAC,WAAW,CAAC,UAAU,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;YAC9C,IAAI,CAAC,iBAAiB,CAAC,gBAAgB,EAAE,CAAC;SAC3C;;;;;QAEO,6CAAe;;;;QAAvB;YACE,QAAQ,CAAC,WAAW,CAAC,eAAe,CAAC,CAAC;YACtC,IAAI,CAAC,iBAAiB,CAAC,gBAAgB,EAAE,CAAC;SAC3C;;;;;;QAEO,yCAAW;;;;;QAAnB,UAAoB,KAAa;YAC/B,IAAG,IAAI,CAAC,IAAI,EAAE;gBACZ,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;gBAC1B,OAAO;aACR;YACD,QAAQ,CAAC,WAAW,CAAC,cAAc,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;YACpD,QAAQ,KAAK;gBACX,KAAK,QAAQ;oBACX,QAAQ,CAAC,WAAW,CAAC,eAAe,CAAC,CAAC;oBACtC,MAAM;gBACR,KAAK,MAAM;oBACT,QAAQ,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC;oBACpC,MAAM;gBACR,KAAK,MAAM;oBACT,QAAQ,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC;oBACpC,MAAM;gBACR,KAAK,OAAO;oBACV,QAAQ,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC;oBACrC,MAAM;aACT;YACD,IAAI,CAAC,iBAAiB,CAAC,gBAAgB,EAAE,CAAC;SAC3C;;;;;;QAEO,2CAAa;;;;;QAArB,UAAsB,KAAa;YACjC,IAAI,CAAC,iBAAiB,CAAC,gBAAgB,EAAE,CAAA;YACzC,IAAI,CAAC,iBAAiB,CAAC,gBAAgB,EAAE,CAAA;;gBACnC,SAAS,GAAG,MAAM,CAAC,YAAY,EAAE,CAAC,SAAS,CAAC,UAAU,CAAC,UAAU;YACvE,IAAG,KAAK,KAAK,MAAM,EAAC;gBAClB,KAAK,GAAG,SAAS,CAAC;aACnB;YACDA,GAAC,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;YACtC,IAAI,CAAC,iBAAiB,CAAC,gBAAgB,EAAE,CAAA;SAC1C;;;;;;;QAEO,wCAAU;;;;;;QAAlB,UAAmB,IAAY,EAAE,MAAe;YAC9C,QAAQ,IAAI;gBACV,KAAK,WAAW;oBACd,QAAQ,CAAC,WAAW,CAAC,qBAAqB,EAAE,MAAM,CAAC,CAAC;oBACpD,MAAM;gBACR,KAAK,SAAS;oBACZ,QAAQ,CAAC,WAAW,CAAC,mBAAmB,EAAE,MAAM,CAAC,CAAC;oBAClD,MAAM;aACT;YACD,IAAI,CAAC,iBAAiB,CAAC,gBAAgB,EAAE,CAAC;SAC3C;;oBAjQFG,cAAS,SAAC;wBACT,QAAQ,EAAE,gBAAgB;qBAC3B;;;;oBARO,iBAAiB;oBACjB,qBAAqB;oBAGrB,gBAAgB;;;8BAwBrBE,iBAAY,SAAC,SAAS;;QA4OzB,0BAAC;KAlQD,IAkQC;;;;;;QA7PC,mCAAqB;;;;;QACrB,qCAAuB;;;;;QACvB,wCAA0B;;;;;QAC1B,oCAAsB;;;;;QACtB,sCAAwB;;;;;QACxB,mCAAqB;;;;;QACrB,wCAA0B;;;;;QAC1B,oCAAsB;;;;;QACtB,mCAAqB;;;;;QACrB,mCAAqB;;;;;QAET,iDAA6C;;;;;QAC7C,qDAAqD;;;;;QACrD,gDAA2C;;;;;;;ACzBzD;QASE;SAAiB;;;;QAEjB,wCAAQ;;;QAAR;SACC;;oBAVFpB,cAAS,SAAC;wBACT,QAAQ,EAAE,kBAAkB;wBAC5B,obAA6C;;qBAE9C;;;;QAQD,4BAAC;KAZD;;;;;;ACFA;QAUE;YAHQ,cAAS,GAAoB,IAAII,YAAO,EAAE,CAAC;YAClC,iBAAY,GAAuB,IAAI,CAAC,SAAS,CAAC,YAAY,EAAE,CAAC;SAGjF;QAED,sBAAI,qCAAQ;;;;YAAZ;gBACE,OAAO,IAAI,CAAC,SAAS,CAAC;aACvB;;;WAAA;QAED,sBAAI,wCAAW;;;;YAAf;gBACE,OAAO,IAAI,CAAC,YAAY,CAAC;aAC1B;;;WAAA;;oBAhBFO,eAAU,SAAC;wBACV,UAAU,EAAE,MAAM;qBACnB;;;;;8BALD;KAGA,IAkBC;;;;;;QAdC,oCAAmD;;;;;QACnD,uCAAkF;;;;;;;ACRpF;QAYE,yBAAoB,iBAAmC,EAAU,YAA6B;YAA1E,sBAAiB,GAAjB,iBAAiB,CAAkB;YAAU,iBAAY,GAAZ,YAAY,CAAiB;YAFtF,SAAI,GAAwB,KAAK,IAAI,CAAC,CAAC,0BAA0B,CAAC,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;SAGnG;;;;;QAGM,iCAAO;;;;QADd,UACe,KAAK;YAClB,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC,MAAM,CAAC;YACzB,IAAG,IAAI,CAAC,IAAI,EAAC;gBACX,IAAI,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE;;wBACjB,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE;oBAC3C,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;iBACvC;aACF;SACF;;;;;QAGM,sCAAY;;;;QADnB,UACoB,KAAK;YACvB,IAAI,CAAC,iBAAiB,CAAC,gBAAgB,EAAE,CAAC;;YAE1C,IAAG,IAAI,CAAC,IAAI,EAAC;gBACX,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC,CAAC;aACpE;SACF;;;;;QAGM,gCAAM;;;;QADb,UACc,KAAK;YACjB,KAAK,CAAC,cAAc,EAAE,CAAC;YACvB,IAAI,CAAC,iBAAiB,CAAC,gBAAgB,EAAE,CAAC;YAC1C,IAAI,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE;;oBACjB,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE;gBAC3C,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;aACvC;iBAAM;gBACL,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC,CAAC;aACpE;SACF;;oBAzCFO,cAAS,SAAC;wBACT,QAAQ,EAAE,YAAY;qBACvB;;;;oBALO,gBAAgB;oBAChB,eAAe;;;2BAMpBhB,UAAK;8BAOLkB,iBAAY,SAAC,OAAO,EAAE,CAAC,QAAQ,CAAC;mCAWhCA,iBAAY,SAAC,YAAY,EAAE,CAAC,QAAQ,CAAC;6BASrCA,iBAAY,SAAC,MAAM,EAAE,CAAC,QAAQ,CAAC;;QAWlC,sBAAC;KA1CD,IA0CC;;;QAtCC,+BAAmB;;;;;QAEnB,+BAAoG;;;;;QAExF,4CAA2C;;;;;QAAE,uCAAqC;;;;;;;ACZhG;QAWE;YALA,qBAAgB,GAA0B,IAAInB,iBAAY,EAAW,CAAC;YAE9D,aAAQ,GAAG,EAAE,CAAC;YACd,aAAQ,GAAuB,EAAE,CAAC;YAGxC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;YAClC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;SAC3C;;;;;QAED,2CAAc;;;;QAAd,UAAe,GAAqB;;gBAC5B,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI;;;;YAAC,UAAA,CAAC,IAAI,OAAA,GAAG,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAA,EAAC;YACzD,IAAI,CAAC,IAAI,EAAE;gBACT,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBACxB,IAAI,CAAC,MAAM,EAAE,CAAC;aACf;SACF;;;;;QAED,4CAAe;;;;QAAf,UAAgB,GAAqB;;gBAC7B,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC;YACxC,IAAI,KAAK,KAAK,CAAC,CAAC,EAAE;gBAChB,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;aAChC;YACD,IAAI,CAAC,MAAM,EAAE,CAAC;SACf;;;;;QAEO,mCAAM;;;;QAAd;YACE,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC;SACxD;;oBA9BFU,eAAU;;;;QA+BX,yBAAC;KA/BD,IA+BC;;;QA7BC,8CAAsE;;;;;QAEtE,sCAAsB;;;;;QACtB,sCAA0C;;;;;;;ACT5C;QAYE,8BAAoB,mBAAuC;YAAvC,wBAAmB,GAAnB,mBAAmB,CAAoB;YAFlD,gBAAW,GAAG,KAAK,CAAC;SAG5B;;;;QAED,uCAAQ;;;QAAR;SACC;;;;QAED,8CAAe;;;QAAf;YAAA,iBAIC;YAHC,IAAI,CAAC,mBAAmB;iBACrB,gBAAgB;iBAChB,SAAS;;;;YAAC,UAAC,OAAgB,IAAK,OAAA,KAAI,CAAC,WAAW,GAAG,OAAO,GAAA,EAAC,CAAC;SAChE;;oBAnBFX,cAAS,SAAC;wBACT,QAAQ,EAAE,iBAAiB;wBAC3B,yOAA4C;;qBAE7C;;;;oBANO,kBAAkB;;;kCASvBE,UAAK;;QAaR,2BAAC;KApBD,IAoBC;;;QAbC,2CAA6B;;;;;QAEjB,mDAA+C;;;;;;;ACZ7D;QAWE,uCAAoB,mBAAuC;YAAvC,wBAAmB,GAAnB,mBAAmB,CAAoB;SAC1D;;;;;;QAED,iDAAS;;;;;QAAT,UAAU,GAAqB,EAAE,IAAiB;YAAlD,iBAIC;YAHC,IAAI,CAAC,mBAAmB,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC;;gBACvC,QAAQ;;;YAAG,cAAM,OAAA,KAAI,CAAC,mBAAmB,CAAC,eAAe,CAAC,GAAG,CAAC,GAAA,CAAA;YACpE,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAE0B,kBAAQ,CAAE,QAAQ,CAAC,CAAC,CAAC;SACpD;;oBAZFjB,eAAU,SAAC;wBACV,UAAU,EAAE,MAAM;qBACnB;;;;oBAJO,kBAAkB;;;4CAJ1B;KAMA,IAaC;;;;;;QARa,4DAA+C;;;;;;;ICX7D;QAaM,mBAAmB,GAAG;QAC1B,MAAM,EAAG;YACP,KAAK,EAAE,MAAM;SACd;QACD,IAAI,EAAG;YACL,KAAK,EAAE,MAAM;SACd;QACD,KAAK,EAAG;YACN,KAAK,EAAE,OAAO;SACf;KACF;;QAEK,iBAAiB,GAAG;QACxB,MAAM,EAAG;YACP,GAAG,EAAG,KAAK;SACZ;QACD,GAAG,EAAG;YACJ,GAAG,EAAG,OAAO;YACb,KAAK,EAAE,MAAM;SACd;QACD,MAAM,EAAG;YACP,GAAG,EAAE,OAAO;SACb;KACF;;;;AAKD;QASE,iCAAgE,QAAQ;YAAxE,iBAA4E;YAAZ,aAAQ,GAAR,QAAQ,CAAA;YADxE,UAAK;;;;YAAG,UAAC,KAAU,IAAK,OAAA,KAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,GAAA,EAAC;SACwB;;oBAT7EX,cAAS,SAAC;wBACT,QAAQ,EAAE,qBAAqB;wBAC/B,QAAQ,EAAE,2BAA2B;wBAErC,aAAa,EAAG6B,sBAAiB,CAAC,IAAI;;qBACvC;;;;oDAIcC,WAAM,SAACC,eAAU;;;4BAAC,cAAM,OAAA,iBAAiB,GAAA,EAAC;;;4BAFtDX,iBAAY,SAAC,OAAO,EAAC,CAAC,QAAQ,CAAC;;QAGlC,8BAAC;KAVD,IAUC;;;QAHC,wCACoD;;QACxC,2CAA4D;;;;;AAM1E;QAoBE,gCAAgE,QAAQ;YAAR,aAAQ,GAAR,QAAQ,CAAA;SAAI;QAZ5E,sBAAI,mDAAe;;;;YAAnB;gBACE,OAAO,mBAAmB,CAAC,IAAI,CAAC,QAAQ,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;aAClE;;;WAAA;QAED,sBAAI,iDAAa;;;;YAAjB;gBACE,OAAO,iBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;aAC9D;;;WAAA;QAED,sBAAI,0CAAM;;;;YAAV;gBACE,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;aAC3B;;;WAAA;;;;;QAID,+CAAc;;;;QAAd,UAAe,KAAa;YACxB,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC;SACzB;;oBAxBFpB,cAAS,SAAC;wBACT,QAAQ,EAAE,oBAAoB;wBAC9B,QAAQ,EAAE,iMAAiM;wBAE3M,aAAa,EAAG6B,sBAAiB,CAAC,IAAI;;qBACvC;;;;oDAecC,WAAM,SAACC,eAAU;;;4BAAC,cAAM,OAAA,iBAAiB,GAAA,EAAC;;QAKzD,6BAAC;KAzBD,IAyBC;;;QALa,0CAA4D;;;;;AAU1E;QAeE,+BAAgE,QAAQ;YAAxE,iBAA4E;YAAZ,aAAQ,GAAR,QAAQ,CAAA;YARxE,UAAK,GAAG,gBAAgB,CAAC;YAGzB,aAAQ,GAAG,IAAI9B,iBAAY,EAAE,CAAC;YAG9B,UAAK;;;YAAG,cAAM,OAAA,KAAI,CAAC,WAAW,EAAE,GAAA,EAAC;SAE2C;;;;QAE5E,2CAAW;;;QAAX;YACE,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;YACrB,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC;SACvB;;oBApBFD,cAAS,SAAC;wBACT,QAAQ,EAAE,mBAAmB;wBAC7B,QAAQ,EAAE,6DAA6D;;qBAExE;;;;oDAWc8B,WAAM,SAACC,eAAU;;;4BAAC,cAAM,OAAA,iBAAiB,GAAA,EAAC;;;4BATtDZ,gBAAW,SAAC,OAAO;+BAGnBhB,WAAM;4BAGNiB,iBAAY,SAAC,OAAO;;QASvB,4BAAC;KArBD,IAqBC;;;QAfC,sCACyB;;QAEzB,yCAC8B;;QAE9B,sCACiC;;QAErB,yCAA4D;;;;;AAW1E;QAAA;YAQE,cAAS,GAAG;gBACV,CAAC,EAAE,QAAQ;gBACX,CAAC,EAAE,QAAQ;aACZ,CAAC;YAKF,SAAI,GAAG,KAAK,CAAC;YAGb,UAAK,GAAG,WAAW,CAAC;SAerB;;;;QAbC,iCAAK;;;QAAL;YACE,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC;SACnB;;;;;QAED,kCAAM;;;;QAAN,UAAO,KAAkB;YACvB,KAAK,CAAC,eAAe,EAAE,CAAC;YACxB,IAAI,CAAC,IAAI,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC;YACvB,QAAQ,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;SACvB;;;;QAED,wCAAY;;;QAAZ;YACE,OAAO,IAAI,CAAC,SAAS,CAAC;SACvB;;oBAjCFpB,cAAS,SAAC;wBACT,QAAQ,EAAE,cAAc;wBACxB,QAAQ,EAAE,wDAAwD;wBAElE,aAAa,EAAG6B,sBAAiB,CAAC,IAAI;;qBACvC;;;gCAEE3B,UAAK;2BAOLA,UAAK,YACLiB,gBAAW,SAAC,YAAY;4BAGxBA,gBAAW,SAAC,OAAO;;QAgBtB,wBAAC;KAlCD,IAkCC;;;QA3BC,sCAIE;;QAGF,iCAEa;;QAEb,kCACoB;;;;;;;ACnItB;QAUE;YAFS,gBAAW,GAAG,KAAK,CAAC;SAG5B;;;;QAED,uCAAQ;;;QAAR;SACC;;oBAZFnB,cAAS,SAAC;wBACT,QAAQ,EAAE,kBAAkB;wBAC5B,qQAA6C;;qBAE9C;;;;;kCAEEE,UAAK;;QAQR,2BAAC;KAdD,IAcC;;;QARC,2CAA6B;;;;;;;ACR/B;QASE;YAFU,gBAAW,GAAG,IAAID,iBAAY,EAAW,CAAC;SAGnD;;;;QAGM,qCAAU;;;QADjB;YAEE,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;SAC7B;;;;QAGM,uCAAY;;;QADnB;YAEE,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;SAC9B;;oBAlBFiB,cAAS,SAAC;wBACT,QAAQ,EAAE,aAAa;qBACxB;;;;;kCAGEf,WAAM;iCAKNiB,iBAAY,SAAC,YAAY;mCAKzBA,iBAAY,SAAC,YAAY;;QAK5B,uBAAC;KApBD,IAoBC;;;QAfC,uCAAoD;;;;;;;ACPtD;QAYE,oCAAoB,gBAA0C,EAC1C,OAAuB;YADvB,qBAAgB,GAAhB,gBAAgB,CAA0B;YAC1C,YAAO,GAAP,OAAO,CAAgB;SAC1C;;;;;;QAED,wDAAmB;;;;;QAAnB,UAAoB,gBAAkC,EAAE,SAAc;YAAtE,iBASC;;gBARO,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,uBAAuB,CAAC,SAAS,CAAC;;gBAClE,YAAY,GAAG,gBAAgB,CAAC,eAAe,CAAC,OAAO,CAAC;YAE9D,YAAY,CAAC,SAAS;;;YAAC;gBACrB,KAAI,CAAC,OAAO,CAAC,UAAU,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;aAChD,EAAC,CAAC;YAEH,OAAO,YAAY,CAAC;SACrB;;oBAlBFT,eAAU,SAAC;wBACV,UAAU,EAAE,MAAM;qBACnB;;;;oBAPCqB,6BAAwB;oBADxBC,mBAAc;;;yCADhB;KAOA,IAoBC;;;;;;QAfa,sDAAkD;;;;;QAClD,6CAA+B;;;;;;;ACX7C;QAGE;YACE,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;SACjB;;;;;QAED,4CAAG;;;;QAAH,UAAI,IAA0B;YAC5B,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM;;;;YAAC,UAAU,CAAC;gBACxC,OAAO,CAAC,CAAC,KAAK,KAAK,IAAI,CAAC,KAAK,CAAC;aAC/B,EAAC,CAAC;YACH,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;SACvB;;;;;QAED,+CAAM;;;;QAAN,UAAO,IAA0B;YAC/B,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM;;;;YAAC,UAAU,CAAC;gBACxC,OAAO,CAAC,CAAC,KAAK,KAAK,IAAI,CAAC,KAAK,CAAC;aAC/B,EAAC,CAAC;SACJ;;;;;QAED,6CAAI;;;;QAAJ,UAAK,KAAa;YAChB,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI;;;;YAAC,UAAU,CAAC;gBAChC,OAAO,CAAC,CAAC,KAAK,KAAK,KAAK,CAAC;aAC1B,EAAC,CAAC;SACJ;QACH,qCAAC;KAAA,IAAA;;;;;;QAxBC,+CAAsC;;;;;;;ACHxC;QASE,8BAAmB,gBAAkC,EACjC,eAA+C;YADhD,qBAAgB,GAAhB,gBAAgB,CAAkB;YACjC,oBAAe,GAAf,eAAe,CAAgC;SAClE;;;;QAED,8CAAe;;;QAAf;YACE,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;SAChC;;;;QAED,0CAAW;;;QAAX;YACE,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YAClC,IAAI,CAAC,gBAAgB,CAAC,KAAK,EAAE,CAAC;SAC/B;;oBAjBFf,cAAS,SAAC;wBACT,QAAQ,EAAE,iBAAiB;qBAC5B;;;;oBALmDgB,qBAAgB;oBAC5D,8BAA8B;;;4BAMnChC,UAAK;;QAeR,2BAAC;KAnBD,IAmBC;;;QAfC,qCAAuB;;QAEX,gDAAyC;;;;;QACzC,+CAAuD;;;;;;;ICVrE;QAIMa,GAAC,GAAG,MAAM;AAEhB;QA6BE;YApBS,OAAE,GAAG,KAAK,CAAC;YACX,OAAE,GAAG,KAAK,CAAC;YACX,OAAE,GAAG,KAAK,CAAC;YACX,OAAE,GAAG,KAAK,CAAC;YAGpB,OAAE,GAAG,IAAI,CAAC;YACV,OAAE,GAAG,IAAI,CAAC;YACV,OAAE,GAAG,IAAI,CAAC;YACV,OAAE,GAAG,IAAI,CAAC;YAEA,YAAO,GAAG,IAAId,iBAAY,EAAU,CAAC;YACrC,YAAO,GAAG,IAAIA,iBAAY,EAAU,CAAC;YACrC,cAAS,GAAG,IAAIA,iBAAY,EAAU,CAAC;YACvC,eAAU,GAAG,IAAIA,iBAAY,EAAU,CAAC;YACxC,YAAO,GAAG,IAAIA,iBAAY,EAAW,CAAC;YAExC,SAAI,GAAG,KAAK,CAAC;SAIpB;;;;QAED,2CAAe;;;QAAf;YAAA,iBAeC;;gBAdO,IAAI,GAAGc,GAAC,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;;gBACpC,IAAI,GAAGA,GAAC,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAC1C,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,CAAC,MAAM,EAAE,IAAI,IAAI,CAAC,MAAM,EAAE,EAAE;;oBAC3D,OAAK,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,IAAI,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,IAAI;;oBAC/C,QAAM,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,GAAG,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,GAAG;gBAClD,OAAO,OAAK,IAAI,IAAI,CAAC,SAAS,IAAI,QAAM,IAAI,IAAI,CAAC,UAAU,EAAE;oBAC3D,OAAK,GAAG,OAAK,GAAG,CAAC,CAAC;oBAClB,QAAM,GAAG,QAAM,GAAG,CAAC,CAAC;iBACrB;gBACD,UAAU;;;gBAAC;oBACT,KAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAK,CAAC,CAAC;oBACzB,KAAI,CAAC,OAAO,CAAC,IAAI,CAAC,QAAM,CAAC,CAAC;iBAC3B,GAAE,GAAG,CAAC,CAAC;aACT;SACF;;;;QAED,oCAAQ;;;QAAR;SACC;;;;;QAED,mCAAO;;;;QAAP,UAAQ,MAAiB;;YAEvB,MAAM,CAAC,cAAc,EAAE,CAAC;YACxB,IAAI,MAAM,CAAC,YAAY,EAAE;gBACvB,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;aAC5C;YACD,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YACjB,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC;SACnD;;;;;;QAED,kCAAM;;;;;QAAN,UAAO,MAAiB,EAAE,EAAU;YAClC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE;gBACd,OAAO;aACR;;gBACK,QAAQ,GAAG,KAAK,CAAC,gBAAgB,CAAC,MAAM,CAAC;YAC/C,IAAI,QAAQ,CAAC,CAAC,KAAK,CAAC,IAAI,QAAQ,CAAC,CAAC,KAAK,CAAC,EAAE;gBACxC,OAAO;aACR;;gBACK,KAAK,GAAG,IAAI,CAAC,EAAE,KAAK,EAAE,IAAI,IAAI,CAAC,EAAE,KAAK,EAAE;;gBACxC,KAAK,GAAG,IAAI,CAAC,EAAE,KAAK,EAAE,IAAI,IAAI,CAAC,EAAE,KAAK,EAAE;YAC9C,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;YACxC,IAAI,KAAK,EAAE;gBACT,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;aACtD;YACD,IAAI,KAAK,EAAE;gBACT,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;aACvD;YACD,IAAI,CAAC,WAAW,GAAG,QAAQ,CAAC;SAC7B;;;;;;;;QAEO,sCAAU;;;;;;;QAAlB,UAAmB,QAAQ,EAAE,CAAU,EAAE,CAAU;;gBAC3C,OAAO,GAAG,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC;;gBAC/E,OAAO,GAAG,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC;YACrF,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YAC3B,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;SAC5B;;;;;;QAED,+BAAG;;;;;QAAH,UAAI,MAAiB,EAAE,EAAU;;YAE/B,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;YACxB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACxB,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC;SACnB;;;;;QAED,iCAAK;;;;QAAL,UAAM,MAAiB;YACrB,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;SACnB;;;;;QAED,gCAAI;;;;QAAJ,UAAK,MAAiB;YACpB,MAAM,CAAC,eAAe,EAAE,CAAC;YACzB,MAAM,CAAC,cAAc,EAAE,CAAC;SACzB;;;;;;QAEO,wCAAY;;;;;QAApB,UAAqB,EAAU;YAC7B,OAAO,GAAG,GAAG,EAAE,GAAG,GAAG,GAAG,IAAI,CAAC,EAAE,CAAC;SACjC;;oBA3GFf,cAAS,SAAC;wBACT,QAAQ,EAAE,aAAa;wBACvB,25CAAwC;;qBAEzC;;;;;2BAGEE,UAAK;yBACLA,UAAK;yBACLA,UAAK;yBACLA,UAAK;yBACLA,UAAK;yBACLA,UAAK;gCACLA,UAAK;iCACLA,UAAK;8BAMLC,WAAM;8BACNA,WAAM;gCACNA,WAAM;iCACNA,WAAM;8BACNA,WAAM;;QAoFT,wBAAC;KA5GD,IA4GC;;;QArGC,iCAAuB;;QACvB,+BAAoB;;QACpB,+BAAoB;;QACpB,+BAAoB;;QACpB,+BAAoB;;QACpB,+BAAoB;;QACpB,sCAA2B;;QAC3B,uCAA4B;;QAC5B,+BAAU;;QACV,+BAAU;;QACV,+BAAU;;QACV,+BAAU;;QAEV,oCAA+C;;QAC/C,oCAA+C;;QAC/C,sCAAiD;;QACjD,uCAAkD;;QAClD,oCAAgD;;;;;QAEhD,iCAAqB;;;;;QACrB,wCAA8C;;;;;;;;QC/BJU,0CAAmB;QAE7D;mBACE,iBAAO;SACR;QACH,6BAAC;KALD,CAA4C,mBAAmB;;;;;;ACF/D;QAoBE,yBAAoB,oBAA4C,EAC5C,aAA2B,EAC3B,kBAA2C;YAF/D,iBASC;YATmB,yBAAoB,GAApB,oBAAoB,CAAwB;YAC5C,kBAAa,GAAb,aAAa,CAAc;YAC3B,uBAAkB,GAAlB,kBAAkB,CAAyB;YATtD,aAAQ,GAAG,KAAK,CAAC;YAEhB,cAAS,GAAG,IAAIZ,iBAAY,EAAU,CAAC;YACxC,oBAAe,GAAG,CAAC,CAAC;YACtB,WAAM,GAAG,KAAK,CAAC;YACf,gBAAW,GAAG,KAAK,CAAC;YAKzB,IAAI,CAAC,oBAAoB,CAAC,eAAe,CAAC,SAAS;;;;YAAC,UAAC,KAAa;gBAChE,KAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;gBACvB,IAAI,KAAK,KAAK,IAAI,EAAE;oBAClB,KAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;iBACzB;aACF,EAAC,CAAC;SACJ;;;;;;QAEO,oCAAU;;;;;QAAlB,UAAmB,KAAa;YAC9B,IAAI,IAAI,CAAC,EAAE,KAAK,KAAK,EAAE;gBACrB,IAAI,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC;gBAC3B,IAAI,IAAI,CAAC,MAAM,EAAE;oBACf,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;iBAC9B;qBAAM;oBACL,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;iBACzB;aACF;iBAAM;gBACL,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;aACrB;SACF;;;;QAED,kCAAQ;;;QAAR;SACC;;;;QAED,mCAAS;;;QAAT;YACE,IAAI,IAAI,CAAC,QAAQ,EAAE;gBACjB,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC,CAAC;gBACnD,IAAI,CAAC,kBAAkB,CAAC,aAAa,CAAC,4BAA4B,CAAC,CAAC;gBACpE,OAAO;aACR;YACD,IAAI,CAAC,oBAAoB,CAAC,eAAe,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;SACpD;;oBAjDFD,cAAS,SAAC;wBACT,QAAQ,EAAE,YAAY;wBACtB,ieAAuC;;qBAExC;;;;oBAPO,sBAAsB;oBACtB,YAAY;oBAFZ,uBAAuB;;;yBAU5BE,UAAK;2BACLA,UAAK;+BACLA,UAAK;8BACLA,UAAK;gCACLC,WAAM;sCACND,UAAK;;QAwCR,sBAAC;KAnDD,IAmDC;;;QA7CC,6BAAoB;;QACpB,+BAAsB;;QACtB,mCAA0B;;QAC1B,kCAAyB;;QACzB,oCAAiD;;QACjD,0CAA6B;;QAC7B,iCAAsB;;QACtB,sCAA2B;;;;;QAEf,+CAAoD;;;;;QACpD,wCAAmC;;;;;QACnC,6CAAmD;;;;;;;ICtBjE;QAMMa,GAAC,GAAG,MAAM;AAEhB;QA4BE,2BAAoB,eAA+B;YAAnD,iBAIC;YAJmB,oBAAe,GAAf,eAAe,CAAgB;YAf1C,eAAU,GAAG,IAAI,CAAC;YAClB,iBAAY,GAAG,IAAI,CAAC;YAEnB,gBAAW,GAAG,IAAId,iBAAY,EAAU,CAAC;YACzC,YAAO,GAAG,IAAIA,iBAAY,EAAU,CAAC;YACrC,YAAO,GAAG,IAAIA,iBAAY,EAAW,CAAC;YACtC,cAAS,GAAG,IAAIA,iBAAY,EAAW,CAAC;YACxC,iBAAY,GAAG,IAAIA,iBAAY,EAAW,CAAC;YAC3C,aAAQ,GAAG,IAAIA,iBAAY,EAAU,CAAC;YAEhD,oBAAe,GAAG,iBAAiB,CAAC,kBAAkB,EAAE,CAAC;YACzD,gBAAW,GAAG,iBAAiB,CAAC,cAAc,EAAE,CAAC;YACjD,oBAAe,GAAG,KAAK,CAAC;YAItB,eAAe,CAAC,OAAO,CAAC,SAAS;;;YAAC;gBAChC,KAAI,CAAC,eAAe,GAAG,KAAK,CAAC;aAC9B,EAAC,CAAC;SACJ;;;;QAED,oCAAQ;;;QAAR;SACC;;;;;QAED,0CAAc;;;;QAAd,UAAe,MAAc;YAC3Bc,GAAC,CAAC,aAAa,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;YAC9B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YACpCA,GAAC,CAAC,aAAa,CAAC,CAAC,EAAE,CAAC,OAAO;;;YAAE;;oBACrB,YAAY,GAAG,QAAQ,CAAC,oBAAoB,CAAC,MAAM,CAAC;gBAC1D,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,GAAG,GAAG,YAAY,CAAC,MAAM,EAAE,CAAC,GAAG,GAAG,EAAE,EAAE,CAAC,EAAE;oBACvD,IAAI,YAAY,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,MAAM,CAAC,KAAK,GAAG,EAAE;wBAChD,YAAY,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;wBACxC,YAAY,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,GAAG,MAAM,GAAG,IAAI,CAAC;qBAChD;iBACF;aACF,EAAC,CAAC;SACJ;;;;;QAED,sCAAU;;;;QAAV,UAAW,MAAc;YACvB,KAAK,CAAC,cAAc,EAAE,CAAC;YACvB,KAAK,CAAC,eAAe,EAAE,CAAC;YACxB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;SACjC;;;;;QAED,6CAAiB;;;;QAAjB,UAAkB,MAAM;YACtB,MAAM,CAAC,cAAc,EAAE,CAAC;YACxB,MAAM,CAAC,eAAe,EAAE,CAAC;YACzB,IAAI,CAAC,eAAe,GAAG,CAAC,IAAI,CAAC,eAAe,CAAC;SAC9C;;;;;QAED,uCAAW;;;;QAAX,UAAY,MAAc;YACxB,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC;YAC7B,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;SAC5B;;;;;QAED,sCAAU;;;;QAAV,UAAW,KAAK;YACd,KAAK,CAAC,cAAc,EAAE,CAAC;YACvB,KAAK,CAAC,eAAe,EAAE,CAAC;YACxB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;SAC/B;;;;;QAED,wCAAY;;;;QAAZ,UAAa,KAAK;YAChB,KAAK,CAAC,cAAc,EAAE,CAAC;YACvB,KAAK,CAAC,eAAe,EAAE,CAAC;YACxB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;SACnC;;;;;QAED,2CAAe;;;;QAAf,UAAgB,KAAK;YACnB,KAAK,CAAC,cAAc,EAAE,CAAC;YACvB,KAAK,CAAC,eAAe,EAAE,CAAC;YACxB,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;SACzC;;;;;QAED,uCAAW;;;;QAAX,UAAY,MAAM;YAChB,IAAI,CAAC,eAAe,GAAG,CAAC,MAAM,CAAC;SAChC;;oBAxFFf,cAAS,SAAC;wBACT,QAAQ,EAAE,cAAc;wBACxB,koDAAyC;;qBAE1C;;;;oBATO,cAAc;;;2BAWnBE,UAAK;+BACLA,UAAK;2BACLA,UAAK;2BACLA,UAAK;6BACLA,UAAK;gCACLA,UAAK;4BACLA,UAAK;iCACLA,UAAK;mCACLA,UAAK;kCAELC,WAAM;8BACNA,WAAM;8BACNA,WAAM;gCACNA,WAAM;mCACNA,WAAM;+BACNA,WAAM;;QAoET,wBAAC;KAzFD,IAyFC;;;QAnFC,iCAAuB;;QACvB,qCAA0B;;QAC1B,iCAAsB;;QACtB,iCAAuB;;QACvB,mCAAyB;;QACzB,sCAA4B;;QAC5B,kCAAuB;;QACvB,uCAA2B;;QAC3B,yCAA6B;;QAE7B,wCAAmD;;QACnD,oCAA+C;;QAC/C,oCAAgD;;QAChD,sCAAkD;;QAClD,yCAAqD;;QACrD,qCAAgD;;QAEhD,4CAAyD;;QACzD,wCAAiD;;QACjD,4CAAwB;;;;;QAGZ,4CAAuC;;;;;;;ACpCrD;QAIA;SAGC;QAFe,sBAAa,GAAG,WAAW,CAAC;QAC5B,uBAAc,GAAG,YAAY,CAAC;QAC9C,eAAC;KAHD,IAGC;;;QAFC,uBAA0C;;QAC1C,wBAA4C;;AAG9C;QAoBE,8BAAoB,cAA6B;YAAjD,iBAKC;YALmB,mBAAc,GAAd,cAAc,CAAe;YAdxC,eAAU,GAAe,UAAU,CAAC,OAAO,EAAE,CAAC;YAG9C,SAAI,GAAG,KAAK,CAAC;YACb,gBAAW,GAAG,CAAC,CAAC;YAEf,qBAAgB,GAAG,IAAIF,iBAAY,EAAc,CAAC;YAClD,eAAU,GAAG,IAAIA,iBAAY,EAAW,CAAC;YACzC,aAAQ,GAAG,IAAIA,iBAAY,EAAW,CAAC;YACvC,YAAO,GAAG,IAAIA,iBAAY,EAAW,CAAC;YACtC,YAAO,GAAG,IAAIA,iBAAY,EAAW,CAAC;YAK9C,IAAI,CAAC,QAAQ,GAAG,cAAc,CAAC,QAAQ,EAAE,CAAC;YAC1C,cAAc,CAAC,QAAQ,CAAC,SAAS;;;;YAAC,UAAC,CAAC;gBAClC,KAAI,CAAC,QAAQ,GAAG,cAAc,CAAC,QAAQ,EAAE,CAAC;aAC3C,EAAC,CAAC;SACJ;;;;QAED,uCAAQ;;;QAAR;SACC;;;;QAED,0CAAW;;;QAAX;YACE,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;SAC7C;;;;;QAED,6CAAc;;;;QAAd,UAAe,MAAc;YAC3B,IAAI,CAAC,UAAU,CAAC,QAAQ,GAAG,MAAM,CAAC;YAClC,IAAI,CAAC,WAAW,EAAE,CAAC;SACpB;;;;;QAED,yCAAU;;;;QAAV,UAAW,MAAc;YACvB,IAAI,CAAC,UAAU,CAAC,IAAI,GAAG,MAAM,CAAC;YAC9B,IAAI,CAAC,WAAW,EAAE,CAAC;SACpB;;;;;QAED,0CAAW;;;;QAAX,UAAY,MAAc;YACxB,IAAI,CAAC,UAAU,CAAC,KAAK,GAAG,MAAM,CAAC;YAC/B,IAAI,CAAC,WAAW,EAAE,CAAC;SACpB;;;;;QAED,yCAAU;;;;QAAV,UAAW,MAAM;YACf,IAAI,CAAC,UAAU,CAAC,IAAI,GAAG,MAAM,CAAC;YAC9B,IAAI,CAAC,WAAW,EAAE,CAAC;SACpB;;;;;QAED,2CAAY;;;;QAAZ,UAAa,MAAM;YACjB,IAAI,CAAC,UAAU,CAAC,MAAM,GAAG,MAAM,CAAC;YAChC,IAAI,CAAC,WAAW,EAAE,CAAC;SACpB;;;;;QAED,8CAAe;;;;QAAf,UAAgB,MAAM;YACpB,IAAI,CAAC,UAAU,CAAC,SAAS,GAAG,MAAM,CAAC;YACnC,IAAI,CAAC,WAAW,EAAE,CAAC;SACpB;;;;QAED,yCAAU;;;QAAV;YACE,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;SAC5B;;;;QAED,yCAAU;;;QAAV;YACE,IAAI,CAAC,IAAI,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC;YACvB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;SAC9B;;;;QAED,yCAAU;;;QAAV;YACE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;SAC1B;;;;QAED,0CAAW;;;QAAX;YACE,OAAO,IAAI,CAAC,QAAQ,KAAK,QAAQ,CAAC,aAAa,CAAC;SACjD;;;;QAED,2CAAY;;;QAAZ;YACE,OAAO,IAAI,CAAC,QAAQ,KAAK,QAAQ,CAAC,cAAc,CAAC;SAClD;;;;QAED,yCAAU;;;QAAV;YACE,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;SACzB;;oBAvFFD,cAAS,SAAC;wBACT,QAAQ,EAAE,iBAAiB;wBAC3B,8kDAA4C;;qBAE7C;;;;oBAXO,aAAa;;;iCAalBE,UAAK;+BACLA,UAAK;kCACLA,UAAK;2BACLA,UAAK;kCACLA,UAAK;+BACLA,UAAK;uCACLC,WAAM;iCACNA,WAAM;+BACNA,WAAM;8BACNA,WAAM;8BACNA,WAAM;;QAwET,2BAAC;KAxFD,IAwFC;;;QAlFC,0CAAuD;;QACvD,wCAA2B;;QAC3B,2CAA6B;;QAC7B,oCAAsB;;QACtB,2CAAyB;;QACzB,wCAA0B;;QAC1B,gDAA4D;;QAC5D,0CAAmD;;QACnD,wCAAiD;;QACjD,uCAAgD;;QAChD,uCAAgD;;QAEhD,wCAAkB;;;;;QAEN,8CAAqC;;;;;;;IC7BnD;QA2EM,SAAS,GAAG,CAAC,aAAa;QAC9B,GAAG;QACH,YAAY;QACZ,WAAW;QACX,SAAS;QACT,QAAQ;QACR,KAAK;QACL,gBAAgB;QAChB,wBAAwB;QACxB,iBAAiB;QACjB,mBAAmB;QACnB,kBAAkB;QAClB,kBAAkB;QAClB,eAAe;QACf,kBAAkB;QAClB,WAAW;QACX,uBAAuB;QACvB,eAAe;QACf,uBAAuB;QACvB,aAAa;QACb,aAAa;QACb,eAAe;QACf,iBAAiB;QACjB,qBAAqB;QACrB,cAAc;QACd,6BAA6B;QAC7B,kBAAkB;QAClB,mBAAmB;QACnB,0BAA0B;QAC1B,8BAA8B;QAC9B,sBAAsB,CAAC;AAEzB;QAkGE;YACEgC,0BAAO,CAAC,GAAG,CAACC,qBAAG,EAAEC,uBAAG,CAAC,CAAC;SACvB;;oBApGFC,aAAQ,SAAC;wBACR,OAAO,EAAE,CAACC,mBAAY,EAAEC,oCAAiB,EAAEC,iCAAkB,CAAC;wBAC9D,YAAY,EAAE;4BACZ,mBAAmB;4BACnB,kBAAkB;4BAClB,eAAe;4BACf,aAAa;4BACb,gBAAgB;4BAChB,cAAc;4BACd,yBAAyB;4BACzB,iBAAiB;4BACjB,aAAa;4BACb,gBAAgB;4BAChB,wBAAwB;4BACxB,iBAAiB;4BACjB,mBAAmB;4BACnB,uBAAuB;4BACvB,YAAY;4BACZ,mBAAmB;4BACnB,aAAa;4BACb,eAAe;4BACf,uBAAuB;4BACvB,iBAAiB;4BACjB,kBAAkB;4BAClB,oBAAoB;4BACpB,mBAAmB;4BACnB,yBAAyB;4BACzB,eAAe;4BACf,mBAAmB;4BACnB,uBAAuB;4BACvB,YAAY;4BACZ,aAAa;4BACb,oBAAoB;4BACpB,mBAAmB;4BACnB,qBAAqB;4BACrB,eAAe;4BACf,oBAAoB;4BACpB,iBAAiB;4BACjB,qBAAqB;4BACrB,sBAAsB;4BACtB,uBAAuB;4BACvB,oBAAoB;4BACpB,gBAAgB;4BAChB,oBAAoB;4BACpB,iBAAiB;4BACjB,eAAe;4BACf,iBAAiB;4BACjB,oBAAoB;yBACrB;wBACD,OAAO,EAAE;4BACP,mBAAmB;4BACnB,kBAAkB;4BAClB,eAAe;4BACf,aAAa;4BACb,gBAAgB;4BAChB,cAAc;4BACd,yBAAyB;4BACzB,iBAAiB;4BACjB,aAAa;4BACb,wBAAwB;4BACxB,iBAAiB;4BACjB,mBAAmB;4BACnB,gBAAgB;4BAChB,uBAAuB;4BACvB,mBAAmB;4BACnB,eAAe;4BACf,iBAAiB;4BACjB,kBAAkB;4BAClB,oBAAoB;4BACpB,mBAAmB;4BACnB,yBAAyB;4BACzB,eAAe;4BACf,mBAAmB;4BACnB,uBAAuB;4BACvB,YAAY;4BACZ,aAAa;4BACb,oBAAoB;4BACpB,mBAAmB;4BACnB,qBAAqB;4BACrB,oBAAoB;4BACpB,YAAY;4BACZ,iBAAiB;4BACjB,qBAAqB;4BACrB,sBAAsB;4BACtB,uBAAuB;4BACvB,aAAa;4BACb,uBAAuB;4BACvB,oBAAoB;4BACpB,gBAAgB;4BAChB,oBAAoB;4BACpB,iBAAiB;4BACjB,eAAe;4BACf,iBAAiB;4BACjB,oBAAoB;yBACrB;wBACD,SAAS,EAAE,SAAS;qBACrB;;;;QAKD,6BAAC;KArGD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"} \ 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/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/page-preload.service.ts","ng://@groupdocs.examples.angular/common-components/lib/navigate.service.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/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/editheaderfooter.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 @Output() hideSidePanel = new EventEmitter();\r\n\r\n onlyTitle = false;\r\n\r\n constructor() {\r\n }\r\n\r\n openSidePanel() {\r\n this.hideSidePanel.emit(true);\r\n }\r\n\r\n toggleTitleMode(){\r\n this.onlyTitle = !this.onlyTitle;\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 EDITOR_APP = '/editor';\r\n public static COMPARISON_APP = '/comparison';\r\n public static CONVERSION_APP = '/conversion';\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 ROTATE_DOCUMENT_PAGE = '/rotateDocumentPages';\r\n public static UPLOAD_DOCUMENTS = '/uploadDocument';\r\n public static DOWNLOAD_DOCUMENTS = '/downloadDocument';\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 COMPARE_FILES = '/compare';\r\n public static CONVERT_FILE = '/convert';\r\n public static DELETE_SIGNATURE_FILE = '/deleteSignatureFile';\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\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 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","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}\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 {\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\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 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\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\r\n ngOnInit() {\r\n }\r\n\r\n ngOnChanges() {\r\n const panzoom = this._elementRef.nativeElement.children.item(0).children.item(0);\r\n (panzoom as any).style.transform = '';\r\n // TODO: this intersects with zooming by zoom directive, but still needed\r\n // for flush previous settings before opening another file\r\n //this._zoomService.changeZoom(100);\r\n //this.scale = 1;\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 getDimensionWithUnit(value: number) {\r\n return 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 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 absolutePosition(el) {\r\n let x = 0, y = 0;\r\n\r\n while (el !== null) {\r\n x += el.offsetLeft;\r\n y += el.offsetTop;\r\n el = el.offsetParent;\r\n }\r\n\r\n return {x: x, y: y};\r\n };\r\n\r\n restrictRawPos(pos, viewportDim, docDim) {\r\n if (pos < viewportDim / this.scale - docDim) { // too far left/up?\r\n pos = viewportDim / this.scale - docDim;\r\n } else if (pos > 0) { // too far right/down?\r\n pos = 0;\r\n }\r\n return pos;\r\n };\r\n\r\n updateLastPos() {\r\n this.lastX = this.x;\r\n this.lastY = this.y;\r\n };\r\n\r\n translate(deltaX, deltaY) {\r\n // We restrict to the min of the viewport width/height or current width/height as the\r\n // current width/height may be smaller than the viewport width/height\r\n const newX = this.restrictRawPos(this.lastX + deltaX / this.scale,\r\n Math.min(this.viewportWidth, this.curWidth), this.docWidth);\r\n this.x = newX;\r\n // TODO: value here and in the similar line below changes to positive to take any effect\r\n this.container.scrollLeft = -Math.ceil(newX * this.scale);\r\n\r\n const newY = this.restrictRawPos(this.lastY + deltaY / this.scale,\r\n Math.min(this.viewportHeight, this.curHeight), this.docHeight);\r\n this.y = newY;\r\n this.container.scrollTop = -Math.ceil(newY * this.scale);\r\n\r\n this.doc.style.transform = 'scale(' + this.scale + ')';\r\n };\r\n\r\n startZoom(scaleBy) {\r\n this.scale = this.lastScale * scaleBy;\r\n\r\n this.curWidth = this.docWidth * this.scale;\r\n this.curHeight = this.docHeight * this.scale;\r\n\r\n // Adjust margins to make sure that we aren't out of bounds\r\n this.translate(0, 0);\r\n };\r\n\r\n rawCenter($event) {\r\n const pos = this.absolutePosition(this.container);\r\n\r\n // We need to account for the scroll position\r\n const scrollLeft = window.pageXOffset ? window.pageXOffset : document.body.scrollLeft;\r\n const scrollTop = window.pageYOffset ? window.pageYOffset : document.body.scrollTop;\r\n\r\n const zoomX = -this.x + ($event.center.x - pos.x + scrollLeft) / this.scale;\r\n const zoomY = -this.y + ($event.center.y - pos.y + scrollTop) / this.scale;\r\n\r\n return {x: zoomX, y: zoomY};\r\n };\r\n\r\n updateLastScale() {\r\n this.lastScale = this.scale;\r\n };\r\n\r\n zoomAround(scaleBy, rawZoomX, rawZoomY, doNotUpdateLast) {\r\n // Zoom\r\n this.startZoom(scaleBy);\r\n\r\n // New raw center of viewport\r\n const rawCenterX = -this.x + Math.min(this.viewportWidth, this.curWidth) / 2 / this.scale;\r\n const rawCenterY = -this.y + Math.min(this.viewportHeight, this.curHeight) / 2 / this.scale;\r\n\r\n // Delta\r\n const deltaX = (rawCenterX - rawZoomX) * this.scale;\r\n const deltaY = (rawCenterY - rawZoomY) * this.scale;\r\n\r\n // Translate back to zoom center\r\n this.translate(deltaX, deltaY);\r\n\r\n if (!doNotUpdateLast) {\r\n this.updateLastScale();\r\n this.updateLastPos();\r\n }\r\n };\r\n\r\n onPinch($event) {\r\n if (this.pinchCenter === null) {\r\n this.pinchCenter = this.rawCenter($event);\r\n const offsetX = this.pinchCenter.x * this.scale - (-this.x * this.scale + Math.min(this.viewportWidth, this.curWidth) / 2);\r\n const offsetY = this.pinchCenter.y * this.scale - (-this.y * this.scale + Math.min(this.viewportHeight, this.curHeight) / 2);\r\n this.pinchCenterOffset = {x: offsetX, y: offsetY};\r\n }\r\n\r\n const newScale = this.scale * $event.scale;\r\n\r\n const zoomX = this.pinchCenter.x * newScale - this.pinchCenterOffset.x;\r\n const zoomY = this.pinchCenter.y * newScale - this.pinchCenterOffset.y;\r\n const zoomCenter = {x: zoomX / newScale, y: zoomY / newScale};\r\n\r\n this.zoomAround($event.scale, zoomCenter.x, zoomCenter.y, true);\r\n }\r\n\r\n onPinchEnd($event) {\r\n this.updateLastScale();\r\n this.updateLastPos();\r\n this.pinchCenter = null;\r\n }\r\n\r\n onPan($event) {\r\n // TODO: looks like native pan works better\r\n // if (!this.isDesktop) {\r\n // this.translate($event.deltaX, $event.deltaY);\r\n // }\r\n }\r\n\r\n onPanEnd($event) {\r\n // if (!this.isDesktop) {\r\n // this.updateLastPos();\r\n // }\r\n }\r\n\r\n onDoubleTap($event) {\r\n if (!this.isDesktop) {\r\n if ($event.tapCount === 2) {\r\n const c = this.rawCenter($event);\r\n this.zoomAround(2, c.x, c.y, false);\r\n }\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 // 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 !== null ? this.data.replace(/>\\s+<').replace(/\\uFEFF/g,\"\") : null;\r\n const dataImagePngBase64 = 'data:image/png;base64,';\r\n this.imgData = dataImagePngBase64;\r\n if (!this.isHtml) {\r\n this.imgData += 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 {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 {Observable, Observer} 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 readonly _navigate: Observable;\r\n private _observer: Observer;\r\n\r\n constructor(private _pagePreloadService: PagePreloadService) {\r\n this._navigate = new Observable(observer =>\r\n this._observer = observer);\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 {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\r\n private currentPage: number;\r\n private zoom = 100;\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 const count = Math.floor((this.getWidth() - offset) / (pageEl.getBoundingClientRect().width * this.getZoom()));\r\n return count === 0 ? 1 : count;\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 this._navigateService.currentPage = page;\r\n }\r\n currentPageSet = true;\r\n }\r\n this._pagePreloadService.changeLastPageInView(page);\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 {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.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 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 scrollWidth = this.getScrollWidth(this.el.nativeElement.parentElement);\r\n this.width = (viewPortWidth/zoomInt - scrollWidth/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 @Input() isOpen = false;\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 }\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 if (this.htmlMode) {\r\n for (const page of pages) {\r\n pagesHtml += '
' +\r\n '
' + page.data + '
' +\r\n '
';\r\n }\r\n } else {\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 windowObject.focus();\r\n windowObject.print();\r\n windowObject.close();\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 {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 constructor() {\r\n }\r\n\r\n get messageChange(): Observable {\r\n return this._messageChange;\r\n }\r\n\r\n changeMessage(message: string) {\r\n this._observer.next(message);\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 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._modalService.open(CommonModals.ErrorMessage);\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 {AfterViewInit, Directive, HostBinding, Input, OnDestroy, OnInit, ElementRef, OnChanges, HostListener} 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: '[gdEditHeaderFooter]'\r\n})\r\nexport class EditHeaderFooterDirective implements OnInit, OnDestroy, AfterViewInit, OnChanges {\r\n\r\n el: ElementRef;\r\n footerRef: any;\r\n\r\n constructor(private _zoomService: ZoomService, private _windowService: WindowService, el: ElementRef) {\r\n this.el = el;\r\n }\r\n\r\n ngAfterViewInit(): void {\r\n this.footerRef = this.el.nativeElement.querySelectorAll('.footer')[0];\r\n this.footerRef.setAttribute(\"contenteditable\", false);\r\n this.footerRef.className += \" disabled\";\r\n }\r\n\r\n ngOnDestroy(): void {\r\n }\r\n\r\n ngOnChanges(): void {\r\n }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n @HostListener('dblclick', ['$event'])\r\n dblclickEvent(event) {\r\n const footerTitle = document.createElement(\"div\");\r\n footerTitle.className = \"footer-title\";\r\n footerTitle.append('Footer');\r\n\r\n const footer = event.target.closest('.footer');\r\n if (footer && footer.classList.contains('disabled')) {\r\n console.log('dblclick in footer fired');\r\n footer.classList.remove('disabled');\r\n footer.setAttribute(\"contenteditable\", true);\r\n footer.before(footerTitle);\r\n }\r\n\r\n event.preventDefault();\r\n event.stopPropagation();\r\n }\r\n\r\n @HostListener('click', ['$event'])\r\n clickEvent(event) {\r\n console.log('click on el fired');\r\n const footer = event.target.closest('.footer');\r\n if (!footer) {\r\n this.footerRef.setAttribute(\"contenteditable\", false);\r\n if (!this.footerRef.classList.contains('disabled'))\r\n {\r\n this.footerRef.className += \" disabled\";\r\n }\r\n\r\n const section = this.el.nativeElement.querySelectorAll('.section')[0];\r\n const footerTitle = this.el.nativeElement.querySelectorAll('.footer-title')[0];\r\n if (section && footerTitle) {\r\n section.removeChild(footerTitle);\r\n }\r\n }\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 }\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 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} 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\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\r\n constructor(private _onCloseService: OnCloseService) {\r\n _onCloseService.onClose.subscribe(() => {\r\n this.colorPickerShow = false;\r\n });\r\n }\r\n\r\n ngOnInit() {\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} from '@angular/core';\r\nimport {Formatting} from \"../formatting.service\";\r\nimport {WindowService} from \"../window.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 this.isMobile = _windowService.isMobile();\r\n _windowService.onResize.subscribe((w) => {\r\n this.isMobile = _windowService.isMobile();\r\n });\r\n }\r\n\r\n ngOnInit() {\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 {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 {EditHeaderFooterDirective} from './editheaderfooter.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 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 EditHeaderFooterDirective,\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 SelectComponent,\r\n RotationDirective,\r\n InitStateComponent,\r\n RenderPrintDirective,\r\n ErrorModalComponent,\r\n PasswordRequiredComponent,\r\n SearchComponent,\r\n SearchableDirective,\r\n EditHeaderFooterDirective,\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","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 6be649396..9f07bbcaa 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 @@ -1,16 +1,2 @@ -!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports,require("@angular/core"),require("@angular/common"),require("rxjs"),require("rxjs/operators"),require("@fortawesome/angular-fontawesome"),require("@fortawesome/fontawesome-svg-core"),require("@fortawesome/free-solid-svg-icons"),require("@fortawesome/free-regular-svg-icons"),require("@angular/common/http"),require("jquery"),require("hammerjs"),require("@angular/platform-browser"),require("ng-click-outside")):"function"==typeof define&&define.amd?define("@groupdocs.examples.angular/common-components",["exports","@angular/core","@angular/common","rxjs","rxjs/operators","@fortawesome/angular-fontawesome","@fortawesome/fontawesome-svg-core","@fortawesome/free-solid-svg-icons","@fortawesome/free-regular-svg-icons","@angular/common/http","jquery","hammerjs","@angular/platform-browser","ng-click-outside"],e):e(((t=t||self).groupdocs=t.groupdocs||{},t.groupdocs.examples=t.groupdocs.examples||{},t.groupdocs.examples.angular=t.groupdocs.examples.angular||{},t.groupdocs.examples.angular["common-components"]={}),t.ng.core,t.ng.common,t.rxjs,t.rxjs.operators,t.angularFontawesome,t.fontawesomeSvgCore,t.freeSolidSvgIcons,t.freeRegularSvgIcons,t.ng.common.http,t.jquery,t.Hammer,t.ng.platformBrowser,t.ngClickOutside)}(this,(function(t,e,o,n,i,r,s,a,c,p,l,d,u,g){"use strict"; -/*! ***************************************************************************** - Copyright (c) Microsoft Corporation. All rights reserved. - Licensed under the Apache License, Version 2.0 (the "License"); you may not use - this file except in compliance with the License. You may obtain a copy of the - License at http://www.apache.org/licenses/LICENSE-2.0 - - THIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - KIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED - WARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE, - MERCHANTABLITY OR NON-INFRINGEMENT. - - 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.hideSidePanel=new e.EventEmitter,this.onlyTitle=!1}return t.prototype.openSidePanel=function(){this.hideSidePanel.emit(!0)},t.prototype.toggleTitleMode=function(){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',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{display:-webkit-box;display:flex;-webkit-box-align:center;align-items:center}.gd-side-panel-wrapper .gd-side-panel-header /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}],hideSidePanel:[{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 k=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:0!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 S=function(){function t(){}return t.VIEWER_APP="/viewer",t.SIGNATURE_APP="/signature",t.ANNOTATION_APP="/annotation",t.EDITOR_APP="/editor",t.COMPARISON_APP="/comparison",t.CONVERSION_APP="/conversion",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.ROTATE_DOCUMENT_PAGE="/rotateDocumentPages",t.UPLOAD_DOCUMENTS="/uploadDocument",t.DOWNLOAD_DOCUMENTS="/downloadDocument",t.LOAD_PRINT="/loadPrint",t.LOAD_PRINT_PDF="/printPdf",t.LOAD_THUMBNAILS="/loadThumbnails",t.LOAD_FORMATS="/loadFormats",t.SAVE_FILE="/saveFile",t.COMPARE_FILES="/compare",t.CONVERT_FILE="/convert",t.DELETE_SIGNATURE_FILE="/deleteSignatureFile",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.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=S.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)+S.LOAD_CONFIG},t.prototype.getViewerApiEndpoint=function(){return this._apiEndpoint.endsWith(S.VIEWER_APP)?this._apiEndpoint:this._apiEndpoint+S.VIEWER_APP},t.prototype.getEditorApiEndpoint=function(){return this._apiEndpoint.trim().endsWith(S.EDITOR_APP)?this._apiEndpoint:this._apiEndpoint+S.EDITOR_APP},t.prototype.getComparisonApiEndpoint=function(){return this._apiEndpoint.trim().endsWith(S.COMPARISON_APP)?this._apiEndpoint:this._apiEndpoint+S.COMPARISON_APP},t.prototype.getConversionApiEndpoint=function(){return this._apiEndpoint.trim().endsWith(S.CONVERSION_APP)?this._apiEndpoint:this._apiEndpoint+S.CONVERSION_APP},t.prototype.getSignatureApiEndpoint=function(){return this._apiEndpoint.endsWith(S.SIGNATURE_APP)?this._apiEndpoint:this._apiEndpoint+S.SIGNATURE_APP},t.prototype.getAnnotationApiEndpoint=function(){return this._apiEndpoint.endsWith(S.ANNOTATION_APP)?this._apiEndpoint:this._apiEndpoint+S.ANNOTATION_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 I=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-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 O=function(){};var E=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 j=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 L=function(){},R=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"}],B=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 M.find(t.name,t.directory).format},t.prototype.getFormatIcon=function(t){return M.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:R}]},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 N=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 $=l,W=function(){function t(t,e,o){var n=this;this._elementRef=t,this._zoomService=e,this._windowService=o,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){n.zoom=t})),this.isDesktop=o.isDesktop()}return t.prototype.ngOnInit=function(){},t.prototype.ngOnChanges=function(){this._elementRef.nativeElement.children.item(0).children.item(0).style.transform=""},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"===M.find(this.file.guid,!1).format},t.prototype.getDimensionWithUnit=function(t){return t+(this.mode?M.find(this.file.guid,!1).unit:"px")},t.prototype.ifEdge=function(){return navigator.userAgent.toLowerCase().indexOf("edge")>-1},t.prototype.ngAfterViewChecked=function(){var t=this._elementRef.nativeElement.querySelectorAll(".gd-wrapper").item(0);t&&$(t).trigger("focus")},t.prototype.absolutePosition=function(t){for(var e=0,o=0;null!==t;)e+=t.offsetLeft,o+=t.offsetTop,t=t.offsetParent;return{x:e,y:o}},t.prototype.restrictRawPos=function(t,e,o){return t0&&(t=0),t},t.prototype.updateLastPos=function(){this.lastX=this.x,this.lastY=this.y},t.prototype.translate=function(t,e){var o=this.restrictRawPos(this.lastX+t/this.scale,Math.min(this.viewportWidth,this.curWidth),this.docWidth);this.x=o,this.container.scrollLeft=-Math.ceil(o*this.scale);var n=this.restrictRawPos(this.lastY+e/this.scale,Math.min(this.viewportHeight,this.curHeight),this.docHeight);this.y=n,this.container.scrollTop=-Math.ceil(n*this.scale),this.doc.style.transform="scale("+this.scale+")"},t.prototype.startZoom=function(t){this.scale=this.lastScale*t,this.curWidth=this.docWidth*this.scale,this.curHeight=this.docHeight*this.scale,this.translate(0,0)},t.prototype.rawCenter=function(t){var e=this.absolutePosition(this.container),o=window.pageXOffset?window.pageXOffset:document.body.scrollLeft,n=window.pageYOffset?window.pageYOffset:document.body.scrollTop;return{x:-this.x+(t.center.x-e.x+o)/this.scale,y:-this.y+(t.center.y-e.y+n)/this.scale}},t.prototype.updateLastScale=function(){this.lastScale=this.scale},t.prototype.zoomAround=function(t,e,o,n){this.startZoom(t);var i=-this.x+Math.min(this.viewportWidth,this.curWidth)/2/this.scale,r=-this.y+Math.min(this.viewportHeight,this.curHeight)/2/this.scale,s=(i-e)*this.scale,a=(r-o)*this.scale;this.translate(s,a),n||(this.updateLastScale(),this.updateLastPos())},t.prototype.onPinch=function(t){if(null===this.pinchCenter){this.pinchCenter=this.rawCenter(t);var e=this.pinchCenter.x*this.scale-(-this.x*this.scale+Math.min(this.viewportWidth,this.curWidth)/2),o=this.pinchCenter.y*this.scale-(-this.y*this.scale+Math.min(this.viewportHeight,this.curHeight)/2);this.pinchCenterOffset={x:e,y:o}}var n=this.scale*t.scale,i={x:(this.pinchCenter.x*n-this.pinchCenterOffset.x)/n,y:(this.pinchCenter.y*n-this.pinchCenterOffset.y)/n};this.zoomAround(t.scale,i.x,i.y,!0)},t.prototype.onPinchEnd=function(t){this.updateLastScale(),this.updateLastPos(),this.pinchCenter=null},t.prototype.onPan=function(t){},t.prototype.onPanEnd=function(t){},t.prototype.onDoubleTap=function(t){if(!this.isDesktop&&2===t.tapCount){var e=this.rawCenter(t);this.zoomAround(2,e.x,e.y,!1)}},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}.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}.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:N},{type:x}]},t.propDecorators={mode:[{type:e.Input}],preloadPageCount:[{type:e.Input}],file:[{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.data=null!==this.data?this.data.replace(/>\s+<").replace(/\uFEFF/g,""):null;this.imgData="data:image/png;base64,",this.isHtml||(this.imgData+=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%}/deep/ .gd-highlight{background-color:#ff0}/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 V=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 G=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 X=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 Z=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}(),Y=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:R}]},t.propDecorators={closeUpload:[{type:e.Output}]},t}();var J=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:R}]},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 K=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 Q=function(){function t(t){var e=this;this._pagePreloadService=t,this._currentPage=0,this._countPages=0,this._navigate=new n.Observable((function(t){return e._observer=t}))}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:K}]},t.ngInjectableDef=e.ɵɵdefineInjectable({factory:function(){return new t(e.ɵɵinject(K))},token:t,providedIn:"root"}),t}();var tt=l,et=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=tt(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=tt(t).outerHeight()*l,u=tt(t).outerWidth()*l;if(!u||!d)return!1;var g=tt(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}(),ot=l,nt=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.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&&ot(n).offset().top===ot(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),e=Math.floor((this.getWidth()-150)/(t.getBoundingClientRect().width*this.getZoom()));return 0===e?1:e},t.prototype.refresh=function(){var t,e=!1,o=this.getPage(this.currentPage),n=this.currentPage&&o?o.getBoundingClientRect():null;for(t=1;to&&(o=t.width)})),this.minWidth=o+M.find(this.file.guid,!1).unit}},t.prototype.getScrollWidth=function(t){return t.offsetWidth-t.clientWidth},t.prototype.resizePages=function(t){var e=100===t?1:t/100,o=this.el.nativeElement.parentElement.offsetWidth,n=this.getScrollWidth(this.el.nativeElement.parentElement);this.width=o/e-n/e+"px"},t.prototype.ngAfterViewInit=function(){this.setStyles(this._zoomService.zoom)},t.decorators=[{type:e.Directive,args:[{selector:"[gdZoom]"}]}],t.ctorParameters=function(){return[{type:N},{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"]}],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.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)},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',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}],isOpen:[{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,i,r="";if(this.htmlMode)try{for(var s=m(t),a=s.next();!a.done;a=s.next()){r+='
'+l.data+"
"}}catch(t){e={error:t}}finally{try{a&&!a.done&&(o=s.return)&&o.call(s)}finally{if(e)throw e.error}}else try{for(var c=m(t),p=c.next();!p.done;p=c.next()){var l;r+='
'}}catch(t){n={error:t}}finally{try{p&&!p.done&&(i=c.return)&&i.call(c)}finally{if(n)throw n.error}}this.openWindow(r,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(),s.focus(),s.print(),s.close()},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()}return Object.defineProperty(t.prototype,"messageChange",{get:function(){return this._messageChange},enumerable:!0,configurable:!0}),t.prototype.changeMessage=function(t){this._observer.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:468px;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(t,e){var o=this,r="background: maroon; color: white";return e.handle(t).pipe(i.map((function(t){return t})),i.catchError((function(t){if(t instanceof p.HttpErrorResponse)switch(t.status){case A.BadRequest:console.error("%c Bad Request 400",r);break;case A.Unauthorized:console.error("%c Unauthorized 401",r);break;case A.NotFound:console.error("%c Not Found 404",r);break;case A.TimeOut:console.error("%c TimeOut 408",r);break;case A.InternalServerError:console.error("%c big bad 500",r),o._messageService.changeMessage(t.error.message),o._modalService.open(_.ErrorMessage);break;case A.Forbidden:console.error("%c Forbidden 403",r),o._messageService.changeMessage(t.error.message),o._modalService.open(_.PasswordRequired)}return n.throwError(t)})))},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 St=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;margin:auto 23px}.gd-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}.gd-tab .title{display:none}.gd-tab .icon{display:block}}"]}]}],t.ctorParameters=function(){return[{type:St}]},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 It=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 Ot=["#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"],Et=function(){function t(){this.isOpen=!1,this.selectedColor=new e.EventEmitter,this.closeOutside=new e.EventEmitter,this.colors=Ot,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}(It),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:It},{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}(),jt=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 Mt=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:jt}]},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 Lt=function(){function t(){this.onLoadingChanged=new e.EventEmitter,this.stopList=[],this.requests=[],this.stopList.push(S.SAVE_TEXT),this.stopList.push(S.SAVE_OPTICAL_CODE)}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.notify=function(){this.onLoadingChanged.emit(0!==this.requests.length)},t.decorators=[{type:e.Injectable}],t.ctorParameters=function(){return[]},t}();var Rt=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:Lt}]},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:Lt}]},t.ngInjectableDef=e.ɵɵdefineInjectable({factory:function(){return new t(e.ɵɵinject(Lt))},token:t,providedIn:"root"}),t}();var Ht={center:{right:"auto"},left:{right:"100%"},right:{right:"-100%"}},Bt={center:{top:"0px"},top:{top:"-100%",right:"100%"},bottom:{top:"autos"}},Nt=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 qt}))]}]}]},t.propDecorators={click:[{type:e.HostListener,args:["click",["$event"]]}]},t}();var $t=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 Bt[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 qt}))]}]}]},t}();var Wt=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 qt}))]}]}]},t.propDecorators={class:[{type:e.HostBinding,args:["class"]}],selected:[{type:e.Output}],click:[{type:e.HostListener,args:["click"]}]},t}();var qt=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 Vt=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=j.getMousePosition(t)},t.prototype.resize=function(t,e){if(this.grab){var o=j.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}(St),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){var o=this;this._onCloseService=t,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=It.getFontSizeOptions(),this.fontOptions=It.getFontOptions(),this.colorPickerShow=!1,t.onClose.subscribe((function(){o.colorPickerShow=!1}))}return t.prototype.ngOnInit=function(){},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;bottom:0;left:0;right:0;width:100%;height:60px;-webkit-box-align:center;align-items:center;padding:0;margin:0;background-color:#fff;border-top:2px solid #707070}.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:-200px}.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 .button{margin:3px!important}}"]}]}],t.ctorParameters=function(){return[{type:rt}]},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){var o=this;this._windowService=t,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){o.isMobile=t.isMobile()}))}return t.prototype.ngOnInit=function(){},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:-34px}}"]}]}],t.ctorParameters=function(){return[{type:x}]},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,S,P,L,T,M,j,V,G,X,Z,R,lt,Q,K,N,ut,ht,bt,vt,x,et,It,zt,rt,Ut,Lt,St,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,k,I,B,W,q,V,G,X,Z,Y,J,nt,it,st,at,ct,pt,dt,gt,mt,xt,yt,kt,Ct,_t,Et,Tt,At,Mt,Rt,qt,Wt,$t,Nt,Vt,Gt,Yt,Kt,te,oe,ie],exports:[b,v,w,y,k,I,B,W,q,G,X,Z,V,Y,nt,st,ct,pt,dt,gt,mt,xt,yt,kt,Ct,_t,Et,Tt,At,Rt,J,qt,Wt,$t,Nt,it,Nt,Vt,Gt,Yt,Kt,te,oe,ie],providers:re}]}],t.ctorParameters=function(){return[]},t}();t.AddDynamicComponentService=Xt,t.Api=S,t.BackFormattingService=zt,t.BrowseFilesModalComponent=B,t.ButtonComponent=w,t.ColorPickerComponent=Et,t.CommonComponentsModule=se,t.CommonModals=_,t.ConfigService=C,t.ContextMenuComponent=ie,t.DisabledCursorDirective=at,t.DndDirective=J,t.DocumentComponent=W,t.DropDownComponent=qt,t.DropDownItemComponent=Wt,t.DropDownItemsComponent=$t,t.DropDownToggleComponent=Nt,t.EditHtmlService=jt,t.EditorDirective=Mt,t.ErrorInterceptorService=bt,t.ErrorModalComponent=gt,t.ExceptionMessageService=ut,t.FileCredentials=z,t.FileDescription=D,t.FileModel=T,t.FileService=L,t.FileUtil=M,t.Formatting=Pt,t.FormattingDirective=Tt,t.FormattingService=It,t.HighlightSearchPipe=Z,t.HostDynamicDirective=Yt,t.HostingDynamicComponentService=Zt,t.HttpError=A,t.InitStateComponent=pt,t.LeftSideBarComponent=Vt,t.LoadingMaskComponent=Rt,t.LoadingMaskInterceptorService=Ut,t.LoadingMaskService=Lt,t.LogoComponent=y,t.MenuType=ne,t.ModalComponent=I,t.ModalService=P,t.NavigateService=Q,t.OnCloseService=rt,t.PageComponent=q,t.PageModel=O,t.PagePreloadService=K,t.PasswordRequiredComponent=mt,t.PasswordService=ht,t.RenderPrintDirective=dt,t.RenderPrintService=lt,t.RotatedPage=E,t.RotationDirective=ct,t.SanitizeHtmlPipe=V,t.SanitizeResourceHtmlPipe=G,t.SanitizeStylePipe=X,t.SaveFile=F,t.ScrollableDirective=nt,t.SearchComponent=xt,t.SearchService=vt,t.SearchableDirective=yt,t.SelectComponent=st,t.SelectionService=Ft,t.SidePanelComponent=v,t.SuccessModalComponent=At,t.TabActivatorService=St,t.TabComponent=Ct,t.TabbedToolbarsComponent=kt,t.TextMenuComponent=oe,t.TooltipComponent=k,t.TopTabActivatorService=Qt,t.TopToolbarComponent=b,t.UploadFileZoneComponent=Y,t.UploadFilesService=R,t.Utils=j,t.ViewportService=et,t.WindowService=x,t.ZoomDirective=it,t.ZoomService=N,t.ɵa=_t,t.ɵb=Gt,t.ɵc=Kt,t.ɵd=te,Object.defineProperty(t,"__esModule",{value:!0})})); +!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports,require("@angular/core"),require("@angular/common"),require("rxjs"),require("rxjs/operators"),require("@fortawesome/angular-fontawesome"),require("@fortawesome/fontawesome-svg-core"),require("@fortawesome/free-solid-svg-icons"),require("@fortawesome/free-regular-svg-icons"),require("@angular/common/http"),require("jquery"),require("hammerjs"),require("@angular/platform-browser"),require("ng-click-outside")):"function"==typeof define&&define.amd?define("@groupdocs.examples.angular/common-components",["exports","@angular/core","@angular/common","rxjs","rxjs/operators","@fortawesome/angular-fontawesome","@fortawesome/fontawesome-svg-core","@fortawesome/free-solid-svg-icons","@fortawesome/free-regular-svg-icons","@angular/common/http","jquery","hammerjs","@angular/platform-browser","ng-click-outside"],e):e(((t=t||self).groupdocs=t.groupdocs||{},t.groupdocs.examples=t.groupdocs.examples||{},t.groupdocs.examples.angular=t.groupdocs.examples.angular||{},t.groupdocs.examples.angular["common-components"]={}),t.ng.core,t.ng.common,t.rxjs,t.rxjs.operators,t.angularFontawesome,t.fontawesomeSvgCore,t.freeSolidSvgIcons,t.freeRegularSvgIcons,t.ng.common.http,t.jquery,t.Hammer,t.ng.platformBrowser,t.ngClickOutside)}(this,function(t,e,o,n,i,r,s,a,c,p,l,d,u,g){"use strict";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 v=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:flex;align-items:center}.tools{width:100%;height:100%;display:flex;align-items:center}@media (max-width:1037px){.top-toolbar{height:60px}.tools{height:100%;overflow-x:auto;overflow-scrolling:touch;display:flex;align-items:center;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}(),y=function(){function t(){this.hideSidePanel=new e.EventEmitter,this.onlyTitle=!1}return t.prototype.openSidePanel=function(){this.hideSidePanel.emit(!0)},t.prototype.toggleTitleMode=function(){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',styles:[".gd-side-panel-wrapper{margin-right:0;width:334px;z-index:999;background-color:#fff;transition:margin-right .2s;display:flex;flex-flow:column;height:100vh}.gd-side-panel-wrapper .gd-side-panel-header{height:60px;background-color:#222e35;display:flex;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{display:flex;align-items:center}.gd-side-panel-wrapper .gd-side-panel-header /deep/ gd-button .text{padding:0}.gd-side-panel-wrapper .gd-side-panel-body{display:flex;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}],hideSidePanel:[{type:e.Output}]},t}(),b=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}(),x=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:flex;flex-direction:column;align-items:center;align-content: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:flex;flex-direction:column}@media (max-width:1037px){.button{font-size:22px}.arrow-button{margin:5px}}"]}]}],t.ctorParameters=function(){return[{type:b}]},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}(),w=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:flex;align-items: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}(),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:0!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}(),C=function(){function t(){}return t.VIEWER_APP="/viewer",t.SIGNATURE_APP="/signature",t.ANNOTATION_APP="/annotation",t.EDITOR_APP="/editor",t.COMPARISON_APP="/comparison",t.CONVERSION_APP="/conversion",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.ROTATE_DOCUMENT_PAGE="/rotateDocumentPages",t.UPLOAD_DOCUMENTS="/uploadDocument",t.DOWNLOAD_DOCUMENTS="/downloadDocument",t.LOAD_PRINT="/loadPrint",t.LOAD_PRINT_PDF="/printPdf",t.LOAD_THUMBNAILS="/loadThumbnails",t.LOAD_FORMATS="/loadFormats",t.SAVE_FILE="/saveFile",t.COMPARE_FILES="/compare",t.CONVERT_FILE="/convert",t.DELETE_SIGNATURE_FILE="/deleteSignatureFile",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.httpOptionsJson={headers:new p.HttpHeaders({"Content-Type":"application/json"})},t.httpOptionsJsonResponseTypeBlob={headers:new p.HttpHeaders({"Content-Type":"application/json"}),responseType:"blob"},t}(),_=function(){function t(){this.apiEndpoint=C.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)+C.LOAD_CONFIG},t.prototype.getViewerApiEndpoint=function(){return this._apiEndpoint.endsWith(C.VIEWER_APP)?this._apiEndpoint:this._apiEndpoint+C.VIEWER_APP},t.prototype.getEditorApiEndpoint=function(){return this._apiEndpoint.trim().endsWith(C.EDITOR_APP)?this._apiEndpoint:this._apiEndpoint+C.EDITOR_APP},t.prototype.getComparisonApiEndpoint=function(){return this._apiEndpoint.trim().endsWith(C.COMPARISON_APP)?this._apiEndpoint:this._apiEndpoint+C.COMPARISON_APP},t.prototype.getConversionApiEndpoint=function(){return this._apiEndpoint.trim().endsWith(C.CONVERSION_APP)?this._apiEndpoint:this._apiEndpoint+C.CONVERSION_APP},t.prototype.getSignatureApiEndpoint=function(){return this._apiEndpoint.endsWith(C.SIGNATURE_APP)?this._apiEndpoint:this._apiEndpoint+C.SIGNATURE_APP},t.prototype.getAnnotationApiEndpoint=function(){return this._apiEndpoint.endsWith(C.ANNOTATION_APP)?this._apiEndpoint:this._apiEndpoint+C.ANNOTATION_APP},t.decorators=[{type:e.Injectable}],t.ctorParameters=function(){return[]},t}(),P=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}(),I=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}(),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%;transform:translate(-50%,-50%);z-index:1051}.gd-modal-content{background-color:#fff;height:100%;display:flex;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:I},{type:e.ElementRef}]},t.propDecorators={id:[{type:e.Input}],title:[{type:e.Input}],visible:[{type:e.Output}],cancel:[{type:e.Output}]},t}(),O=function(){},k=function(){},F=function(t,e){this.guid=t,this.password=e},z=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}(F),D=function(){this.printAllowed=!0},T=function(){},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}(),j=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}(),L=function(){},R=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}(),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 M.find(t.name,t.directory).format},t.prototype.getFormatIcon=function(t){return M.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:flex;width:90%;padding:18px 0 18px 24px;font-size:14px;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:flex;width:100%;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: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:flex;position:relative;width:100%}.upload-panel .context{display:flex;flex-direction:column;width:100%;margin-left:24px;margin-top:24px;margin-right:24px}.upload-panel .context .context-actions{display:flex;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;justify-content:center}.upload-panel .context .context-actions ::ng-deep .button ::ng-deep .text{font-size:10px}.upload-panel .context .context-panel{display:flex;flex-direction:row;width:100%;margin-top:20px}.upload-panel .context .context-panel .upload-url{display:flex;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:flex;justify-content:center;align-items:center}.dnd-wrapper{display:flex;flex-direction:column;align-items:center;justify-content:center;top:259px;position:absolute}.dnd-wrapper .text{color:#6e6e6e;font-size:14px}.dnd-wrapper .icon{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:R}]},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}(),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}(),$=l,W=function(){function t(t,e,o){var n=this;this._elementRef=t,this._zoomService=e,this._windowService=o,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){n.zoom=t}),this.isDesktop=o.isDesktop()}return t.prototype.ngOnInit=function(){},t.prototype.ngOnChanges=function(){this._elementRef.nativeElement.children.item(0).children.item(0).style.transform=""},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"===M.find(this.file.guid,!1).format},t.prototype.getDimensionWithUnit=function(t){return t+(this.mode?M.find(this.file.guid,!1).unit:"px")},t.prototype.ifEdge=function(){return navigator.userAgent.toLowerCase().indexOf("edge")>-1},t.prototype.ngAfterViewChecked=function(){var t=this._elementRef.nativeElement.querySelectorAll(".gd-wrapper").item(0);t&&$(t).trigger("focus")},t.prototype.absolutePosition=function(t){for(var e=0,o=0;null!==t;)e+=t.offsetLeft,o+=t.offsetTop,t=t.offsetParent;return{x:e,y:o}},t.prototype.restrictRawPos=function(t,e,o){return t0&&(t=0),t},t.prototype.updateLastPos=function(){this.lastX=this.x,this.lastY=this.y},t.prototype.translate=function(t,e){var o=this.restrictRawPos(this.lastX+t/this.scale,Math.min(this.viewportWidth,this.curWidth),this.docWidth);this.x=o,this.container.scrollLeft=-Math.ceil(o*this.scale);var n=this.restrictRawPos(this.lastY+e/this.scale,Math.min(this.viewportHeight,this.curHeight),this.docHeight);this.y=n,this.container.scrollTop=-Math.ceil(n*this.scale),this.doc.style.transform="scale("+this.scale+")"},t.prototype.startZoom=function(t){this.scale=this.lastScale*t,this.curWidth=this.docWidth*this.scale,this.curHeight=this.docHeight*this.scale,this.translate(0,0)},t.prototype.rawCenter=function(t){var e=this.absolutePosition(this.container),o=window.pageXOffset?window.pageXOffset:document.body.scrollLeft,n=window.pageYOffset?window.pageYOffset:document.body.scrollTop;return{x:-this.x+(t.center.x-e.x+o)/this.scale,y:-this.y+(t.center.y-e.y+n)/this.scale}},t.prototype.updateLastScale=function(){this.lastScale=this.scale},t.prototype.zoomAround=function(t,e,o,n){this.startZoom(t);var i=-this.x+Math.min(this.viewportWidth,this.curWidth)/2/this.scale,r=-this.y+Math.min(this.viewportHeight,this.curHeight)/2/this.scale,s=(i-e)*this.scale,a=(r-o)*this.scale;this.translate(s,a),n||(this.updateLastScale(),this.updateLastPos())},t.prototype.onPinch=function(t){if(null===this.pinchCenter){this.pinchCenter=this.rawCenter(t);var e=this.pinchCenter.x*this.scale-(-this.x*this.scale+Math.min(this.viewportWidth,this.curWidth)/2),o=this.pinchCenter.y*this.scale-(-this.y*this.scale+Math.min(this.viewportHeight,this.curHeight)/2);this.pinchCenterOffset={x:e,y:o}}var n=this.scale*t.scale,i={x:(this.pinchCenter.x*n-this.pinchCenterOffset.x)/n,y:(this.pinchCenter.y*n-this.pinchCenterOffset.y)/n};this.zoomAround(t.scale,i.x,i.y,!0)},t.prototype.onPinchEnd=function(t){this.updateLastScale(),this.updateLastPos(),this.pinchCenter=null},t.prototype.onPan=function(t){},t.prototype.onPanEnd=function(t){},t.prototype.onDoubleTap=function(t){if(!this.isDesktop&&2===t.tapCount){var e=this.rawCenter(t);this.zoomAround(2,e.x,e.y,!1)}},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{flex:1;transition:.4s;background-color:#e7e7e7;height:100%;overflow:scroll}.page{display:inline-block;background-color:#fff;margin:20px;box-shadow:0 3px 6px rgba(0,0,0,.16);transition:.3s}.page.excel{overflow:auto}.wait{position:absolute;top:55px;left:Calc(30%)}.panzoom{display:flex;flex-direction:row;flex-wrap:wrap;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:b}]},t.propDecorators={mode:[{type:e.Input}],preloadPageCount:[{type:e.Input}],file:[{type:e.Input}]},t}(),q=function(){function t(){}return t.prototype.ngOnInit=function(){/*@cc_on!@*/!!/(MSIE|Trident\/|Edge\/)/i.test(navigator.userAgent)&&0===this.number&&(this.editable=!1)},t.prototype.ngOnChanges=function(t){this.data=null!==this.data?this.data.replace(/>\s+<").replace(/\uFEFF/g,""):null;this.imgData="data:image/png;base64,",this.isHtml||(this.imgData+=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%}/deep/ .gd-highlight{background-color:#ff0}/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}(),V=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}(),G=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}(),X=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}(),Z=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}(),Y=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:flex;align-content:center;flex-direction:column;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:R}]},t.propDecorators={closeUpload:[{type:e.Output}]},t}(),J=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:R}]},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}(),K=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}(),Q=function(){function t(t){var e=this;this._pagePreloadService=t,this._currentPage=0,this._countPages=0,this._navigate=new n.Observable(function(t){return e._observer=t})}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:K}]},t.ngInjectableDef=e.ɵɵdefineInjectable({factory:function(){return new t(e.ɵɵinject(K))},token:t,providedIn:"root"}),t}(),tt=l,et=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=tt(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=tt(t).outerHeight()*l,u=tt(t).outerWidth()*l;if(!u||!d)return!1;var g=tt(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)),v=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*v>=.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}(),ot=l,nt=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.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&&ot(n).offset().top===ot(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),e=Math.floor((this.getWidth()-150)/(t.getBoundingClientRect().width*this.getZoom()));return 0===e?1:e},t.prototype.refresh=function(){var t,e=!1,o=this.getPage(this.currentPage),n=this.currentPage&&o?o.getBoundingClientRect():null;for(t=1;to&&(o=t.width)}),this.minWidth=o+M.find(this.file.guid,!1).unit}},t.prototype.getScrollWidth=function(t){return t.offsetWidth-t.clientWidth},t.prototype.resizePages=function(t){var e=100===t?1:t/100,o=this.el.nativeElement.parentElement.offsetWidth,n=this.getScrollWidth(this.el.nativeElement.parentElement);this.width=o/e-n/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:b},{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"]}],minWidth:[{type:e.HostBinding,args:["style.min-width"]}]},t}(),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}(),st=function(){function t(t){var o=this;this._onCloseService=t,this.disabled=!1,this.selected=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)},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',styles:[".select{min-width:50px;display:flex;flex-direction:row;justify-content: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}],isOpen:[{type:e.Input}]},t}(),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}(),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}(),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:flex;flex-direction:column;justify-content:center;align-items:center;width:100%;height:100%}.icon{font-size:65px;margin-bottom:43px;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:flex;flex-direction:column;width:250px;height:250px;align-items: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}(),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}(),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,i,r="";if(this.htmlMode)try{for(var s=m(t),a=s.next();!a.done;a=s.next()){r+='
'+l.data+"
"}}catch(t){e={error:t}}finally{try{a&&!a.done&&(o=s.return)&&o.call(s)}finally{if(e)throw e.error}}else try{for(var c=m(t),p=c.next();!p.done;p=c.next()){var l;r+='
'}}catch(t){n={error:t}}finally{try{p&&!p.done&&(i=c.return)&&i.call(c)}finally{if(n)throw n.error}}this.openWindow(r,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(),s.focus(),s.print(),s.close()},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}(),ut=function(){function t(){this._observer=new n.BehaviorSubject("Server is not available"),this._messageChange=this._observer.asObservable()}return Object.defineProperty(t.prototype,"messageChange",{get:function(){return this._messageChange},enumerable:!0,configurable:!0}),t.prototype.changeMessage=function(t){this._observer.next(t)},t}(),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:inline-flex;flex-direction:column;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:flex}#gd-error-section fa-icon{flex:1;color:#e04e4e;font-size:40px;margin:13px 23px 90px;text-align:center;max-width:46px}"]}]}],t.ctorParameters=function(){return[{type:ut}]},t}(),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}(),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:468px;height:164px}.gd-password-wrap{display:flex;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;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}(),vt=function(){function t(t,e){this._modalService=t,this._messageService=e}return t.prototype.intercept=function(t,e){var o=this,r="background: maroon; color: white";return e.handle(t).pipe(i.map(function(t){return t}),i.catchError(function(t){if(t instanceof p.HttpErrorResponse)switch(t.status){case A.BadRequest:console.error("%c Bad Request 400",r);break;case A.Unauthorized:console.error("%c Unauthorized 401",r);break;case A.NotFound:console.error("%c Not Found 404",r);break;case A.TimeOut:console.error("%c TimeOut 408",r);break;case A.InternalServerError:console.error("%c big bad 500",r),o._messageService.changeMessage(t.error.message),o._modalService.open(P.ErrorMessage);break;case A.Forbidden:console.error("%c Forbidden 403",r),o._messageService.changeMessage(t.error.message),o._modalService.open(P.PasswordRequired)}return n.throwError(t)}))},t.decorators=[{type:e.Injectable,args:[{providedIn:"root"}]}],t.ctorParameters=function(){return[{type:I},{type:ut}]},t.ngInjectableDef=e.ɵɵdefineInjectable({factory:function(){return new t(e.ɵɵinject(I),e.ɵɵinject(ut))},token:t,providedIn:"root"}),t}(),yt=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}(),bt=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;transform:translate(-50%,0);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:yt}]},t.propDecorators={hidePanel:[{type:e.Output}],textElement:[{type:e.ViewChild,args:["text",{static:!0}]}]},t}(),xt=l,wt=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){xt(t).removeClass("gd-highlight-select")});var e=t.querySelectorAll(".gd-highlight")[this.current-1];if(xt(e).addClass("gd-highlight-select"),e){var o={left:0,top:xt(e).offset().top+t.parentElement.parentElement.scrollTop-150};t.parentElement.parentElement.scroll(o)}}}},t.prototype.highlightEl=function(t){var e=xt(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=xt(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: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}(),_t=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}(),Pt=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:flex}.gd-tab{text-align:center;font-size:11px;color:#e5e5e5;height:30px;line-height:30px;cursor:pointer;display:flex;align-items:center;justify-content:center}.gd-tab .icon{display:none;font-size:14px;margin:auto 23px}.gd-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}.gd-tab .title{display:none}.gd-tab .icon{display:block}}"]}]}],t.ctorParameters=function(){return[{type:_t}]},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}(),It=function(){function t(){}return t.decorators=[{type:e.Component,args:[{selector:"gd-tabs",template:'
\r\n \r\n
\r\n',styles:[".gd-tabs{display:flex}"]}]}],t.ctorParameters=function(){return[]},t}(),Et=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}(),Ot=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}(),kt=["#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"],Ft=function(){function t(){this.isOpen=!1,this.selectedColor=new e.EventEmitter,this.closeOutside=new e.EventEmitter,this.colors=kt,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:flex;flex-wrap:wrap;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}(),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}(Ot),Dt=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}(),Tt=l,At=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=/*@cc_on!@*/!!/(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=Tt(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"),Tt(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:Ot},{type:zt},{type:Dt}]},t.propDecorators={mouseup:[{type:e.HostListener,args:["mouseup"]}]},t}(),jt=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:flex;overflow:hidden;width:469px;height:183px}.sa-icon.sa-success{border-color:#4caf50;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;transform:rotate(-45deg);transform-origin:60px 60px}.sa-icon.sa-success::after{border-radius:0 120px 120px 0;top:-11px;left:30px;transform:rotate(-45deg);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;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;transform:rotate(45deg)}.sa-icon.sa-success .sa-line.sa-long{width:47px;right:8px;top:38px;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;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}(),Lt=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:Dt},{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}(),Rt=function(){function t(){this.onLoadingChanged=new e.EventEmitter,this.stopList=[],this.requests=[],this.stopList.push(C.SAVE_TEXT),this.stopList.push(C.SAVE_OPTICAL_CODE)}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.notify=function(){this.onLoadingChanged.emit(0!==this.requests.length)},t.decorators=[{type:e.Injectable}],t.ctorParameters=function(){return[]},t}(),Ut=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%;transform:translate(-50%,-50%)}"]}]}],t.ctorParameters=function(){return[{type:Rt}]},t.propDecorators={loadingMask:[{type:e.Input}]},t}(),Ht=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}(),Nt={center:{right:"auto"},left:{right:"100%"},right:{right:"-100%"}},Bt={center:{top:"0px"},top:{top:"-100%",right:"100%"},bottom:{top:"autos"}},$t=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:flex;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:flex;flex-direction:row;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}(),Wt=function(){function t(t){this.dropdown=t}return Object.defineProperty(t.prototype,"horizontalAlign",{get:function(){return Nt[this.dropdown.getPlacement().h].right},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"verticalAlign",{get:function(){return Bt[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:flex;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:flex;flex-direction:row;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}(),qt=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:flex;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:flex;flex-direction:row;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}(),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:flex;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:flex;flex-direction:row;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}(),Gt=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;transition:transform .3s ease-out;width:100%;height:100%;display:flex;justify-content: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}(),Xt=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}(),Zt=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}(),Yt=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}(),Jt=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:Yt}]},t.propDecorators={ident:[{type:e.Input}]},t}(),Kt=l,Qt=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=Kt(this.getElementId(this.SE)),o=Kt(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=j.getMousePosition(t)},t.prototype.resize=function(t,e){if(this.grab){var o=j.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}(),te=function(t){function e(){return t.call(this)||this}return f(e,t),e}(_t),ee=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(P.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:flex;flex-direction:column;align-items:center;align-content: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:flex;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:te},{type:I},{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}(),oe=l,ne=function(){function t(t){var o=this;this._onCloseService=t,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=Ot.getFontSizeOptions(),this.fontOptions=Ot.getFontOptions(),this.colorPickerShow=!1,t.onClose.subscribe(function(){o.colorPickerShow=!1})}return t.prototype.ngOnInit=function(){},t.prototype.selectFontSize=function(t){oe(".gd-wrapper").off("keyup"),this.outFontSize.emit(t.value),oe(".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:flex;flex-direction:row}.gd-text-menu .format-select{height:37px;display:flex;justify-content: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;bottom:0;left:0;right:0;width:100%;height:60px;align-items:center;padding:0;margin:0;background-color:#fff;border-top:2px solid #707070}.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:-200px}.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 .button{margin:3px!important}}"]}]}],t.ctorParameters=function(){return[{type:rt}]},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}(),ie=function(){function t(){}return t.FOR_SIGNATURE="signature",t.FOR_ANNOTATION="annotation",t}(),re=function(){function t(t){var o=this;this._windowService=t,this.formatting=Et.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){o.isMobile=t.isMobile()})}return t.prototype.ngOnInit=function(){},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===ie.FOR_SIGNATURE},t.prototype.isAnnotation=function(){return this.menuType===ie.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:flex;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:-34px}}"]}]}],t.ctorParameters=function(){return[{type:b}]},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}(),se=[_,C,I,L,T,M,j,V,G,X,Z,R,lt,Q,K,B,ut,ht,vt,yt,b,et,Ot,zt,rt,Ht,Rt,_t,Zt,Yt,te],ae=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:[v,y,x,w,S,E,N,W,q,V,G,X,Z,Y,J,nt,it,st,at,ct,pt,dt,gt,mt,bt,wt,St,Ct,Pt,It,Ft,At,jt,Lt,Ut,Vt,qt,Wt,$t,Gt,Xt,Jt,Qt,ee,ne,re],exports:[v,y,x,w,S,E,N,W,q,G,X,Z,V,Y,nt,st,ct,pt,dt,gt,mt,bt,wt,St,Ct,Pt,It,Ft,At,jt,Ut,J,Vt,qt,Wt,$t,it,$t,Gt,Xt,Jt,Qt,ee,ne,re],providers:se}]}],t.ctorParameters=function(){return[]},t}();t.AddDynamicComponentService=Zt,t.Api=C,t.BackFormattingService=zt,t.BrowseFilesModalComponent=N,t.ButtonComponent=x,t.ColorPickerComponent=Ft,t.CommonComponentsModule=ae,t.CommonModals=P,t.ConfigService=_,t.ContextMenuComponent=re,t.DisabledCursorDirective=at,t.DndDirective=J,t.DocumentComponent=W,t.DropDownComponent=Vt,t.DropDownItemComponent=qt,t.DropDownItemsComponent=Wt,t.DropDownToggleComponent=$t,t.EditHtmlService=Mt,t.EditorDirective=Lt,t.ErrorInterceptorService=vt,t.ErrorModalComponent=gt,t.ExceptionMessageService=ut,t.FileCredentials=F,t.FileDescription=D,t.FileModel=T,t.FileService=L,t.FileUtil=M,t.Formatting=Et,t.FormattingDirective=At,t.FormattingService=Ot,t.HighlightSearchPipe=Z,t.HostDynamicDirective=Jt,t.HostingDynamicComponentService=Yt,t.HttpError=A,t.InitStateComponent=pt,t.LeftSideBarComponent=Gt,t.LoadingMaskComponent=Ut,t.LoadingMaskInterceptorService=Ht,t.LoadingMaskService=Rt,t.LogoComponent=w,t.MenuType=ie,t.ModalComponent=E,t.ModalService=I,t.NavigateService=Q,t.OnCloseService=rt,t.PageComponent=q,t.PageModel=O,t.PagePreloadService=K,t.PasswordRequiredComponent=mt,t.PasswordService=ht,t.RenderPrintDirective=dt,t.RenderPrintService=lt,t.RotatedPage=k,t.RotationDirective=ct,t.SanitizeHtmlPipe=V,t.SanitizeResourceHtmlPipe=G,t.SanitizeStylePipe=X,t.SaveFile=z,t.ScrollableDirective=nt,t.SearchComponent=bt,t.SearchService=yt,t.SearchableDirective=wt,t.SelectComponent=st,t.SelectionService=Dt,t.SidePanelComponent=y,t.SuccessModalComponent=jt,t.TabActivatorService=_t,t.TabComponent=Pt,t.TabbedToolbarsComponent=Ct,t.TextMenuComponent=ne,t.TooltipComponent=S,t.TopTabActivatorService=te,t.TopToolbarComponent=v,t.UploadFileZoneComponent=Y,t.UploadFilesService=R,t.Utils=j,t.ViewportService=et,t.WindowService=b,t.ZoomDirective=it,t.ZoomService=B,t.ɵa=St,t.ɵb=It,t.ɵc=Xt,t.ɵd=Qt,t.ɵe=ee,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 047365aa3..2a34c0f93 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/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/page-preload.service.ts","ng://@groupdocs.examples.angular/common-components/lib/navigate.service.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/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","hideSidePanel","EventEmitter","onlyTitle","openSidePanel","emit","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","EDITOR_APP","COMPARISON_APP","CONVERSION_APP","DEFAULT_API_ENDPOINT","location","href","LOAD_FILE_TREE","LOAD_CONFIG","LOAD_DOCUMENT_DESCRIPTION","LOAD_DOCUMENT_PAGE","ROTATE_DOCUMENT_PAGE","UPLOAD_DOCUMENTS","DOWNLOAD_DOCUMENTS","LOAD_PRINT","LOAD_PRINT_PDF","LOAD_THUMBNAILS","LOAD_FORMATS","SAVE_FILE","COMPARE_FILES","CONVERT_FILE","DELETE_SIGNATURE_FILE","SAVE_OPTICAL_CODE","SAVE_TEXT","SAVE_IMAGE","SAVE_STAMP","SIGN","DOWNLOAD_SIGNED","LOAD_SIGNATURE_IMAGE","ANNOTATE","httpOptionsJson","headers","HttpHeaders","Content-Type","httpOptionsJsonResponseTypeBlob","responseType","ConfigService","apiEndpoint","_apiEndpoint","url","trim","endsWith","substring","getConfigEndpoint","app","getViewerApiEndpoint","getEditorApiEndpoint","getComparisonApiEndpoint","getConversionApiEndpoint","getSignatureApiEndpoint","getAnnotationApiEndpoint","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","DocumentComponent","_elementRef","_zoomService","_windowService","wait","docWidth","docHeight","viewportWidth","viewportHeight","scale","lastScale","container","lastX","lastY","pinchCenter","pinchCenterOffset","curWidth","curHeight","zoomChange","ngOnChanges","children","item","style","transform","ngAfterViewInit","clientWidth","clientHeight","offsetWidth","offsetHeight","Hammer","ifExcel","getDimensionWithUnit","mode","ifEdge","ngAfterViewChecked","querySelectorAll","absolutePosition","offsetLeft","offsetTop","offsetParent","restrictRawPos","pos","viewportDim","docDim","updateLastPos","translate","deltaX","deltaY","newX","min","ceil","newY","startZoom","scaleBy","rawCenter","pageXOffset","pageYOffset","center","updateLastScale","zoomAround","rawZoomX","rawZoomY","doNotUpdateLast","rawCenterX","rawCenterY","onPinch","offsetX","offsetY","newScale","zoomCenter","onPinchEnd","onPan","onPanEnd","onDoubleTap","tapCount","PageComponent","test","number","editable","changes","data","imgData","isHtml","SanitizeHtmlPipe","sanitizer","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","PagePreloadService","_checkPreload","changeLastPageInView","page","NavigateService","_pagePreloadService","_currentPage","_countPages","_navigate","nextPage","navigateTo","prevPage","toLastPage","toFirstPage","currentPage","providedIn","ViewportService","checkInViewport","leftOffset","win","viewport","isNaN","zoomN","outerHeight","outerWidth","bounds","offset","right","left","bottom","top","deltas","parseFloat","toFixed","ScrollableDirective","_navigateService","_viewportService","navigate","scrollToPage","scrolling","resizing","pageNumber","getPage","prev","isSameTop","options","calculateOffset","scroll","getChildren","count","countPagesOnWidth","margin","pagesHeight","getZoom","pageEl","floor","getBoundingClientRect","currentPageSet","pageElem","currentPageRect","ZoomDirective","zoomActive","setStyles","resizePages","zoomInt","transformOrigin","maxWidth","pages","forEach","minWidth","getScrollWidth","elm","viewPortWidth","parentElement","scrollWidth","OnCloseService","_onClose","SelectComponent","_onCloseService","selected","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","htmlMode","pages_1","tslib_1.__values","pages_1_1","pages_2","pages_2_1","openWindow","imageA4Adjusted","cssPrint","windowObject","focus","writeln","print","fileURL","URL","createObjectURL","ExceptionMessageService","BehaviorSubject","_messageChange","changeMessage","message","ErrorModalComponent","messageService","messageChange","PasswordService","_passChange","setPassword","pass","PasswordRequiredComponent","_passwordService","cancelEvent","onCloseOpen","setTimeout","ErrorInterceptorService","_modalService","_messageService","intercept","req","logFormat","handle","catchError","exception","HttpErrorResponse","status","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","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","LoadingMaskComponent","_loadingMaskService","loadingMask","loading","LoadingMaskInterceptorService","finalize","horizontalAlignment","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","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","decoration","showTooltips","outFontSize","outFont","outBold","outItalic","outUnderline","outColor","fontSizeOptions","colorPickerShow","selectFontSize","off","on","fontElements","getElementsByTagName","getAttribute","removeAttribute","selectFont","toggleColorPicker","selectColor","closePicker","MenuType","FOR_SIGNATURE","FOR_ANNOTATION","ContextMenuComponent","formatting","lock","translation","changeFormatting","removeItem","copySign","lockOut","comment","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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SC,KAAA,CAAC,CACTC,SAAU,kBACVC,SAAA,4qEATMU,yCAaLF,EAAAA,wBACAA,EAAAA,2BACAA,EAAAA,oBACAA,EAAAA,2BACAA,EAAAA,wBACAA,EAAAA,gCACAC,EAAAA,2BACAA,EAAAA,yBACAA,EAAAA,wBACAA,EAAAA,wBACAA,EAAAA,UAwEHs5B,EAxFA,OCkEMiB,GAAY,CAACt0B,EACjBvC,EACAgE,EACA0K,EACAlI,EACA4C,EACAnC,EACA+P,EACAK,EACAE,EACAE,EACA9I,EACAoQ,GACA5F,EACAJ,EACA3H,EACAsP,GACAQ,GACAS,GACAY,GACAhmB,EACAwd,GACA4M,GACAiD,GACAlM,GACAyR,GACAd,GACA/I,GACAoL,GACAe,GACAqC,IAEFgD,GAAA,WAkGE,SAAAA,IACEC,EAAAA,QAAQ7yB,IAAI8yB,EAAAA,IAAKC,EAAAA,KAErB,2BArGCC,EAAAA,SAAQv7B,KAAA,CAAC,CACRw7B,QAAS,CAACC,EAAAA,aAAcC,EAAAA,kBAAmBC,EAAAA,oBAC3CC,aAAc,CACZ97B,EACAK,EACAyC,EACAmB,EACAE,EACA+E,EACA2K,EACAuC,EACA2E,EACAQ,EACAK,EACAE,EACAE,EACAE,EACAG,EACAmD,GACA0B,GACAiB,GACAM,GACAI,GACAO,GACAQ,GACA0B,GACAO,GACA6B,GACAQ,GACA0B,GACAK,GACAK,GACAwD,GACAqB,GACAgD,GACAG,GACAgB,GACAgB,GACAK,GACAJ,GACAT,GACAiB,GACAC,GACAoB,GACAI,GACA8B,GACAI,GACAyB,IAEF4B,QAAS,CACP/7B,EACAK,EACAyC,EACAmB,EACAE,EACA+E,EACA2K,EACAuC,EACA2E,EACAa,EACAE,EACAE,EACAT,EACAW,EACAsD,GACA2C,GACAU,GACAO,GACAQ,GACA0B,GACAO,GACA6B,GACAQ,GACA0B,GACAK,GACAK,GACAwD,GACAqB,GACAgD,GACAmB,GACAjX,EACAiY,GACAK,GACAJ,GACAT,GACA5S,GACA4S,GACAiB,GACAC,GACAoB,GACAI,GACA8B,GACAI,GACAyB,IAEFiB,UAAWA,6CAMbC,EArGA","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 @Output() hideSidePanel = new EventEmitter();\n\n onlyTitle = false;\n\n constructor() {\n }\n\n openSidePanel() {\n this.hideSidePanel.emit(true);\n }\n\n toggleTitleMode(){\n this.onlyTitle = !this.onlyTitle;\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 EDITOR_APP = '/editor';\n public static COMPARISON_APP = '/comparison';\n public static CONVERSION_APP = '/conversion';\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 ROTATE_DOCUMENT_PAGE = '/rotateDocumentPages';\n public static UPLOAD_DOCUMENTS = '/uploadDocument';\n public static DOWNLOAD_DOCUMENTS = '/downloadDocument';\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 COMPARE_FILES = '/compare';\n public static CONVERT_FILE = '/convert';\n public static DELETE_SIGNATURE_FILE = '/deleteSignatureFile';\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\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 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","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}\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 {\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';\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 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\n _zoomService.zoomChange.subscribe((val: number) => {\n this.zoom = val;\n });\n\n this.isDesktop = _windowService.isDesktop();\n }\n\n ngOnInit() {\n }\n\n ngOnChanges() {\n const panzoom = this._elementRef.nativeElement.children.item(0).children.item(0);\n (panzoom as any).style.transform = '';\n // TODO: this intersects with zooming by zoom directive, but still needed\n // for flush previous settings before opening another file\n //this._zoomService.changeZoom(100);\n //this.scale = 1;\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 getDimensionWithUnit(value: number) {\n return 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 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 absolutePosition(el) {\n let x = 0, y = 0;\n\n while (el !== null) {\n x += el.offsetLeft;\n y += el.offsetTop;\n el = el.offsetParent;\n }\n\n return {x: x, y: y};\n };\n\n restrictRawPos(pos, viewportDim, docDim) {\n if (pos < viewportDim / this.scale - docDim) { // too far left/up?\n pos = viewportDim / this.scale - docDim;\n } else if (pos > 0) { // too far right/down?\n pos = 0;\n }\n return pos;\n };\n\n updateLastPos() {\n this.lastX = this.x;\n this.lastY = this.y;\n };\n\n translate(deltaX, deltaY) {\n // We restrict to the min of the viewport width/height or current width/height as the\n // current width/height may be smaller than the viewport width/height\n const newX = this.restrictRawPos(this.lastX + deltaX / this.scale,\n Math.min(this.viewportWidth, this.curWidth), this.docWidth);\n this.x = newX;\n // TODO: value here and in the similar line below changes to positive to take any effect\n this.container.scrollLeft = -Math.ceil(newX * this.scale);\n\n const newY = this.restrictRawPos(this.lastY + deltaY / this.scale,\n Math.min(this.viewportHeight, this.curHeight), this.docHeight);\n this.y = newY;\n this.container.scrollTop = -Math.ceil(newY * this.scale);\n\n this.doc.style.transform = 'scale(' + this.scale + ')';\n };\n\n startZoom(scaleBy) {\n this.scale = this.lastScale * scaleBy;\n\n this.curWidth = this.docWidth * this.scale;\n this.curHeight = this.docHeight * this.scale;\n\n // Adjust margins to make sure that we aren't out of bounds\n this.translate(0, 0);\n };\n\n rawCenter($event) {\n const pos = this.absolutePosition(this.container);\n\n // We need to account for the scroll position\n const scrollLeft = window.pageXOffset ? window.pageXOffset : document.body.scrollLeft;\n const scrollTop = window.pageYOffset ? window.pageYOffset : document.body.scrollTop;\n\n const zoomX = -this.x + ($event.center.x - pos.x + scrollLeft) / this.scale;\n const zoomY = -this.y + ($event.center.y - pos.y + scrollTop) / this.scale;\n\n return {x: zoomX, y: zoomY};\n };\n\n updateLastScale() {\n this.lastScale = this.scale;\n };\n\n zoomAround(scaleBy, rawZoomX, rawZoomY, doNotUpdateLast) {\n // Zoom\n this.startZoom(scaleBy);\n\n // New raw center of viewport\n const rawCenterX = -this.x + Math.min(this.viewportWidth, this.curWidth) / 2 / this.scale;\n const rawCenterY = -this.y + Math.min(this.viewportHeight, this.curHeight) / 2 / this.scale;\n\n // Delta\n const deltaX = (rawCenterX - rawZoomX) * this.scale;\n const deltaY = (rawCenterY - rawZoomY) * this.scale;\n\n // Translate back to zoom center\n this.translate(deltaX, deltaY);\n\n if (!doNotUpdateLast) {\n this.updateLastScale();\n this.updateLastPos();\n }\n };\n\n onPinch($event) {\n if (this.pinchCenter === null) {\n this.pinchCenter = this.rawCenter($event);\n const offsetX = this.pinchCenter.x * this.scale - (-this.x * this.scale + Math.min(this.viewportWidth, this.curWidth) / 2);\n const offsetY = this.pinchCenter.y * this.scale - (-this.y * this.scale + Math.min(this.viewportHeight, this.curHeight) / 2);\n this.pinchCenterOffset = {x: offsetX, y: offsetY};\n }\n\n const newScale = this.scale * $event.scale;\n\n const zoomX = this.pinchCenter.x * newScale - this.pinchCenterOffset.x;\n const zoomY = this.pinchCenter.y * newScale - this.pinchCenterOffset.y;\n const zoomCenter = {x: zoomX / newScale, y: zoomY / newScale};\n\n this.zoomAround($event.scale, zoomCenter.x, zoomCenter.y, true);\n }\n\n onPinchEnd($event) {\n this.updateLastScale();\n this.updateLastPos();\n this.pinchCenter = null;\n }\n\n onPan($event) {\n // TODO: looks like native pan works better\n // if (!this.isDesktop) {\n // this.translate($event.deltaX, $event.deltaY);\n // }\n }\n\n onPanEnd($event) {\n // if (!this.isDesktop) {\n // this.updateLastPos();\n // }\n }\n\n onDoubleTap($event) {\n if (!this.isDesktop) {\n if ($event.tapCount === 2) {\n const c = this.rawCenter($event);\n this.zoomAround(2, c.x, c.y, false);\n }\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 // 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 !== null ? this.data.replace(/>\\s+<').replace(/\\uFEFF/g,\"\") : null;\n const dataImagePngBase64 = 'data:image/png;base64,';\n this.imgData = dataImagePngBase64;\n if (!this.isHtml) {\n this.imgData += 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 {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 {Observable, Observer} 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 readonly _navigate: Observable;\n private _observer: Observer;\n\n constructor(private _pagePreloadService: PagePreloadService) {\n this._navigate = new Observable(observer =>\n this._observer = observer);\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 {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\n private currentPage: number;\n private zoom = 100;\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 const count = Math.floor((this.getWidth() - offset) / (pageEl.getBoundingClientRect().width * this.getZoom()));\n return count === 0 ? 1 : count;\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 this._navigateService.currentPage = page;\n }\n currentPageSet = true;\n }\n this._pagePreloadService.changeLastPageInView(page);\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 {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.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 resizePages(zoom){\n const zoomInt = zoom === 100 ? 1 : zoom / 100;\n\n const viewPortWidth = this.el.nativeElement.parentElement.offsetWidth;\n const scrollWidth = this.getScrollWidth(this.el.nativeElement.parentElement);\n this.width = (viewPortWidth/zoomInt - scrollWidth/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 @Input() isOpen = false;\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 }\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 if (this.htmlMode) {\n for (const page of pages) {\n pagesHtml += '
' +\n '
' + page.data + '
' +\n '
';\n }\n } else {\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 windowObject.focus();\n windowObject.print();\n windowObject.close();\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 {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 constructor() {\n }\n\n get messageChange(): Observable {\n return this._messageChange;\n }\n\n changeMessage(message: string) {\n this._observer.next(message);\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 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._modalService.open(CommonModals.ErrorMessage);\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 }\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 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} 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\";\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\n constructor(private _onCloseService: OnCloseService) {\n _onCloseService.onClose.subscribe(() => {\n this.colorPickerShow = false;\n });\n }\n\n ngOnInit() {\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} from '@angular/core';\nimport {Formatting} from \"../formatting.service\";\nimport {WindowService} from \"../window.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 this.isMobile = _windowService.isMobile();\n _windowService.onResize.subscribe((w) => {\n this.isMobile = _windowService.isMobile();\n });\n }\n\n ngOnInit() {\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 {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 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 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/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/page-preload.service.ts","ng://@groupdocs.examples.angular/common-components/lib/navigate.service.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/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/editheaderfooter.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","hideSidePanel","EventEmitter","onlyTitle","openSidePanel","emit","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","EDITOR_APP","COMPARISON_APP","CONVERSION_APP","DEFAULT_API_ENDPOINT","location","href","LOAD_FILE_TREE","LOAD_CONFIG","LOAD_DOCUMENT_DESCRIPTION","LOAD_DOCUMENT_PAGE","ROTATE_DOCUMENT_PAGE","UPLOAD_DOCUMENTS","DOWNLOAD_DOCUMENTS","LOAD_PRINT","LOAD_PRINT_PDF","LOAD_THUMBNAILS","LOAD_FORMATS","SAVE_FILE","COMPARE_FILES","CONVERT_FILE","DELETE_SIGNATURE_FILE","SAVE_OPTICAL_CODE","SAVE_TEXT","SAVE_IMAGE","SAVE_STAMP","SIGN","DOWNLOAD_SIGNED","LOAD_SIGNATURE_IMAGE","ANNOTATE","httpOptionsJson","headers","HttpHeaders","Content-Type","httpOptionsJsonResponseTypeBlob","responseType","ConfigService","apiEndpoint","_apiEndpoint","url","trim","endsWith","substring","getConfigEndpoint","app","getViewerApiEndpoint","getEditorApiEndpoint","getComparisonApiEndpoint","getConversionApiEndpoint","getSignatureApiEndpoint","getAnnotationApiEndpoint","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","guid","password","SaveFile","content","_super","tslib_1.__extends","FileCredentials","printAllowed","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","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","DocumentComponent","_elementRef","_zoomService","_windowService","wait","docWidth","docHeight","viewportWidth","viewportHeight","scale","lastScale","container","lastX","lastY","pinchCenter","pinchCenterOffset","curWidth","curHeight","zoomChange","ngOnChanges","children","item","style","transform","ngAfterViewInit","clientWidth","clientHeight","offsetWidth","offsetHeight","Hammer","ifExcel","getDimensionWithUnit","mode","ifEdge","ngAfterViewChecked","querySelectorAll","absolutePosition","offsetLeft","offsetTop","offsetParent","restrictRawPos","pos","viewportDim","docDim","updateLastPos","translate","deltaX","deltaY","newX","min","ceil","newY","startZoom","scaleBy","rawCenter","pageXOffset","pageYOffset","center","updateLastScale","zoomAround","rawZoomX","rawZoomY","doNotUpdateLast","rawCenterX","rawCenterY","onPinch","offsetX","offsetY","newScale","zoomCenter","onPinchEnd","onPan","onPanEnd","onDoubleTap","tapCount","PageComponent","test","number","editable","changes","data","imgData","isHtml","SanitizeHtmlPipe","sanitizer","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","PagePreloadService","_checkPreload","changeLastPageInView","page","NavigateService","_pagePreloadService","_currentPage","_countPages","_navigate","nextPage","navigateTo","prevPage","toLastPage","toFirstPage","currentPage","providedIn","ViewportService","checkInViewport","leftOffset","win","viewport","isNaN","zoomN","outerHeight","outerWidth","bounds","offset","right","left","bottom","top","deltas","parseFloat","toFixed","ScrollableDirective","_navigateService","_viewportService","navigate","scrollToPage","scrolling","resizing","pageNumber","getPage","prev","isSameTop","options","calculateOffset","scroll","getChildren","count","countPagesOnWidth","margin","pagesHeight","getZoom","pageEl","floor","getBoundingClientRect","currentPageSet","pageElem","currentPageRect","ZoomDirective","zoomActive","setStyles","resizePages","zoomInt","transformOrigin","maxWidth","pages","forEach","minWidth","getScrollWidth","elm","viewPortWidth","parentElement","scrollWidth","OnCloseService","_onClose","SelectComponent","_onCloseService","selected","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","htmlMode","pages_1","tslib_1.__values","pages_1_1","pages_2","pages_2_1","openWindow","imageA4Adjusted","cssPrint","windowObject","focus","writeln","print","fileURL","URL","createObjectURL","ExceptionMessageService","BehaviorSubject","_messageChange","changeMessage","message","ErrorModalComponent","messageService","messageChange","PasswordService","_passChange","setPassword","pass","PasswordRequiredComponent","_passwordService","cancelEvent","onCloseOpen","setTimeout","ErrorInterceptorService","_modalService","_messageService","intercept","req","logFormat","handle","catchError","exception","HttpErrorResponse","status","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","removeClass","currentEl","addClass","textNodes","contents","nodeName","checkClass","classList","contains","nodeType","textContent","highlight","each","$this","replaceWith","normalize","nodeListOf","innerText","EditHeaderFooterDirective","footerRef","setAttribute","dblclickEvent","footerTitle","createElement","append","footer","closest","log","before","clickEvent","section","removeChild","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","LoadingMaskComponent","_loadingMaskService","loadingMask","loading","LoadingMaskInterceptorService","finalize","horizontalAlignment","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","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","decoration","showTooltips","outFontSize","outFont","outBold","outItalic","outUnderline","outColor","fontSizeOptions","colorPickerShow","selectFontSize","off","on","fontElements","getElementsByTagName","getAttribute","removeAttribute","selectFont","toggleColorPicker","selectColor","closePicker","MenuType","FOR_SIGNATURE","FOR_ANNOTATION","ContextMenuComponent","formatting","lock","translation","changeFormatting","removeItem","copySign","lockOut","comment","saveChanges","deleteItem","toggleLock","onCopySign","isSignature","menuType","isAnnotation","addComment","providers","FileService","FileModel","CommonComponentsModule","library","fas","far","NgModule","imports","CommonModule","FontAwesomeModule","ClickOutsideModule","declarations","exports"],"mappings":"00CAgBA,IAAIA,EAAgB,SAASC,EAAGC,GAI5B,OAHAF,EAAgBG,OAAOC,gBAClB,CAAEC,UAAW,cAAgBC,OAAS,SAAUL,EAAGC,GAAKD,EAAEI,UAAYH,IACvE,SAAUD,EAAGC,GAAK,IAAK,IAAIK,KAAKL,EAAOA,EAAEM,eAAeD,KAAIN,EAAEM,GAAKL,EAAEK,MACpDN,EAAGC,IAGrB,SAASO,EAAUR,EAAGC,GAEzB,SAASQ,IAAOC,KAAKC,YAAcX,EADnCD,EAAcC,EAAGC,GAEjBD,EAAEY,UAAkB,OAANX,EAAaC,OAAOW,OAAOZ,IAAMQ,EAAGG,UAAYX,EAAEW,UAAW,IAAIH,GAkF5E,SAASK,EAASC,GACrB,IAAIC,EAAsB,mBAAXC,QAAyBF,EAAEE,OAAOC,UAAWC,EAAI,EAChE,OAAIH,EAAUA,EAAEI,KAAKL,GACd,CACHM,KAAM,WAEF,OADIN,GAAKI,GAAKJ,EAAEO,SAAQP,OAAI,GACrB,CAAEQ,MAAOR,GAAKA,EAAEI,KAAMK,MAAOT,KClHhD,IAAAU,EAAA,WASE,SAAAA,KAEF,2BATCC,EAAAA,UAASC,KAAA,CAAC,CACTC,SAAU,iBACVC,SAAA,smBAOFJ,EAXA,GCAAK,EAAA,WAeE,SAAAA,IAJUpB,KAAAqB,cAAgB,IAAIC,EAAAA,aAE9BtB,KAAAuB,WAAY,EAYd,OAPEH,EAAAlB,UAAAsB,cAAA,WACExB,KAAKqB,cAAcI,MAAK,IAG1BL,EAAAlB,UAAAwB,gBAAA,WACE1B,KAAKuB,WAAavB,KAAKuB,+BArB1BP,EAAAA,UAASC,KAAA,CAAC,CACTC,SAAU,gBACVC,SAAA,wmDAKCQ,EAAAA,oBACAA,EAAAA,6BACAC,EAAAA,UAcHR,EAzBA,GCMAS,EAAA,WAOE,SAAAA,IAAA,IAAAC,EAAA9B,KALQA,KAAA+B,cAAiC,IAAIC,EAAAA,QAM3ChC,KAAKiC,MAAQC,OAAOC,WACpBnC,KAAKoC,OAASF,OAAOG,YAErBrC,KAAKsC,SAAWC,EAAAA,UAAUL,OAAQ,UAC/BM,KACCC,EAAAA,aAAa,KACbC,EAAAA,uBACAC,EAAAA,UAAU,CAACC,OAAQ,CAACT,WAAYD,OAAOC,WAAYE,YAAaH,OAAOG,eACvEQ,EAAAA,IAAG,SAACC,GACFhB,EAAKC,cAAcpB,KAAamC,EAAY,QAC5ChB,EAAKG,MAASa,EAAY,OAAYX,WACtCL,EAAKM,OAAUU,EAAY,OAAYT,eAG7CrC,KAAKsC,SAASS,YAkClB,OA/BEvD,OAAAwD,eAAInB,EAAA3B,UAAA,WAAQ,KAAZ,WACE,OAAOF,KAAK+B,cAAckB,gDAG5BpB,EAAA3B,UAAAgD,SAAA,WACE,OAAOlD,KAAKiC,OAjCS,KAoCvBJ,EAAA3B,UAAAiD,SAAA,WACE,OAAOnD,KAAKiC,OApCS,MAuCvBJ,EAAA3B,UAAAkD,UAAA,WACE,OAAQpD,KAAKkD,aAAelD,KAAKmD,YAGnCtB,EAAA3B,UAAAmD,SAAA,WACE,OAAOrD,KAAKiC,OAGdJ,EAAA3B,UAAAoD,UAAA,WACE,OAAOtD,KAAKoC,QAGdP,EAAA3B,UAAAqD,OAAA,WACE,OAAOrB,OAAOsB,UAAUC,UAAUC,cAAcC,QAAQ,SAAW,GAGrE9B,EAAA3B,UAAA0D,UAAA,WACE,OAAOJ,UAAUC,UAAUC,cAAcC,QAAQ,YAAc,GAEnE9B,EAxDA,GCNAgC,EAAA,WAwBE,SAAAA,EAAYC,GAAZ,IAAAhC,EAAA9B,KAfSA,KAAA+D,UAAW,EACX/D,KAAAgE,OAAS,UACThE,KAAAiE,UAAW,EAKXjE,KAAAkE,QAAS,EAETlE,KAAAmE,aAAc,EACdnE,KAAAoE,gBAAkB,EAE3BpE,KAAAqE,aAAc,EAIZrE,KAAKoD,UAAYU,EAAcV,YAC/BU,EAAcQ,SAASvB,UAAS,SAAEwB,GAChCzC,EAAKsB,UAAYU,EAAcV,cA0BrC,OAtBES,EAAA3D,UAAAsE,gBAAA,WACE,OAAOxE,KAAK+D,SAAW,cAAgB,IAGzCF,EAAA3D,UAAAuE,WAAA,WACMzE,KAAKoD,YAAcpD,KAAKiE,WAC1BjE,KAAK0E,WAAa,YAItBb,EAAA3D,UAAAyE,aAAA,WACM3E,KAAKoD,YAAcpD,KAAKiE,WAC1BjE,KAAK0E,UAAY1E,KAAK4E,SAAS5E,KAAK0E,UAAW,aAI3Cb,EAAA3D,UAAA0E,SAAR,SAAiBC,EAAaC,GAC5B,KAAOD,IAA6B,IAAtBA,EAAIlB,QAAQmB,IACxBD,EAAMA,EAAIE,QAAQD,EAAK,IAEzB,OAAOD,uBAhDV7D,EAAAA,UAASC,KAAA,CAAC,CACTC,SAAU,YACVC,SAAA,m5CAJMU,uCAQLF,EAAAA,sBACAA,EAAAA,wBACAA,EAAAA,oBACAA,EAAAA,yBACAA,EAAAA,uBACAA,EAAAA,yBACAA,EAAAA,sBACAA,EAAAA,wBACAA,EAAAA,2BACAA,EAAAA,+BACAA,EAAAA,SAkCHkC,EArDA,GCAAmB,EAAA,WAYE,SAAAA,KAKF,OAHEA,EAAA9E,UAAA+E,SAAA,iCAZDjE,EAAAA,UAASC,KAAA,CAAC,CACTC,SAAU,UACVC,SAAA,8mBAKCQ,EAAAA,oBACAA,EAAAA,SAOHqD,EAjBA,GCAAE,EAAA,WAaE,SAAAA,IAHSlF,KAAAmF,SAAW,EACpBnF,KAAAoF,WAAa,SAoBf,OAfEF,EAAAhF,UAAAmF,SAAA,WACE,OAAsB,IAAlBrF,KAAKmF,SACA,UAEF,YAAcnF,KAAKmF,SAAW,EAAI,eAAiB,kBAG5D3F,OAAAwD,eACIkC,EAAAhF,UAAA,OAAI,KADR,SACSW,GACPb,KAAKoF,WAAavE,EAAQ,QAAU,0CAGtCqE,EAAAhF,UAAA+E,SAAA,iCA1BDjE,EAAAA,UAASC,KAAA,CAAC,CACTC,SAAU,aACVC,SAAA,wuBAKCQ,EAAAA,wBACAA,EAAAA,oBAaAA,EAAAA,SAQHuD,EA/BA,GCAAI,EAAA,WAGA,SAAAA,KA2CA,OA1CgBA,EAAAC,WAAa,UACbD,EAAAE,cAAgB,aAChBF,EAAAG,eAAiB,cACjBH,EAAAI,WAAa,UACbJ,EAAAK,eAAiB,cACjBL,EAAAM,eAAiB,cACjBN,EAAAO,qBAAuB3D,OAAO4D,SAASC,KACvCT,EAAAU,eAAiB,gBACjBV,EAAAW,YAAc,cACdX,EAAAY,0BAA4B,2BAC5BZ,EAAAa,mBAAqB,oBACrBb,EAAAc,qBAAuB,uBACvBd,EAAAe,iBAAmB,kBACnBf,EAAAgB,mBAAqB,oBACrBhB,EAAAiB,WAAa,aACbjB,EAAAkB,eAAiB,YACjBlB,EAAAmB,gBAAkB,kBAClBnB,EAAAoB,aAAe,eACfpB,EAAAqB,UAAY,YACZrB,EAAAsB,cAAgB,WAChBtB,EAAAuB,aAAe,WACfvB,EAAAwB,sBAAwB,uBACxBxB,EAAAyB,kBAAoB,mBACpBzB,EAAA0B,UAAY,YACZ1B,EAAA2B,WAAa,aACb3B,EAAA4B,WAAa,aACb5B,EAAA6B,KAAO,QACP7B,EAAA8B,gBAAkB,kBAClB9B,EAAA+B,qBAAuB,sBACvB/B,EAAAgC,SAAW,YAEXhC,EAAAiC,gBAAkB,CAC9BC,QAAS,IAAIC,EAAAA,YAAY,CACvBC,eAAgB,sBAGNpC,EAAAqC,gCAAkC,CAC9CH,QAAS,IAAIC,EAAAA,YAAY,CACvBC,eAAgB,qBAElBE,aAAY,QAEhBtC,EA9CA,gBAqDE,SAAAuC,IACE7H,KAAK8H,YAAcxC,EAAIO,qBAsC3B,OAnCErG,OAAAwD,eAAI6E,EAAA3H,UAAA,cAAW,KAwBf,WACE,OAAOF,KAAK+H,kBAzBd,SAAgBC,GACdhI,KAAK+H,aAAeC,GAAOA,EAAIC,OAAOC,SAAS,KAAOF,EAAIG,UAAU,EAAGH,EAAIpH,OAAS,GAAKoH,mCAG3FH,EAAA3H,UAAAkI,kBAAA,SAAkBC,GAChB,OAAQrI,KAAK8H,YAAYI,SAASG,GAAOrI,KAAK8H,YAAc9H,KAAK8H,YAAcO,GAAO/C,EAAIW,aAG5F4B,EAAA3H,UAAAoI,qBAAA,WACE,OAAOtI,KAAK+H,aAAaG,SAAS5C,EAAIC,YAAcvF,KAAK+H,aAAe/H,KAAK+H,aAAezC,EAAIC,YAGlGsC,EAAA3H,UAAAqI,qBAAA,WACE,OAAOvI,KAAK+H,aAAaE,OAAOC,SAAS5C,EAAII,YAAc1F,KAAK+H,aAAe/H,KAAK+H,aAAezC,EAAII,YAGzGmC,EAAA3H,UAAAsI,yBAAA,WACE,OAAOxI,KAAK+H,aAAaE,OAAOC,SAAS5C,EAAIK,gBAAkB3F,KAAK+H,aAAe/H,KAAK+H,aAAezC,EAAIK,gBAG7GkC,EAAA3H,UAAAuI,yBAAA,WACE,OAAOzI,KAAK+H,aAAaE,OAAOC,SAAS5C,EAAIM,gBAAkB5F,KAAK+H,aAAe/H,KAAK+H,aAAezC,EAAIM,gBAO7GiC,EAAA3H,UAAAwI,wBAAA,WACE,OAAO1I,KAAK+H,aAAaG,SAAS5C,EAAIE,eAAiBxF,KAAK+H,aAAe/H,KAAK+H,aAAezC,EAAIE,eAGrGqC,EAAA3H,UAAAyI,yBAAA,WACE,OAAO3I,KAAK+H,aAAaG,SAAS5C,EAAIG,gBAAkBzF,KAAK+H,aAAe/H,KAAK+H,aAAezC,EAAIG,oCA1CvGmD,EAAAA,mDA4CDf,KC5FAgB,EAAA,WAAA,SAAAA,KASA,OARSA,EAAAC,iBAAmB,uBACnBD,EAAAE,aAAe,mBACfF,EAAAG,YAAc,kBACdH,EAAAI,eAAiB,qBACjBJ,EAAAK,iBAAmB,mBACnBL,EAAAM,kBAAoB,yBACpBN,EAAAO,mBAAqB,0BACrBP,EAAAQ,mBAAqB,yBAC9BR,EATA,gBAWA,SAAAS,IACUtJ,KAAAuJ,OAAgB,GAuB1B,OArBED,EAAApJ,UAAAsJ,IAAA,SAAIC,GACFzJ,KAAKuJ,OAAOG,KAAKD,IAGnBH,EAAApJ,UAAAyJ,OAAA,SAAOC,GACL5J,KAAKuJ,OAASvJ,KAAKuJ,OAAOM,OAAM,SAACC,GAAK,OAAAA,EAAEF,KAAOA,KAGjDN,EAAApJ,UAAA6J,KAAA,SAAKH,OACGH,EAAazJ,KAAKuJ,OAAOM,OAAM,SAACC,GAAK,OAAAA,EAAEF,KAAOA,IAAI,GACpDH,GACFA,EAAMM,QAIVT,EAAApJ,UAAA8J,MAAA,SAAMJ,OACEH,EAAazJ,KAAKuJ,OAAOM,OAAM,SAACC,GAAK,OAAAA,EAAEF,KAAOA,IAAI,GACpDH,GACFA,EAAMO,SAGZV,KCnCAW,EAAA,WAgBE,SAAAA,EAAoBC,EAA4BC,GAA5BnK,KAAAkK,aAAAA,EALVlK,KAAAoK,QAAU,IAAI9I,EAAAA,aACdtB,KAAAqK,OAAS,IAAI/I,EAAAA,aACvBtB,KAAAoF,YAAa,EAIXpF,KAAKsK,QAAUH,EAAGI,cA0CtB,OAvCEN,EAAA/J,UAAA+E,SAAA,WACOjF,KAAK4J,IAKVY,SAASC,KAAKC,YAAY1K,KAAKsK,SAE/BtK,KAAKkK,aAAaV,IAAIxJ,OANpB2K,QAAQC,MAAM,0BASlBX,EAAA/J,UAAA2K,YAAA,WACE7K,KAAKkK,aAAaP,OAAO3J,KAAK4J,IAC9B5J,KAAKsK,QAAQX,UAGfM,EAAA/J,UAAA6J,KAAA,WACE/J,KAAKoF,YAAa,EAClBpF,KAAKoK,QAAQ3I,MAAK,IAGpBwI,EAAA/J,UAAA8J,MAAA,WACElH,MAAMgI,iBACNhI,MAAMiI,kBACN/K,KAAKoF,YAAa,EAClBpF,KAAKoK,QAAQ3I,MAAK,IAGpBwI,EAAA/J,UAAA8K,QAAA,SAAQC,GACNA,EAAOF,kBACHE,GAAUA,EAAOrI,QAA0C,gBAAtBqI,EAAa,OAAErB,IACtD5J,KAAKgK,SAITC,EAAA/J,UAAAgL,YAAA,WACElL,KAAKqK,OAAO5I,MAAK,GACjBzB,KAAKgK,6BAtDRhJ,EAAAA,UAASC,KAAA,CAAC,CACTC,SAAU,WACVC,SAAA,g0DAJMmI,SADW6B,EAAAA,0CAShBxJ,EAAAA,qBACAA,EAAAA,uBACAC,EAAAA,uBACAA,EAAAA,UA+CHqI,EA3DA,KCAA,eASA,eASE,SAAYmB,EAAcC,GACxBrL,KAAKoL,KAAOA,EACZpL,KAAKqL,SAAWA,iBAOlB,SAAAC,EAAYF,EAAcC,EAAkBE,GAA5C,IAAAzJ,EACE0J,EAAA9K,KAAAV,KAAMoL,EAAMC,IAASrL,YACrB8B,EAAKyJ,QAAUA,IAEnB,OAP8BE,EAAAA,EAAAA,GAO9BH,GAP8BI,KAS9B,WAGE1L,KAAA2L,cAAe,KAIjB,0BAQA,SAAAC,KAQA,OAPSA,EAAAC,WAAa,IACbD,EAAAE,aAAe,IACfF,EAAAG,UAAY,IACZH,EAAAI,SAAW,IACXJ,EAAAK,QAAU,IACVL,EAAAM,SAAW,IACXN,EAAAO,oBAAsB,IAC/BP,kBAEA,SAAAQ,KA2DA,OA1DgBA,EAAAC,iBAAd,SAA+BvJ,OACvBwJ,EAAQ,CACZxC,EAAG,EACHyC,EAAG,GAECC,EAA+BtK,OAAY,MAC3CuK,EAAK3J,GAAS0J,EACpB,GAAIC,EAAGC,OAASF,EAAOE,OAASF,EAAOG,SAAYF,EAAGG,SAAWH,EAAGG,QAAQ,IAAMH,EAAGG,QAAQ,GAAGF,MAAQ,KAChGA,OAA4B,IAAbD,EAAGC,OAAsC,IAAbD,EAAGC,MAAcD,EAAGC,MAAQF,EAAOE,MAC9EG,OAA4B,IAAbJ,EAAGI,OAAsC,IAAbJ,EAAGI,MAAcJ,EAAGI,MAAQL,EAAOK,MAC9EC,OAAoC,IAAnBN,EAAOG,SAA8C,IAAnBH,EAAOO,QAC1DC,OAAoC,IAAnBR,EAAOO,SAA8C,IAAnBP,EAAOO,QAChET,EAAMxC,EAAI4C,IAAiBI,EAAUN,EAAOG,QAAUF,EAAGG,QAAQ,GAAGF,OACpEJ,EAAMC,EAAIM,IAAiBG,EAAUR,EAAOO,QAAUN,EAAGG,QAAQ,GAAGC,YAC3DJ,EAAGQ,UACZX,EAAMxC,EAAI2C,EAAGQ,QAAUzC,SAASC,KAAKyC,WACrCZ,EAAMC,EAAIE,EAAGU,QAAU3C,SAASC,KAAK2C,WAEvC,OAAOd,GAGKF,EAAAiB,MAAd,SAAoBC,OACZC,EAAS,4CAA4CC,KAAKF,GAChE,GAAIC,EAAQ,KACJE,EAAIC,SAASH,EAAO,GAAI,IACxBI,EAAID,SAASH,EAAO,GAAI,IACxBhO,EAAImO,SAASH,EAAO,GAAI,IAC9B,OAAOA,EAAS,OAASE,EAAI,IAAME,EAAI,IAAMpO,EAAI,IAAM,GAEzD,OAAO+N,GAGKlB,EAAAwB,MAAd,SAAoBN,GAElB,GAAIA,EAAMO,MAAM,6BACd,MAA4B,MAApBP,EAAMQ,OAAO,GAAcR,EAAS,IAAMA,EAE7C,IAAIA,EAAMO,MAAM,4DAkBrB,MAAO,OAjBDE,EAAC,CAAKL,SAASM,OAAOC,GAAI,IAAKP,SAASM,OAAOE,GAAI,IAAKR,SAASM,OAAOG,GAAI,KAChFC,EAAG,SAAavJ,GACd,GAAIA,EAAIjE,OAAS,EACf,IAAK,IAAIH,EAAI,EAAG4N,EAAM,EAAIxJ,EAAIjE,OAAQH,EAAI4N,EAAK5N,IAC7CoE,EAAM,IAAMA,EAGhB,OAAOA,GAEX,OAAiB,IAAbkJ,EAAEnN,OAIG,IAHGwN,EAAIL,EAAE,GAAGO,SAAS,KACtBF,EAAIL,EAAE,GAAGO,SAAS,KAClBF,EAAIL,EAAE,GAAGO,SAAS,UAH1B,GAWNlC,kBAEA,SAAAmC,KA2FA,OAbgBA,EAAAC,KAAd,SAAmBC,EAAkBC,GACnC,GAAID,IAAaC,EAAa,KACtBC,EAAUF,EAASG,MAAM,KACzBC,EAAOF,EAAQG,MAAMpL,cAC3B,YAAkC,IAAvB6K,EAASQ,IAAIF,GACfF,EAAQ/N,OAAS,EAAI2N,EAASQ,IAAa,QAAIR,EAASQ,IAAY,OAEpER,EAASQ,IAAIF,GAGtB,OAAON,EAASQ,IAAY,QAvFlBR,EAAAQ,IAAM,CAClBC,OAAU,CAACC,OAAU,GAAIC,KAAQ,UACjCC,IAAO,CAACF,OAAU,2BAA4BC,KAAQ,WAAYE,KAAQ,MAC1EC,IAAO,CAACJ,OAAU,iBAAkBC,KAAQ,YAAaE,KAAQ,MACjEE,KAAQ,CAACL,OAAU,iBAAkBC,KAAQ,YAAaE,KAAQ,MAClEG,KAAQ,CAACN,OAAU,iBAAkBC,KAAQ,YAAaE,KAAQ,MAClEI,IAAO,CAACP,OAAU,iBAAkBC,KAAQ,YAAaE,KAAQ,MACjEK,KAAQ,CAACR,OAAU,iBAAkBC,KAAQ,YAAaE,KAAQ,MAClEM,KAAQ,CAACT,OAAU,iBAAkBC,KAAQ,YAAaE,KAAQ,MAClEO,IAAO,CAACV,OAAU,kBAAmBC,KAAQ,aAAcE,KAAQ,MACnEQ,KAAQ,CAACX,OAAU,kBAAmBC,KAAQ,aAAcE,KAAQ,MACpES,KAAQ,CAACZ,OAAU,kBAAmBC,KAAQ,aAAcE,KAAQ,MACpEU,KAAQ,CAACb,OAAU,kBAAmBC,KAAQ,aAAcE,KAAQ,MACpEW,QAAW,CAACd,OAAU,kBAAmBC,KAAQ,aAAcE,KAAQ,MACvEY,KAAQ,CAACf,OAAU,kBAAmBC,KAAQ,aAAcE,KAAQ,MACpEa,KAAQ,CAAChB,OAAU,kBAAmBC,KAAQ,aAAcE,KAAQ,MACpEc,IAAO,CAACjB,OAAU,uBAAwBC,KAAQ,kBAAmBE,KAAQ,MAC7Ee,KAAQ,CAAClB,OAAU,uBAAwBC,KAAQ,kBAAmBE,KAAQ,MAC9EgB,IAAO,CAACnB,OAAU,uBAAwBC,KAAQ,kBAAmBE,KAAQ,MAC7EiB,KAAQ,CAACpB,OAAU,uBAAwBC,KAAQ,kBAAmBE,KAAQ,MAC9EkB,IAAO,CAACrB,OAAU,kBAAmBC,KAAQ,YAAaE,KAAQ,MAClEmB,IAAO,CAACtB,OAAU,kBAAmBC,KAAQ,YAAaE,KAAQ,MAClEoB,IAAO,CAACvB,OAAU,kBAAmBC,KAAQ,YAAaE,KAAQ,MAClEqB,IAAO,CAACxB,OAAU,kBAAmBC,KAAQ,YAAaE,KAAQ,MAClEsB,IAAO,CAACzB,OAAU,kBAAmBC,KAAQ,YAAaE,KAAQ,MAClEuB,IAAO,CAAC1B,OAAU,kBAAmBC,KAAQ,YAAaE,KAAQ,MAClEwB,KAAQ,CAAC3B,OAAU,kBAAmBC,KAAQ,YAAaE,KAAQ,MACnEyB,IAAO,CAAC5B,OAAU,kBAAmBC,KAAQ,YAAaE,KAAQ,MAClE0B,KAAQ,CAAC7B,OAAU,kBAAmBC,KAAQ,YAAaE,KAAQ,MACnE2B,KAAQ,CAAC9B,OAAU,kBAAmBC,KAAQ,YAAaE,KAAQ,MACnE4B,IAAO,CAAC/B,OAAU,oBAAqBC,KAAQ,WAAYE,KAAQ,MACnE6B,IAAO,CAAChC,OAAU,oBAAqBC,KAAQ,WAAYE,KAAQ,MACnE8B,IAAO,CAACjC,OAAU,oBAAqBC,KAAQ,WAAYE,KAAQ,MACnE+B,IAAO,CAAClC,OAAU,oBAAqBC,KAAQ,WAAYE,KAAQ,MACnEgC,KAAQ,CAACnC,OAAU,oBAAqBC,KAAQ,WAAYE,KAAQ,MACpEiC,IAAO,CAACpC,OAAU,oBAAqBC,KAAQ,YAAaE,KAAQ,MACpEkC,IAAO,CAACrC,OAAU,qBAAsBC,KAAQ,YAAaE,KAAQ,MACrEmC,IAAO,CAACtC,OAAU,8BAA+BC,KAAQ,YAAaE,KAAQ,MAC9EoC,IAAO,CAACvC,OAAU,4BAA6BC,KAAQ,aAAcE,KAAQ,MAC7EqC,IAAO,CAACxC,OAAU,6BAA8BC,KAAQ,kBAAmBE,KAAQ,MACnFsC,IAAO,CAACzC,OAAU,6BAA8BC,KAAQ,kBAAmBE,KAAQ,MACnFuC,IAAO,CAAC1C,OAAU,6BAA8BC,KAAQ,kBAAmBE,KAAQ,MACnFwC,KAAQ,CAAC3C,OAAU,6BAA8BC,KAAQ,kBAAmBE,KAAQ,MACpFyC,KAAQ,CAAC5C,OAAU,6BAA8BC,KAAQ,kBAAmBE,KAAQ,MACpF0C,KAAQ,CAAC7C,OAAU,6BAA8BC,KAAQ,kBAAmBE,KAAQ,MACpF2C,KAAQ,CAAC9C,OAAU,6BAA8BC,KAAQ,kBAAmBE,KAAQ,MACpF4C,IAAO,CAAC/C,OAAU,mBAAoBC,KAAQ,WAAYE,KAAQ,MAClE6C,IAAO,CAAChD,OAAU,kBAAmBC,KAAQ,WAAYE,KAAQ,MACjE8C,IAAO,CAACjD,OAAU,yBAA0BC,KAAQ,aAAcE,KAAQ,MAC1E+C,KAAQ,CAAClD,OAAU,4BAA6BC,KAAQ,YAAaE,KAAQ,MAC7EgD,IAAO,CAACnD,OAAU,4BAA6BC,KAAQ,YAAaE,KAAQ,MAC5EiD,MAAS,CAACpD,OAAU,4BAA6BC,KAAQ,YAAaE,KAAQ,MAC9EkD,IAAO,CAACrD,OAAU,6BAA8BC,KAAQ,YAAaE,KAAQ,MAC7EmD,IAAO,CAACtD,OAAU,0BAA2BC,KAAQ,YAAaE,KAAQ,MAC1EoD,IAAO,CAACvD,OAAU,8BAA+BC,KAAQ,aAAcE,KAAQ,MAC/EqD,IAAO,CAACxD,OAAU,8BAA+BC,KAAQ,aAAcE,KAAQ,MAC/EsD,IAAO,CAACzD,OAAU,iBAAkBC,KAAQ,aAAcE,KAAQ,MAClEuD,IAAO,CAAC1D,OAAU,8BAA+BC,KAAQ,aAAcE,KAAQ,MAC/EwD,IAAO,CAAC3D,OAAU,mCAAoCC,KAAQ,aAAcE,KAAQ,MACpFyD,IAAO,CAAC5D,OAAU,mCAAoCC,KAAQ,aAAcE,KAAQ,MACpF0D,KAAQ,CAAC7D,OAAU,mCAAoCC,KAAQ,aAAcE,KAAQ,MACrF2D,KAAQ,CAAC9D,OAAU,mCAAoCC,KAAQ,aAAcE,KAAQ,MACrF4D,IAAO,CAAC/D,OAAU,4BAA6BC,KAAQ,aAAcE,KAAQ,MAC7E6D,KAAQ,CAAChE,OAAU,2BAA4BC,KAAQ,aAAcE,KAAQ,MAC7E8D,IAAO,CAACjE,OAAU,2BAA4BC,KAAQ,aAAcE,KAAQ,MAC5E+D,IAAO,CAAClE,OAAU,2BAA4BC,KAAQ,aAAcE,KAAQ,MAC5EgE,IAAO,CAACnE,OAAU,2BAA4BC,KAAQ,aAAcE,KAAQ,MAC5EiE,IAAO,CAACpE,OAAU,2BAA4BC,KAAQ,aAAcE,KAAQ,MAC5EkE,KAAQ,CAACrE,OAAU,yBAA0BC,KAAQ,WAAYE,KAAQ,MACzEmE,IAAO,CAACtE,OAAU,eAAgBC,KAAQ,aAAcE,KAAQ,MAChEoE,KAAQ,CAACvE,OAAU,mBAAoBC,KAAQ,aAAcE,KAAQ,MACrEqE,KAAQ,CAACxE,OAAU,mBAAoBC,KAAQ,WAAYE,KAAQ,MACnEsE,IAAO,CAACzE,OAAU,wBAAyBC,KAAQ,WAAYE,KAAQ,MACvEuE,KAAQ,CAAC1E,OAAU,2BAA4BC,KAAQ,WAAYE,KAAQ,MAC3EwE,QAAW,CAAC3E,OAAU,+BAAgCC,KAAQ,SAgBlEX,OAIE,aCtNFsF,EAAA,WAME,SAAAA,IAAA,IAAA/R,EAAA9B,KACEA,KAAK8T,eAAiB,IAAIC,EAAAA,WAAU,SAACC,GACnC,OAAAlS,EAAKmS,UAAYD,IAUvB,OAPExU,OAAAwD,eAAI6Q,EAAA3T,UAAA,gBAAa,KAAjB,WACE,OAAOF,KAAK8T,gDAGdD,EAAA3T,UAAAgU,gBAAA,SAAgBC,GACdnU,KAAKiU,UAAUtT,KAAKwT,IAExBN,EAlBA,GCIMO,EAAIC,EAMJC,EAAkB,CAAC,CAACC,KAJN,OAIyBrF,KAAM,OAAQ,CAACqF,KAFzC,MAE2DrF,KAAM,SAEpFsF,EAAA,WAkBE,SAAAA,EAAoBC,GAAAzU,KAAAyU,eAAAA,EAZpBzU,KAAA0U,QAAUJ,EAIAtU,KAAA2U,iBAAmB,IAAIrT,EAAAA,aACvBtB,KAAA4U,kBAAoB,IAAItT,EAAAA,aACxBtB,KAAA6U,aAAe,IAAIvT,EAAAA,aACnBtB,KAAA8U,QAAU,IAAIxT,EAAAA,aAExBtB,KAAA+U,eAAgB,EAChB/U,KAAAgV,gBAAiB,EA0FnB,OArFER,EAAAtU,UAAA+E,SAAA,aAGAuP,EAAAtU,UAAA+U,QAAA,SAAQC,OACAC,EAAKD,EAAO,KAAO,KACzB,GAAIC,EAAK,EACP,OAAQC,KAAKC,MAAW,IAALF,GAAY,IAAO,UAEhCG,EAAKJ,EAAO,KAClB,OAAII,EAAK,EACCF,KAAKC,MAAW,IAALC,GAAY,IAAO,MAGnCJ,EAAO,UAGhBV,EAAAtU,UAAAqV,cAAA,SAAcC,GACZ,OAAOjH,EAASC,KAAKgH,EAAKjB,KAAMiB,EAAKC,WAAWxG,QAGlDuF,EAAAtU,UAAAwV,cAAA,SAAcF,GACZ,OAAOjH,EAASC,KAAKgH,EAAKjB,KAAMiB,EAAKC,WAAWvG,MAGlDsF,EAAAtU,UAAAyV,OAAA,SAAOH,GACLxV,KAAK4V,aAAeJ,EAChBA,EAAKC,WAAaD,EAAK9G,YACzB1O,KAAK4U,kBAAkBnT,KAAK+T,EAAKjB,MAEjCvU,KAAK2U,iBAAiBlT,KAAK+T,EAAKpK,OAIpCoJ,EAAAtU,UAAA2V,KAAA,WACE,GAAI7V,KAAK4V,aAAc,KACjBxK,EAAOpL,KAAK4V,aAAaxK,KAE3BA,EADEA,EAAKxK,OAAS,IAA4B,IAAvBwK,EAAKzH,QAAQ,KAC3B,GAEAyH,EAAKrG,QAAQ,eAAgB,IAEtC/E,KAAK4U,kBAAkBnT,KAAK2J,KAIhCoJ,EAAAtU,UAAA4V,aAAA,SAAa7K,GAtEI,QAuEIA,EACjBjL,KAAK+U,eAAgB,GAErB/U,KAAK+U,eAAgB,EACrBX,EAAE,oBAAoB2B,QAAQ,WAIlCvB,EAAAtU,UAAA8V,QAAA,SAAQ/K,GAEFA,GACFjL,KAAKiW,MAAQ,KACbjW,KAAK4U,kBAAkBnT,KAAK,IAC5BzB,KAAK+U,eAAgB,EACrB/U,KAAK4V,aAAe,MAEpB5V,KAAK8U,QAAQrT,MAAK,IAItB+S,EAAAtU,UAAAgW,YAAA,WACE,OAAQlW,KAAKiW,OAGfzB,EAAAtU,UAAAiW,UAAA,SAAUnO,GACJA,IACFhI,KAAK6U,aAAapT,KAAKuG,GACvBhI,KAAKoW,gBAIT5B,EAAAtU,UAAAmW,gBAAA,SAAgBJ,GACdjW,KAAKyU,eAAeP,gBAAgB+B,IAGtCzB,EAAAtU,UAAAkW,YAAA,WACEpW,KAAKgV,gBAAiB,EACtBhV,KAAK+U,eAAgB,uBAxGxB/T,EAAAA,UAASC,KAAA,CAAC,CACTC,SAAU,wBACVC,SAAA,2yNAZM0S,oCAkBLlS,EAAAA,4BACAA,EAAAA,gCACAC,EAAAA,kCACAA,EAAAA,6BACAA,EAAAA,wBACAA,EAAAA,UA6FH4S,EA1GA,GCZA8B,EAAA,WAOE,SAAAA,IAJQtW,KAAAiU,UAA6B,IAAIjS,EAAAA,QACxBhC,KAAAuW,YAAkCvW,KAAKiU,UAAUhR,eAkCpE,OA5BEzD,OAAAwD,eAAIsT,EAAApW,UAAA,OAAI,KAAR,WACE,OAAOF,KAAKwW,uCAGdhX,OAAAwD,eAAIsT,EAAApW,UAAA,aAAU,KAAd,WACE,OAAOF,KAAKuW,6CAGdD,EAAApW,UAAAuW,WAAA,SAAWC,GACT1W,KAAKwW,MAAQE,EACb1W,KAAKiU,UAAUtT,KAAK+V,IAGdJ,EAAApW,UAAAyW,iBAAR,SAAyB7R,EAAUyP,EAAcqC,GAC/C,YAD+C,IAAAA,IAAAA,GAAA,GACxC,CAAC/V,MAAOiE,EAAKyP,KAAMA,EAAMsC,UAAWD,IAG7CN,EAAApW,UAAA4W,YAAA,SAAY7U,EAAOG,GACjB,MAAO,CAACpC,KAAK2W,iBAAiB,GAAI,OAChC3W,KAAK2W,iBAAiB,GAAI,OAC1B3W,KAAK2W,iBAAiB,IAAI,QAC1B3W,KAAK2W,iBAAiB,IAAK,QAC3B3W,KAAK2W,iBAAiB,IAAK,QAC3B3W,KAAK2W,iBAAiB,IAAK,QAC3B3W,KAAK2W,iBAAiB,EAAG,IAAI,GAC7B3W,KAAK2W,iBAAiB1U,EAAO,aAC7BjC,KAAK2W,iBAAiBvU,EAAQ,gBAEpCkU,EAtCA,GCeMlC,EAAIC,EAEV0C,EAAA,WA+BE,SAAAA,EAAsBC,EACFC,EACAC,GAFpB,IAAApV,EAAA9B,KAAsBA,KAAAgX,YAAAA,EACFhX,KAAAiX,aAAAA,EACAjX,KAAAkX,eAAAA,EAvBpBlX,KAAAmX,MAAO,EAGPnX,KAAAoX,SAAW,KACXpX,KAAAqX,UAAY,KACZrX,KAAAsX,cAAgB,KAChBtX,KAAAuX,eAAiB,KACjBvX,KAAAwX,MAAQ,KACRxX,KAAAyX,UAAY,KACZzX,KAAA0X,UAAY,KACZ1X,KAAAqP,IAAM,KACNrP,KAAA8J,EAAI,EACJ9J,KAAA2X,MAAQ,EACR3X,KAAAuM,EAAI,EACJvM,KAAA4X,MAAQ,EACR5X,KAAA6X,YAAc,KACd7X,KAAA8X,kBAAoB,KACpB9X,KAAA+X,SAAW,EACX/X,KAAAgY,UAAY,EAOVf,EAAagB,WAAWlV,UAAS,SAAE+B,GACjChD,EAAK4U,KAAO5R,IAGd9E,KAAKoD,UAAY8T,EAAe9T,YAgMpC,OA7LE2T,EAAA7W,UAAA+E,SAAA,aAGA8R,EAAA7W,UAAAgY,YAAA,WACkBlY,KAAKgX,YAAYzM,cAAc4N,SAASC,KAAK,GAAGD,SAASC,KAAK,GAC7DC,MAAMC,UAAY,IAOrCvB,EAAA7W,UAAAqY,gBAAA,WAEEvY,KAAKqP,IAAMrP,KAAKgX,YAAYzM,cAAc4N,SAASC,KAAK,GAAGD,SAASC,KAAK,GAEzEpY,KAAK0X,UAAY1X,KAAKgX,YAAYzM,cAElCvK,KAAKoX,SAAWpX,KAAKqP,IAAImJ,YACzBxY,KAAKqX,UAAYrX,KAAKqP,IAAIoJ,aAC1BzY,KAAKsX,cAAgBtX,KAAKqP,IAAIqJ,YAG9B1Y,KAAKwX,MAASxX,KAAKsX,cAAgBtX,KAAKoX,SAAYpX,KAAKiX,aAAaP,KAAO,IAE7E1W,KAAKyX,UAAYzX,KAAKwX,MACtBxX,KAAKuX,eAAiBvX,KAAK0X,UAAUiB,aACrC3Y,KAAK+X,SAAW/X,KAAKoX,SAAWpX,KAAKwX,MACrCxX,KAAKgY,UAAYhY,KAAKqX,UAAYrX,KAAKwX,MAExB,IAAIoB,EAAO5Y,KAAK0X,YAIjCX,EAAA7W,UAAA2Y,QAAA,WACE,MAAuD,oBAAhDtK,EAASC,KAAKxO,KAAKwV,KAAKpK,MAAM,GAAO6D,QAG9C8H,EAAA7W,UAAA4Y,qBAAA,SAAqBjY,GACnB,OAAOA,GAASb,KAAK+Y,KAAOxK,EAASC,KAAKxO,KAAKwV,KAAKpK,MAAM,GAAOgE,KAAO,OAG1E2H,EAAA7W,UAAA8Y,OAAA,WACE,OAAOxV,UAAUC,UAAUC,cAAcC,QAAQ,SAAW,GAG9DoT,EAAA7W,UAAA+Y,mBAAA,eAEQ3O,EADoBtK,KAAKgX,YAAYzM,cAAc2O,iBAAiB,eACxCd,KAAK,GACnC9N,GACF8J,EAAE9J,GAASyL,QAAQ,UAIvBgB,EAAA7W,UAAAiZ,iBAAA,SAAiBhP,GAGf,QAFIL,EAAI,EAAGyC,EAAI,EAED,OAAPpC,GACLL,GAAKK,EAAGiP,WACR7M,GAAKpC,EAAGkP,UACRlP,EAAKA,EAAGmP,aAGV,MAAO,CAACxP,EAAGA,EAAGyC,EAAGA,IAGnBwK,EAAA7W,UAAAqZ,eAAA,SAAeC,EAAKC,EAAaC,GAM/B,OALIF,EAAMC,EAAczZ,KAAKwX,MAAQkC,EACnCF,EAAMC,EAAczZ,KAAKwX,MAAQkC,EACxBF,EAAM,IACfA,EAAM,GAEDA,GAGTzC,EAAA7W,UAAAyZ,cAAA,WACE3Z,KAAK2X,MAAQ3X,KAAK8J,EAClB9J,KAAK4X,MAAQ5X,KAAKuM,GAGpBwK,EAAA7W,UAAA0Z,UAAA,SAAUC,EAAQC,OAGVC,EAAO/Z,KAAKuZ,eAAevZ,KAAK2X,MAAQkC,EAAS7Z,KAAKwX,MAC1DpC,KAAK4E,IAAIha,KAAKsX,cAAetX,KAAK+X,UAAW/X,KAAKoX,UACpDpX,KAAK8J,EAAIiQ,EAET/Z,KAAK0X,UAAUxK,YAAckI,KAAK6E,KAAKF,EAAO/Z,KAAKwX,WAE7C0C,EAAOla,KAAKuZ,eAAevZ,KAAK4X,MAAQkC,EAAS9Z,KAAKwX,MAC1DpC,KAAK4E,IAAIha,KAAKuX,eAAgBvX,KAAKgY,WAAYhY,KAAKqX,WACtDrX,KAAKuM,EAAI2N,EACTla,KAAK0X,UAAUtK,WAAagI,KAAK6E,KAAKC,EAAOla,KAAKwX,OAElDxX,KAAKqP,IAAIgJ,MAAMC,UAAY,SAAWtY,KAAKwX,MAAQ,KAGrDT,EAAA7W,UAAAia,UAAA,SAAUC,GACRpa,KAAKwX,MAAQxX,KAAKyX,UAAY2C,EAE9Bpa,KAAK+X,SAAW/X,KAAKoX,SAAWpX,KAAKwX,MACrCxX,KAAKgY,UAAYhY,KAAKqX,UAAYrX,KAAKwX,MAGvCxX,KAAK4Z,UAAU,EAAG,IAGpB7C,EAAA7W,UAAAma,UAAA,SAAUpP,OACFuO,EAAMxZ,KAAKmZ,iBAAiBnZ,KAAK0X,WAGjCxK,EAAahL,OAAOoY,YAAcpY,OAAOoY,YAAc9P,SAASC,KAAKyC,WACrEE,EAAYlL,OAAOqY,YAAcrY,OAAOqY,YAAc/P,SAASC,KAAK2C,UAK1E,MAAO,CAACtD,GAHO9J,KAAK8J,GAAKmB,EAAOuP,OAAO1Q,EAAI0P,EAAI1P,EAAIoD,GAAclN,KAAKwX,MAGpDjL,GAFHvM,KAAKuM,GAAKtB,EAAOuP,OAAOjO,EAAIiN,EAAIjN,EAAIa,GAAapN,KAAKwX,QAKvET,EAAA7W,UAAAua,gBAAA,WACEza,KAAKyX,UAAYzX,KAAKwX,OAGxBT,EAAA7W,UAAAwa,WAAA,SAAWN,EAASO,EAAUC,EAAUC,GAEtC7a,KAAKma,UAAUC,OAGTU,GAAc9a,KAAK8J,EAAIsL,KAAK4E,IAAIha,KAAKsX,cAAetX,KAAK+X,UAAY,EAAI/X,KAAKwX,MAC9EuD,GAAc/a,KAAKuM,EAAI6I,KAAK4E,IAAIha,KAAKuX,eAAgBvX,KAAKgY,WAAa,EAAIhY,KAAKwX,MAGhFqC,GAAUiB,EAAaH,GAAY3a,KAAKwX,MACxCsC,GAAUiB,EAAaH,GAAY5a,KAAKwX,MAG9CxX,KAAK4Z,UAAUC,EAAQC,GAElBe,IACH7a,KAAKya,kBACLza,KAAK2Z,kBAIT5C,EAAA7W,UAAA8a,QAAA,SAAQ/P,GACN,GAAyB,OAArBjL,KAAK6X,YAAsB,CAC7B7X,KAAK6X,YAAc7X,KAAKqa,UAAUpP,OAC5BgQ,EAAUjb,KAAK6X,YAAY/N,EAAI9J,KAAKwX,QAAUxX,KAAK8J,EAAI9J,KAAKwX,MAAQpC,KAAK4E,IAAIha,KAAKsX,cAAetX,KAAK+X,UAAY,GAClHmD,EAAUlb,KAAK6X,YAAYtL,EAAIvM,KAAKwX,QAAUxX,KAAKuM,EAAIvM,KAAKwX,MAAQpC,KAAK4E,IAAIha,KAAKuX,eAAgBvX,KAAKgY,WAAa,GAC1HhY,KAAK8X,kBAAoB,CAAChO,EAAGmR,EAAS1O,EAAG2O,OAGrCC,EAAWnb,KAAKwX,MAAQvM,EAAOuM,MAI/B4D,EAAa,CAACtR,GAFN9J,KAAK6X,YAAY/N,EAAIqR,EAAWnb,KAAK8X,kBAAkBhO,GAEtCqR,EAAU5O,GAD3BvM,KAAK6X,YAAYtL,EAAI4O,EAAWnb,KAAK8X,kBAAkBvL,GACjB4O,GAEpDnb,KAAK0a,WAAWzP,EAAOuM,MAAO4D,EAAWtR,EAAGsR,EAAW7O,GAAG,IAG5DwK,EAAA7W,UAAAmb,WAAA,SAAWpQ,GACTjL,KAAKya,kBACLza,KAAK2Z,gBACL3Z,KAAK6X,YAAc,MAGrBd,EAAA7W,UAAAob,MAAA,SAAMrQ,KAON8L,EAAA7W,UAAAqb,SAAA,SAAStQ,KAMT8L,EAAA7W,UAAAsb,YAAA,SAAYvQ,GACV,IAAKjL,KAAKoD,WACgB,IAApB6H,EAAOwQ,SAAgB,KACnB1N,EAAI/N,KAAKqa,UAAUpP,GACzBjL,KAAK0a,WAAW,EAAG3M,EAAEjE,EAAGiE,EAAExB,GAAG,yBAnOpCvL,EAAAA,UAASC,KAAA,CAAC,CACTC,SAAU,cACVC,SAAA,69CAhBAgK,EAAAA,kBAOMmL,SAEAzU,mCAYLF,EAAAA,gCACAA,EAAAA,oBACAA,EAAAA,SA8NHoV,EAvOA,GCjBA2E,EAAA,WAkBE,SAAAA,KAoBF,OAjBEA,EAAAxb,UAAA+E,SAAA,yBACsC,2BAA2B0W,KAAKnY,UAAUC,YACnD,IAAhBzD,KAAK4b,SACd5b,KAAK6b,UAAW,IAIpBH,EAAAxb,UAAAgY,YAAA,SAAY4D,GAGV9b,KAAK+b,KAAqB,OAAd/b,KAAK+b,KAAgB/b,KAAK+b,KAAKhX,QAAQ,SAAS,MAAMA,QAAQ,UAAU,IAAM,KAE1F/E,KAAKgc,QADsB,yBAEtBhc,KAAKic,SACRjc,KAAKgc,SAAWhc,KAAK+b,2BAjC1B/a,EAAAA,UAASC,KAAA,CAAC,CACTC,SAAU,UACVC,SAAA,63BAKCQ,EAAAA,qBACAA,EAAAA,sBACAA,EAAAA,sBACAA,EAAAA,oBACAA,EAAAA,sBACAA,EAAAA,wBACAA,EAAAA,SAuBH+Z,EAtCA,GCAAQ,EAAA,WAKE,SAAAA,EAAoBC,GAAAnc,KAAAmc,UAAAA,EAMtB,OAHED,EAAAhc,UAAAoY,UAAA,SAAUnG,GACR,OAAOnS,KAAKmc,UAAUC,wBAAwBjK,wBANjDkK,EAAAA,KAAIpb,KAAA,CAAC,CAACsT,KAAM,wDAFL+H,EAAAA,gBAURJ,EAXA,gBAeE,SAAAK,EAAoBJ,GAAAnc,KAAAmc,UAAAA,EAMtB,OAHEI,EAAArc,UAAAoY,UAAA,SAAUnG,GACR,OAAOnS,KAAKmc,UAAUK,+BAA+BrK,wBANxDkK,EAAAA,KAAIpb,KAAA,CAAC,CAACsT,KAAM,gEAZL+H,EAAAA,gBAoBRC,kBAIE,SAAAE,EAAoBN,GAAAnc,KAAAmc,UAAAA,EAMtB,OAHEM,EAAAvc,UAAAoY,UAAA,SAAUnG,GACR,OAAOnS,KAAKmc,UAAUO,yBAAyBvK,wBANlDkK,EAAAA,KAAIpb,KAAA,CAAC,CAACsT,KAAM,yDAtBL+H,EAAAA,gBA8BRG,kBAEA,SAAAE,KAUA,OAPEA,EAAAzc,UAAAoY,UAAA,SAAUzX,EAAeI,GACvB,IAAKA,EACH,OAAOJ,MAEH+b,EAAK,IAAI5O,OAAO/M,EAAM,MAC5B,OAAOJ,EAAMkE,QAAQ6X,EAAI,6DAR5BP,EAAAA,KAAIpb,KAAA,CAAC,CAACsT,KAAM,gBAUboI,KC3CAE,EAAA,WAYE,SAAAA,EAAoBpI,GAAAzU,KAAAyU,eAAAA,EAFVzU,KAAA8c,YAAc,IAAIxb,EAAAA,aAqB9B,OAjBEub,EAAA3c,UAAA+E,SAAA,aAGA4X,EAAA3c,UAAAmW,gBAAA,SAAgBJ,GACdjW,KAAKyU,eAAeP,gBAAgB+B,GACpCjW,KAAK+c,iBAGPF,EAAA3c,UAAA6c,cAAA,WACE/c,KAAK8c,YAAYrb,MAAK,IAGxBob,EAAA3c,UAAA8J,MAAA,SAAMiB,GACqB,gBAArBA,EAAOrI,OAAOgH,IAChB5J,KAAK+c,qCAzBV/b,EAAAA,UAASC,KAAA,CAAC,CACTC,SAAU,sBACVC,SAAA,u3CAJM0S,0CASLjS,EAAAA,UAqBHib,EA/BA,GCAAG,EAAA,WAgBE,SAAAA,EAAsBC,GAAAjd,KAAAid,oBAAAA,EARZjd,KAAA8U,QAAU,IAAIxT,EAAAA,aACdtB,KAAAkd,QAAU,IAAI5b,EAAAA,aACdtB,KAAAmd,QAAU,IAAI7b,EAAAA,aAEKtB,KAAAod,QAAS,EAE9Bpd,KAAAqd,YAAc,EAsDxB,OAhDSL,EAAA9c,UAAAod,YADP,SACmBC,GACjBA,EAAIzS,iBACJyS,EAAIxS,kBACJ/K,KAAKqd,cACLrd,KAAKod,QAAS,EACdpd,KAAKkd,QAAQzb,MAAK,IAIbub,EAAA9c,UAAAsd,WADP,SACkBD,GAGhB,OAFAA,EAAIzS,iBACJyS,EAAIxS,mBACG,GAIFiS,EAAA9c,UAAAud,YADP,SACmBF,GACjBA,EAAIzS,iBACJyS,EAAIxS,kBACJ/K,KAAKqd,cACoB,IAArBrd,KAAKqd,cACPrd,KAAKod,QAAS,EACdpd,KAAK0d,cAKFV,EAAA9c,UAAAyd,OADP,SACcJ,GACZA,EAAIzS,iBACJyS,EAAIxS,sBACEkL,EAAQsH,EAAIK,aAAa3H,MAC3BA,EAAMrV,OAAS,IACjBZ,KAAKod,QAAS,EACdpd,KAAKmd,QAAQ1b,MAAK,GAClBzB,KAAKid,oBAAoB/I,gBAAgB+B,GACzCjW,KAAK0d,cAKFV,EAAA9c,UAAA2d,QADP,SACe/a,GACb9C,KAAK0d,aAGCV,EAAA9c,UAAAwd,UAAR,WACE1d,KAAK8U,QAAQrT,MAAK,GAClBzB,KAAKkd,QAAQzb,MAAK,wBA/DrBqc,EAAAA,UAAS7c,KAAA,CAAC,CACTC,SAAU,uDAHJ2S,sCAOLjS,EAAAA,wBACAA,EAAAA,wBACAA,EAAAA,uBAEAmc,EAAAA,YAAW9c,KAAA,CAAC,qCAOZ+c,EAAAA,aAAY/c,KAAA,CAAC,YAAa,CAAC,+BAS3B+c,EAAAA,aAAY/c,KAAA,CAAC,WAAY,CAAC,gCAO1B+c,EAAAA,aAAY/c,KAAA,CAAC,YAAa,CAAC,2BAW3B+c,EAAAA,aAAY/c,KAAA,CAAC,OAAQ,CAAC,4BAatB+c,EAAAA,aAAY/c,KAAA,CAAC,QAAS,CAAC,cAS1B+b,EApEA,GCAAiB,EAAA,WAME,SAAAA,IAAA,IAAAnc,EAAA9B,KACEA,KAAKke,cAAgB,IAAInK,EAAAA,WAAU,SAACC,GAClC,OAAAlS,EAAKmS,UAAYD,IAYvB,OATExU,OAAAwD,eAAIib,EAAA/d,UAAA,eAAY,KAAhB,WACE,OAAOF,KAAKke,+CAGdD,EAAA/d,UAAAie,qBAAA,SAAqBC,GAChBpe,KAAKiU,WACNjU,KAAKiU,UAAUtT,KAAKyd,IAG1BH,EApBA,GCAAI,EAAA,WAaE,SAAAA,EAAoBC,GAApB,IAAAxc,EAAA9B,KAAoBA,KAAAse,oBAAAA,EALZte,KAAAue,aAAe,EACfve,KAAAwe,YAAc,EAKpBxe,KAAKye,UAAY,IAAI1K,EAAAA,WAAU,SAACC,GAC9B,OAAAlS,EAAKmS,UAAYD,WAGrBxU,OAAAwD,eAAIqb,EAAAne,UAAA,WAAQ,KAAZ,WACE,OAAOF,KAAKye,2CAGdjf,OAAAwD,eAAIqb,EAAAne,UAAA,aAAU,KAAd,WACE,OAAOF,KAAKwe,iBAGd,SAAe3d,GACbb,KAAKwe,YAAc3d,mCAGrBrB,OAAAwD,eAAIqb,EAAAne,UAAA,cAAW,KAAf,WACE,OAAOF,KAAKue,kBAGd,SAAgB1d,GACdb,KAAKue,aAAe1d,mCAGtBwd,EAAAne,UAAAwe,SAAA,WACM1e,KAAKue,aAAeve,KAAKwe,cAC3Bxe,KAAKue,eACLve,KAAK2e,WAAW3e,KAAKue,gBAIzBF,EAAAne,UAAA0e,SAAA,WACM5e,KAAKue,aAAe,IACtBve,KAAKue,eACLve,KAAK2e,WAAW3e,KAAKue,gBAIzBF,EAAAne,UAAA2e,WAAA,WACE7e,KAAKue,aAAeve,KAAKwe,YACzBxe,KAAK2e,WAAW3e,KAAKue,eAGvBF,EAAAne,UAAA4e,YAAA,WACE9e,KAAKue,aAAe,EACpBve,KAAK2e,WAAW3e,KAAKue,eAGvBF,EAAAne,UAAAye,WAAA,SAAWP,GACTpe,KAAK+e,YAAcX,EACnBpe,KAAKse,oBAAoBH,qBAAqBC,GAC9Cpe,KAAKiU,UAAUtT,KAAKyd,wBA7DvBxV,EAAAA,WAAU3H,KAAA,CAAC,CACV+d,WAAY,oDAJNf,2HADR,GCEM7J,GAAIC,EAEV4K,GAAA,WAKE,SAAAA,YAGAA,EAAA/e,UAAAgf,gBAAA,SAAgB/U,EAAIuM,EAAoByI,EAAwBtF,GAC9D,QADkB,IAAAnD,IAAAA,EAAA,UAAoB,IAAAyI,IAAAA,EAAA,QAAwB,IAAAtF,IAAAA,EAAA,KACzD1P,EACH,OAAO,MAEHL,EAAI+P,EAGJuF,EAAMhL,GAAElS,QAERmd,EACCD,EAAIhS,YADLiS,EAEED,EAAIlS,aAAeiS,EAFrBE,EAGGD,EAAIlS,aAAekS,EAAInd,QAAU,GAHpCod,EAIID,EAAIhS,YAAcgS,EAAIhd,SAI5Bkd,MAAM5I,KACRA,EAAO,SAGH6I,EAAQ7I,EAAO,IACftU,EAASgS,GAAEjK,GAAIqV,cAAa,EAC5Bvd,EAAQmS,GAAEjK,GAAIsV,aAAY,EAEhC,IAAKxd,IAAUG,EACb,OAAO,MAGHsd,EAAStL,GAAEjK,GAAIwV,SACfC,EAASF,EAAOG,KAAI,EAAc5d,EAClC6d,EAAUJ,EAAOK,IAAG,EAAc3d,EAIxC,MAFmBid,EAAkBK,EAAOG,KAAI,GAAeR,EAAgBO,GAASP,EAAmBK,EAAOK,IAAG,GAAeV,EAAeS,GAGjJ,OAAO,MAGHE,EACCC,WAAW7K,KAAK4E,IAAI,GAAI8F,EAAST,GAAgBjd,GAAQ8d,QAAQ,IADlEF,EAEIC,WAAW7K,KAAK4E,IAAI,GAAIqF,EAAmBK,EAAOK,IAAG,GAAe3d,GAAQ8d,QAAQ,IAK9F,OAJQD,WAAW7K,KAAK4E,IAAI,GAAI4F,EAAQP,GAAiBpd,GAAOie,QAAQ,IAC/DD,WAAW7K,KAAK4E,IAAI,GAAIqF,EAAkBK,EAAOG,KAAI,GAAe5d,GAAOie,QAAQ,KAGrDpW,GAAMkW,EAAaA,GAzChD,wBAbbpX,EAAAA,WAAU3H,KAAA,CAAC,CACV+d,WAAY,wJADd,GCYM5K,GAAIC,EAEV8L,GAAA,WAQE,SAAAA,EAAoBnJ,EACAoJ,EACA9B,EACArH,EACAC,EACAmJ,GALpB,IAAAve,EAAA9B,KAAoBA,KAAAgX,YAAAA,EACAhX,KAAAogB,iBAAAA,EACApgB,KAAAse,oBAAAA,EACAte,KAAAiX,aAAAA,EACAjX,KAAAkX,eAAAA,EACAlX,KAAAqgB,iBAAAA,EAPZrgB,KAAA0W,KAAO,IASb1W,KAAK0W,KAAOO,EAAaP,KAAOO,EAAaP,KAAO1W,KAAK0W,KACzDO,EAAagB,WAAWlV,UAAS,SAAE+B,GACjChD,EAAK4U,KAAO5R,GAAYhD,EAAK4U,KAC7B5U,EAAKkU,YA8GX,OA1GEmK,EAAAjgB,UAAAqY,gBAAA,WAAA,IAAAzW,EAAA9B,KACEA,KAAK0W,KAAO1W,KAAKiX,aAAaP,KAAO1W,KAAKiX,aAAaP,KAAO1W,KAAK0W,KACnE1W,KAAKogB,iBAAiBE,SAASvd,UAAS,SAAElC,GACxCiB,EAAKid,YAAcle,EACnBiB,EAAKye,aAAa1f,KAEpBb,KAAKgW,WAGiBmK,EAAAjgB,UAAAsgB,UAAxB,WACExgB,KAAKgW,WAGwBmK,EAAAjgB,UAAAugB,SAA/B,WACEzgB,KAAKgW,WAGPmK,EAAAjgB,UAAAqgB,aAAA,SAAaG,OACLvW,EAAKnK,KAAKgX,YAAYzM,cACtB6T,EAAOpe,KAAK2gB,QAAQD,GACpBE,EAAOF,EAAa,EAAI1gB,KAAK2gB,QAAQD,EAAa,GAAK,KACvDG,EAAaD,GAAQxM,GAAEwM,GAAMjB,SAASI,MAAQ3L,GAAEgK,GAAMuB,SAASI,IACrE,IAAI/f,KAAKqgB,iBAAiBnB,gBAAgBd,EAAMpe,KAAK0W,QAASmK,EAA9D,KAIMC,EAAU,CACdjB,KAAM,EACNE,IAHkB/f,KAAK+gB,gBAAgBL,IAKtCvW,GAEDA,EAAG6W,OAAOF,KAINX,EAAAjgB,UAAA+gB,YAAR,eACQ9W,EAAKnK,KAAKgX,YAAchX,KAAKgX,YAAYzM,cAAgB,KAC/D,GAAIJ,EAEF,OAAOA,EAAGgO,SAASC,KAAK,GAAGD,SAASC,KAAK,GAAGD,UAIxCgI,EAAAjgB,UAAAygB,QAAR,SAAgBD,OACRvW,EAAKnK,KAAKgX,YAAchX,KAAKgX,YAAYzM,cAAgB,KAC/D,GAAIJ,EACF,OAAOA,EAAGgO,SAASC,KAAK,GAAGD,SAASC,KAAK,GAAGD,SAASC,KAAKsI,EAAa,IAInEP,EAAAjgB,UAAA6gB,gBAAR,SAAwBL,GAItB,QAHMQ,EAAQlhB,KAAKkX,eAAetT,YAAc,EAAI5D,KAAKmhB,oBACnDC,EAASphB,KAAKkX,eAAe9T,YAAc,GAAK,GAClDie,EAAc,EACT5gB,EAAI,EAAGA,EAAIigB,EAAaQ,EAAOzgB,IAAK,KACrC2X,EAAOpY,KAAK2gB,QAAQlgB,GACpBgY,EAAeL,EAAOA,EAAKK,aAAe,EAChD4I,GAAe5I,EAAe,EAAIA,EAAezY,KAAKshB,UAAYF,EAAS,EAE7E,OAAOC,GAGDlB,EAAAjgB,UAAAihB,kBAAR,eACQI,EAASvhB,KAAK2gB,QAAQ,GAEtBO,EAAQ9L,KAAKoM,OAAOxhB,KAAKqD,WADhB,MACwCke,EAAOE,wBAAwBxf,MAAQjC,KAAKshB,YACnG,OAAiB,IAAVJ,EAAc,EAAIA,GAG3Bf,EAAAjgB,UAAA8V,QAAA,eACMoI,EACAsD,GAAiB,EACfC,EAAW3hB,KAAK2gB,QAAQ3gB,KAAK+e,aAC7B6C,EAAkB5hB,KAAK+e,aAAe4C,EAAWA,EAASF,wBAA0B,KAC1F,IAAKrD,EAAO,EAAGA,EAAOpe,KAAKihB,cAAcrgB,OAAS,EAAGwd,IAAQ,KACrD9T,EAAUtK,KAAK2gB,QAAQvC,GACzBpe,KAAKqgB,iBAAiBnB,gBAAgB5U,EAAStK,KAAK0W,QACjDgL,MACE1hB,KAAK+e,cAAgB4C,GAAa3hB,KAAK+e,aAAe6C,GAAmBtX,EAAQmX,wBAAwB1B,MAAQ6B,EAAgB7B,OACpI/f,KAAK+e,YAAcX,EACnBpe,KAAKogB,iBAAiBrB,YAAcX,GAEtCsD,GAAiB,GAEnB1hB,KAAKse,oBAAoBH,qBAAqBC,MAKpD+B,EAAAjgB,UAAAgY,YAAA,SAAY4D,GACV9b,KAAKgW,WAGPmK,EAAAjgB,UAAA+E,SAAA,WACEjF,KAAK0W,KAAO1W,KAAKiX,aAAaP,KAAO1W,KAAKiX,aAAaP,KAAO1W,KAAK0W,MAI7DyJ,EAAAjgB,UAAAmD,SAAR,WACE,OAAOrD,KAAKgX,YAAchX,KAAKgX,YAAYzM,cAAcmO,YAAcxW,OAAOC,YAGxEge,EAAAjgB,UAAAohB,QAAR,WACE,OAAOthB,KAAK0W,KAAO,yBA9HtBoH,EAAAA,UAAS7c,KAAA,CAAC,CACTC,SAAU,8DAhBViK,EAAAA,kBAOMkT,SACAJ,SACA3H,SACAzU,SACAod,yCAmCLjB,EAAAA,aAAY/c,KAAA,CAAC,4BAIb+c,EAAAA,aAAY/c,KAAA,CAAC,oBA6FhBkf,EAhIA,GClBA0B,GAAA,WAoBE,SAAAA,EAAoB5K,EAAmCC,EAA+B/M,GAAlEnK,KAAAiX,aAAAA,EAAmCjX,KAAAkX,eAAAA,EAV9ClX,KAAA8hB,YAAa,EAWpB9hB,KAAKmK,GAAKA,EA0Ed,OAvEE0X,EAAA3hB,UAAA2K,YAAA,aAGAgX,EAAA3hB,UAAAgY,YAAA,WACElY,KAAK+hB,UAAU/hB,KAAKiX,aAAaP,MACjC1W,KAAKgiB,YAAYhiB,KAAKiX,aAAaP,OAGrCmL,EAAA3hB,UAAA+E,SAAA,WAAA,IAAAnD,EAAA9B,KACQA,KAAK8hB,aAIX9hB,KAAK+hB,UAAU/hB,KAAKiX,aAAaP,MACjC1W,KAAKiX,aAAagB,WAAWlV,UAAS,SAAE2T,GACtC5U,EAAKigB,UAAUrL,GACf5U,EAAKkgB,YAAYtL,OAIbmL,EAAA3hB,UAAA6hB,UAAR,SAAkBrL,GAChB,GAAM1W,KAAK8hB,WAAX,KAIMG,EAAmB,MAATvL,EAAe,EAAIA,EAAO,IAEtC1W,KAAKkX,eAAe3T,SACtBvD,KAAKiiB,QAAUA,EAGfjiB,KAAKiiB,QAAU,KAGZjiB,KAAKkX,eAAe3T,UAKvBvD,KAAKsY,UAAY,GACjBtY,KAAKkiB,gBAAkB,KALvBliB,KAAKsY,UAAY,SAAW2J,EAAU,IACtCjiB,KAAKkiB,gBAAkB,gBAOrBC,EAAW,EACfniB,KAAKwV,KAAK4M,MAAMC,QAAO,SAACjE,GAEhBA,EAAKnc,MAAQkgB,IACfA,EAAW/D,EAAKnc,SAMtBjC,KAAKsiB,SAAWH,EAAW5T,EAASC,KAAKxO,KAAKwV,KAAKpK,MAAM,GAAOgE,OAG1DyS,EAAA3hB,UAAAqiB,eAAR,SAAuBC,GACrB,OAAOA,EAAI9J,YAAc8J,EAAIhK,aAGvBqJ,EAAA3hB,UAAA8hB,YAAR,SAAoBtL,OACZuL,EAAmB,MAATvL,EAAe,EAAIA,EAAO,IAEpC+L,EAAgBziB,KAAKmK,GAAGI,cAAcmY,cAAchK,YACpDiK,EAAc3iB,KAAKuiB,eAAeviB,KAAKmK,GAAGI,cAAcmY,eAC9D1iB,KAAKiC,MAASwgB,EAAcR,EAAUU,EAAYV,EAAW,MAG/DJ,EAAA3hB,UAAAqY,gBAAA,WACEvY,KAAK+hB,UAAU/hB,KAAKiX,aAAaP,2BAxFpCoH,EAAAA,UAAS7c,KAAA,CAAC,CACTC,SAAU,wDALJoV,SAECzU,SAHgEsJ,EAAAA,kDAUtExJ,EAAAA,oBACAA,EAAAA,uBAEAoc,EAAAA,YAAW9c,KAAA,CAAC,iCACZ8c,EAAAA,YAAW9c,KAAA,CAAC,4CACZ8c,EAAAA,YAAW9c,KAAA,CAAC,yCACZ8c,EAAAA,YAAW9c,KAAA,CAAC,iCACZ8c,EAAAA,YAAW9c,KAAA,CAAC,sBA8Ef4gB,EA/FA,GCAAe,GAAA,WAUE,SAAAA,IAHQ5iB,KAAAiU,UAA8B,IAAIjS,EAAAA,QACzBhC,KAAA6iB,SAAgC7iB,KAAKiU,UAAUhR,sBAKhEzD,OAAAwD,eAAI4f,EAAA1iB,UAAA,UAAO,KAAX,WACE,OAAOF,KAAK6iB,0CAGdD,EAAA1iB,UAAA8J,MAAA,SAAMA,GACJhK,KAAKiU,UAAUtT,KAAKqJ,wBAfvBpB,EAAAA,WAAU3H,KAAA,CAAC,CACV+d,WAAY,wJAJd,GCAA8D,GAAA,WAsBE,SAAAA,EAAsBC,GAAtB,IAAAjhB,EAAA9B,KAAsBA,KAAA+iB,gBAAAA,EALb/iB,KAAAiE,UAAW,EAEVjE,KAAAgjB,SAA8B,IAAI1hB,EAAAA,aACnCtB,KAAAijB,QAAS,EAGhBF,EAAgB/X,QAAQjI,UAAS,WAC/BjB,EAAKkI,UAiCX,OA7BE8Y,EAAA5iB,UAAA6J,KAAA,WACO/J,KAAKiE,WACRjE,KAAKijB,QAAS,IAIlBH,EAAA5iB,UAAA8J,MAAA,WACEhK,KAAKijB,QAAS,GAGhBH,EAAA5iB,UAAAgjB,eAAA,SAAepgB,GACb9C,KAAKgK,SAGP8Y,EAAA5iB,UAAAgE,OAAA,SAAO+G,GAELA,EAAOH,iBACPG,EAAOF,kBACF/K,KAAKiE,WACRjE,KAAKijB,QAAUjjB,KAAKijB,SAIxBH,EAAA5iB,UAAAijB,OAAA,SAAOlY,EAAQpK,GACboK,EAAOH,iBACPG,EAAOF,kBACP/K,KAAKgjB,SAASvhB,KAAKZ,GACnBb,KAAKgK,6BA9CRhJ,EAAAA,UAASC,KAAA,CAAC,CACTC,SAAU,YACVC,SAAA,o1DAVMyhB,uCAeLjhB,EAAAA,wBACAA,EAAAA,4BACAA,EAAAA,wBACAC,EAAAA,uBACAD,EAAAA,SAqCHmhB,EAzDA,GCAAM,GAAA,WASE,SAAAA,KAgBF,OAXUA,EAAAljB,UAAAmjB,aAAR,WACErjB,KAAKsjB,SAAStjB,KAAKujB,KAGrBH,EAAAljB,UAAA+E,SAAA,WACEjF,KAAKqjB,gBAGPD,EAAAljB,UAAAgY,YAAA,SAAY4D,GACV9b,KAAKqjB,oCArBRvF,EAAAA,UAAS7c,KAAA,CAAC,CACTC,SAAU,4FAITS,EAAAA,sBAKAoc,EAAAA,YAAW9c,KAAA,CAAC,qBAafmiB,EAzBA,GCAAI,GAAA,WAmBE,SAAAA,IARSxjB,KAAAyjB,YAAa,EA8DxB,OAnDUD,EAAAtjB,UAAAmjB,aAAR,WAC4B,iBAAfrjB,KAAK0jB,QACd1jB,KAAK0jB,MAAQhW,SAAS1N,KAAK0jB,MAAO,KAGhC1jB,KAAK0jB,OACP1jB,KAAK2jB,UAAY,OACjB3jB,KAAK4jB,WAAa,OAClB5jB,KAAKsY,UAAY,UAAYtY,KAAK0jB,MAAQ,QAClB,IAAf1jB,KAAK0jB,OAAe1jB,KAAK2jB,YAClC3jB,KAAK2jB,UAAY,KACjB3jB,KAAK4jB,WAAa,KAClB5jB,KAAKsY,UAAY,MAGftY,KAAKyjB,aACY,KAAfzjB,KAAK0jB,OAA+B,MAAf1jB,KAAK0jB,QAAiC,KAAhB1jB,KAAK0jB,QAAiC,MAAhB1jB,KAAK0jB,MACpE1jB,KAAK6jB,WACH7jB,KAAK8jB,cACP9jB,KAAKohB,OAAS,cAEdphB,KAAKohB,OAAS,eAGZphB,KAAK8jB,cACP9jB,KAAKohB,OAAS,oBAEdphB,KAAKohB,OAAS,qBAGO,MAAhBphB,KAAK0jB,OAAiC,MAAf1jB,KAAK0jB,MACrC1jB,KAAKohB,OAAS,QAEdphB,KAAKohB,OAAS,OAMpBoC,EAAAtjB,UAAA4jB,YAAA,WACE,OAAO9jB,KAAKiC,MAAQjC,KAAKoC,QAG3BohB,EAAAtjB,UAAA+E,SAAA,WACEjF,KAAKqjB,gBAGPG,EAAAtjB,UAAAgY,YAAA,SAAY4D,GACV9b,KAAKqjB,oCApERvF,EAAAA,UAAS7c,KAAA,CAAC,CACTC,SAAU,wFAITS,EAAAA,0BACAA,EAAAA,qBACAA,EAAAA,sBACAA,EAAAA,0BACAA,EAAAA,yBAEAoc,EAAAA,YAAW9c,KAAA,CAAC,uCACZ8c,EAAAA,YAAW9c,KAAA,CAAC,gDACZ8c,EAAAA,YAAW9c,KAAA,CAAC,mCAEZ8c,EAAAA,YAAW9c,KAAA,CAAC,mBAwDfuiB,EAzEA,GCAAO,GAAA,WAaE,SAAAA,IAHU/jB,KAAAgkB,YAAc,IAAI1iB,EAAAA,aAC5BtB,KAAAgV,gBAAiB,EAcnB,OATE+O,EAAA7jB,UAAA+E,SAAA,aAGA8e,EAAA7jB,UAAAid,QAAA,SAAQlS,GACFA,IACFjL,KAAKgkB,YAAYviB,KAAKwJ,GACtBjL,KAAKgV,gBAAiB,wBApB3BhU,EAAAA,UAASC,KAAA,CAAC,CACTC,SAAU,gBACVC,SAAA,mgDAICQ,EAAAA,oBACAA,EAAAA,2BACAC,EAAAA,UAeHmiB,EAzBA,GCAAE,GAAA,WASE,SAAAA,IAAA,IAAAniB,EAAA9B,KACEA,KAAKkkB,QAAU,IAAInQ,EAAAA,WAAU,SAACC,GAC5B,OAAAlS,EAAKmS,UAAYD,IACnBhU,KAAKmkB,YAAc,IAAIpQ,EAAAA,WAAU,SAACC,GAChC,OAAAlS,EAAKsiB,cAAgBpQ,IAkB3B,OAfExU,OAAAwD,eAAIihB,EAAA/jB,UAAA,cAAW,KAAf,WACE,OAAOF,KAAKkkB,yCAGdD,EAAA/jB,UAAAmkB,YAAA,SAAYjC,GACVpiB,KAAKiU,UAAUtT,KAAKyhB,IAGtB5iB,OAAAwD,eAAIihB,EAAA/jB,UAAA,kBAAe,KAAnB,WACE,OAAOF,KAAKmkB,6CAGdF,EAAA/jB,UAAAokB,WAAA,SAAW9O,GACTxV,KAAKokB,cAAczjB,KAAK6U,IAE5ByO,EA/BA,iBCUE,SAAAM,EAAoBC,GAApB,IAAA1iB,EAAA9B,KAAoBA,KAAAwkB,eAAAA,EAClBA,EAAeC,YAAY1hB,UAAS,SAACqf,GACnCtgB,EAAK2iB,YAAYrC,KAEnBoC,EAAeE,gBAAgB3hB,UAAS,SAACyS,GACvC1T,EAAK4iB,gBAAgBlP,KAuD3B,OAnDU+O,EAAArkB,UAAAukB,YAAR,SAAoBrC,eACduC,EAAY,GAChB,GAAI3kB,KAAK4kB,aACP,IAAmB,IAAAC,EAAAC,EAAA1C,GAAK2C,EAAAF,EAAAlkB,QAAAokB,EAAAjkB,KAAAikB,EAAAF,EAAAlkB,OAAE,CACxBgkB,GAAa,qBADJvG,EAAI2G,EAAAlkB,OAC2B+a,OAAS,6CAClBwC,EAAKrC,KAAO,0HAI7C,IAAmB,IAAAiJ,EAAAF,EAAA1C,GAAK6C,EAAAD,EAAArkB,QAAAskB,EAAAnkB,KAAAmkB,EAAAD,EAAArkB,OAAE,CAArB,IAAMyd,EACTuG,GAAa,qBADJvG,EAAI6G,EAAApkB,OAC2B+a,OAAS,uIACwEwC,EAAKrC,KAAO,+HAIzI/b,KAAKklB,WAAWP,EAAWvC,EAAM,GAAGngB,MAAOmgB,EAAM,GAAGhgB,SAG9CmiB,EAAArkB,UAAAglB,WAAR,SAAmBP,EAAW1iB,EAAOG,OAG/B+iB,EAAkB,GACtB,GAAGljB,EAFa,KAEMG,EAHL,IAGuB,KAChCsU,EAAOtB,KAAKC,MAAMjT,EAJT,KAI8B,IAC7C+iB,EAAkB,sDACf3hB,UAAUC,UAAUC,cAAcC,QAAQ,YAAc,IACzDwhB,EAAkB,mCAAqCzO,EAAO,WAG9D0O,EAAW,uIAEsCD,EACrDC,GAAsB,eAEhBC,EAAenjB,OAAO6H,KAAK,GAAI,cAAe,4FACpDsb,EAAaC,QACbD,EAAa7a,SAAS+a,QAAQH,GAC9BC,EAAa7a,SAAS+a,QAAQZ,GAC9BU,EAAa7a,SAASR,QACtBqb,EAAaC,QACbD,EAAaG,QACbH,EAAarb,SAGPua,EAAArkB,UAAAwkB,gBAAR,SAAwBlP,OAChBiQ,EAAUC,IAAIC,gBAAgBnQ,GAC9B6P,EAAenjB,OAAO6H,KAAK0b,EAAS,cAAe,4FACzDJ,EAAaC,QACbD,EAAaG,QACbH,EAAarb,6BAhEhB8T,EAAAA,UAAS7c,KAAA,CAAC,CACTC,SAAU,+DAHJ+iB,wCAMLtiB,EAAAA,SA8DH4iB,KCtEAqB,GAAA,WAME,SAAAA,IAHQ5lB,KAAAiU,UAAqC,IAAI4R,EAAAA,gBAAgB,2BACzD7lB,KAAA8lB,eAAqC9lB,KAAKiU,UAAUhR,eAY9D,OAPEzD,OAAAwD,eAAI4iB,EAAA1lB,UAAA,gBAAa,KAAjB,WACE,OAAOF,KAAK8lB,gDAGdF,EAAA1lB,UAAA6lB,cAAA,SAAcC,GACZhmB,KAAKiU,UAAUtT,KAAKqlB,IAExBJ,EAhBA,GCAAK,GAAA,WAYE,SAAAA,EAAYC,GAAZ,IAAApkB,EAAA9B,KACEkmB,EAAeC,cAAcpjB,UAAS,SAACijB,GAAW,OAAAlkB,EAAKkkB,QAAUA,IAMrE,OAHEC,EAAA/lB,UAAA+E,SAAA,iCAbDjE,EAAAA,UAASC,KAAA,CAAC,CACTC,SAAU,iBACVC,SAAA,+4BAJMykB,MAkBRK,EAnBA,GCAAG,GAAA,WAME,SAAAA,IAHQpmB,KAAAiU,UAA6B,IAAIjS,EAAAA,QACxBhC,KAAAqmB,YAAkCrmB,KAAKiU,UAAUhR,eAYpE,OAPEzD,OAAAwD,eAAIojB,EAAAlmB,UAAA,aAAU,KAAd,WACE,OAAOF,KAAKqmB,6CAGdD,EAAAlmB,UAAAomB,YAAA,SAAYC,GACVvmB,KAAKiU,UAAUtT,KAAK4lB,IAExBH,EAhBA,GCKMhS,GAAIC,EAEVmS,GAAA,WASE,SAAAA,EAAYN,EAAiDO,GAA7D,IAAA3kB,EAAA9B,KAA6DA,KAAAymB,iBAAAA,EAFnDzmB,KAAA0mB,YAAc,IAAIplB,EAAAA,aAG1B4kB,EAAeC,cAAcpjB,UAAS,SAACijB,GAAW,OAAAlkB,EAAKkkB,QAAUA,IA2BrE,OAxBEQ,EAAAtmB,UAAA+E,SAAA,aAGAuhB,EAAAtmB,UAAAomB,YAAA,SAAYzlB,GACVb,KAAKymB,iBAAiBH,YAAYzlB,IAGpC2lB,EAAAtmB,UAAAymB,YAAA,SAAY1b,GACNA,EACF2b,WAAU,eACFtc,EAAU8J,GAAE,aACd9J,GACFA,EAAQgb,SAET,KAEHlR,GAAE,aAAatP,IAAI,KAIvB0hB,EAAAtmB,UAAAmK,OAAA,SAAOY,GACLmJ,GAAE,aAAatP,IAAI,IACnB9E,KAAK0mB,YAAYjlB,MAAK,wBAnCzBT,EAAAA,UAASC,KAAA,CAAC,CACTC,SAAU,uBACVC,SAAA,44CARMykB,UACAQ,2CAYLxkB,EAAAA,UA8BH4kB,EArCA,GCPAK,GAAA,WAaE,SAAAA,EAAoBC,EAAqCC,GAArC/mB,KAAA8mB,cAAAA,EAAqC9mB,KAAA+mB,gBAAAA,SAGzDF,EAAA3mB,UAAA8mB,UAAA,SAAUC,EAAuBtmB,GAAjC,IAAAmB,EAAA9B,KACQknB,EAAY,mCAElB,OAAOvmB,EAAKwmB,OAAOF,GAChBzkB,KAAKuM,EAAAA,IAAG,SAACgN,GACN,OAAOA,IAETqL,EAAAA,WAAU,SAAEC,GACV,GAAIA,aAAqBC,EAAAA,kBACvB,OAAQD,EAAUE,QAEhB,KAAK3b,EAAUC,WACblB,QAAQC,MAAM,qBAAsBsc,GACpC,MACF,KAAKtb,EAAUE,aACbnB,QAAQC,MAAM,sBAAuBsc,GACrC,MACF,KAAKtb,EAAUI,SACbrB,QAAQC,MAAM,mBAAoBsc,GAClC,MACF,KAAKtb,EAAUK,QACbtB,QAAQC,MAAM,iBAAkBsc,GAChC,MACF,KAAKtb,EAAUO,oBACbxB,QAAQC,MAAM,iBAAkBsc,GAChCplB,EAAKilB,gBAAgBhB,cAAcsB,EAAUzc,MAAMob,SACnDlkB,EAAKglB,cAAc/c,KAAKlB,EAAaE,cACrC,MAEF,KAAK6C,EAAUG,UACbpB,QAAQC,MAAM,mBAAoBsc,GAClCplB,EAAKilB,gBAAgBhB,cAAcsB,EAAUzc,MAAMob,SACnDlkB,EAAKglB,cAAc/c,KAAKlB,EAAaC,kBAI3C,OAAO0e,EAAAA,WAAWH,2BA5C3Bze,EAAAA,WAAU3H,KAAA,CAAC,CACV+d,WAAY,oDAHQ1V,SAFdsc,2IAJR,GCAA6B,GAAA,WAYE,SAAAA,IATQznB,KAAAiU,UAA6B,IAAIjS,EAAAA,QACxBhC,KAAA0nB,YAAkC1nB,KAAKiU,UAAUhR,eAE1DjD,KAAA2nB,iBAAoC,IAAI3lB,EAAAA,QAC/BhC,KAAA4nB,eAAqC5nB,KAAK2nB,iBAAiB1kB,eAEpEjD,KAAA6nB,eAAkC,IAAI7lB,EAAAA,QAC7BhC,KAAA8nB,aAAmC9nB,KAAK6nB,eAAe5kB,eA4B1E,OAvBEzD,OAAAwD,eAAIykB,EAAAvnB,UAAA,aAAU,KAAd,WACE,OAAOF,KAAK0nB,6CAGdD,EAAAvnB,UAAA6nB,QAAA,SAAQC,GACNhoB,KAAKiU,UAAUtT,KAAKqnB,IAGtBxoB,OAAAwD,eAAIykB,EAAAvnB,UAAA,gBAAa,KAAjB,WACE,OAAOF,KAAK4nB,gDAGdpoB,OAAAwD,eAAIykB,EAAAvnB,UAAA,cAAW,KAAf,WACE,OAAOF,KAAK8nB,8CAGdL,EAAAvnB,UAAA+nB,WAAA,SAAWC,GACTloB,KAAK2nB,iBAAiBhnB,KAAKunB,IAG7BT,EAAAvnB,UAAAioB,SAAA,SAASC,GACPpoB,KAAK6nB,eAAelnB,KAAKynB,IAE7BX,EAtCA,GCAAY,GAAA,WAmBE,SAAAA,EAAoBC,GAApB,IAAAxmB,EAAA9B,KAAoBA,KAAAsoB,eAAAA,EATVtoB,KAAAuoB,UAAY,IAAIjnB,EAAAA,cAAsB,GAEhDtB,KAAAkoB,QAAU,EACVloB,KAAAooB,MAAQ,EAONE,EAAeE,YAAYzlB,UAAS,SAAEqlB,GACpCtmB,EAAKsmB,MAAQA,EAEXtmB,EAAKomB,QADO,IAAVE,EACa,EAEA,EAEjBtmB,EAAKwmB,eAAeL,WAAWnmB,EAAKomB,WAiC1C,OA7BEG,EAAAnoB,UAAA+E,SAAA,aAGAojB,EAAAnoB,UAAA6nB,QAAA,SAAQC,GACNhoB,KAAKsoB,eAAeP,QAAQC,IAG9BK,EAAAnoB,UAAAuoB,KAAA,WACEzoB,KAAK+nB,QAAQ,IACb/nB,KAAKuoB,UAAU9mB,MAAK,IAGtB4mB,EAAAnoB,UAAA0gB,KAAA,WACM5gB,KAAKkoB,QAAU,IACjBloB,KAAKkoB,UACLloB,KAAKsoB,eAAeL,WAAWjoB,KAAKkoB,WAIxCG,EAAAnoB,UAAAS,KAAA,WACMX,KAAKkoB,QAAUloB,KAAKooB,QACtBpoB,KAAKkoB,UACLloB,KAAKsoB,eAAeL,WAAWjoB,KAAKkoB,WAIxCG,EAAAnoB,UAAAqY,gBAAA,WACEvY,KAAK0oB,YAAYne,cAAc+a,6BAvDlCtkB,EAAAA,UAASC,KAAA,CAAC,CACTC,SAAU,YACVC,SAAA,w4CAJMsmB,yCASL7lB,EAAAA,4BAKA+mB,EAAAA,UAAS1nB,KAAA,CAAC,OAAO,CAChB2nB,QAAS,OA4CbP,EA5DA,GCKMjU,GAAIC,EAEVwU,GAAA,WAUE,SAAAA,EAAoB7R,EACAsR,EACAQ,EACA7R,GAHpB,IAAAnV,EAAA9B,KAAoBA,KAAAgX,YAAAA,EACAhX,KAAAsoB,eAAAA,EACAtoB,KAAA8oB,WAAAA,EACA9oB,KAAAiX,aAAAA,EAPpBjX,KAAAkoB,QAAU,EACVloB,KAAAooB,MAAQ,EACApoB,KAAA0W,KAAO,IAMb4R,EAAeS,cAAchmB,UAAS,SAAEmlB,GACtCpmB,EAAKomB,QAAUA,EACM,IAAjBpmB,EAAKomB,SACPpmB,EAAKknB,kBAITV,EAAeW,WAAWlmB,UAAS,SAAEilB,GACnClmB,EAAKkmB,KAAOA,EACZlmB,EAAKonB,oBAGPlpB,KAAK0W,KAAOO,EAAaP,KAAOO,EAAaP,KAAO1W,KAAK0W,KACzDO,EAAagB,WAAWlV,UAAS,SAAE+B,GACjChD,EAAK4U,KAAO5R,GAAYhD,EAAK4U,OA6EnC,OAzEUmS,EAAA3oB,UAAAgpB,gBAAR,eACQ/e,EAAKnK,KAAKgX,YAAchX,KAAKgX,YAAYzM,cAAgB,KAC/D,GAAIJ,EAAI,CAEN,GADAnK,KAAKmpB,eAAehf,GAChBnK,KAAKgoB,KAAM,CACbhoB,KAAKopB,YAAYjf,OACX+W,EAAQ/W,EAAG+O,iBAAiB,iBAAiBtY,OACnDZ,KAAKooB,MAAQlH,OAEblhB,KAAKooB,MAAQ,EAEfpoB,KAAKsoB,eAAeH,SAASnoB,KAAKooB,SAI9BS,EAAA3oB,UAAA8oB,cAAR,WACE,GAAqB,IAAjBhpB,KAAKkoB,QAAT,CAGoBloB,KAAKshB,cACnBnX,EAAKnK,KAAKgX,YAAchX,KAAKgX,YAAYzM,cAAgB,KAC/D,GAAIJ,EAAI,CACNA,EAAG+O,iBAAiB,wBAAwBmJ,QAAO,SAAWxhB,GAC5DuT,GAAEvT,GAAOwoB,YAAY,6BAEjBC,EAAYnf,EAAG+O,iBAAiB,iBAAiBlZ,KAAKkoB,QAAU,GAEtE,GADA9T,GAAEkV,GAAWC,SAAS,uBAClBD,EAAW,KACPxI,EAAU,CACdjB,KAAM,EACNE,IAAM3L,GAAEkV,GAAW3J,SAAY,IAAIxV,EAAGuY,cAAcA,cAActV,UAAY,KAGhFjD,EAAGuY,cAAcA,cAAc1B,OAAOF,OAKpC+H,EAAA3oB,UAAAkpB,YAAR,SAAoBjf,OACZqf,EAAYpV,GAAEjK,GAAIqE,KAAK,KAAKib,WAAW5f,OAAM,eAC3C6f,EAAW1pB,KAAK0iB,cAAcgH,SAAShmB,cACvCimB,GAAa,KAAgBC,YAAa,KAAgBA,UAAUC,SAAS,gBACnF,OAAyB,IAAlB7pB,KAAK8pB,UACyB,IAAnC9pB,KAAK+pB,YAAY9hB,OAAOrH,QACX,UAAb8oB,GACa,UAAbA,GACa,SAAbA,GACa,WAAbA,GACAC,IAEE3B,EAAOhoB,KAAKgoB,KACZgC,EAAYhqB,KAAK8oB,WACvBU,EAAUS,KAAI,eACNC,EAAQ9V,GAAEpU,MACZuL,EAAU2e,EAAMlC,OACpBzc,EAAUye,EAAU1R,UAAU/M,EAASyc,GACvCkC,EAAMC,YAAY5e,KAEpBpB,EAAGigB,aAGGvB,EAAA3oB,UAAAipB,eAAR,SAAuBhf,GAErB,QADMkgB,EAAalgB,EAAG+O,iBAAiB,iBAC9BzY,EAAI,EAAGA,EAAI4pB,EAAWzpB,OAAQH,IAAK,KACpC6J,EAAU+f,EAAWjS,KAAK3X,GAChC6J,EAAQ6f,YAAY,EAAuBG,WAE7CngB,EAAGigB,aAGGvB,EAAA3oB,UAAAohB,QAAR,WACE,OAAOthB,KAAK0W,KAAO,yBAvGtBoH,EAAAA,UAAS7c,KAAA,CAAC,CACTC,SAAU,8DAROiK,EAAAA,kBACXsc,UACA9K,SACArG,KA6GRuS,EAzGA,GCPA0B,GAAA,WAaE,SAAAA,EAAoBtT,EAAmCC,EAA+B/M,GAAlEnK,KAAAiX,aAAAA,EAAmCjX,KAAAkX,eAAAA,EACrDlX,KAAKmK,GAAKA,EAsDd,OAnDEogB,EAAArqB,UAAAqY,gBAAA,WACEvY,KAAKwqB,UAAYxqB,KAAKmK,GAAGI,cAAc2O,iBAAiB,WAAW,GACnElZ,KAAKwqB,UAAUC,aAAa,mBAAmB,GAC/CzqB,KAAKwqB,UAAU9lB,WAAa,aAG9B6lB,EAAArqB,UAAA2K,YAAA,aAGA0f,EAAArqB,UAAAgY,YAAA,aAGAqS,EAAArqB,UAAA+E,SAAA,aAIAslB,EAAArqB,UAAAwqB,cADA,SACc5nB,OACN6nB,EAAcngB,SAASogB,cAAc,OAC3CD,EAAYjmB,UAAY,eACxBimB,EAAYE,OAAO,cAEbC,EAAShoB,EAAMF,OAAOmoB,QAAQ,WAChCD,GAAUA,EAAOlB,UAAUC,SAAS,cACtClf,QAAQqgB,IAAI,4BACZF,EAAOlB,UAAUjgB,OAAO,YACxBmhB,EAAOL,aAAa,mBAAmB,GACvCK,EAAOG,OAAON,IAGhB7nB,EAAMgI,iBACNhI,EAAMiI,mBAIRwf,EAAArqB,UAAAgrB,WADA,SACWpoB,GAGT,GAFA6H,QAAQqgB,IAAI,sBACGloB,EAAMF,OAAOmoB,QAAQ,WACvB,CACX/qB,KAAKwqB,UAAUC,aAAa,mBAAmB,GAC1CzqB,KAAKwqB,UAAUZ,UAAUC,SAAS,cAErC7pB,KAAKwqB,UAAU9lB,WAAa,iBAGxBymB,EAAUnrB,KAAKmK,GAAGI,cAAc2O,iBAAiB,YAAY,GAC7DyR,EAAc3qB,KAAKmK,GAAGI,cAAc2O,iBAAiB,iBAAiB,GACxEiS,GAAWR,GACbQ,EAAQC,YAAYT,yBA3D3B7M,EAAAA,UAAS7c,KAAA,CAAC,CACTC,SAAU,oEALJoV,SAECzU,SAHgEsJ,EAAAA,qDAgCtE6S,EAAAA,aAAY/c,KAAA,CAAC,WAAY,CAAC,+BAkB1B+c,EAAAA,aAAY/c,KAAA,CAAC,QAAS,CAAC,cAkB1BspB,EApEA,GCAAc,GAAA,WAWE,SAAAA,KAMF,OAHEA,EAAAnrB,UAAA+E,SAAA,iCAZDjE,EAAAA,UAASC,KAAA,CAAC,CACTC,SAAU,qBACVC,SAAA,iaAICQ,EAAAA,oBACAA,EAAAA,SAQH0pB,EAjBA,GCAAC,GAAA,WAME,SAAAA,IAHQtrB,KAAAiU,UAA6B,IAAIjS,EAAAA,QACxBhC,KAAAurB,iBAAuCvrB,KAAKiU,UAAUhR,eAYzE,OAPEzD,OAAAwD,eAAIsoB,EAAAprB,UAAA,kBAAe,KAAnB,WACE,OAAOF,KAAKurB,kDAGdD,EAAAprB,UAAAsrB,gBAAA,SAAgBC,GACdzrB,KAAKiU,UAAUtT,KAAK8qB,IAExBH,EAhBA,GCAAI,GAAA,WAgBE,SAAAA,EAAoBC,GAApB,IAAA7pB,EAAA9B,KAAoBA,KAAA2rB,qBAAAA,EAJX3rB,KAAAiE,UAAW,EACXjE,KAAAod,QAAS,EACTpd,KAAAuL,SAAU,EAGjBvL,KAAK2rB,qBAAqBC,gBAAgB7oB,UAAS,SAAE0oB,GACnD3pB,EAAK+pB,WAAWJ,KAqBtB,OAjBUC,EAAAxrB,UAAA2rB,WAAR,SAAmBJ,GACbzrB,KAAK4J,KAAO6hB,EACdzrB,KAAKod,QAAS,EAEdpd,KAAKod,QAAS,GAIlBsO,EAAAxrB,UAAA+E,SAAA,aAGAymB,EAAAxrB,UAAA4rB,UAAA,WACM9rB,KAAKiE,UAGTjE,KAAK2rB,qBAAqBH,gBAAgBxrB,KAAK4J,yBAlClD5I,EAAAA,UAASC,KAAA,CAAC,CACTC,SAAU,SACVC,SAAA,ujCAJMmqB,kCAQL3pB,EAAAA,wBACAA,EAAAA,oBACAA,EAAAA,wBACAA,EAAAA,sBACAA,EAAAA,uBACAA,EAAAA,SAyBH+pB,EAvCA,GCAAK,GAAA,WAQE,SAAAA,KAGF,2BATC/qB,EAAAA,UAASC,KAAA,CAAC,CACTC,SAAU,UACVC,SAAA,iJAOF4qB,EAXA,GCAAC,GAAA,WAGE,SAAAA,EAAYC,EAAkB3e,EAAe4e,EAAiBC,EAAeC,EAAiBC,EAAoBC,EAAcC,EAAoBC,EAAeC,GACjKzsB,KAAKisB,SAAWA,EAChBjsB,KAAKsN,MAAQA,EACbtN,KAAKksB,QAAUA,EACflsB,KAAKmsB,KAAOA,EACZnsB,KAAKosB,OAASA,EACdpsB,KAAKqsB,UAAYA,EACjBrsB,KAAKssB,KAAOA,EACZtsB,KAAKusB,UAAYA,EACjBvsB,KAAKwsB,MAAQA,EACbxsB,KAAKysB,KAAOA,EAiBhB,OAHgBT,EAAAU,QAAd,WACE,OAAO,IAAIV,EAAW,GAAI,UAAW,WAAW,GAAO,GAAO,EAAO,SAAS,EAAO,GAAI,KAE7FA,EA9BA,iBA0DE,SAAAW,IAzBQ3sB,KAAA4sB,cAAkC,IAAI5qB,EAAAA,QAC7BhC,KAAA6sB,kBAAyC7sB,KAAK4sB,cAAc3pB,eACrEjD,KAAA8sB,mBAAuC,IAAI9qB,EAAAA,QAClChC,KAAA+sB,uBAA8C/sB,KAAK8sB,mBAAmB7pB,eAC/EjD,KAAAgtB,cAAkC,IAAIhrB,EAAAA,QAC7BhC,KAAAitB,MAA6BjtB,KAAKgtB,cAAc/pB,eACzDjD,KAAAktB,cAAkC,IAAIlrB,EAAAA,QAC7BhC,KAAAmtB,MAA6BntB,KAAKktB,cAAcjqB,eACzDjD,KAAAotB,gBAAoC,IAAIprB,EAAAA,QAC/BhC,KAAAqtB,oBAA2CrtB,KAAKotB,gBAAgBnqB,eACzEjD,KAAAstB,eAAkC,IAAItrB,EAAAA,QAC7BhC,KAAAutB,mBAAyCvtB,KAAKstB,eAAerqB,eACtEjD,KAAAwtB,iBAAoC,IAAIxrB,EAAAA,QAC/BhC,KAAAytB,qBAA2CztB,KAAKwtB,iBAAiBvqB,eAC1EjD,KAAA0tB,kBAAqC,IAAI1rB,EAAAA,QAChChC,KAAA2tB,sBAA4C3tB,KAAK0tB,kBAAkBzqB,eAC5EjD,KAAA4tB,cAAiC,IAAI5rB,EAAAA,QAC5BhC,KAAA6tB,kBAAwC7tB,KAAK4tB,cAAc3qB,eACpEjD,KAAA8tB,mBAAuC,IAAI9rB,EAAAA,QAClChC,KAAA+tB,uBAA8C/tB,KAAK8tB,mBAAmB7qB,eAC/EjD,KAAAguB,eAAkC,IAAIhsB,EAAAA,QAC7BhC,KAAAiuB,mBAAyCjuB,KAAKguB,eAAe/qB,eACtEjD,KAAAkuB,cAAiC,IAAIlsB,EAAAA,QAC5BhC,KAAAmuB,kBAAwCnuB,KAAKkuB,cAAcjrB,eAqI9E,OAhIEzD,OAAAwD,eAAI2pB,EAAAzsB,UAAA,mBAAgB,KAApB,WACE,OAAOF,KAAK6sB,mDAGdrtB,OAAAwD,eAAI2pB,EAAAzsB,UAAA,wBAAqB,KAAzB,WACE,OAAOF,KAAK+sB,wDAGdvtB,OAAAwD,eAAI2pB,EAAAzsB,UAAA,oBAAiB,KAArB,WACE,OAAOF,KAAKutB,oDAGd/tB,OAAAwD,eAAI2pB,EAAAzsB,UAAA,sBAAmB,KAAvB,WACE,OAAOF,KAAKytB,sDAGdjuB,OAAAwD,eAAI2pB,EAAAzsB,UAAA,uBAAoB,KAAxB,WACE,OAAOF,KAAK2tB,uDAGdnuB,OAAAwD,eAAI2pB,EAAAzsB,UAAA,mBAAgB,KAApB,WACE,OAAOF,KAAK6tB,mDAGdruB,OAAAwD,eAAI2pB,EAAAzsB,UAAA,OAAI,KAAR,WACE,OAAOF,KAAKitB,uCAGdztB,OAAAwD,eAAI2pB,EAAAzsB,UAAA,OAAI,KAAR,WACE,OAAOF,KAAKmtB,uCAGd3tB,OAAAwD,eAAI2pB,EAAAzsB,UAAA,qBAAkB,KAAtB,WACE,OAAOF,KAAKqtB,qDAGd7tB,OAAAwD,eAAI2pB,EAAAzsB,UAAA,wBAAqB,KAAzB,WACE,OAAOF,KAAK+tB,wDAGdvuB,OAAAwD,eAAI2pB,EAAAzsB,UAAA,oBAAiB,KAArB,WACE,OAAOF,KAAKiuB,oDAGdzuB,OAAAwD,eAAI2pB,EAAAzsB,UAAA,mBAAgB,KAApB,WACE,OAAOF,KAAKmuB,mDAGPxB,EAAAyB,qBAAP,SAA4BtpB,GAC1B,MAAO,CAACjE,MAAOiE,EAAKyP,KAAMzP,EAAM,KAAM+R,WAAW,IAG5C8V,EAAA0B,mBAAP,WACE,MAAO,CACL1B,EAAkByB,qBAAqB,GACvCzB,EAAkByB,qBAAqB,IACvCzB,EAAkByB,qBAAqB,IACvCzB,EAAkByB,qBAAqB,IACvCzB,EAAkByB,qBAAqB,IACvCzB,EAAkByB,qBAAqB,IACvCzB,EAAkByB,qBAAqB,IACvCzB,EAAkByB,qBAAqB,IACvCzB,EAAkByB,qBAAqB,MAIpCzB,EAAA2B,iBAAP,SAAwBxpB,GACtB,MAAO,CAACjE,MAAOiE,EAAKyP,KAAMzP,EAAK+R,WAAW,IAGrC8V,EAAA4B,eAAP,WAAA,IAAAzsB,EAAA9B,KAGQwuB,EAAc,GAKpB,MAPc,CAAC,QAAS,UAAW,iBAAkB,aAAc,WAAY,UAAW,cAAe,eAAgB,UAAW,YAAa,YAAa,SAAU,cACtK,aAAc,YAAa,WAAY,SAAU,kBAAmB,aAEhEnM,QAAO,SAACiK,GACZkC,EAAY9kB,KAAK5H,EAAKwsB,iBAAiBhC,MAGlCkC,GAGT7B,EAAAzsB,UAAAuuB,qBAAA,SAAqBxjB,GACnBjL,KAAK0tB,kBAAkB/sB,KAAKsK,IAG9B0hB,EAAAzsB,UAAAwuB,iBAAA,SAAiBvC,GACfnsB,KAAK4sB,cAAcjsB,KAAKwrB,IAG1BQ,EAAAzsB,UAAAyuB,sBAAA,SAAsBtC,GACpBrsB,KAAK8sB,mBAAmBnsB,KAAK0rB,IAG/BM,EAAAzsB,UAAA0uB,KAAA,WACE5uB,KAAKgtB,cAAcrsB,QAGrBgsB,EAAAzsB,UAAA2uB,KAAA,WACE7uB,KAAKktB,cAAcvsB,QAGrBgsB,EAAAzsB,UAAA4uB,mBAAA,SAAmB1C,GACjBpsB,KAAKotB,gBAAgBzsB,KAAKyrB,IAG5BO,EAAAzsB,UAAA6uB,kBAAA,SAAkBzhB,GAChBtN,KAAKstB,eAAe3sB,KAAK2M,IAG3Bqf,EAAAzsB,UAAA8uB,oBAAA,SAAoBC,GAClBjvB,KAAKwtB,iBAAiB7sB,KAAKsuB,IAG7BtC,EAAAzsB,UAAAgvB,iBAAA,SAAiB5C,GACftsB,KAAK4tB,cAAcjtB,KAAK2rB,IAG1BK,EAAAzsB,UAAAivB,sBAAA,SAAsB5C,GACpBvsB,KAAK8tB,mBAAmBntB,KAAK4rB,IAG/BI,EAAAzsB,UAAAkvB,kBAAA,SAAkB5C,GAChBxsB,KAAKguB,eAAertB,KAAK6rB,IAG3BG,EAAAzsB,UAAAmvB,iBAAA,SAAiB5C,GACfzsB,KAAKkuB,cAAcvtB,KAAK8rB,IAE5BE,KC3LM2C,GAAiB,CACrB,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UACnG,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UACnG,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UACnG,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UACnG,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UACnG,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UACnG,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UACnG,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,WAGrGC,GAAA,WAYE,SAAAA,IANSvvB,KAAAijB,QAAS,EACRjjB,KAAAwvB,cAAgB,IAAIluB,EAAAA,aACpBtB,KAAAyvB,aAAe,IAAInuB,EAAAA,aAC7BtB,KAAA0vB,OAAcJ,GACdtvB,KAAA2vB,MAAQ,UAkBV,OAbEJ,EAAArvB,UAAA+E,SAAA,aAGAsqB,EAAArvB,UAAAijB,OAAA,SAAOlY,EAAQqC,GACbrC,EAAOH,iBACPG,EAAOF,kBACP/K,KAAKwvB,cAAc/tB,KAAK6L,IAG1BiiB,EAAArvB,UAAA8J,MAAA,WACEhK,KAAKijB,QAAS,EACdjjB,KAAKyvB,aAAahuB,MAAK,wBA1B1BT,EAAAA,UAASC,KAAA,CAAC,CACTC,SAAU,kBACVC,SAAA,uxBAICQ,EAAAA,6BACAC,EAAAA,6BACAA,EAAAA,UAoBH2tB,EA5BA,kBCLE,SAAAK,WACEpkB,EAAA9K,KAAAV,OAAOA,YAHgCyL,EAAAA,EAAAA,uBAH1C7C,EAAAA,WAAU3H,KAAA,CAAC,CACV+d,WAAY,yJAE6B2N,ICN3CkD,GAAA,WAEA,SAAAA,IAKE7vB,KAAA8vB,OAA8B,2BAA2BnU,KAAKnY,UAAUC,kBAExEosB,EAAA3vB,UAAA6vB,iBAAA,YACK/vB,KAAKgwB,YAAchwB,KAAKgwB,UAAUC,WAAajwB,KAAK8vB,OACrD9vB,KAAKkwB,aAAalwB,KAAKgwB,YAI3BH,EAAA3vB,UAAAiwB,iBAAA,eACQH,EAAY9tB,OAAOkuB,eACrBJ,EAAUK,WAAa,IACzBrwB,KAAKgwB,UAAYA,EAAUM,WAAW,KAIlCT,EAAA3vB,UAAAgwB,aAAR,SAAqBF,OACbO,EAAMruB,OAAOkuB,eACnBG,EAAIC,kBACJD,EAAIE,SAAST,EAAUU,eAGzBb,EAAA3vB,UAAAywB,iBAAA,WACE3wB,KAAKmwB,mBACLnwB,KAAK+vB,wCA5BRnnB,EAAAA,WAAU3H,KAAA,CAAC,CACV+d,WAAY,kHAHd,GCIM5K,GAAIC,EACVuc,GAAA,WAkBE,SAAAA,EAAoBC,EACAC,EACAC,GAFA/wB,KAAA6wB,mBAAAA,EACA7wB,KAAA8wB,uBAAAA,EACA9wB,KAAA+wB,kBAAAA,EAbZ/wB,KAAAmsB,MAAO,EACPnsB,KAAAosB,QAAS,EACTpsB,KAAAqsB,WAAY,EAIZrsB,KAAAusB,WAAY,EAGZvsB,KAAA8vB,MAAO,EAKb9vB,KAAK8vB,mBAA8B,2BAA2BnU,KAAKnY,UAAUC,WA+OjF,OA5O2BmtB,EAAA1wB,UAAA8wB,QAAzB,WAEEhxB,KAAKmsB,KAAO3hB,SAASymB,kBAAkB,QACvCjxB,KAAKusB,UAAY/hB,SAASymB,kBAAkB,iBAC5CjxB,KAAKosB,OAAS5hB,SAASymB,kBAAkB,UACzCjxB,KAAKksB,QAAU1hB,SAAS0mB,kBAAkB,aAC1ClxB,KAAKqsB,UAAY7hB,SAASymB,kBAAkB,aAC5CjxB,KAAKwsB,MAAQxsB,KAAKmxB,eAClBnxB,KAAKysB,KAAOzsB,KAAKoxB,YAGI,gBAAjBpxB,KAAKksB,UACPlsB,KAAKksB,QAAU9X,GAAElS,OAAOkuB,eAAeiB,UAAUC,YAAYC,IAAI,oBAAoBjjB,YAEvFtO,KAAKssB,KAAO9hB,SAAS0mB,kBAAkB,YAAYnsB,QAAQ,KAAM,IAC9D/E,KAAKssB,KAAK1d,MAAM,KAAKhO,OAAS,IAC/BZ,KAAKssB,KAAOtsB,KAAKssB,KAAK1d,MAAM,KAAK,IAEnC5O,KAAKsN,MAAQ9C,SAAS0mB,kBAAkB,aACxClxB,KAAK8wB,uBAAuBpC,iBAAiB1uB,KAAKmsB,MAClDnsB,KAAK8wB,uBAAuBnC,sBAAsB3uB,KAAKqsB,WACvDrsB,KAAK8wB,uBAAuBhC,mBAAmB9uB,KAAKosB,QACpDpsB,KAAK8wB,uBAAuB/B,kBAAkB/uB,KAAKsN,OACnDtN,KAAK8wB,uBAAuB9B,oBAAoBhvB,KAAKksB,SACrDlsB,KAAK8wB,uBAAuBrC,qBAAqBzuB,KAAKwxB,kBACtDxxB,KAAK8wB,uBAAuB5B,iBAAiBlvB,KAAKssB,MAClDtsB,KAAK8wB,uBAAuB3B,sBAAsBnvB,KAAKusB,WACvDvsB,KAAK8wB,uBAAuB1B,kBAAkBpvB,KAAKwsB,OACnDxsB,KAAK8wB,uBAAuBzB,iBAAiBrvB,KAAKysB,OAG5CmE,EAAA1wB,UAAAixB,aAAR,eACM3E,EAAQ,GAKZ,OAJAA,EAAQhiB,SAASymB,kBAAkB,iBAAmB,SAAWzE,EACjEA,EAAQhiB,SAASymB,kBAAkB,eAAiB,OAASzE,EAC7DA,EAAQhiB,SAASymB,kBAAkB,eAAiB,OAASzE,EAC7DA,EAAQhiB,SAASymB,kBAAkB,gBAAkB,QAAUzE,GAIzDoE,EAAA1wB,UAAAkxB,UAAR,eACM3E,EAAO,GAGX,OAFAA,EAAOjiB,SAASymB,kBAAkB,uBAAyB,YAAcxE,EACzEA,EAAOjiB,SAASymB,kBAAkB,qBAAuB,UAAYxE,GAIvEmE,EAAA1wB,UAAAsxB,eAAA,eACMC,EAAalB,EAcjB,GAbIruB,OAAOkuB,cACTG,EAAMruB,OAAOkuB,gBACLC,YAGuB,KAF7BoB,EAAclB,EAAID,WAAW,GAAGoB,yBAEhB5H,WACd2H,EAAcA,EAAYH,aAGpBf,EAAM/lB,SAAS4lB,iBAAgC,YAAbG,EAAIoB,OAChDF,EAAclB,EAAIqB,cAAclP,iBAG9B+O,EACF,OAAO/jB,SAAS1N,KAAK6xB,yBAAyBJ,EAAa,YAAY1sB,QAAQ,KAAM,IAAK,KAI9F6rB,EAAA1wB,UAAA2xB,yBAAA,SAAyB1nB,EAAI2nB,GAC3B,OAAI5vB,OAAO6vB,iBACF7vB,OAAO6vB,iBAAiB5nB,EAAI,MAAM2nB,GAChC3nB,EAAG6nB,aACL7nB,EAAG6nB,aAAaF,QADlB,GAKTlB,EAAA1wB,UAAA+E,SAAA,WAAA,IAAAnD,EAAA9B,KACEA,KAAK6wB,mBAAmBoB,KAAKlvB,UAAS,WACpCjB,EAAKowB,eAEPlyB,KAAK6wB,mBAAmBsB,KAAKpvB,UAAS,WACpCjB,EAAKswB,eAEPpyB,KAAK6wB,mBAAmBwB,iBAAiBtvB,UAAS,SAAEopB,GAClDrqB,EAAKqqB,KAAOA,EACZrqB,EAAKwwB,eAEPtyB,KAAK6wB,mBAAmB0B,sBAAsBxvB,UAAS,SAAEspB,GACvDvqB,EAAKuqB,UAAYA,EACjBvqB,EAAK0wB,oBAEPxyB,KAAK6wB,mBAAmB4B,mBAAmB1vB,UAAS,SAAEqpB,GACpDtqB,EAAKsqB,OAASA,EACdtqB,EAAK4wB,iBAEP1yB,KAAK6wB,mBAAmB8B,kBAAkB5vB,UAAS,SAAGuK,GACpDxL,EAAKwL,MAAQA,EACbxL,EAAK8wB,SAAStlB,KAEhBtN,KAAK6wB,mBAAmBgC,oBAAoB9vB,UAAS,SAAGksB,GACtDntB,EAAKoqB,QAAU+C,EACfntB,EAAKgxB,WAAW7D,KAElBjvB,KAAK6wB,mBAAmBkC,qBAAqBhwB,UAAS,SAAGkpB,GACvDnqB,EAAKkxB,YAAY/G,KAGnBjsB,KAAK6wB,mBAAmBoC,iBAAiBlwB,UAAS,SAAGupB,GACnDxqB,EAAKwqB,KAAOA,EACZxqB,EAAKoxB,QAAQ5G,KAEftsB,KAAK6wB,mBAAmBsC,sBAAsBpwB,UAAS,SAAEwpB,GACvDzqB,EAAKyqB,UAAYA,EACjBzqB,EAAKsxB,oBAEPpzB,KAAK6wB,mBAAmBwC,kBAAkBtwB,UAAS,SAAEypB,GACnD1qB,EAAK0qB,MAAQA,EACb1qB,EAAKwxB,YAAYxxB,EAAK0qB,SAExBxsB,KAAK6wB,mBAAmB0C,iBAAiBxwB,UAAS,SAAE0pB,OAC5C9iB,EAAS7H,EAAK2qB,OAASA,EAC7B3qB,EAAK2qB,KAAOA,EACZ3qB,EAAK0xB,WAAW1xB,EAAK2qB,KAAM9iB,MAIvBinB,EAAA1wB,UAAAoyB,WAAR,WACE9nB,SAASipB,YAAY,QACrBzzB,KAAK+wB,kBAAkBJ,oBAGjBC,EAAA1wB,UAAAsyB,gBAAR,WACEhoB,SAASipB,YAAY,aACrBzzB,KAAK+wB,kBAAkBJ,oBAGjBC,EAAA1wB,UAAAwyB,aAAR,WACEloB,SAASipB,YAAY,UACrBzzB,KAAK+wB,kBAAkBJ,oBAGjBC,EAAA1wB,UAAA4yB,WAAR,SAAmB5G,GACjB1hB,SAASipB,YAAY,aAAa,EAAOvH,GACzClsB,KAAK+wB,kBAAkBJ,oBAGjBC,EAAA1wB,UAAA0yB,SAAR,SAAiBtlB,GACf9C,SAASipB,YAAY,aAAa,EAAOnmB,GACzCtN,KAAK+wB,kBAAkBJ,oBAGjBC,EAAA1wB,UAAA8yB,YAAR,SAAoB/G,GAClB,GAAIzhB,SAAS4lB,eAAe9hB,WAAY,KAClColB,EAAa,2BAA6BzH,EAAW,cAAgBjsB,KAAKsN,MAAQ,uBAAyBtN,KAAKksB,QAAU,kBAAoBlsB,KAAKssB,KAAO,KAC5J9hB,SAAS4lB,eAAiB,UACxBpwB,KAAKmsB,OACPuH,EAAa,MAAQA,EAAa,QAEhC1zB,KAAKosB,SACPsH,EAAa,MAAQA,EAAa,QAEhC1zB,KAAKqsB,YACPqH,EAAa,MAAQA,EAAa,QAEhC1zB,KAAKusB,YACPmH,EAAa,WAAaA,EAAa,aAEzClpB,SAASipB,YAAY,cAAc,EAAOC,QAE1ClpB,SAASipB,YAAY,YAAY,EAAO,KAE1CzzB,KAAK+wB,kBAAkBJ,oBAGjBC,EAAA1wB,UAAAgyB,WAAR,WACE1nB,SAASipB,YAAY,SAGf7C,EAAA1wB,UAAAkyB,WAAR,WACE5nB,SAASipB,YAAY,SAGf7C,EAAA1wB,UAAAgzB,QAAR,SAAgB5G,GACd9hB,SAASipB,YAAY,YAAY,EAAOnH,GACxCtsB,KAAK+wB,kBAAkBJ,oBAGjBC,EAAA1wB,UAAAkzB,gBAAR,WACE5oB,SAASipB,YAAY,iBACrBzzB,KAAK+wB,kBAAkBJ,oBAGjBC,EAAA1wB,UAAAozB,YAAR,SAAoB9G,GAClB,GAAGxsB,KAAK8vB,KACN9vB,KAAK2zB,cAAcnH,OADrB,CAKA,OADAhiB,SAASipB,YAAY,gBAAgB,EAAO,QACpCjH,GACN,IAAK,SACHhiB,SAASipB,YAAY,iBACrB,MACF,IAAK,OACHjpB,SAASipB,YAAY,eACrB,MACF,IAAK,OACHjpB,SAASipB,YAAY,eACrB,MACF,IAAK,QACHjpB,SAASipB,YAAY,gBAGzBzzB,KAAK+wB,kBAAkBJ,qBAGjBC,EAAA1wB,UAAAyzB,cAAR,SAAsBnH,GACpBxsB,KAAK+wB,kBAAkBhB,mBACvB/vB,KAAK+wB,kBAAkBZ,uBACjBH,EAAY9tB,OAAOkuB,eAAeiB,UAAUC,WAAWA,WAChD,SAAV9E,IACDA,EAAQ,WAEVpY,GAAE4b,GAAWuB,IAAI,aAAc/E,GAC/BxsB,KAAK+wB,kBAAkBJ,oBAGjBC,EAAA1wB,UAAAszB,WAAR,SAAmB/G,EAAc9iB,GAC/B,OAAQ8iB,GACN,IAAK,YACHjiB,SAASipB,YAAY,sBAAuB9pB,GAC5C,MACF,IAAK,UACHa,SAASipB,YAAY,oBAAqB9pB,GAG9C3J,KAAK+wB,kBAAkBJ,wCAhQ1B7S,EAAAA,UAAS7c,KAAA,CAAC,CACTC,SAAU,8DAPJyrB,UACAiD,UAGAC,uCAwBL7R,EAAAA,aAAY/c,KAAA,CAAC,cA4OhB2vB,EApQA,GCLAgD,GAAA,WASE,SAAAA,KAKF,OAHEA,EAAA1zB,UAAA+E,SAAA,iCATDjE,EAAAA,UAASC,KAAA,CAAC,CACTC,SAAU,mBACVC,SAAA,wlGAUFyyB,EAdA,GCAAC,GAAA,WAUE,SAAAA,IAHQ7zB,KAAAiU,UAA6B,IAAIjS,EAAAA,QACxBhC,KAAA8zB,aAAmC9zB,KAAKiU,UAAUhR,sBAKnEzD,OAAAwD,eAAI6wB,EAAA3zB,UAAA,WAAQ,KAAZ,WACE,OAAOF,KAAKiU,2CAGdzU,OAAAwD,eAAI6wB,EAAA3zB,UAAA,cAAW,KAAf,WACE,OAAOF,KAAK8zB,kEAfflrB,EAAAA,WAAU3H,KAAA,CAAC,CACV+d,WAAY,wJAJd,GCAA+U,GAAA,WAYE,SAAAA,EAAoBhD,EAA6CiD,GAA7Ch0B,KAAA+wB,kBAAAA,EAA6C/wB,KAAAg0B,aAAAA,EAFzDh0B,KAAA8vB,OAAuC,2BAA2BnU,KAAKnY,UAAUC,WAoC3F,OA9BSswB,EAAA7zB,UAAA+zB,QADP,SACenxB,GAEb,GADA9C,KAAKgoB,KAAOllB,EAAMF,OACf5C,KAAK8vB,MACF9vB,KAAKgoB,KAAKkM,UAAW,KACjB/hB,EAAOnS,KAAKgoB,KAAKkM,UAAU5lB,WACjCtO,KAAKg0B,aAAahgB,SAASrT,KAAKwR,KAM/B4hB,EAAA7zB,UAAAi0B,aADP,SACoBrxB,GAClB9C,KAAK+wB,kBAAkBZ,mBAEpBnwB,KAAK8vB,MACN9vB,KAAKg0B,aAAahgB,SAASrT,KAAKmC,EAAMF,OAAOsxB,UAAU5lB,aAKpDylB,EAAA7zB,UAAAk0B,OADP,SACctxB,GAGZ,GAFAA,EAAMgI,iBACN9K,KAAK+wB,kBAAkBhB,mBACnB/vB,KAAKgoB,KAAKkM,UAAW,KACjB/hB,EAAOnS,KAAKgoB,KAAKkM,UAAU5lB,WACjCtO,KAAKg0B,aAAahgB,SAASrT,KAAKwR,QAEhCnS,KAAKg0B,aAAahgB,SAASrT,KAAKmC,EAAMF,OAAOsxB,UAAU5lB,iCAvC5DwP,EAAAA,UAAS7c,KAAA,CAAC,CACTC,SAAU,0DAJJ2uB,UACAgE,oCAMLlyB,EAAAA,uBAOAqc,EAAAA,aAAY/c,KAAA,CAAC,QAAS,CAAC,iCAWvB+c,EAAAA,aAAY/c,KAAA,CAAC,aAAc,CAAC,2BAS5B+c,EAAAA,aAAY/c,KAAA,CAAC,OAAQ,CAAC,cAWzB8yB,EA9CA,GCAAM,GAAA,WAWE,SAAAA,IALAr0B,KAAAs0B,iBAA0C,IAAIhzB,EAAAA,aAEtCtB,KAAAu0B,SAAW,GACXv0B,KAAAw0B,SAA+B,GAGrCx0B,KAAKu0B,SAAS7qB,KAAKpE,EAAI0B,WACvBhH,KAAKu0B,SAAS7qB,KAAKpE,EAAIyB,mBAsB3B,OAnBEstB,EAAAn0B,UAAAu0B,eAAA,SAAexN,GACAjnB,KAAKu0B,SAAS/lB,KAAI,SAAC1E,GAAK,OAAAmd,EAAIjf,IAAI0sB,SAAS5qB,OAEpD9J,KAAKw0B,SAAS9qB,KAAKud,GACnBjnB,KAAK20B,WAITN,EAAAn0B,UAAA00B,gBAAA,SAAgB3N,OACR4N,EAAQ70B,KAAKw0B,SAAS7wB,QAAQsjB,IACrB,IAAX4N,GACF70B,KAAKw0B,SAASM,OAAOD,EAAO,GAE9B70B,KAAK20B,UAGCN,EAAAn0B,UAAAy0B,OAAR,WACE30B,KAAKs0B,iBAAiB7yB,KAA8B,IAAzBzB,KAAKw0B,SAAS5zB,6BA7B5CgI,EAAAA,mDA+BDyrB,EAnCA,GCAAU,GAAA,WAYE,SAAAA,EAAoBC,GAAAh1B,KAAAg1B,oBAAAA,EAFXh1B,KAAAi1B,aAAc,EAazB,OAREF,EAAA70B,UAAA+E,SAAA,aAGA8vB,EAAA70B,UAAAqY,gBAAA,WAAA,IAAAzW,EAAA9B,KACEA,KAAKg1B,oBACFV,iBACAvxB,UAAS,SAAEmyB,GAAqB,OAAApzB,EAAKmzB,YAAcC,yBAlBzDl0B,EAAAA,UAASC,KAAA,CAAC,CACTC,SAAU,kBACVC,SAAA,sfAJMkzB,2CASL1yB,EAAAA,SAaHozB,EAvBA,GCAAI,GAAA,WAWE,SAAAA,EAAoBH,GAAAh1B,KAAAg1B,oBAAAA,SAGpBG,EAAAj1B,UAAA8mB,UAAA,SAAUC,EAAuBtmB,GAAjC,IAAAmB,EAAA9B,KACEA,KAAKg1B,oBAAoBP,eAAexN,GAExC,OAAOtmB,EAAKwmB,OAAOF,GAAKzkB,KAAM4yB,EAAAA,SADhB,WAAS,OAAAtzB,EAAKkzB,oBAAoBJ,gBAAgB3N,2BAVnEre,EAAAA,WAAU3H,KAAA,CAAC,CACV+d,WAAY,oDAHNqV,6HAJR,GCaMgB,GAAsB,CAC1B7a,OAAS,CACPoF,MAAO,QAETC,KAAO,CACLD,MAAO,QAETA,MAAQ,CACNA,MAAO,UAIL0V,GAAoB,CACxB9a,OAAS,CACPuF,IAAM,OAERA,IAAM,CACJA,IAAM,QACNH,MAAO,QAETE,OAAS,CACPC,IAAK,UAOTwV,GAAA,WASE,SAAAA,EAAgEC,GAAhE,IAAA1zB,EAAA9B,KAAgEA,KAAAw1B,SAAAA,EADhEx1B,KAAAy1B,MAAK,SAAI3yB,GAAe,OAAAhB,EAAK0zB,SAAStxB,OAAOpB,IAE/C,2BAVC9B,EAAAA,UAASC,KAAA,CAAC,CACTC,SAAU,sBACVC,SAAU,4BAEVu0B,cAAgBC,EAAAA,kBAAkBC,mlCAKrBC,EAAAA,OAAM50B,KAAA,CAAC60B,EAAAA,WAAU,WAAO,OAAAC,0CAFpC/X,EAAAA,aAAY/c,KAAA,CAAC,QAAQ,CAAC,cAGzBs0B,EAVA,GAeAS,GAAA,WAoBE,SAAAA,EAAgER,GAAAx1B,KAAAw1B,SAAAA,EAKlE,OAjBEh2B,OAAAwD,eAAIgzB,EAAA91B,UAAA,kBAAe,KAAnB,WACE,OAAOm1B,GAAoBr1B,KAAKw1B,SAASS,eAAeC,GAAGtW,uCAG7DpgB,OAAAwD,eAAIgzB,EAAA91B,UAAA,gBAAa,KAAjB,WACE,OAAOo1B,GAAkBt1B,KAAKw1B,SAASS,eAAeE,GAAGpW,qCAG3DvgB,OAAAwD,eAAIgzB,EAAA91B,UAAA,SAAM,KAAV,WACE,OAAOF,KAAKw1B,SAASzrB,sCAKvBisB,EAAA91B,UAAAgjB,eAAA,SAAepgB,GACX9C,KAAKw1B,SAASxrB,6BAvBnBhJ,EAAAA,UAASC,KAAA,CAAC,CACTC,SAAU,qBACVC,SAAU,kMAEVu0B,cAAgBC,EAAAA,kBAAkBC,mlCAgBrBC,EAAAA,OAAM50B,KAAA,CAAC60B,EAAAA,WAAU,WAAO,OAAAC,WAKvCC,EAzBA,GA8BAI,GAAA,WAeE,SAAAA,EAAgEZ,GAAhE,IAAA1zB,EAAA9B,KAAgEA,KAAAw1B,SAAAA,EARhEx1B,KAAAq2B,MAAQ,iBAGRr2B,KAAAgjB,SAAW,IAAI1hB,EAAAA,aAGftB,KAAAy1B,MAAK,WAAS,OAAA3zB,EAAKw0B,eAQrB,OAJEF,EAAAl2B,UAAAo2B,YAAA,WACEt2B,KAAKgjB,SAASriB,OACdX,KAAKw1B,SAASxrB,6BAnBjBhJ,EAAAA,UAASC,KAAA,CAAC,CACTC,SAAU,oBACVC,SAAU,4oCAaG00B,EAAAA,OAAM50B,KAAA,CAAC60B,EAAAA,WAAU,WAAO,OAAAC,0CATpChY,EAAAA,YAAW9c,KAAA,CAAC,2BAGZW,EAAAA,sBAGAoc,EAAAA,aAAY/c,KAAA,CAAC,YAShBm1B,EArBA,GA0BAL,GAAA,WAAA,SAAAA,IAQE/1B,KAAAu2B,UAAY,CACVL,EAAG,SACHC,EAAG,UAMLn2B,KAAA+J,MAAO,EAGP/J,KAAAq2B,MAAQ,YAeV,OAbEN,EAAA71B,UAAA8J,MAAA,WACEhK,KAAK+J,MAAO,GAGdgsB,EAAA71B,UAAAgE,OAAA,SAAOpB,GACLA,EAAMiI,kBACN/K,KAAK+J,MAAQ/J,KAAK+J,KAClBS,SAASC,KAAKgrB,SAGhBM,EAAA71B,UAAA+1B,aAAA,WACE,OAAOj2B,KAAKu2B,+BAhCfv1B,EAAAA,UAASC,KAAA,CAAC,CACTC,SAAU,eACVC,SAAU,yDAEVu0B,cAAgBC,EAAAA,kBAAkBC,ojCAGjCj0B,EAAAA,oBAOAA,EAAAA,OAAK,CAAAgwB,KACL5T,EAAAA,YAAW9c,KAAA,CAAC,6BAGZ8c,EAAAA,YAAW9c,KAAA,CAAC,YAgBf80B,EAlCA,GChHAS,GAAA,WAUE,SAAAA,IAFSx2B,KAAAkW,aAAc,EAQzB,OAHEsgB,EAAAt2B,UAAA+E,SAAA,iCAXDjE,EAAAA,UAASC,KAAA,CAAC,CACTC,SAAU,mBACVC,SAAA,yrBAICQ,EAAAA,SAQH60B,EAhBA,GCAAC,GAAA,WASE,SAAAA,IAFUz2B,KAAAqE,YAAc,IAAI/C,EAAAA,aAe9B,OATSm1B,EAAAv2B,UAAAuE,WADP,WAEEzE,KAAKqE,YAAY5C,MAAK,IAIjBg1B,EAAAv2B,UAAAyE,aADP,WAEE3E,KAAKqE,YAAY5C,MAAK,wBAjBzBqc,EAAAA,UAAS7c,KAAA,CAAC,CACTC,SAAU,6FAITU,EAAAA,2BAKAoc,EAAAA,aAAY/c,KAAA,CAAC,oCAKb+c,EAAAA,aAAY/c,KAAA,CAAC,iBAKhBw1B,EAtBA,GCAAC,GAAA,WAYE,SAAAA,EAAoBC,EACAC,GADA52B,KAAA22B,iBAAAA,EACA32B,KAAA42B,QAAAA,SAGpBF,EAAAx2B,UAAA22B,oBAAA,SAAoBC,EAAoCC,GAAxD,IAAAj1B,EAAA9B,KACQg3B,EAAUh3B,KAAK22B,iBAAiBM,wBAAwBF,GACxDG,EAAeJ,EAAiBK,gBAAgBH,GAMtD,OAJAE,EAAaE,UAAS,WACpBt1B,EAAK80B,QAAQS,WAAWH,EAAaI,YAGhCJ,uBAjBVtuB,EAAAA,WAAU3H,KAAA,CAAC,CACV+d,WAAY,oDANZuY,EAAAA,gCADAC,EAAAA,8LADF,GCEAC,GAAA,WAGE,SAAAA,IACEz3B,KAAK03B,MAAQ,GAqBjB,OAlBED,EAAAv3B,UAAAsJ,IAAA,SAAImuB,GACF33B,KAAK03B,MAAQ13B,KAAK03B,MAAM7tB,OAAM,SAAWqsB,GACvC,OAAOA,EAAE0B,QAAUD,EAAKC,QAE1B53B,KAAK03B,MAAMhuB,KAAKiuB,IAGlBF,EAAAv3B,UAAAyJ,OAAA,SAAOguB,GACL33B,KAAK03B,MAAQ13B,KAAK03B,MAAM7tB,OAAM,SAAWqsB,GACvC,OAAOA,EAAE0B,QAAUD,EAAKC,SAI5BH,EAAAv3B,UAAAsO,KAAA,SAAKopB,GACH,OAAO53B,KAAK03B,MAAMlpB,KAAI,SAAW0nB,GAC/B,OAAOA,EAAE0B,QAAUA,KAGzBH,EAzBA,GCFAI,GAAA,WASE,SAAAA,EAAmBf,EACCgB,GADD93B,KAAA82B,iBAAAA,EACC92B,KAAA83B,gBAAAA,EAYtB,OATED,EAAA33B,UAAAqY,gBAAA,WACEvY,KAAK83B,gBAAgBtuB,IAAIxJ,OAG3B63B,EAAA33B,UAAA2K,YAAA,WACE7K,KAAK83B,gBAAgBnuB,OAAO3J,MAC5BA,KAAK82B,iBAAiBiB,6BAhBzBja,EAAAA,UAAS7c,KAAA,CAAC,CACTC,SAAU,+DAJwC82B,EAAAA,wBAC5CP,qCAML91B,EAAAA,SAeHk2B,EAtBA,GCIMzjB,GAAIC,EAEV4jB,GAAA,WA6BE,SAAAA,IApBSj4B,KAAAk4B,IAAK,EACLl4B,KAAAm4B,IAAK,EACLn4B,KAAAo4B,IAAK,EACLp4B,KAAAq4B,IAAK,EAGdr4B,KAAAs4B,GAAK,KACLt4B,KAAAu4B,GAAK,KACLv4B,KAAAw4B,GAAK,KACLx4B,KAAAy4B,GAAK,KAEKz4B,KAAAib,QAAU,IAAI3Z,EAAAA,aACdtB,KAAAkb,QAAU,IAAI5Z,EAAAA,aACdtB,KAAAqZ,UAAY,IAAI/X,EAAAA,aAChBtB,KAAAoZ,WAAa,IAAI9X,EAAAA,aACjBtB,KAAA04B,QAAU,IAAIp3B,EAAAA,aAEhBtB,KAAA24B,MAAO,EAkFjB,OA5EEV,EAAA/3B,UAAAqY,gBAAA,WAAA,IAAAzW,EAAA9B,KACQ44B,EAAOxkB,GAAEpU,KAAK64B,aAAa74B,KAAKs4B,KAChCQ,EAAO1kB,GAAEpU,KAAK64B,aAAa74B,KAAKy4B,KACtC,GAAIz4B,KAAK+4B,MAAQH,GAAQE,GAAQF,EAAKjZ,UAAYmZ,EAAKnZ,SAAU,CAG/D,QAFIqZ,EAAQJ,EAAKjZ,SAASE,KAAOiZ,EAAKnZ,SAASE,KAC3CoZ,EAASL,EAAKjZ,SAASI,IAAM+Y,EAAKnZ,SAASI,IACxCiZ,GAASh5B,KAAKk5B,WAAaD,GAAUj5B,KAAKm5B,YAC/CH,GAAgB,EAChBC,GAAkB,EAEpBrS,WAAU,WACR9kB,EAAKmZ,QAAQxZ,KAAKu3B,GAClBl3B,EAAKoZ,QAAQzZ,KAAKw3B,IACjB,OAIPhB,EAAA/3B,UAAA+E,SAAA,aAGAgzB,EAAA/3B,UAAAk5B,QAAA,SAAQnuB,GAENA,EAAOH,iBACHG,EAAO2S,cACT3S,EAAO2S,aAAayb,QAAQ,OAAQ,OAEtCr5B,KAAK24B,MAAO,EACZ34B,KAAKs5B,YAAcltB,EAAMC,iBAAiBpB,IAG5CgtB,EAAA/3B,UAAAq5B,OAAA,SAAOtuB,EAAmBd,GACxB,GAAKnK,KAAK24B,KAAV,KAGMxzB,EAAWiH,EAAMC,iBAAiBpB,GACxC,GAAmB,IAAf9F,EAAS2E,GAA0B,IAAf3E,EAASoH,EAAjC,KAGMitB,EAAQx5B,KAAKu4B,KAAOpuB,GAAMnK,KAAKy4B,KAAOtuB,EACtCsvB,EAAQz5B,KAAKw4B,KAAOruB,GAAMnK,KAAKy4B,KAAOtuB,EAC5CnK,KAAK05B,WAAWv0B,EAAUs0B,EAAOD,GAC7BA,GACFx5B,KAAKqZ,UAAU5X,KAAK0D,EAASoH,EAAIvM,KAAKs5B,YAAY/sB,GAEhDktB,GACFz5B,KAAKoZ,WAAW3X,KAAK0D,EAAS2E,EAAI9J,KAAKs5B,YAAYxvB,GAErD9J,KAAKs5B,YAAcn0B,KAGb8yB,EAAA/3B,UAAAw5B,WAAR,SAAmBv0B,EAAU2E,EAAYyC,OACjC0O,EAAUnR,EAAI9J,KAAKs5B,YAAYxvB,EAAI3E,EAAS2E,EAAI3E,EAAS2E,EAAI9J,KAAKs5B,YAAYxvB,EAC9EoR,EAAU3O,EAAIvM,KAAKs5B,YAAY/sB,EAAIpH,EAASoH,EAAIpH,EAASoH,EAAIvM,KAAKs5B,YAAY/sB,EACpFvM,KAAKib,QAAQxZ,KAAKwZ,GAClBjb,KAAKkb,QAAQzZ,KAAKyZ,IAGpB+c,EAAA/3B,UAAAy5B,IAAA,SAAI1uB,EAAmBd,GAErBnK,KAAKu5B,OAAOtuB,EAAQd,GACpBnK,KAAK04B,QAAQj3B,MAAK,GAClBzB,KAAK24B,MAAO,GAGdV,EAAA/3B,UAAA05B,MAAA,SAAM3uB,GACJjL,KAAK65B,KAAK5uB,IAGZgtB,EAAA/3B,UAAA25B,KAAA,SAAK5uB,GACHA,EAAOF,kBACPE,EAAOH,kBAGDmtB,EAAA/3B,UAAA24B,aAAR,SAAqB1uB,GACnB,MAAO,IAAMA,EAAK,IAAMnK,KAAK4J,wBA1GhC5I,EAAAA,UAASC,KAAA,CAAC,CACTC,SAAU,cACVC,SAAA,6uDAKCQ,EAAAA,kBACAA,EAAAA,kBACAA,EAAAA,kBACAA,EAAAA,kBACAA,EAAAA,kBACAA,EAAAA,yBACAA,EAAAA,0BACAA,EAAAA,uBAMAC,EAAAA,wBACAA,EAAAA,0BACAA,EAAAA,2BACAA,EAAAA,wBACAA,EAAAA,UAoFHq2B,EA5GA,kBCFE,SAAA6B,WACEtuB,EAAA9K,KAAAV,OAAOA,KAEX,OAL4CyL,EAAAA,EAAAA,GAK5CquB,GAL4CxO,ICF5CyO,GAAA,WAoBE,SAAAA,EAAoBpO,EACA7E,EACAkT,GAFpB,IAAAl4B,EAAA9B,KAAoBA,KAAA2rB,qBAAAA,EACA3rB,KAAA8mB,cAAAA,EACA9mB,KAAAg6B,mBAAAA,EATXh6B,KAAAiE,UAAW,EAEVjE,KAAAi6B,UAAY,IAAI34B,EAAAA,aACjBtB,KAAAoE,gBAAkB,EACpBpE,KAAAod,QAAS,EACTpd,KAAAqE,aAAc,EAKnBrE,KAAK2rB,qBAAqBC,gBAAgB7oB,UAAS,SAAE0oB,GACnD3pB,EAAK+pB,WAAWJ,GACF,OAAVA,GACF3pB,EAAKm4B,UAAUx4B,KAAK,MA8B5B,OAzBUs4B,EAAA75B,UAAA2rB,WAAR,SAAmBJ,GACbzrB,KAAK4J,KAAO6hB,GACdzrB,KAAKod,QAAUpd,KAAKod,OAChBpd,KAAKod,OACPpd,KAAKi6B,UAAUx4B,KAAKzB,KAAK4J,IAEzB5J,KAAKi6B,UAAUx4B,KAAK,KAGtBzB,KAAKod,QAAS,GAIlB2c,EAAA75B,UAAA+E,SAAA,aAGA80B,EAAA75B,UAAAg6B,UAAA,WACE,GAAIl6B,KAAKiE,SAGP,OAFAjE,KAAK8mB,cAAc/c,KAAKlB,EAAaE,mBACrC/I,KAAKg6B,mBAAmBjU,cAAc,8BAGxC/lB,KAAK2rB,qBAAqBH,gBAAgBxrB,KAAK4J,yBAhDlD5I,EAAAA,UAASC,KAAA,CAAC,CACTC,SAAU,aACVC,SAAA,mnCALM24B,UACAxwB,SAFAsc,kCAULjkB,EAAAA,oBACAA,EAAAA,wBACAA,EAAAA,uBACAA,EAAAA,yBACAC,EAAAA,gCACAD,EAAAA,SAwCHo4B,EAxDA,GCMM3lB,GAAIC,EAEV8lB,GAAA,WA4BE,SAAAA,EAAoBpX,GAApB,IAAAjhB,EAAA9B,KAAoBA,KAAA+iB,gBAAAA,EAfX/iB,KAAAo6B,YAAa,EACbp6B,KAAAq6B,cAAe,EAEdr6B,KAAAs6B,YAAc,IAAIh5B,EAAAA,aAClBtB,KAAAu6B,QAAU,IAAIj5B,EAAAA,aACdtB,KAAAw6B,QAAU,IAAIl5B,EAAAA,aACdtB,KAAAy6B,UAAY,IAAIn5B,EAAAA,aAChBtB,KAAA06B,aAAe,IAAIp5B,EAAAA,aACnBtB,KAAA26B,SAAW,IAAIr5B,EAAAA,aAEzBtB,KAAA46B,gBAAkBjO,GAAkB0B,qBACpCruB,KAAAwuB,YAAc7B,GAAkB4B,iBAChCvuB,KAAA66B,iBAAkB,EAIhB9X,EAAgB/X,QAAQjI,UAAS,WAC/BjB,EAAK+4B,iBAAkB,IA2D7B,OAvDEV,EAAAj6B,UAAA+E,SAAA,aAGAk1B,EAAAj6B,UAAA46B,eAAA,SAAe7vB,GACbmJ,GAAE,eAAe2mB,IAAI,SACrB/6B,KAAKs6B,YAAY74B,KAAKwJ,EAAOpK,OAC7BuT,GAAE,eAAe4mB,GAAG,QAAO,WAEzB,QADMC,EAAezwB,SAAS0wB,qBAAqB,QAC1Cz6B,EAAI,EAAG4N,EAAM4sB,EAAar6B,OAAQH,EAAI4N,IAAO5N,EACP,MAAzCw6B,EAAax6B,GAAG06B,aAAa,UAC/BF,EAAax6B,GAAG26B,gBAAgB,QAChCH,EAAax6B,GAAG4X,MAAM4T,SAAWhhB,EAAS,SAMlDkvB,EAAAj6B,UAAAm7B,WAAA,SAAWpwB,GACTnI,MAAMgI,iBACNhI,MAAMiI,kBACN/K,KAAKu6B,QAAQ94B,KAAKwJ,EAAOpK,QAG3Bs5B,EAAAj6B,UAAAo7B,kBAAA,SAAkBrwB,GAChBA,EAAOH,iBACPG,EAAOF,kBACP/K,KAAK66B,iBAAmB76B,KAAK66B,iBAG/BV,EAAAj6B,UAAAq7B,YAAA,SAAYtwB,GACVjL,KAAK66B,iBAAkB,EACvB76B,KAAK26B,SAASl5B,KAAKwJ,IAGrBkvB,EAAAj6B,UAAAoyB,WAAA,SAAWxvB,GACTA,EAAMgI,iBACNhI,EAAMiI,kBACN/K,KAAKw6B,QAAQ/4B,MAAMzB,KAAKmsB,OAG1BgO,EAAAj6B,UAAAwyB,aAAA,SAAa5vB,GACXA,EAAMgI,iBACNhI,EAAMiI,kBACN/K,KAAKy6B,UAAUh5B,MAAMzB,KAAKosB,SAG5B+N,EAAAj6B,UAAAsyB,gBAAA,SAAgB1vB,GACdA,EAAMgI,iBACNhI,EAAMiI,kBACN/K,KAAK06B,aAAaj5B,MAAMzB,KAAKqsB,YAG/B8N,EAAAj6B,UAAAs7B,YAAA,SAAYvwB,GACVjL,KAAK66B,iBAAmB5vB,uBAvF3BjK,EAAAA,UAASC,KAAA,CAAC,CACTC,SAAU,eACVC,SAAA,0yFAPMyhB,oCAWLjhB,EAAAA,wBACAA,EAAAA,oBACAA,EAAAA,oBACAA,EAAAA,sBACAA,EAAAA,yBACAA,EAAAA,qBACAA,EAAAA,0BACAA,EAAAA,4BACAA,EAAAA,2BAEAC,EAAAA,wBACAA,EAAAA,wBACAA,EAAAA,0BACAA,EAAAA,6BACAA,EAAAA,yBACAA,EAAAA,UAoEHu4B,EAzFA,GCRAsB,GAAA,WAIA,SAAAA,KAGA,OAFgBA,EAAAC,cAAgB,YAChBD,EAAAE,eAAiB,aACjCF,EAPA,iBA6BE,SAAAG,EAAoB1kB,GAApB,IAAApV,EAAA9B,KAAoBA,KAAAkX,eAAAA,EAdXlX,KAAA67B,WAAyB7P,GAAWU,UAGpC1sB,KAAA87B,MAAO,EACP97B,KAAA+7B,YAAc,EAEb/7B,KAAAg8B,iBAAmB,IAAI16B,EAAAA,aACvBtB,KAAAi8B,WAAa,IAAI36B,EAAAA,aACjBtB,KAAAk8B,SAAW,IAAI56B,EAAAA,aACftB,KAAAm8B,QAAU,IAAI76B,EAAAA,aACdtB,KAAAo8B,QAAU,IAAI96B,EAAAA,aAKtBtB,KAAKkD,SAAWgU,EAAehU,WAC/BgU,EAAe5S,SAASvB,UAAS,SAAEwB,GACjCzC,EAAKoB,SAAWgU,EAAehU,aAiErC,OA7DE04B,EAAA17B,UAAA+E,SAAA,aAGA22B,EAAA17B,UAAAm8B,YAAA,WACEr8B,KAAKg8B,iBAAiBv6B,KAAKzB,KAAK67B,aAGlCD,EAAA17B,UAAA46B,eAAA,SAAe7vB,GACbjL,KAAK67B,WAAW5P,SAAWhhB,EAC3BjL,KAAKq8B,eAGPT,EAAA17B,UAAAm7B,WAAA,SAAWpwB,GACTjL,KAAK67B,WAAWvP,KAAOrhB,EACvBjL,KAAKq8B,eAGPT,EAAA17B,UAAAq7B,YAAA,SAAYtwB,GACVjL,KAAK67B,WAAWvuB,MAAQrC,EACxBjL,KAAKq8B,eAGPT,EAAA17B,UAAAoyB,WAAA,SAAWrnB,GACTjL,KAAK67B,WAAW1P,KAAOlhB,EACvBjL,KAAKq8B,eAGPT,EAAA17B,UAAAwyB,aAAA,SAAaznB,GACXjL,KAAK67B,WAAWzP,OAASnhB,EACzBjL,KAAKq8B,eAGPT,EAAA17B,UAAAsyB,gBAAA,SAAgBvnB,GACdjL,KAAK67B,WAAWxP,UAAYphB,EAC5BjL,KAAKq8B,eAGPT,EAAA17B,UAAAo8B,WAAA,WACEt8B,KAAKi8B,WAAWx6B,MAAK,IAGvBm6B,EAAA17B,UAAAq8B,WAAA,WACEv8B,KAAK87B,MAAQ97B,KAAK87B,KAClB97B,KAAKm8B,QAAQ16B,KAAKzB,KAAK87B,OAGzBF,EAAA17B,UAAAs8B,WAAA,WACEx8B,KAAKk8B,SAASz6B,MAAK,IAGrBm6B,EAAA17B,UAAAu8B,YAAA,WACE,OAAOz8B,KAAK08B,WAAajB,GAASC,eAGpCE,EAAA17B,UAAAy8B,aAAA,WACE,OAAO38B,KAAK08B,WAAajB,GAASE,gBAGpCC,EAAA17B,UAAA08B,WAAA,WACE58B,KAAKo8B,QAAQ36B,MAAK,wBAtFrBT,EAAAA,UAASC,KAAA,CAAC,CACTC,SAAU,kBACVC,SAAA,ioEATMU,yCAaLF,EAAAA,wBACAA,EAAAA,2BACAA,EAAAA,oBACAA,EAAAA,2BACAA,EAAAA,wBACAA,EAAAA,gCACAC,EAAAA,2BACAA,EAAAA,yBACAA,EAAAA,wBACAA,EAAAA,wBACAA,EAAAA,UAwEHg6B,KCrBMiB,GAAY,CAACh1B,EACjBvC,EACAgE,EACAwzB,EACAC,EACAxuB,EACAnC,EACA8P,EACAK,EACAE,EACAE,EACA9I,EACAoQ,GACA5F,EACAJ,EACA3H,EACAsP,GACAQ,GACAS,GACAY,GACA5lB,EACAod,GACA0N,GACAiD,GACAhN,GACAuS,GACAd,GACA/I,GACAoL,GACAe,GACAqC,IAEFkD,GAAA,WAoGE,SAAAA,IACEC,EAAAA,QAAQzzB,IAAI0zB,EAAAA,IAAKC,EAAAA,KAErB,2BAvGCC,EAAAA,SAAQn8B,KAAA,CAAC,CACRo8B,QAAS,CAACC,EAAAA,aAAcC,EAAAA,kBAAmBC,EAAAA,oBAC3CC,aAAc,CACZ18B,EACAK,EACAyC,EACAmB,EACAE,EACA+E,EACAuK,EACAuC,EACA2E,EACAQ,EACAK,EACAE,EACAE,EACAE,EACAG,EACAmD,GACA0B,GACAiB,GACAM,GACAI,GACAO,GACAQ,GACA0B,GACAO,GACA6B,GACAQ,GACA0B,GACAc,GACAK,GACAK,GACAwD,GACAqB,GACAgD,GACAG,GACAgB,GACAgB,GACAK,GACAJ,GACAT,GACAiB,GACAC,GACAoB,GACAI,GACA8B,GACAI,GACAyB,IAEF8B,QAAS,CACP38B,EACAK,EACAyC,EACAmB,EACAE,EACA+E,EACAuK,EACAuC,EACA2E,EACAa,EACAE,EACAE,EACAT,EACAW,EACAsD,GACA2C,GACAU,GACAO,GACAQ,GACA0B,GACAO,GACA6B,GACAQ,GACA0B,GACAc,GACAK,GACAK,GACAwD,GACAqB,GACAgD,GACAmB,GACA/X,EACA+Y,GACAK,GACAJ,GACAT,GACA1T,GACA0T,GACAiB,GACAC,GACAoB,GACAI,GACA8B,GACAI,GACAyB,IAEFiB,UAAWA,6CAMbG,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 @Output() hideSidePanel = new EventEmitter();\r\n\r\n onlyTitle = false;\r\n\r\n constructor() {\r\n }\r\n\r\n openSidePanel() {\r\n this.hideSidePanel.emit(true);\r\n }\r\n\r\n toggleTitleMode(){\r\n this.onlyTitle = !this.onlyTitle;\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 EDITOR_APP = '/editor';\r\n public static COMPARISON_APP = '/comparison';\r\n public static CONVERSION_APP = '/conversion';\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 ROTATE_DOCUMENT_PAGE = '/rotateDocumentPages';\r\n public static UPLOAD_DOCUMENTS = '/uploadDocument';\r\n public static DOWNLOAD_DOCUMENTS = '/downloadDocument';\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 COMPARE_FILES = '/compare';\r\n public static CONVERT_FILE = '/convert';\r\n public static DELETE_SIGNATURE_FILE = '/deleteSignatureFile';\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\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 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","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}\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 {\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\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 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\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\r\n ngOnInit() {\r\n }\r\n\r\n ngOnChanges() {\r\n const panzoom = this._elementRef.nativeElement.children.item(0).children.item(0);\r\n (panzoom as any).style.transform = '';\r\n // TODO: this intersects with zooming by zoom directive, but still needed\r\n // for flush previous settings before opening another file\r\n //this._zoomService.changeZoom(100);\r\n //this.scale = 1;\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 getDimensionWithUnit(value: number) {\r\n return 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 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 absolutePosition(el) {\r\n let x = 0, y = 0;\r\n\r\n while (el !== null) {\r\n x += el.offsetLeft;\r\n y += el.offsetTop;\r\n el = el.offsetParent;\r\n }\r\n\r\n return {x: x, y: y};\r\n };\r\n\r\n restrictRawPos(pos, viewportDim, docDim) {\r\n if (pos < viewportDim / this.scale - docDim) { // too far left/up?\r\n pos = viewportDim / this.scale - docDim;\r\n } else if (pos > 0) { // too far right/down?\r\n pos = 0;\r\n }\r\n return pos;\r\n };\r\n\r\n updateLastPos() {\r\n this.lastX = this.x;\r\n this.lastY = this.y;\r\n };\r\n\r\n translate(deltaX, deltaY) {\r\n // We restrict to the min of the viewport width/height or current width/height as the\r\n // current width/height may be smaller than the viewport width/height\r\n const newX = this.restrictRawPos(this.lastX + deltaX / this.scale,\r\n Math.min(this.viewportWidth, this.curWidth), this.docWidth);\r\n this.x = newX;\r\n // TODO: value here and in the similar line below changes to positive to take any effect\r\n this.container.scrollLeft = -Math.ceil(newX * this.scale);\r\n\r\n const newY = this.restrictRawPos(this.lastY + deltaY / this.scale,\r\n Math.min(this.viewportHeight, this.curHeight), this.docHeight);\r\n this.y = newY;\r\n this.container.scrollTop = -Math.ceil(newY * this.scale);\r\n\r\n this.doc.style.transform = 'scale(' + this.scale + ')';\r\n };\r\n\r\n startZoom(scaleBy) {\r\n this.scale = this.lastScale * scaleBy;\r\n\r\n this.curWidth = this.docWidth * this.scale;\r\n this.curHeight = this.docHeight * this.scale;\r\n\r\n // Adjust margins to make sure that we aren't out of bounds\r\n this.translate(0, 0);\r\n };\r\n\r\n rawCenter($event) {\r\n const pos = this.absolutePosition(this.container);\r\n\r\n // We need to account for the scroll position\r\n const scrollLeft = window.pageXOffset ? window.pageXOffset : document.body.scrollLeft;\r\n const scrollTop = window.pageYOffset ? window.pageYOffset : document.body.scrollTop;\r\n\r\n const zoomX = -this.x + ($event.center.x - pos.x + scrollLeft) / this.scale;\r\n const zoomY = -this.y + ($event.center.y - pos.y + scrollTop) / this.scale;\r\n\r\n return {x: zoomX, y: zoomY};\r\n };\r\n\r\n updateLastScale() {\r\n this.lastScale = this.scale;\r\n };\r\n\r\n zoomAround(scaleBy, rawZoomX, rawZoomY, doNotUpdateLast) {\r\n // Zoom\r\n this.startZoom(scaleBy);\r\n\r\n // New raw center of viewport\r\n const rawCenterX = -this.x + Math.min(this.viewportWidth, this.curWidth) / 2 / this.scale;\r\n const rawCenterY = -this.y + Math.min(this.viewportHeight, this.curHeight) / 2 / this.scale;\r\n\r\n // Delta\r\n const deltaX = (rawCenterX - rawZoomX) * this.scale;\r\n const deltaY = (rawCenterY - rawZoomY) * this.scale;\r\n\r\n // Translate back to zoom center\r\n this.translate(deltaX, deltaY);\r\n\r\n if (!doNotUpdateLast) {\r\n this.updateLastScale();\r\n this.updateLastPos();\r\n }\r\n };\r\n\r\n onPinch($event) {\r\n if (this.pinchCenter === null) {\r\n this.pinchCenter = this.rawCenter($event);\r\n const offsetX = this.pinchCenter.x * this.scale - (-this.x * this.scale + Math.min(this.viewportWidth, this.curWidth) / 2);\r\n const offsetY = this.pinchCenter.y * this.scale - (-this.y * this.scale + Math.min(this.viewportHeight, this.curHeight) / 2);\r\n this.pinchCenterOffset = {x: offsetX, y: offsetY};\r\n }\r\n\r\n const newScale = this.scale * $event.scale;\r\n\r\n const zoomX = this.pinchCenter.x * newScale - this.pinchCenterOffset.x;\r\n const zoomY = this.pinchCenter.y * newScale - this.pinchCenterOffset.y;\r\n const zoomCenter = {x: zoomX / newScale, y: zoomY / newScale};\r\n\r\n this.zoomAround($event.scale, zoomCenter.x, zoomCenter.y, true);\r\n }\r\n\r\n onPinchEnd($event) {\r\n this.updateLastScale();\r\n this.updateLastPos();\r\n this.pinchCenter = null;\r\n }\r\n\r\n onPan($event) {\r\n // TODO: looks like native pan works better\r\n // if (!this.isDesktop) {\r\n // this.translate($event.deltaX, $event.deltaY);\r\n // }\r\n }\r\n\r\n onPanEnd($event) {\r\n // if (!this.isDesktop) {\r\n // this.updateLastPos();\r\n // }\r\n }\r\n\r\n onDoubleTap($event) {\r\n if (!this.isDesktop) {\r\n if ($event.tapCount === 2) {\r\n const c = this.rawCenter($event);\r\n this.zoomAround(2, c.x, c.y, false);\r\n }\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 // 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 !== null ? this.data.replace(/>\\s+<').replace(/\\uFEFF/g,\"\") : null;\r\n const dataImagePngBase64 = 'data:image/png;base64,';\r\n this.imgData = dataImagePngBase64;\r\n if (!this.isHtml) {\r\n this.imgData += 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 {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 {Observable, Observer} 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 readonly _navigate: Observable;\r\n private _observer: Observer;\r\n\r\n constructor(private _pagePreloadService: PagePreloadService) {\r\n this._navigate = new Observable(observer =>\r\n this._observer = observer);\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 {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\r\n private currentPage: number;\r\n private zoom = 100;\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 const count = Math.floor((this.getWidth() - offset) / (pageEl.getBoundingClientRect().width * this.getZoom()));\r\n return count === 0 ? 1 : count;\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 this._navigateService.currentPage = page;\r\n }\r\n currentPageSet = true;\r\n }\r\n this._pagePreloadService.changeLastPageInView(page);\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 {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.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 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 scrollWidth = this.getScrollWidth(this.el.nativeElement.parentElement);\r\n this.width = (viewPortWidth/zoomInt - scrollWidth/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 @Input() isOpen = false;\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 }\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 if (this.htmlMode) {\r\n for (const page of pages) {\r\n pagesHtml += '
' +\r\n '
' + page.data + '
' +\r\n '
';\r\n }\r\n } else {\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 windowObject.focus();\r\n windowObject.print();\r\n windowObject.close();\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 {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 constructor() {\r\n }\r\n\r\n get messageChange(): Observable {\r\n return this._messageChange;\r\n }\r\n\r\n changeMessage(message: string) {\r\n this._observer.next(message);\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 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._modalService.open(CommonModals.ErrorMessage);\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 {AfterViewInit, Directive, HostBinding, Input, OnDestroy, OnInit, ElementRef, OnChanges, HostListener} 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: '[gdEditHeaderFooter]'\r\n})\r\nexport class EditHeaderFooterDirective implements OnInit, OnDestroy, AfterViewInit, OnChanges {\r\n\r\n el: ElementRef;\r\n footerRef: any;\r\n\r\n constructor(private _zoomService: ZoomService, private _windowService: WindowService, el: ElementRef) {\r\n this.el = el;\r\n }\r\n\r\n ngAfterViewInit(): void {\r\n this.footerRef = this.el.nativeElement.querySelectorAll('.footer')[0];\r\n this.footerRef.setAttribute(\"contenteditable\", false);\r\n this.footerRef.className += \" disabled\";\r\n }\r\n\r\n ngOnDestroy(): void {\r\n }\r\n\r\n ngOnChanges(): void {\r\n }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n @HostListener('dblclick', ['$event'])\r\n dblclickEvent(event) {\r\n const footerTitle = document.createElement(\"div\");\r\n footerTitle.className = \"footer-title\";\r\n footerTitle.append('Footer');\r\n\r\n const footer = event.target.closest('.footer');\r\n if (footer && footer.classList.contains('disabled')) {\r\n console.log('dblclick in footer fired');\r\n footer.classList.remove('disabled');\r\n footer.setAttribute(\"contenteditable\", true);\r\n footer.before(footerTitle);\r\n }\r\n\r\n event.preventDefault();\r\n event.stopPropagation();\r\n }\r\n\r\n @HostListener('click', ['$event'])\r\n clickEvent(event) {\r\n console.log('click on el fired');\r\n const footer = event.target.closest('.footer');\r\n if (!footer) {\r\n this.footerRef.setAttribute(\"contenteditable\", false);\r\n if (!this.footerRef.classList.contains('disabled'))\r\n {\r\n this.footerRef.className += \" disabled\";\r\n }\r\n\r\n const section = this.el.nativeElement.querySelectorAll('.section')[0];\r\n const footerTitle = this.el.nativeElement.querySelectorAll('.footer-title')[0];\r\n if (section && footerTitle) {\r\n section.removeChild(footerTitle);\r\n }\r\n }\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 }\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 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} 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\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\r\n constructor(private _onCloseService: OnCloseService) {\r\n _onCloseService.onClose.subscribe(() => {\r\n this.colorPickerShow = false;\r\n });\r\n }\r\n\r\n ngOnInit() {\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} from '@angular/core';\r\nimport {Formatting} from \"../formatting.service\";\r\nimport {WindowService} from \"../window.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 this.isMobile = _windowService.isMobile();\r\n _windowService.onResize.subscribe((w) => {\r\n this.isMobile = _windowService.isMobile();\r\n });\r\n }\r\n\r\n ngOnInit() {\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 {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 {EditHeaderFooterDirective} from './editheaderfooter.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 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 EditHeaderFooterDirective,\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 SelectComponent,\r\n RotationDirective,\r\n InitStateComponent,\r\n RenderPrintDirective,\r\n ErrorModalComponent,\r\n PasswordRequiredComponent,\r\n SearchComponent,\r\n SearchableDirective,\r\n EditHeaderFooterDirective,\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/groupdocs.examples.angular-common-components.js b/dist/libs/common-components/esm2015/groupdocs.examples.angular-common-components.js index 2415dc810..4966a7a25 100644 --- a/dist/libs/common-components/esm2015/groupdocs.examples.angular-common-components.js +++ b/dist/libs/common-components/esm2015/groupdocs.examples.angular-common-components.js @@ -6,8 +6,9 @@ * Generated bundle index. Do not edit. */ export { CommonComponentsModule, Api, ConfigService, CommonModals, ModalService, PageModel, RotatedPage, FileCredentials, SaveFile, FileDescription, FileModel, HttpError, Utils, FileUtil, FileService, UploadFilesService, SanitizeHtmlPipe, SanitizeResourceHtmlPipe, SanitizeStylePipe, HighlightSearchPipe, NavigateService, PagePreloadService, ZoomService, RenderPrintService, ErrorInterceptorService, ExceptionMessageService, PasswordService, WindowService, ViewportService, BrowseFilesModalComponent, ButtonComponent, DisabledCursorDirective, DndDirective, DocumentComponent, ErrorModalComponent, InitStateComponent, LogoComponent, ModalComponent, PageComponent, PasswordRequiredComponent, RenderPrintDirective, RotationDirective, ScrollableDirective, SearchService, SearchComponent, SearchableDirective, SelectComponent, TooltipComponent, TopToolbarComponent, SidePanelComponent, UploadFileZoneComponent, ZoomDirective, SelectionService, OnCloseService, LoadingMaskService, LoadingMaskInterceptorService, FormattingDirective, Formatting, FormattingService, BackFormattingService, EditorDirective, EditHtmlService, ColorPickerComponent, LoadingMaskComponent, SuccessModalComponent, TabComponent, TabbedToolbarsComponent, TabActivatorService, DropDownToggleComponent, DropDownItemsComponent, DropDownItemComponent, DropDownComponent, LeftSideBarComponent, AddDynamicComponentService, HostDynamicDirective, HostingDynamicComponentService, TopTabActivatorService, MenuType, ContextMenuComponent, TextMenuComponent } from './index'; -export { ResizingComponent as ɵc } from './lib/resizing/resizing.component'; -export { TabsComponent as ɵa } from './lib/tabs/tabs.component'; -export { TooltipDirective as ɵb } from './lib/tooltip.directive'; -export { TopTabComponent as ɵd } from './lib/top-tab/top-tab.component'; -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JvdXBkb2NzLmV4YW1wbGVzLmFuZ3VsYXItY29tbW9uLWNvbXBvbmVudHMuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AZ3JvdXBkb2NzLmV4YW1wbGVzLmFuZ3VsYXIvY29tbW9uLWNvbXBvbmVudHMvIiwic291cmNlcyI6WyJncm91cGRvY3MuZXhhbXBsZXMuYW5ndWxhci1jb21tb24tY29tcG9uZW50cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBSUEsOCtDQUFjLFNBQVMsQ0FBQztBQUV4QixPQUFPLEVBQUMsaUJBQWlCLElBQUksRUFBRSxFQUFDLE1BQU0sbUNBQW1DLENBQUM7QUFDMUUsT0FBTyxFQUFDLGFBQWEsSUFBSSxFQUFFLEVBQUMsTUFBTSwyQkFBMkIsQ0FBQztBQUM5RCxPQUFPLEVBQUMsZ0JBQWdCLElBQUksRUFBRSxFQUFDLE1BQU0seUJBQXlCLENBQUM7QUFDL0QsT0FBTyxFQUFDLGVBQWUsSUFBSSxFQUFFLEVBQUMsTUFBTSxpQ0FBaUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2VuZXJhdGVkIGJ1bmRsZSBpbmRleC4gRG8gbm90IGVkaXQuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9pbmRleCc7XG5cbmV4cG9ydCB7UmVzaXppbmdDb21wb25lbnQgYXMgybVjfSBmcm9tICcuL2xpYi9yZXNpemluZy9yZXNpemluZy5jb21wb25lbnQnO1xuZXhwb3J0IHtUYWJzQ29tcG9uZW50IGFzIMm1YX0gZnJvbSAnLi9saWIvdGFicy90YWJzLmNvbXBvbmVudCc7XG5leHBvcnQge1Rvb2x0aXBEaXJlY3RpdmUgYXMgybVifSBmcm9tICcuL2xpYi90b29sdGlwLmRpcmVjdGl2ZSc7XG5leHBvcnQge1RvcFRhYkNvbXBvbmVudCBhcyDJtWR9IGZyb20gJy4vbGliL3RvcC10YWIvdG9wLXRhYi5jb21wb25lbnQnOyJdfQ== \ No newline at end of file +export { EditHeaderFooterDirective as ɵa } from './lib/editheaderfooter.directive'; +export { ResizingComponent as ɵd } from './lib/resizing/resizing.component'; +export { TabsComponent as ɵb } from './lib/tabs/tabs.component'; +export { TooltipDirective as ɵc } from './lib/tooltip.directive'; +export { TopTabComponent as ɵe } from './lib/top-tab/top-tab.component'; +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JvdXBkb2NzLmV4YW1wbGVzLmFuZ3VsYXItY29tbW9uLWNvbXBvbmVudHMuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AZ3JvdXBkb2NzLmV4YW1wbGVzLmFuZ3VsYXIvY29tbW9uLWNvbXBvbmVudHMvIiwic291cmNlcyI6WyJncm91cGRvY3MuZXhhbXBsZXMuYW5ndWxhci1jb21tb24tY29tcG9uZW50cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBSUEsOCtDQUFjLFNBQVMsQ0FBQztBQUV4QixPQUFPLEVBQUMseUJBQXlCLElBQUksRUFBRSxFQUFDLE1BQU0sa0NBQWtDLENBQUM7QUFDakYsT0FBTyxFQUFDLGlCQUFpQixJQUFJLEVBQUUsRUFBQyxNQUFNLG1DQUFtQyxDQUFDO0FBQzFFLE9BQU8sRUFBQyxhQUFhLElBQUksRUFBRSxFQUFDLE1BQU0sMkJBQTJCLENBQUM7QUFDOUQsT0FBTyxFQUFDLGdCQUFnQixJQUFJLEVBQUUsRUFBQyxNQUFNLHlCQUF5QixDQUFDO0FBQy9ELE9BQU8sRUFBQyxlQUFlLElBQUksRUFBRSxFQUFDLE1BQU0saUNBQWlDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEdlbmVyYXRlZCBidW5kbGUgaW5kZXguIERvIG5vdCBlZGl0LlxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vaW5kZXgnO1xuXG5leHBvcnQge0VkaXRIZWFkZXJGb290ZXJEaXJlY3RpdmUgYXMgybVhfSBmcm9tICcuL2xpYi9lZGl0aGVhZGVyZm9vdGVyLmRpcmVjdGl2ZSc7XG5leHBvcnQge1Jlc2l6aW5nQ29tcG9uZW50IGFzIMm1ZH0gZnJvbSAnLi9saWIvcmVzaXppbmcvcmVzaXppbmcuY29tcG9uZW50JztcbmV4cG9ydCB7VGFic0NvbXBvbmVudCBhcyDJtWJ9IGZyb20gJy4vbGliL3RhYnMvdGFicy5jb21wb25lbnQnO1xuZXhwb3J0IHtUb29sdGlwRGlyZWN0aXZlIGFzIMm1Y30gZnJvbSAnLi9saWIvdG9vbHRpcC5kaXJlY3RpdmUnO1xuZXhwb3J0IHtUb3BUYWJDb21wb25lbnQgYXMgybVlfSBmcm9tICcuL2xpYi90b3AtdGFiL3RvcC10YWIuY29tcG9uZW50JzsiXX0= \ No newline at end of file diff --git a/dist/libs/common-components/esm2015/lib/editheaderfooter.directive.js b/dist/libs/common-components/esm2015/lib/editheaderfooter.directive.js new file mode 100644 index 000000000..5781f606a --- /dev/null +++ b/dist/libs/common-components/esm2015/lib/editheaderfooter.directive.js @@ -0,0 +1,116 @@ +/** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ +import { Directive, ElementRef, HostListener } from '@angular/core'; +import { ZoomService } from "./zoom.service"; +import { WindowService } from './window.service'; +export class EditHeaderFooterDirective { + /** + * @param {?} _zoomService + * @param {?} _windowService + * @param {?} el + */ + constructor(_zoomService, _windowService, el) { + this._zoomService = _zoomService; + this._windowService = _windowService; + this.el = el; + } + /** + * @return {?} + */ + ngAfterViewInit() { + this.footerRef = this.el.nativeElement.querySelectorAll('.footer')[0]; + this.footerRef.setAttribute("contenteditable", false); + this.footerRef.className += " disabled"; + } + /** + * @return {?} + */ + ngOnDestroy() { + } + /** + * @return {?} + */ + ngOnChanges() { + } + /** + * @return {?} + */ + ngOnInit() { + } + /** + * @param {?} event + * @return {?} + */ + dblclickEvent(event) { + /** @type {?} */ + const footerTitle = document.createElement("div"); + footerTitle.className = "footer-title"; + footerTitle.append('Footer'); + /** @type {?} */ + const footer = event.target.closest('.footer'); + if (footer && footer.classList.contains('disabled')) { + console.log('dblclick in footer fired'); + footer.classList.remove('disabled'); + footer.setAttribute("contenteditable", true); + footer.before(footerTitle); + } + event.preventDefault(); + event.stopPropagation(); + } + /** + * @param {?} event + * @return {?} + */ + clickEvent(event) { + console.log('click on el fired'); + /** @type {?} */ + const footer = event.target.closest('.footer'); + if (!footer) { + this.footerRef.setAttribute("contenteditable", false); + if (!this.footerRef.classList.contains('disabled')) { + this.footerRef.className += " disabled"; + } + /** @type {?} */ + const section = this.el.nativeElement.querySelectorAll('.section')[0]; + /** @type {?} */ + const footerTitle = this.el.nativeElement.querySelectorAll('.footer-title')[0]; + if (section && footerTitle) { + section.removeChild(footerTitle); + } + } + } +} +EditHeaderFooterDirective.decorators = [ + { type: Directive, args: [{ + selector: '[gdEditHeaderFooter]' + },] } +]; +/** @nocollapse */ +EditHeaderFooterDirective.ctorParameters = () => [ + { type: ZoomService }, + { type: WindowService }, + { type: ElementRef } +]; +EditHeaderFooterDirective.propDecorators = { + dblclickEvent: [{ type: HostListener, args: ['dblclick', ['$event'],] }], + clickEvent: [{ type: HostListener, args: ['click', ['$event'],] }] +}; +if (false) { + /** @type {?} */ + EditHeaderFooterDirective.prototype.el; + /** @type {?} */ + EditHeaderFooterDirective.prototype.footerRef; + /** + * @type {?} + * @private + */ + EditHeaderFooterDirective.prototype._zoomService; + /** + * @type {?} + * @private + */ + EditHeaderFooterDirective.prototype._windowService; +} +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWRpdGhlYWRlcmZvb3Rlci5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AZ3JvdXBkb2NzLmV4YW1wbGVzLmFuZ3VsYXIvY29tbW9uLWNvbXBvbmVudHMvIiwic291cmNlcyI6WyJsaWIvZWRpdGhlYWRlcmZvb3Rlci5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE9BQU8sRUFBZ0IsU0FBUyxFQUF5QyxVQUFVLEVBQWEsWUFBWSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ25JLE9BQU8sRUFBQyxXQUFXLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUUzQyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFLakQsTUFBTSxPQUFPLHlCQUF5Qjs7Ozs7O0lBS3BDLFlBQW9CLFlBQXlCLEVBQVUsY0FBNkIsRUFBRSxFQUFjO1FBQWhGLGlCQUFZLEdBQVosWUFBWSxDQUFhO1FBQVUsbUJBQWMsR0FBZCxjQUFjLENBQWU7UUFDbEYsSUFBSSxDQUFDLEVBQUUsR0FBRyxFQUFFLENBQUM7SUFDZixDQUFDOzs7O0lBRUQsZUFBZTtRQUNiLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLEVBQUUsQ0FBQyxhQUFhLENBQUMsZ0JBQWdCLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDdEUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxZQUFZLENBQUMsaUJBQWlCLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFDdEQsSUFBSSxDQUFDLFNBQVMsQ0FBQyxTQUFTLElBQUksV0FBVyxDQUFDO0lBQzFDLENBQUM7Ozs7SUFFRCxXQUFXO0lBQ1gsQ0FBQzs7OztJQUVELFdBQVc7SUFDWCxDQUFDOzs7O0lBRUQsUUFBUTtJQUNSLENBQUM7Ozs7O0lBR0QsYUFBYSxDQUFDLEtBQUs7O2NBQ1gsV0FBVyxHQUFHLFFBQVEsQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDO1FBQ2pELFdBQVcsQ0FBQyxTQUFTLEdBQUcsY0FBYyxDQUFDO1FBQ3ZDLFdBQVcsQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUM7O2NBRXZCLE1BQU0sR0FBRyxLQUFLLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUM7UUFDOUMsSUFBSSxNQUFNLElBQUksTUFBTSxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsVUFBVSxDQUFDLEVBQUU7WUFDbkQsT0FBTyxDQUFDLEdBQUcsQ0FBQywwQkFBMEIsQ0FBQyxDQUFDO1lBQ3hDLE1BQU0sQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1lBQ3BDLE1BQU0sQ0FBQyxZQUFZLENBQUMsaUJBQWlCLEVBQUUsSUFBSSxDQUFDLENBQUM7WUFDN0MsTUFBTSxDQUFDLE1BQU0sQ0FBQyxXQUFXLENBQUMsQ0FBQztTQUM1QjtRQUVELEtBQUssQ0FBQyxjQUFjLEVBQUUsQ0FBQztRQUN2QixLQUFLLENBQUMsZUFBZSxFQUFFLENBQUM7SUFDMUIsQ0FBQzs7Ozs7SUFHRCxVQUFVLENBQUMsS0FBSztRQUNkLE9BQU8sQ0FBQyxHQUFHLENBQUMsbUJBQW1CLENBQUMsQ0FBQzs7Y0FDM0IsTUFBTSxHQUFHLEtBQUssQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQztRQUM5QyxJQUFJLENBQUMsTUFBTSxFQUFFO1lBQ1gsSUFBSSxDQUFDLFNBQVMsQ0FBQyxZQUFZLENBQUMsaUJBQWlCLEVBQUUsS0FBSyxDQUFDLENBQUM7WUFDdEQsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxVQUFVLENBQUMsRUFDbEQ7Z0JBQ0UsSUFBSSxDQUFDLFNBQVMsQ0FBQyxTQUFTLElBQUksV0FBVyxDQUFDO2FBQ3pDOztrQkFFSyxPQUFPLEdBQUcsSUFBSSxDQUFDLEVBQUUsQ0FBQyxhQUFhLENBQUMsZ0JBQWdCLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDOztrQkFDL0QsV0FBVyxHQUFHLElBQUksQ0FBQyxFQUFFLENBQUMsYUFBYSxDQUFDLGdCQUFnQixDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUM5RSxJQUFJLE9BQU8sSUFBSSxXQUFXLEVBQUU7Z0JBQzFCLE9BQU8sQ0FBQyxXQUFXLENBQUMsV0FBVyxDQUFDLENBQUM7YUFDbEM7U0FDRjtJQUNILENBQUM7OztZQTlERixTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLHNCQUFzQjthQUNqQzs7OztZQU5PLFdBQVc7WUFFVixhQUFhO1lBSG1ELFVBQVU7Ozs0QkFnQ2hGLFlBQVksU0FBQyxVQUFVLEVBQUUsQ0FBQyxRQUFRLENBQUM7eUJBa0JuQyxZQUFZLFNBQUMsT0FBTyxFQUFFLENBQUMsUUFBUSxDQUFDOzs7O0lBeENqQyx1Q0FBb0I7O0lBQ3BCLDhDQUFlOzs7OztJQUVILGlEQUFpQzs7Ozs7SUFBRSxtREFBcUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0FmdGVyVmlld0luaXQsIERpcmVjdGl2ZSwgSG9zdEJpbmRpbmcsIElucHV0LCBPbkRlc3Ryb3ksIE9uSW5pdCwgRWxlbWVudFJlZiwgT25DaGFuZ2VzLCBIb3N0TGlzdGVuZXJ9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQge1pvb21TZXJ2aWNlfSBmcm9tIFwiLi96b29tLnNlcnZpY2VcIjtcclxuaW1wb3J0IHtGaWxlVXRpbH0gZnJvbSBcIi4vZmlsZS5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7IFdpbmRvd1NlcnZpY2UgfSBmcm9tICcuL3dpbmRvdy5zZXJ2aWNlJztcclxuXHJcbkBEaXJlY3RpdmUoe1xyXG4gIHNlbGVjdG9yOiAnW2dkRWRpdEhlYWRlckZvb3Rlcl0nXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBFZGl0SGVhZGVyRm9vdGVyRGlyZWN0aXZlIGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3ksIEFmdGVyVmlld0luaXQsIE9uQ2hhbmdlcyB7XHJcblxyXG4gIGVsOiBFbGVtZW50UmVmPGFueT47XHJcbiAgZm9vdGVyUmVmOiBhbnk7XHJcblxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgX3pvb21TZXJ2aWNlOiBab29tU2VydmljZSwgcHJpdmF0ZSBfd2luZG93U2VydmljZTogV2luZG93U2VydmljZSwgZWw6IEVsZW1lbnRSZWYpIHtcclxuICAgIHRoaXMuZWwgPSBlbDtcclxuICB9XHJcblxyXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMuZm9vdGVyUmVmID0gdGhpcy5lbC5uYXRpdmVFbGVtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJy5mb290ZXInKVswXTtcclxuICAgIHRoaXMuZm9vdGVyUmVmLnNldEF0dHJpYnV0ZShcImNvbnRlbnRlZGl0YWJsZVwiLCBmYWxzZSk7XHJcbiAgICB0aGlzLmZvb3RlclJlZi5jbGFzc05hbWUgKz0gXCIgZGlzYWJsZWRcIjtcclxuICB9XHJcblxyXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gIH1cclxuXHJcbiAgbmdPbkNoYW5nZXMoKTogdm9pZCB7XHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICB9XHJcblxyXG4gIEBIb3N0TGlzdGVuZXIoJ2RibGNsaWNrJywgWyckZXZlbnQnXSlcclxuICBkYmxjbGlja0V2ZW50KGV2ZW50KSB7XHJcbiAgICBjb25zdCBmb290ZXJUaXRsZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoXCJkaXZcIik7XHJcbiAgICBmb290ZXJUaXRsZS5jbGFzc05hbWUgPSBcImZvb3Rlci10aXRsZVwiO1xyXG4gICAgZm9vdGVyVGl0bGUuYXBwZW5kKCdGb290ZXInKTtcclxuXHJcbiAgICBjb25zdCBmb290ZXIgPSBldmVudC50YXJnZXQuY2xvc2VzdCgnLmZvb3RlcicpO1xyXG4gICAgaWYgKGZvb3RlciAmJiBmb290ZXIuY2xhc3NMaXN0LmNvbnRhaW5zKCdkaXNhYmxlZCcpKSB7XHJcbiAgICAgIGNvbnNvbGUubG9nKCdkYmxjbGljayBpbiBmb290ZXIgZmlyZWQnKTtcclxuICAgICAgZm9vdGVyLmNsYXNzTGlzdC5yZW1vdmUoJ2Rpc2FibGVkJyk7XHJcbiAgICAgIGZvb3Rlci5zZXRBdHRyaWJ1dGUoXCJjb250ZW50ZWRpdGFibGVcIiwgdHJ1ZSk7XHJcbiAgICAgIGZvb3Rlci5iZWZvcmUoZm9vdGVyVGl0bGUpO1xyXG4gICAgfVxyXG5cclxuICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XHJcbiAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcclxuICB9XHJcblxyXG4gIEBIb3N0TGlzdGVuZXIoJ2NsaWNrJywgWyckZXZlbnQnXSlcclxuICBjbGlja0V2ZW50KGV2ZW50KSB7XHJcbiAgICBjb25zb2xlLmxvZygnY2xpY2sgb24gZWwgZmlyZWQnKTtcclxuICAgIGNvbnN0IGZvb3RlciA9IGV2ZW50LnRhcmdldC5jbG9zZXN0KCcuZm9vdGVyJyk7XHJcbiAgICBpZiAoIWZvb3Rlcikge1xyXG4gICAgICB0aGlzLmZvb3RlclJlZi5zZXRBdHRyaWJ1dGUoXCJjb250ZW50ZWRpdGFibGVcIiwgZmFsc2UpO1xyXG4gICAgICBpZiAoIXRoaXMuZm9vdGVyUmVmLmNsYXNzTGlzdC5jb250YWlucygnZGlzYWJsZWQnKSlcclxuICAgICAge1xyXG4gICAgICAgIHRoaXMuZm9vdGVyUmVmLmNsYXNzTmFtZSArPSBcIiBkaXNhYmxlZFwiO1xyXG4gICAgICB9XHJcblxyXG4gICAgICBjb25zdCBzZWN0aW9uID0gdGhpcy5lbC5uYXRpdmVFbGVtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJy5zZWN0aW9uJylbMF07XHJcbiAgICAgIGNvbnN0IGZvb3RlclRpdGxlID0gdGhpcy5lbC5uYXRpdmVFbGVtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJy5mb290ZXItdGl0bGUnKVswXTtcclxuICAgICAgaWYgKHNlY3Rpb24gJiYgZm9vdGVyVGl0bGUpIHtcclxuICAgICAgICBzZWN0aW9uLnJlbW92ZUNoaWxkKGZvb3RlclRpdGxlKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iXX0= \ No newline at end of file diff --git a/dist/libs/common-components/esm5/lib/editheaderfooter.directive.js b/dist/libs/common-components/esm5/lib/editheaderfooter.directive.js new file mode 100644 index 000000000..0d6ed99e3 --- /dev/null +++ b/dist/libs/common-components/esm5/lib/editheaderfooter.directive.js @@ -0,0 +1,133 @@ +/** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ +import { Directive, ElementRef, HostListener } from '@angular/core'; +import { ZoomService } from "./zoom.service"; +import { WindowService } from './window.service'; +var EditHeaderFooterDirective = /** @class */ (function () { + function EditHeaderFooterDirective(_zoomService, _windowService, el) { + this._zoomService = _zoomService; + this._windowService = _windowService; + this.el = el; + } + /** + * @return {?} + */ + EditHeaderFooterDirective.prototype.ngAfterViewInit = /** + * @return {?} + */ + function () { + this.footerRef = this.el.nativeElement.querySelectorAll('.footer')[0]; + this.footerRef.setAttribute("contenteditable", false); + this.footerRef.className += " disabled"; + }; + /** + * @return {?} + */ + EditHeaderFooterDirective.prototype.ngOnDestroy = /** + * @return {?} + */ + function () { + }; + /** + * @return {?} + */ + EditHeaderFooterDirective.prototype.ngOnChanges = /** + * @return {?} + */ + function () { + }; + /** + * @return {?} + */ + EditHeaderFooterDirective.prototype.ngOnInit = /** + * @return {?} + */ + function () { + }; + /** + * @param {?} event + * @return {?} + */ + EditHeaderFooterDirective.prototype.dblclickEvent = /** + * @param {?} event + * @return {?} + */ + function (event) { + /** @type {?} */ + var footerTitle = document.createElement("div"); + footerTitle.className = "footer-title"; + footerTitle.append('Footer'); + /** @type {?} */ + var footer = event.target.closest('.footer'); + if (footer && footer.classList.contains('disabled')) { + console.log('dblclick in footer fired'); + footer.classList.remove('disabled'); + footer.setAttribute("contenteditable", true); + footer.before(footerTitle); + } + event.preventDefault(); + event.stopPropagation(); + }; + /** + * @param {?} event + * @return {?} + */ + EditHeaderFooterDirective.prototype.clickEvent = /** + * @param {?} event + * @return {?} + */ + function (event) { + console.log('click on el fired'); + /** @type {?} */ + var footer = event.target.closest('.footer'); + if (!footer) { + this.footerRef.setAttribute("contenteditable", false); + if (!this.footerRef.classList.contains('disabled')) { + this.footerRef.className += " disabled"; + } + /** @type {?} */ + var section = this.el.nativeElement.querySelectorAll('.section')[0]; + /** @type {?} */ + var footerTitle = this.el.nativeElement.querySelectorAll('.footer-title')[0]; + if (section && footerTitle) { + section.removeChild(footerTitle); + } + } + }; + EditHeaderFooterDirective.decorators = [ + { type: Directive, args: [{ + selector: '[gdEditHeaderFooter]' + },] } + ]; + /** @nocollapse */ + EditHeaderFooterDirective.ctorParameters = function () { return [ + { type: ZoomService }, + { type: WindowService }, + { type: ElementRef } + ]; }; + EditHeaderFooterDirective.propDecorators = { + dblclickEvent: [{ type: HostListener, args: ['dblclick', ['$event'],] }], + clickEvent: [{ type: HostListener, args: ['click', ['$event'],] }] + }; + return EditHeaderFooterDirective; +}()); +export { EditHeaderFooterDirective }; +if (false) { + /** @type {?} */ + EditHeaderFooterDirective.prototype.el; + /** @type {?} */ + EditHeaderFooterDirective.prototype.footerRef; + /** + * @type {?} + * @private + */ + EditHeaderFooterDirective.prototype._zoomService; + /** + * @type {?} + * @private + */ + EditHeaderFooterDirective.prototype._windowService; +} +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWRpdGhlYWRlcmZvb3Rlci5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AZ3JvdXBkb2NzLmV4YW1wbGVzLmFuZ3VsYXIvY29tbW9uLWNvbXBvbmVudHMvIiwic291cmNlcyI6WyJsaWIvZWRpdGhlYWRlcmZvb3Rlci5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE9BQU8sRUFBZ0IsU0FBUyxFQUF5QyxVQUFVLEVBQWEsWUFBWSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ25JLE9BQU8sRUFBQyxXQUFXLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUUzQyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFFakQ7SUFRRSxtQ0FBb0IsWUFBeUIsRUFBVSxjQUE2QixFQUFFLEVBQWM7UUFBaEYsaUJBQVksR0FBWixZQUFZLENBQWE7UUFBVSxtQkFBYyxHQUFkLGNBQWMsQ0FBZTtRQUNsRixJQUFJLENBQUMsRUFBRSxHQUFHLEVBQUUsQ0FBQztJQUNmLENBQUM7Ozs7SUFFRCxtREFBZTs7O0lBQWY7UUFDRSxJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxFQUFFLENBQUMsYUFBYSxDQUFDLGdCQUFnQixDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ3RFLElBQUksQ0FBQyxTQUFTLENBQUMsWUFBWSxDQUFDLGlCQUFpQixFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQ3RELElBQUksQ0FBQyxTQUFTLENBQUMsU0FBUyxJQUFJLFdBQVcsQ0FBQztJQUMxQyxDQUFDOzs7O0lBRUQsK0NBQVc7OztJQUFYO0lBQ0EsQ0FBQzs7OztJQUVELCtDQUFXOzs7SUFBWDtJQUNBLENBQUM7Ozs7SUFFRCw0Q0FBUTs7O0lBQVI7SUFDQSxDQUFDOzs7OztJQUdELGlEQUFhOzs7O0lBRGIsVUFDYyxLQUFLOztZQUNYLFdBQVcsR0FBRyxRQUFRLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQztRQUNqRCxXQUFXLENBQUMsU0FBUyxHQUFHLGNBQWMsQ0FBQztRQUN2QyxXQUFXLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDOztZQUV2QixNQUFNLEdBQUcsS0FBSyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDO1FBQzlDLElBQUksTUFBTSxJQUFJLE1BQU0sQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLFVBQVUsQ0FBQyxFQUFFO1lBQ25ELE9BQU8sQ0FBQyxHQUFHLENBQUMsMEJBQTBCLENBQUMsQ0FBQztZQUN4QyxNQUFNLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQztZQUNwQyxNQUFNLENBQUMsWUFBWSxDQUFDLGlCQUFpQixFQUFFLElBQUksQ0FBQyxDQUFDO1lBQzdDLE1BQU0sQ0FBQyxNQUFNLENBQUMsV0FBVyxDQUFDLENBQUM7U0FDNUI7UUFFRCxLQUFLLENBQUMsY0FBYyxFQUFFLENBQUM7UUFDdkIsS0FBSyxDQUFDLGVBQWUsRUFBRSxDQUFDO0lBQzFCLENBQUM7Ozs7O0lBR0QsOENBQVU7Ozs7SUFEVixVQUNXLEtBQUs7UUFDZCxPQUFPLENBQUMsR0FBRyxDQUFDLG1CQUFtQixDQUFDLENBQUM7O1lBQzNCLE1BQU0sR0FBRyxLQUFLLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUM7UUFDOUMsSUFBSSxDQUFDLE1BQU0sRUFBRTtZQUNYLElBQUksQ0FBQyxTQUFTLENBQUMsWUFBWSxDQUFDLGlCQUFpQixFQUFFLEtBQUssQ0FBQyxDQUFDO1lBQ3RELElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsVUFBVSxDQUFDLEVBQ2xEO2dCQUNFLElBQUksQ0FBQyxTQUFTLENBQUMsU0FBUyxJQUFJLFdBQVcsQ0FBQzthQUN6Qzs7Z0JBRUssT0FBTyxHQUFHLElBQUksQ0FBQyxFQUFFLENBQUMsYUFBYSxDQUFDLGdCQUFnQixDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQzs7Z0JBQy9ELFdBQVcsR0FBRyxJQUFJLENBQUMsRUFBRSxDQUFDLGFBQWEsQ0FBQyxnQkFBZ0IsQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDOUUsSUFBSSxPQUFPLElBQUksV0FBVyxFQUFFO2dCQUMxQixPQUFPLENBQUMsV0FBVyxDQUFDLFdBQVcsQ0FBQyxDQUFDO2FBQ2xDO1NBQ0Y7SUFDSCxDQUFDOztnQkE5REYsU0FBUyxTQUFDO29CQUNULFFBQVEsRUFBRSxzQkFBc0I7aUJBQ2pDOzs7O2dCQU5PLFdBQVc7Z0JBRVYsYUFBYTtnQkFIbUQsVUFBVTs7O2dDQWdDaEYsWUFBWSxTQUFDLFVBQVUsRUFBRSxDQUFDLFFBQVEsQ0FBQzs2QkFrQm5DLFlBQVksU0FBQyxPQUFPLEVBQUUsQ0FBQyxRQUFRLENBQUM7O0lBa0JuQyxnQ0FBQztDQUFBLEFBL0RELElBK0RDO1NBNURZLHlCQUF5Qjs7O0lBRXBDLHVDQUFvQjs7SUFDcEIsOENBQWU7Ozs7O0lBRUgsaURBQWlDOzs7OztJQUFFLG1EQUFxQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7QWZ0ZXJWaWV3SW5pdCwgRGlyZWN0aXZlLCBIb3N0QmluZGluZywgSW5wdXQsIE9uRGVzdHJveSwgT25Jbml0LCBFbGVtZW50UmVmLCBPbkNoYW5nZXMsIEhvc3RMaXN0ZW5lcn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7Wm9vbVNlcnZpY2V9IGZyb20gXCIuL3pvb20uc2VydmljZVwiO1xyXG5pbXBvcnQge0ZpbGVVdGlsfSBmcm9tIFwiLi9maWxlLnNlcnZpY2VcIjtcclxuaW1wb3J0IHsgV2luZG93U2VydmljZSB9IGZyb20gJy4vd2luZG93LnNlcnZpY2UnO1xyXG5cclxuQERpcmVjdGl2ZSh7XHJcbiAgc2VsZWN0b3I6ICdbZ2RFZGl0SGVhZGVyRm9vdGVyXSdcclxufSlcclxuZXhwb3J0IGNsYXNzIEVkaXRIZWFkZXJGb290ZXJEaXJlY3RpdmUgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSwgQWZ0ZXJWaWV3SW5pdCwgT25DaGFuZ2VzIHtcclxuXHJcbiAgZWw6IEVsZW1lbnRSZWY8YW55PjtcclxuICBmb290ZXJSZWY6IGFueTtcclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBfem9vbVNlcnZpY2U6IFpvb21TZXJ2aWNlLCBwcml2YXRlIF93aW5kb3dTZXJ2aWNlOiBXaW5kb3dTZXJ2aWNlLCBlbDogRWxlbWVudFJlZikge1xyXG4gICAgdGhpcy5lbCA9IGVsO1xyXG4gIH1cclxuXHJcbiAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5mb290ZXJSZWYgPSB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQucXVlcnlTZWxlY3RvckFsbCgnLmZvb3RlcicpWzBdO1xyXG4gICAgdGhpcy5mb290ZXJSZWYuc2V0QXR0cmlidXRlKFwiY29udGVudGVkaXRhYmxlXCIsIGZhbHNlKTtcclxuICAgIHRoaXMuZm9vdGVyUmVmLmNsYXNzTmFtZSArPSBcIiBkaXNhYmxlZFwiO1xyXG4gIH1cclxuXHJcbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XHJcbiAgfVxyXG5cclxuICBuZ09uQ2hhbmdlcygpOiB2b2lkIHtcclxuICB9XHJcblxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gIH1cclxuXHJcbiAgQEhvc3RMaXN0ZW5lcignZGJsY2xpY2snLCBbJyRldmVudCddKVxyXG4gIGRibGNsaWNrRXZlbnQoZXZlbnQpIHtcclxuICAgIGNvbnN0IGZvb3RlclRpdGxlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudChcImRpdlwiKTtcclxuICAgIGZvb3RlclRpdGxlLmNsYXNzTmFtZSA9IFwiZm9vdGVyLXRpdGxlXCI7XHJcbiAgICBmb290ZXJUaXRsZS5hcHBlbmQoJ0Zvb3RlcicpO1xyXG5cclxuICAgIGNvbnN0IGZvb3RlciA9IGV2ZW50LnRhcmdldC5jbG9zZXN0KCcuZm9vdGVyJyk7XHJcbiAgICBpZiAoZm9vdGVyICYmIGZvb3Rlci5jbGFzc0xpc3QuY29udGFpbnMoJ2Rpc2FibGVkJykpIHtcclxuICAgICAgY29uc29sZS5sb2coJ2RibGNsaWNrIGluIGZvb3RlciBmaXJlZCcpO1xyXG4gICAgICBmb290ZXIuY2xhc3NMaXN0LnJlbW92ZSgnZGlzYWJsZWQnKTtcclxuICAgICAgZm9vdGVyLnNldEF0dHJpYnV0ZShcImNvbnRlbnRlZGl0YWJsZVwiLCB0cnVlKTtcclxuICAgICAgZm9vdGVyLmJlZm9yZShmb290ZXJUaXRsZSk7XHJcbiAgICB9XHJcblxyXG4gICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcclxuICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xyXG4gIH1cclxuXHJcbiAgQEhvc3RMaXN0ZW5lcignY2xpY2snLCBbJyRldmVudCddKVxyXG4gIGNsaWNrRXZlbnQoZXZlbnQpIHtcclxuICAgIGNvbnNvbGUubG9nKCdjbGljayBvbiBlbCBmaXJlZCcpO1xyXG4gICAgY29uc3QgZm9vdGVyID0gZXZlbnQudGFyZ2V0LmNsb3Nlc3QoJy5mb290ZXInKTtcclxuICAgIGlmICghZm9vdGVyKSB7XHJcbiAgICAgIHRoaXMuZm9vdGVyUmVmLnNldEF0dHJpYnV0ZShcImNvbnRlbnRlZGl0YWJsZVwiLCBmYWxzZSk7XHJcbiAgICAgIGlmICghdGhpcy5mb290ZXJSZWYuY2xhc3NMaXN0LmNvbnRhaW5zKCdkaXNhYmxlZCcpKVxyXG4gICAgICB7XHJcbiAgICAgICAgdGhpcy5mb290ZXJSZWYuY2xhc3NOYW1lICs9IFwiIGRpc2FibGVkXCI7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIGNvbnN0IHNlY3Rpb24gPSB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQucXVlcnlTZWxlY3RvckFsbCgnLnNlY3Rpb24nKVswXTtcclxuICAgICAgY29uc3QgZm9vdGVyVGl0bGUgPSB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQucXVlcnlTZWxlY3RvckFsbCgnLmZvb3Rlci10aXRsZScpWzBdO1xyXG4gICAgICBpZiAoc2VjdGlvbiAmJiBmb290ZXJUaXRsZSkge1xyXG4gICAgICAgIHNlY3Rpb24ucmVtb3ZlQ2hpbGQoZm9vdGVyVGl0bGUpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiJdfQ== \ 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 c76d2c66f..ba94c93ec 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,8 +23,8 @@ class TopToolbarComponent { TopToolbarComponent.decorators = [ { type: 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}}"] + template: "
\r\n
\r\n \r\n
\r\n
\r\n", + styles: [".top-toolbar{width:100%;height:60px;z-index:999;display:flex;align-items:center}.tools{width:100%;height:100%;display:flex;align-items:center}@media (max-width:1037px){.top-toolbar{height:60px}.tools{height:100%;overflow-x:auto;overflow-scrolling:touch;display:flex;align-items:center;transition:.3s ease-in-out;scroll-behavior:smooth;-webkit-overflow-scrolling:touch}.tools::-webkit-scrollbar{width:0;height:0;background-color:#3e4e5a}}"] }] } ]; /** @nocollapse */ @@ -55,8 +55,8 @@ 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", - 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{display:-webkit-box;display:flex;-webkit-box-align:center;align-items:center}.gd-side-panel-wrapper .gd-side-panel-header /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}}"] + 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", + styles: [".gd-side-panel-wrapper{margin-right:0;width:334px;z-index:999;background-color:#fff;transition:margin-right .2s;display:flex;flex-flow:column;height:100vh}.gd-side-panel-wrapper .gd-side-panel-header{height:60px;background-color:#222e35;display:flex;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{display:flex;align-items:center}.gd-side-panel-wrapper .gd-side-panel-header /deep/ gd-button .text{padding:0}.gd-side-panel-wrapper .gd-side-panel-body{display:flex;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 */ @@ -66,16 +66,6 @@ SidePanelComponent.propDecorators = { icon: [{ type: Input }], hideSidePanel: [{ type: Output }] }; -if (false) { - /** @type {?} */ - SidePanelComponent.prototype.title; - /** @type {?} */ - SidePanelComponent.prototype.icon; - /** @type {?} */ - SidePanelComponent.prototype.hideSidePanel; - /** @type {?} */ - SidePanelComponent.prototype.onlyTitle; -} /** * @fileoverview added by tsickle @@ -151,28 +141,6 @@ class WindowService { return navigator.userAgent.toLowerCase().indexOf('firefox') > -1; } } -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 @@ -237,8 +205,8 @@ class ButtonComponent { ButtonComponent.decorators = [ { type: 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}}"] + 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:flex;flex-direction:column;align-items:center;align-content: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:flex;flex-direction:column}@media (max-width:1037px){.button{font-size:22px}.arrow-button{margin:5px}}"] }] } ]; /** @nocollapse */ @@ -258,37 +226,6 @@ ButtonComponent.propDecorators = { iconRegular: [{ type: Input }], elementPosition: [{ type: Input }] }; -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 @@ -305,8 +242,8 @@ class LogoComponent { LogoComponent.decorators = [ { type: 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}}"] + template: "
\r\n \r\n \r\n
\r\n\r\n", + styles: [".logo{background-color:#25c2d4;height:60px;display:flex;align-items: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 */ @@ -315,12 +252,6 @@ LogoComponent.propDecorators = { logo: [{ type: Input }], icon: [{ type: Input }] }; -if (false) { - /** @type {?} */ - LogoComponent.prototype.logo; - /** @type {?} */ - LogoComponent.prototype.icon; -} /** * @fileoverview added by tsickle @@ -356,7 +287,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:0!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}"] }] } ]; @@ -367,14 +298,6 @@ TooltipComponent.propDecorators = { position: [{ type: Input }], show: [{ type: Input }] }; -if (false) { - /** @type {?} */ - TooltipComponent.prototype.text; - /** @type {?} */ - TooltipComponent.prototype.position; - /** @type {?} */ - TooltipComponent.prototype.visibility; -} /** * @fileoverview added by tsickle @@ -423,72 +346,6 @@ Api.httpOptionsJsonResponseTypeBlob = { }), responseType: (/** @type {?} */ ('blob')) }; -if (false) { - /** @type {?} */ - Api.VIEWER_APP; - /** @type {?} */ - Api.SIGNATURE_APP; - /** @type {?} */ - Api.ANNOTATION_APP; - /** @type {?} */ - Api.EDITOR_APP; - /** @type {?} */ - Api.COMPARISON_APP; - /** @type {?} */ - Api.CONVERSION_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.ROTATE_DOCUMENT_PAGE; - /** @type {?} */ - Api.UPLOAD_DOCUMENTS; - /** @type {?} */ - Api.DOWNLOAD_DOCUMENTS; - /** @type {?} */ - Api.LOAD_PRINT; - /** @type {?} */ - Api.LOAD_PRINT_PDF; - /** @type {?} */ - Api.LOAD_THUMBNAILS; - /** @type {?} */ - Api.LOAD_FORMATS; - /** @type {?} */ - Api.SAVE_FILE; - /** @type {?} */ - Api.COMPARE_FILES; - /** @type {?} */ - Api.CONVERT_FILE; - /** @type {?} */ - Api.DELETE_SIGNATURE_FILE; - /** @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.httpOptionsJson; - /** @type {?} */ - Api.httpOptionsJsonResponseTypeBlob; -} class ConfigService { constructor() { this.apiEndpoint = Api.DEFAULT_API_ENDPOINT; @@ -555,13 +412,6 @@ ConfigService.decorators = [ ]; /** @nocollapse */ ConfigService.ctorParameters = () => []; -if (false) { - /** - * @type {?} - * @private - */ - ConfigService.prototype._apiEndpoint; -} /** * @fileoverview added by tsickle @@ -577,24 +427,6 @@ CommonModals.OperationSuccess = "gd-success-modal"; CommonModals.DrawHandSignature = "gd-draw-hand-signature"; CommonModals.DrawStampSignature = "gd-draw-stamp-signature"; CommonModals.InformationMessage = "gd-information-message"; -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; -} class ModalService { constructor() { this.modals = []; @@ -648,13 +480,6 @@ class ModalService { } } } -if (false) { - /** - * @type {?} - * @private - */ - ModalService.prototype.modals; -} /** * @fileoverview added by tsickle @@ -727,8 +552,8 @@ 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", - 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-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%}}"] + 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%;transform:translate(-50%,-50%);z-index:1051}.gd-modal-content{background-color:#fff;height:100%;display:flex;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 */ @@ -742,28 +567,6 @@ ModalComponent.propDecorators = { visible: [{ type: Output }], cancel: [{ type: Output }] }; -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 @@ -771,28 +574,8 @@ if (false) { */ class 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; -} class RotatedPage { } -if (false) { - /** @type {?} */ - RotatedPage.prototype.pageNumber; - /** @type {?} */ - RotatedPage.prototype.angle; -} class FileCredentials { /** * @param {?} guid @@ -803,12 +586,6 @@ class FileCredentials { this.password = password; } } -if (false) { - /** @type {?} */ - FileCredentials.prototype.guid; - /** @type {?} */ - FileCredentials.prototype.password; -} class SaveFile extends FileCredentials { /** * @param {?} guid @@ -820,39 +597,13 @@ class SaveFile extends FileCredentials { this.content = content; } } -if (false) { - /** @type {?} */ - SaveFile.prototype.content; -} class FileDescription { constructor() { this.printAllowed = true; } } -if (false) { - /** @type {?} */ - FileDescription.prototype.guid; - /** @type {?} */ - FileDescription.prototype.pages; - /** @type {?} */ - FileDescription.prototype.printAllowed; - /** @type {?} */ - FileDescription.prototype.showGridLines; -} class FileModel { } -if (false) { - /** @type {?} */ - FileModel.prototype.guid; - /** @type {?} */ - FileModel.prototype.name; - /** @type {?} */ - FileModel.prototype.directory; - /** @type {?} */ - FileModel.prototype.size; - /** @type {?} */ - FileModel.prototype.isDirectory; -} class HttpError { } HttpError.BadRequest = 400; @@ -862,22 +613,6 @@ HttpError.NotFound = 404; HttpError.TimeOut = 408; HttpError.Conflict = 409; HttpError.InternalServerError = 500; -if (false) { - /** @type {?} */ - HttpError.BadRequest; - /** @type {?} */ - HttpError.Unauthorized; - /** @type {?} */ - HttpError.Forbidden; - /** @type {?} */ - HttpError.NotFound; - /** @type {?} */ - HttpError.TimeOut; - /** @type {?} */ - HttpError.Conflict; - /** @type {?} */ - HttpError.InternalServerError; -} class Utils { /** * @param {?} event @@ -1072,10 +807,6 @@ FileUtil.map = { 'djvu': { 'format': 'Multi-Layer Raster Image', 'icon': 'file-alt', 'unit': 'pt' }, 'unknown': { 'format': 'This format is not supported', 'icon': 'file' }, }; -if (false) { - /** @type {?} */ - FileUtil.map; -} class FileService { constructor() { } @@ -1107,18 +838,6 @@ class UploadFilesService { this._observer.next(filesList); } } -if (false) { - /** - * @type {?} - * @private - */ - UploadFilesService.prototype._uploadsChange; - /** - * @type {?} - * @private - */ - UploadFilesService.prototype._observer; -} /** * @fileoverview added by tsickle @@ -1275,8 +994,8 @@ 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", - 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)}}"] + 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:flex;width:90%;padding:18px 0 18px 24px;font-size:14px;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:flex;width:100%;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: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:flex;position:relative;width:100%}.upload-panel .context{display:flex;flex-direction:column;width:100%;margin-left:24px;margin-top:24px;margin-right:24px}.upload-panel .context .context-actions{display:flex;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;justify-content:center}.upload-panel .context .context-actions ::ng-deep .button ::ng-deep .text{font-size:10px}.upload-panel .context .context-panel{display:flex;flex-direction:row;width:100%;margin-top:20px}.upload-panel .context .context-panel .upload-url{display:flex;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:flex;justify-content:center;align-items:center}.dnd-wrapper{display:flex;flex-direction:column;align-items:center;justify-content:center;top:259px;position:absolute}.dnd-wrapper .text{color:#6e6e6e;font-size:14px}.dnd-wrapper .icon{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 */ @@ -1291,36 +1010,6 @@ BrowseFilesModalComponent.propDecorators = { urlForUpload: [{ type: Output }], closing: [{ type: Output }] }; -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 @@ -1378,23 +1067,6 @@ class ZoomService { this.createZoomOption(height, 'Fit Height')]; } } -if (false) { - /** - * @type {?} - * @private - */ - ZoomService.prototype._observer; - /** - * @type {?} - * @private - */ - ZoomService.prototype._zoomChange; - /** - * @type {?} - * @private - */ - ZoomService.prototype._zoom; -} /** * @fileoverview added by tsickle @@ -1702,8 +1374,8 @@ class DocumentComponent { DocumentComponent.decorators = [ { type: 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}.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}.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}}"] + template: "
Please wait...
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n", + styles: [":host{flex:1;transition:.4s;background-color:#e7e7e7;height:100%;overflow:scroll}.page{display:inline-block;background-color:#fff;margin:20px;box-shadow:0 3px 6px rgba(0,0,0,.16);transition:.3s}.page.excel{overflow:auto}.wait{position:absolute;top:55px;left:Calc(30%)}.panzoom{display:flex;flex-direction:row;flex-wrap:wrap;justify-content:center;align-content:flex-start}@media (max-width:1037px){.page{min-width:unset!important;min-height:unset!important;margin:5px 0}}"] }] } ]; /** @nocollapse */ @@ -1717,75 +1389,6 @@ DocumentComponent.propDecorators = { preloadPageCount: [{ type: Input }], file: [{ type: Input }] }; -if (false) { - /** @type {?} */ - DocumentComponent.prototype.mode; - /** @type {?} */ - DocumentComponent.prototype.preloadPageCount; - /** @type {?} */ - DocumentComponent.prototype.file; - /** @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; - /* Skipping unhandled member: ;*/ - /* Skipping unhandled member: ;*/ - /* Skipping unhandled member: ;*/ - /* Skipping unhandled member: ;*/ - /* Skipping unhandled member: ;*/ - /* Skipping unhandled member: ;*/ - /* Skipping unhandled member: ;*/ - /* Skipping unhandled member: ;*/ -} /** * @fileoverview added by tsickle @@ -1799,7 +1402,7 @@ class PageComponent { */ ngOnInit() { /** @type {?} */ - const isIE = /*@cc_on!@*/ false || !!/(MSIE|Trident\/|Edge\/)/i.test(navigator.userAgent); + const isIE = /*@cc_on!@*/ !!/(MSIE|Trident\/|Edge\/)/i.test(navigator.userAgent); if (isIE && this.number === 0) { this.editable = false; } @@ -1823,7 +1426,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%}/deep/ .gd-highlight{background-color:#ff0}/deep/ .gd-highlight-select{background-color:#ff9b00}"] }] } ]; @@ -1838,24 +1441,6 @@ PageComponent.propDecorators = { isHtml: [{ type: Input }], editable: [{ type: Input }] }; -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 @@ -1883,13 +1468,6 @@ SanitizeHtmlPipe.decorators = [ SanitizeHtmlPipe.ctorParameters = () => [ { type: DomSanitizer } ]; -if (false) { - /** - * @type {?} - * @private - */ - SanitizeHtmlPipe.prototype.sanitizer; -} class SanitizeResourceHtmlPipe { /** * @param {?} sanitizer @@ -1912,13 +1490,6 @@ SanitizeResourceHtmlPipe.decorators = [ SanitizeResourceHtmlPipe.ctorParameters = () => [ { type: DomSanitizer } ]; -if (false) { - /** - * @type {?} - * @private - */ - SanitizeResourceHtmlPipe.prototype.sanitizer; -} class SanitizeStylePipe { /** * @param {?} sanitizer @@ -1941,13 +1512,6 @@ SanitizeStylePipe.decorators = [ SanitizeStylePipe.ctorParameters = () => [ { type: DomSanitizer } ]; -if (false) { - /** - * @type {?} - * @private - */ - SanitizeStylePipe.prototype.sanitizer; -} class HighlightSearchPipe { /** * @param {?} value @@ -2011,8 +1575,8 @@ 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", - 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}"] + 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:flex;align-content:center;flex-direction:column;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 */ @@ -2022,15 +1586,6 @@ UploadFileZoneComponent.ctorParameters = () => [ UploadFileZoneComponent.propDecorators = { closeUpload: [{ type: Output }] }; -if (false) { - /** @type {?} */ - UploadFileZoneComponent.prototype.closeUpload; - /** - * @type {?} - * @private - */ - UploadFileZoneComponent.prototype._uploadService; -} /** * @fileoverview added by tsickle @@ -2133,26 +1688,6 @@ DndDirective.propDecorators = { onDrop: [{ type: HostListener, args: ['drop', ['$event'],] }], onClick: [{ type: HostListener, args: ['click', ['$event'],] }] }; -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 @@ -2182,18 +1717,6 @@ class PagePreloadService { } } } -if (false) { - /** - * @type {?} - * @private - */ - PagePreloadService.prototype._checkPreload; - /** - * @type {?} - * @private - */ - PagePreloadService.prototype._observer; -} /** * @fileoverview added by tsickle @@ -2297,33 +1820,6 @@ NavigateService.ctorParameters = () => [ { type: PagePreloadService } ]; /** @nocollapse */ NavigateService.ngInjectableDef = ɵɵdefineInjectable({ factory: function NavigateService_Factory() { return new NavigateService(ɵɵinject(PagePreloadService)); }, token: NavigateService, providedIn: "root" }); -if (false) { - /** - * @type {?} - * @private - */ - NavigateService.prototype._currentPage; - /** - * @type {?} - * @private - */ - NavigateService.prototype._countPages; - /** - * @type {?} - * @private - */ - NavigateService.prototype._navigate; - /** - * @type {?} - * @private - */ - NavigateService.prototype._observer; - /** - * @type {?} - * @private - */ - NavigateService.prototype._pagePreloadService; -} /** * @fileoverview added by tsickle @@ -2619,48 +2115,6 @@ ScrollableDirective.propDecorators = { scrolling: [{ type: HostListener, args: ['scroll',] }], resizing: [{ type: HostListener, args: ['window:resize',] }] }; -if (false) { - /** - * @type {?} - * @private - */ - ScrollableDirective.prototype.currentPage; - /** - * @type {?} - * @private - */ - ScrollableDirective.prototype.zoom; - /** - * @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 @@ -2797,34 +2251,6 @@ ZoomDirective.propDecorators = { width: [{ type: HostBinding, args: ['style.width',] }], minWidth: [{ type: HostBinding, args: ['style.min-width',] }] }; -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.minWidth; - /** @type {?} */ - ZoomDirective.prototype.el; - /** - * @type {?} - * @private - */ - ZoomDirective.prototype._zoomService; - /** - * @type {?} - * @private - */ - ZoomDirective.prototype._windowService; -} /** * @fileoverview added by tsickle @@ -2857,35 +2283,11 @@ OnCloseService.decorators = [ /** @nocollapse */ OnCloseService.ctorParameters = () => []; /** @nocollapse */ OnCloseService.ngInjectableDef = ɵɵdefineInjectable({ factory: function OnCloseService_Factory() { return new OnCloseService(); }, token: OnCloseService, providedIn: "root" }); -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; -} class SelectComponent { /** * @param {?} _onCloseService @@ -2950,8 +2352,8 @@ class SelectComponent { SelectComponent.decorators = [ { type: Component, args: [{ selector: 'gd-select', - template: "
\n
\n {{showSelected?.name}}\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}"] + template: "
\r\n
\r\n {{showSelected?.name}}\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:flex;flex-direction:row;justify-content: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 */ @@ -2965,23 +2367,6 @@ SelectComponent.propDecorators = { selected: [{ type: Output }], isOpen: [{ type: Input }] }; -if (false) { - /** @type {?} */ - SelectComponent.prototype.options; - /** @type {?} */ - SelectComponent.prototype.disabled; - /** @type {?} */ - SelectComponent.prototype.showSelected; - /** @type {?} */ - SelectComponent.prototype.selected; - /** @type {?} */ - SelectComponent.prototype.isOpen; - /** - * @type {?} - * @protected - */ - SelectComponent.prototype._onCloseService; -} /** * @fileoverview added by tsickle @@ -3022,12 +2407,6 @@ DisabledCursorDirective.propDecorators = { dis: [{ type: Input }], cursor: [{ type: HostBinding, args: ['class.inactive',] }] }; -if (false) { - /** @type {?} */ - DisabledCursorDirective.prototype.dis; - /** @type {?} */ - DisabledCursorDirective.prototype.cursor; -} /** * @fileoverview added by tsickle @@ -3120,26 +2499,6 @@ RotationDirective.propDecorators = { transform: [{ type: HostBinding, args: ['style.transform',] }], margin: [{ type: HostBinding, args: ['style.margin',] }] }; -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 @@ -3169,8 +2528,8 @@ 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", - 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}"] + 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:flex;flex-direction:column;justify-content:center;align-items:center;width:100%;height:100%}.icon{font-size:65px;margin-bottom:43px;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:flex;flex-direction:column;width:250px;height:250px;align-items:center;justify-content:center}.init-state-wrapper{top:-60px;position:relative}"] }] } ]; /** @nocollapse */ @@ -3180,16 +2539,6 @@ InitStateComponent.propDecorators = { text: [{ type: Input }], fileDropped: [{ type: Output }] }; -if (false) { - /** @type {?} */ - InitStateComponent.prototype.icon; - /** @type {?} */ - InitStateComponent.prototype.text; - /** @type {?} */ - InitStateComponent.prototype.fileDropped; - /** @type {?} */ - InitStateComponent.prototype.showUploadFile; -} /** * @fileoverview added by tsickle @@ -3235,28 +2584,6 @@ class RenderPrintService { this._observerBlob.next(file); } } -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 @@ -3371,15 +2698,6 @@ RenderPrintDirective.ctorParameters = () => [ RenderPrintDirective.propDecorators = { htmlMode: [{ type: Input }] }; -if (false) { - /** @type {?} */ - RenderPrintDirective.prototype.htmlMode; - /** - * @type {?} - * @private - */ - RenderPrintDirective.prototype._renderService; -} /** * @fileoverview added by tsickle @@ -3404,18 +2722,6 @@ class ExceptionMessageService { this._observer.next(message); } } -if (false) { - /** - * @type {?} - * @private - */ - ExceptionMessageService.prototype._observer; - /** - * @type {?} - * @private - */ - ExceptionMessageService.prototype._messageChange; -} /** * @fileoverview added by tsickle @@ -3441,18 +2747,14 @@ 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", - 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}"] + 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:inline-flex;flex-direction:column;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:flex}#gd-error-section fa-icon{flex:1;color:#e04e4e;font-size:40px;margin:13px 23px 90px;text-align:center;max-width:46px}"] }] } ]; /** @nocollapse */ ErrorModalComponent.ctorParameters = () => [ { type: ExceptionMessageService } ]; -if (false) { - /** @type {?} */ - ErrorModalComponent.prototype.message; -} /** * @fileoverview added by tsickle @@ -3477,18 +2779,6 @@ class PasswordService { this._observer.next(pass); } } -if (false) { - /** - * @type {?} - * @private - */ - PasswordService.prototype._observer; - /** - * @type {?} - * @private - */ - PasswordService.prototype._passChange; -} /** * @fileoverview added by tsickle @@ -3555,8 +2845,8 @@ 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", - styles: ["#gd-password-section{width:468px;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}}"] + 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:468px;height:164px}.gd-password-wrap{display:flex;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;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 */ @@ -3567,17 +2857,6 @@ PasswordRequiredComponent.ctorParameters = () => [ PasswordRequiredComponent.propDecorators = { cancelEvent: [{ type: Output }] }; -if (false) { - /** @type {?} */ - PasswordRequiredComponent.prototype.message; - /** @type {?} */ - PasswordRequiredComponent.prototype.cancelEvent; - /** - * @type {?} - * @private - */ - PasswordRequiredComponent.prototype._passwordService; -} /** * @fileoverview added by tsickle @@ -3653,18 +2932,6 @@ ErrorInterceptorService.ctorParameters = () => [ { type: ExceptionMessageService } ]; /** @nocollapse */ ErrorInterceptorService.ngInjectableDef = ɵɵdefineInjectable({ factory: function ErrorInterceptorService_Factory() { return new ErrorInterceptorService(ɵɵinject(ModalService), ɵɵinject(ExceptionMessageService)); }, token: ErrorInterceptorService, providedIn: "root" }); -if (false) { - /** - * @type {?} - * @private - */ - ErrorInterceptorService.prototype._modalService; - /** - * @type {?} - * @private - */ - ErrorInterceptorService.prototype._messageService; -} /** * @fileoverview added by tsickle @@ -3719,38 +2986,6 @@ class SearchService { this._observerTotal.next(total); } } -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 @@ -3827,8 +3062,8 @@ class SearchComponent { SearchComponent.decorators = [ { type: 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%}}"] + 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;transform:translate(-50%,0);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 */ @@ -3841,21 +3076,6 @@ SearchComponent.propDecorators = { static: true },] }] }; -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 @@ -4035,39 +3255,103 @@ SearchableDirective.ctorParameters = () => [ { type: HighlightSearchPipe }, { type: ZoomService } ]; -if (false) { - /** @type {?} */ - SearchableDirective.prototype.text; - /** @type {?} */ - SearchableDirective.prototype.current; - /** @type {?} */ - SearchableDirective.prototype.total; - /** - * @type {?} - * @private + +/** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ +class EditHeaderFooterDirective { + /** + * @param {?} _zoomService + * @param {?} _windowService + * @param {?} el */ - SearchableDirective.prototype.zoom; + constructor(_zoomService, _windowService, el) { + this._zoomService = _zoomService; + this._windowService = _windowService; + this.el = el; + } /** - * @type {?} - * @private + * @return {?} */ - SearchableDirective.prototype._elementRef; + ngAfterViewInit() { + this.footerRef = this.el.nativeElement.querySelectorAll('.footer')[0]; + this.footerRef.setAttribute("contenteditable", false); + this.footerRef.className += " disabled"; + } /** - * @type {?} - * @private + * @return {?} + */ + ngOnDestroy() { + } + /** + * @return {?} */ - SearchableDirective.prototype._searchService; + ngOnChanges() { + } /** - * @type {?} - * @private + * @return {?} */ - SearchableDirective.prototype._highlight; + ngOnInit() { + } /** - * @type {?} - * @private + * @param {?} event + * @return {?} + */ + dblclickEvent(event) { + /** @type {?} */ + const footerTitle = document.createElement("div"); + footerTitle.className = "footer-title"; + footerTitle.append('Footer'); + /** @type {?} */ + const footer = event.target.closest('.footer'); + if (footer && footer.classList.contains('disabled')) { + console.log('dblclick in footer fired'); + footer.classList.remove('disabled'); + footer.setAttribute("contenteditable", true); + footer.before(footerTitle); + } + event.preventDefault(); + event.stopPropagation(); + } + /** + * @param {?} event + * @return {?} */ - SearchableDirective.prototype._zoomService; + clickEvent(event) { + console.log('click on el fired'); + /** @type {?} */ + const footer = event.target.closest('.footer'); + if (!footer) { + this.footerRef.setAttribute("contenteditable", false); + if (!this.footerRef.classList.contains('disabled')) { + this.footerRef.className += " disabled"; + } + /** @type {?} */ + const section = this.el.nativeElement.querySelectorAll('.section')[0]; + /** @type {?} */ + const footerTitle = this.el.nativeElement.querySelectorAll('.footer-title')[0]; + if (section && footerTitle) { + section.removeChild(footerTitle); + } + } + } } +EditHeaderFooterDirective.decorators = [ + { type: Directive, args: [{ + selector: '[gdEditHeaderFooter]' + },] } +]; +/** @nocollapse */ +EditHeaderFooterDirective.ctorParameters = () => [ + { type: ZoomService }, + { type: WindowService }, + { type: ElementRef } +]; +EditHeaderFooterDirective.propDecorators = { + dblclickEvent: [{ type: HostListener, args: ['dblclick', ['$event'],] }], + clickEvent: [{ type: HostListener, args: ['click', ['$event'],] }] +}; /** * @fileoverview added by tsickle @@ -4085,8 +3369,8 @@ class TabbedToolbarsComponent { TabbedToolbarsComponent.decorators = [ { type: 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}}"] + template: "
\r\n \r\n \r\n
\r\n", + styles: [".top-panel{background:#3e4e5a;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 */ @@ -4095,12 +3379,6 @@ TabbedToolbarsComponent.propDecorators = { logo: [{ type: Input }], icon: [{ type: Input }] }; -if (false) { - /** @type {?} */ - TabbedToolbarsComponent.prototype.logo; - /** @type {?} */ - TabbedToolbarsComponent.prototype.icon; -} /** * @fileoverview added by tsickle @@ -4125,18 +3403,6 @@ class TabActivatorService { this._observer.next(tabId); } } -if (false) { - /** - * @type {?} - * @private - */ - TabActivatorService.prototype._observer; - /** - * @type {?} - * @private - */ - TabActivatorService.prototype._activeTabChange; -} /** * @fileoverview added by tsickle @@ -4190,8 +3456,8 @@ class TabComponent { TabComponent.decorators = [ { type: 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;margin:auto 23px}.gd-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}.gd-tab .title{display:none}.gd-tab .icon{display:block}}"] + 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:flex}.gd-tab{text-align:center;font-size:11px;color:#e5e5e5;height:30px;line-height:30px;cursor:pointer;display:flex;align-items:center;justify-content:center}.gd-tab .icon{display:none;font-size:14px;margin:auto 23px}.gd-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}.gd-tab .title{display:none}.gd-tab .icon{display:block}}"] }] } ]; /** @nocollapse */ @@ -4206,25 +3472,6 @@ TabComponent.propDecorators = { active: [{ type: Input }], content: [{ type: Input }] }; -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 @@ -4237,8 +3484,8 @@ class TabsComponent { TabsComponent.decorators = [ { type: Component, args: [{ selector: 'gd-tabs', - template: "
\n \n
\n", - styles: [".gd-tabs{display:-webkit-box;display:flex}"] + template: "
\r\n \r\n
\r\n", + styles: [".gd-tabs{display:flex}"] }] } ]; /** @nocollapse */ @@ -4280,28 +3527,6 @@ class Formatting { return new Formatting(10, '#000000', '#FFFFFF', false, false, false, 'Arial', false, "", ""); } } -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; -} class FormattingService { constructor() { this._observerBold = new Subject(); @@ -4532,128 +3757,6 @@ class FormattingService { this._observerList.next(list); } } -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 @@ -4704,8 +3807,8 @@ class ColorPickerComponent { ColorPickerComponent.decorators = [ { type: 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}"] + 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:flex;flex-wrap:wrap;justify-content:center}.bcPicker-palette>.bcPicker-color{width:18px;height:18px;margin:2px;cursor:pointer}"] }] } ]; /** @nocollapse */ @@ -4715,18 +3818,6 @@ ColorPickerComponent.propDecorators = { selectedColor: [{ type: Output }], closeOutside: [{ type: Output }] }; -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 @@ -4752,7 +3843,7 @@ BackFormattingService.ctorParameters = () => []; */ class SelectionService { constructor() { - this.isIE = false || !!/(MSIE|Trident\/|Edge\/)/i.test(navigator.userAgent); + this.isIE = !!/(MSIE|Trident\/|Edge\/)/i.test(navigator.userAgent); } /** * @return {?} @@ -4797,12 +3888,6 @@ SelectionService.decorators = [ },] } ]; /** @nocollapse */ SelectionService.ngInjectableDef = ɵɵdefineInjectable({ factory: function SelectionService_Factory() { return new SelectionService(); }, token: SelectionService, providedIn: "root" }); -if (false) { - /** @type {?} */ - SelectionService.prototype.selection; - /** @type {?} */ - SelectionService.prototype.isIE; -} /** * @fileoverview added by tsickle @@ -4825,7 +3910,7 @@ class FormattingDirective { this.underline = false; this.strikeout = false; this.isIE = false; - this.isIE = /*@cc_on!@*/ false || !!/(MSIE|Trident\/|Edge\/)/i.test(navigator.userAgent); + this.isIE = /*@cc_on!@*/ !!/(MSIE|Trident\/|Edge\/)/i.test(navigator.userAgent); } /** * @return {?} @@ -5195,73 +4280,6 @@ FormattingDirective.ctorParameters = () => [ FormattingDirective.propDecorators = { mouseup: [{ type: HostListener, args: ['mouseup',] }] }; -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 @@ -5278,8 +4296,8 @@ class SuccessModalComponent { SuccessModalComponent.decorators = [ { type: 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%)}}"] + 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:flex;overflow:hidden;width:469px;height:183px}.sa-icon.sa-success{border-color:#4caf50;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;transform:rotate(-45deg);transform-origin:60px 60px}.sa-icon.sa-success::after{border-radius:0 120px 120px 0;top:-11px;left:30px;transform:rotate(-45deg);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;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;transform:rotate(45deg)}.sa-icon.sa-success .sa-line.sa-long{width:47px;right:8px;top:38px;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;transform:translate(-50%,-50%)}}"] }] } ]; /** @nocollapse */ @@ -5315,18 +4333,6 @@ EditHtmlService.decorators = [ /** @nocollapse */ EditHtmlService.ctorParameters = () => []; /** @nocollapse */ EditHtmlService.ngInjectableDef = ɵɵdefineInjectable({ factory: function EditHtmlService_Factory() { return new EditHtmlService(); }, token: EditHtmlService, providedIn: "root" }); -if (false) { - /** - * @type {?} - * @private - */ - EditHtmlService.prototype._observer; - /** - * @type {?} - * @private - */ - EditHtmlService.prototype._htmlContent; -} /** * @fileoverview added by tsickle @@ -5340,7 +4346,7 @@ class EditorDirective { constructor(_selectionService, _htmlService) { this._selectionService = _selectionService; this._htmlService = _htmlService; - this.isIE = false || !!/(MSIE|Trident\/|Edge\/)/i.test(navigator.userAgent); + this.isIE = !!/(MSIE|Trident\/|Edge\/)/i.test(navigator.userAgent); } /** * @param {?} event @@ -5400,25 +4406,6 @@ EditorDirective.propDecorators = { onMouseleave: [{ type: HostListener, args: ['mouseleave', ['$event'],] }], onBlur: [{ type: HostListener, args: ['blur', ['$event'],] }] }; -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 @@ -5473,20 +4460,6 @@ LoadingMaskService.decorators = [ ]; /** @nocollapse */ LoadingMaskService.ctorParameters = () => []; -if (false) { - /** @type {?} */ - LoadingMaskService.prototype.onLoadingChanged; - /** - * @type {?} - * @private - */ - LoadingMaskService.prototype.stopList; - /** - * @type {?} - * @private - */ - LoadingMaskService.prototype.requests; -} /** * @fileoverview added by tsickle @@ -5521,8 +4494,8 @@ class LoadingMaskComponent { LoadingMaskComponent.decorators = [ { type: 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%)}"] + 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%;transform:translate(-50%,-50%)}"] }] } ]; /** @nocollapse */ @@ -5532,15 +4505,6 @@ LoadingMaskComponent.ctorParameters = () => [ LoadingMaskComponent.propDecorators = { loadingMask: [{ type: Input }] }; -if (false) { - /** @type {?} */ - LoadingMaskComponent.prototype.loadingMask; - /** - * @type {?} - * @private - */ - LoadingMaskComponent.prototype._loadingMaskService; -} /** * @fileoverview added by tsickle @@ -5578,13 +4542,6 @@ LoadingMaskInterceptorService.ctorParameters = () => [ { type: LoadingMaskService } ]; /** @nocollapse */ LoadingMaskInterceptorService.ngInjectableDef = ɵɵdefineInjectable({ factory: function LoadingMaskInterceptorService_Factory() { return new LoadingMaskInterceptorService(ɵɵinject(LoadingMaskService)); }, token: LoadingMaskInterceptorService, providedIn: "root" }); -if (false) { - /** - * @type {?} - * @private - */ - LoadingMaskInterceptorService.prototype._loadingMaskService; -} /** * @fileoverview added by tsickle @@ -5636,7 +4593,7 @@ DropDownToggleComponent.decorators = [ selector: 'gd-drop-down-toggle', template: '', encapsulation: 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}"] + styles: [".drop-down{position:relative}.show .drop-down-items{display:flex;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:flex;flex-direction:row;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 */ @@ -5649,12 +4606,6 @@ DropDownToggleComponent.ctorParameters = () => [ DropDownToggleComponent.propDecorators = { click: [{ type: HostListener, args: ['click', ['$event'],] }] }; -if (false) { - /** @type {?} */ - DropDownToggleComponent.prototype.click; - /** @type {?} */ - DropDownToggleComponent.prototype.dropdown; -} /** * DropDownItemsComponent */ @@ -5696,7 +4647,7 @@ DropDownItemsComponent.decorators = [ selector: 'gd-drop-down-items', template: '', encapsulation: 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}"] + styles: [".drop-down{position:relative}.show .drop-down-items{display:flex;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:flex;flex-direction:row;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 */ @@ -5706,10 +4657,6 @@ DropDownItemsComponent.ctorParameters = () => [ */ () => DropDownComponent)),] }] } ]; -if (false) { - /** @type {?} */ - DropDownItemsComponent.prototype.dropdown; -} /** * DropDownItemComponent */ @@ -5738,7 +4685,7 @@ DropDownItemComponent.decorators = [ { type: 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}"] + styles: [".drop-down{position:relative}.show .drop-down-items{display:flex;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:flex;flex-direction:row;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 */ @@ -5753,16 +4700,6 @@ DropDownItemComponent.propDecorators = { selected: [{ type: Output }], click: [{ type: HostListener, args: ['click',] }] }; -if (false) { - /** @type {?} */ - DropDownItemComponent.prototype.class; - /** @type {?} */ - DropDownItemComponent.prototype.selected; - /** @type {?} */ - DropDownItemComponent.prototype.click; - /** @type {?} */ - DropDownItemComponent.prototype.dropdown; -} /** * DropDownComponent */ @@ -5802,7 +4739,7 @@ DropDownComponent.decorators = [ selector: 'gd-drop-down', template: '', encapsulation: 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}"] + styles: [".drop-down{position:relative}.show .drop-down-items{display:flex;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:flex;flex-direction:row;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 = { @@ -5810,14 +4747,6 @@ DropDownComponent.propDecorators = { open: [{ type: Input }, { type: HostBinding, args: ['class.show',] }], class: [{ type: HostBinding, args: ['class',] }] }; -if (false) { - /** @type {?} */ - DropDownComponent.prototype.placement; - /** @type {?} */ - DropDownComponent.prototype.open; - /** @type {?} */ - DropDownComponent.prototype.class; -} /** * @fileoverview added by tsickle @@ -5836,8 +4765,8 @@ class LeftSideBarComponent { LeftSideBarComponent.decorators = [ { type: 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%}}"] + 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;transition:transform .3s ease-out;width:100%;height:100%;display:flex;justify-content: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 */ @@ -5845,10 +4774,6 @@ LeftSideBarComponent.ctorParameters = () => []; LeftSideBarComponent.propDecorators = { showSpinner: [{ type: Input }] }; -if (false) { - /** @type {?} */ - LeftSideBarComponent.prototype.showSpinner; -} /** * @fileoverview added by tsickle @@ -5883,10 +4808,6 @@ TooltipDirective.propDecorators = { onHovering: [{ type: HostListener, args: ['mouseenter',] }], onUnhovering: [{ type: HostListener, args: ['mouseleave',] }] }; -if (false) { - /** @type {?} */ - TooltipDirective.prototype.showToolTip; -} /** * @fileoverview added by tsickle @@ -5931,18 +4852,6 @@ AddDynamicComponentService.ctorParameters = () => [ { type: ApplicationRef } ]; /** @nocollapse */ AddDynamicComponentService.ngInjectableDef = ɵɵdefineInjectable({ factory: function AddDynamicComponentService_Factory() { return new AddDynamicComponentService(ɵɵinject(ComponentFactoryResolver), ɵɵinject(ApplicationRef)); }, token: AddDynamicComponentService, providedIn: "root" }); -if (false) { - /** - * @type {?} - * @private - */ - AddDynamicComponentService.prototype._factoryResolver; - /** - * @type {?} - * @private - */ - AddDynamicComponentService.prototype._appRef; -} /** * @fileoverview added by tsickle @@ -5993,13 +4902,6 @@ class HostingDynamicComponentService { })); } } -if (false) { - /** - * @type {?} - * @private - */ - HostingDynamicComponentService.prototype.hosts; -} /** * @fileoverview added by tsickle @@ -6041,17 +4943,6 @@ HostDynamicDirective.ctorParameters = () => [ HostDynamicDirective.propDecorators = { ident: [{ type: Input }] }; -if (false) { - /** @type {?} */ - HostDynamicDirective.prototype.ident; - /** @type {?} */ - HostDynamicDirective.prototype.viewContainerRef; - /** - * @type {?} - * @private - */ - HostDynamicDirective.prototype._hostingService; -} /** * @fileoverview added by tsickle @@ -6200,7 +5091,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}"] }] } ]; @@ -6221,52 +5112,6 @@ ResizingComponent.propDecorators = { offsetLeft: [{ type: Output }], release: [{ type: Output }] }; -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 @@ -6347,8 +5192,8 @@ class TopTabComponent { TopTabComponent.decorators = [ { type: 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}}"] + template: "
\r\n \r\n \r\n
\r\n", + styles: [".gd-tab{font-size:14px;color:#3e4e5a;cursor:pointer;display:flex;flex-direction:column;align-items:center;align-content: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:flex;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 */ @@ -6365,39 +5210,6 @@ TopTabComponent.propDecorators = { activeTab: [{ type: Output }], elementPosition: [{ type: Input }] }; -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 @@ -6519,8 +5331,8 @@ class TextMenuComponent { TextMenuComponent.decorators = [ { type: 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;bottom:0;left:0;right:0;width:100%;height:60px;-webkit-box-align:center;align-items:center;padding:0;margin:0;background-color:#fff;border-top:2px solid #707070}.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:-200px}.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 .button{margin:3px!important}}"] + 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:flex;flex-direction:row}.gd-text-menu .format-select{height:37px;display:flex;justify-content: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;bottom:0;left:0;right:0;width:100%;height:60px;align-items:center;padding:0;margin:0;background-color:#fff;border-top:2px solid #707070}.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:-200px}.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 .button{margin:3px!important}}"] }] } ]; /** @nocollapse */ @@ -6544,49 +5356,6 @@ TextMenuComponent.propDecorators = { outUnderline: [{ type: Output }], outColor: [{ type: Output }] }; -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 {?} - * @private - */ - TextMenuComponent.prototype._onCloseService; -} /** * @fileoverview added by tsickle @@ -6596,12 +5365,6 @@ class MenuType { } MenuType.FOR_SIGNATURE = "signature"; MenuType.FOR_ANNOTATION = "annotation"; -if (false) { - /** @type {?} */ - MenuType.FOR_SIGNATURE; - /** @type {?} */ - MenuType.FOR_ANNOTATION; -} class ContextMenuComponent { /** * @param {?} _windowService @@ -6725,8 +5488,8 @@ 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", - 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:-34px}}"] + 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:flex;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:-34px}}"] }] } ]; /** @nocollapse */ @@ -6746,37 +5509,6 @@ ContextMenuComponent.propDecorators = { lockOut: [{ type: Output }], comment: [{ type: Output }] }; -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; -} /** * @fileoverview added by tsickle @@ -6849,6 +5581,7 @@ CommonComponentsModule.decorators = [ PasswordRequiredComponent, SearchComponent, SearchableDirective, + EditHeaderFooterDirective, TabbedToolbarsComponent, TabComponent, TabsComponent, @@ -6893,6 +5626,7 @@ CommonComponentsModule.decorators = [ PasswordRequiredComponent, SearchComponent, SearchableDirective, + EditHeaderFooterDirective, TabbedToolbarsComponent, TabComponent, TabsComponent, @@ -6921,15 +5655,5 @@ CommonComponentsModule.decorators = [ /** @nocollapse */ CommonComponentsModule.ctorParameters = () => []; -/** - * @fileoverview added by tsickle - * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc - */ - -/** - * @fileoverview added by tsickle - * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc - */ - -export { AddDynamicComponentService, Api, BackFormattingService, BrowseFilesModalComponent, ButtonComponent, ColorPickerComponent, CommonComponentsModule, CommonModals, ConfigService, ContextMenuComponent, DisabledCursorDirective, DndDirective, DocumentComponent, DropDownComponent, DropDownItemComponent, DropDownItemsComponent, DropDownToggleComponent, EditHtmlService, EditorDirective, ErrorInterceptorService, ErrorModalComponent, ExceptionMessageService, FileCredentials, FileDescription, FileModel, FileService, FileUtil, Formatting, FormattingDirective, FormattingService, HighlightSearchPipe, HostDynamicDirective, HostingDynamicComponentService, HttpError, InitStateComponent, LeftSideBarComponent, LoadingMaskComponent, LoadingMaskInterceptorService, LoadingMaskService, LogoComponent, MenuType, ModalComponent, ModalService, NavigateService, OnCloseService, PageComponent, PageModel, PagePreloadService, PasswordRequiredComponent, PasswordService, RenderPrintDirective, RenderPrintService, RotatedPage, RotationDirective, SanitizeHtmlPipe, SanitizeResourceHtmlPipe, SanitizeStylePipe, SaveFile, ScrollableDirective, SearchComponent, SearchService, SearchableDirective, SelectComponent, SelectionService, SidePanelComponent, SuccessModalComponent, TabActivatorService, TabComponent, TabbedToolbarsComponent, TextMenuComponent, TooltipComponent, TopTabActivatorService, TopToolbarComponent, UploadFileZoneComponent, UploadFilesService, Utils, ViewportService, WindowService, ZoomDirective, ZoomService, TabsComponent as ɵa, TooltipDirective as ɵb, ResizingComponent as ɵc, TopTabComponent as ɵd }; +export { AddDynamicComponentService, Api, BackFormattingService, BrowseFilesModalComponent, ButtonComponent, ColorPickerComponent, CommonComponentsModule, CommonModals, ConfigService, ContextMenuComponent, DisabledCursorDirective, DndDirective, DocumentComponent, DropDownComponent, DropDownItemComponent, DropDownItemsComponent, DropDownToggleComponent, EditHtmlService, EditorDirective, ErrorInterceptorService, ErrorModalComponent, ExceptionMessageService, FileCredentials, FileDescription, FileModel, FileService, FileUtil, Formatting, FormattingDirective, FormattingService, HighlightSearchPipe, HostDynamicDirective, HostingDynamicComponentService, HttpError, InitStateComponent, LeftSideBarComponent, LoadingMaskComponent, LoadingMaskInterceptorService, LoadingMaskService, LogoComponent, MenuType, ModalComponent, ModalService, NavigateService, OnCloseService, PageComponent, PageModel, PagePreloadService, PasswordRequiredComponent, PasswordService, RenderPrintDirective, RenderPrintService, RotatedPage, RotationDirective, SanitizeHtmlPipe, SanitizeResourceHtmlPipe, SanitizeStylePipe, SaveFile, ScrollableDirective, SearchComponent, SearchService, SearchableDirective, SelectComponent, SelectionService, SidePanelComponent, SuccessModalComponent, TabActivatorService, TabComponent, TabbedToolbarsComponent, TextMenuComponent, TooltipComponent, TopTabActivatorService, TopToolbarComponent, UploadFileZoneComponent, UploadFilesService, Utils, ViewportService, WindowService, ZoomDirective, ZoomService, EditHeaderFooterDirective as ɵa, TabsComponent as ɵb, TooltipDirective as ɵc, ResizingComponent as ɵd, TopTabComponent as ɵe }; //# sourceMappingURL=groupdocs.examples.angular-common-components.js.map 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 6aa84882b..cb0400526 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/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/page-preload.service.ts","ng://@groupdocs.examples.angular/common-components/lib/navigate.service.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/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 @Output() hideSidePanel = new EventEmitter();\n\n onlyTitle = false;\n\n constructor() {\n }\n\n openSidePanel() {\n this.hideSidePanel.emit(true);\n }\n\n toggleTitleMode(){\n this.onlyTitle = !this.onlyTitle;\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 EDITOR_APP = '/editor';\n public static COMPARISON_APP = '/comparison';\n public static CONVERSION_APP = '/conversion';\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 ROTATE_DOCUMENT_PAGE = '/rotateDocumentPages';\n public static UPLOAD_DOCUMENTS = '/uploadDocument';\n public static DOWNLOAD_DOCUMENTS = '/downloadDocument';\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 COMPARE_FILES = '/compare';\n public static CONVERT_FILE = '/convert';\n public static DELETE_SIGNATURE_FILE = '/deleteSignatureFile';\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\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 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","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}\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 {\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';\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 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\n _zoomService.zoomChange.subscribe((val: number) => {\n this.zoom = val;\n });\n\n this.isDesktop = _windowService.isDesktop();\n }\n\n ngOnInit() {\n }\n\n ngOnChanges() {\n const panzoom = this._elementRef.nativeElement.children.item(0).children.item(0);\n (panzoom as any).style.transform = '';\n // TODO: this intersects with zooming by zoom directive, but still needed\n // for flush previous settings before opening another file\n //this._zoomService.changeZoom(100);\n //this.scale = 1;\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 getDimensionWithUnit(value: number) {\n return 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 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 absolutePosition(el) {\n let x = 0, y = 0;\n\n while (el !== null) {\n x += el.offsetLeft;\n y += el.offsetTop;\n el = el.offsetParent;\n }\n\n return {x: x, y: y};\n };\n\n restrictRawPos(pos, viewportDim, docDim) {\n if (pos < viewportDim / this.scale - docDim) { // too far left/up?\n pos = viewportDim / this.scale - docDim;\n } else if (pos > 0) { // too far right/down?\n pos = 0;\n }\n return pos;\n };\n\n updateLastPos() {\n this.lastX = this.x;\n this.lastY = this.y;\n };\n\n translate(deltaX, deltaY) {\n // We restrict to the min of the viewport width/height or current width/height as the\n // current width/height may be smaller than the viewport width/height\n const newX = this.restrictRawPos(this.lastX + deltaX / this.scale,\n Math.min(this.viewportWidth, this.curWidth), this.docWidth);\n this.x = newX;\n // TODO: value here and in the similar line below changes to positive to take any effect\n this.container.scrollLeft = -Math.ceil(newX * this.scale);\n\n const newY = this.restrictRawPos(this.lastY + deltaY / this.scale,\n Math.min(this.viewportHeight, this.curHeight), this.docHeight);\n this.y = newY;\n this.container.scrollTop = -Math.ceil(newY * this.scale);\n\n this.doc.style.transform = 'scale(' + this.scale + ')';\n };\n\n startZoom(scaleBy) {\n this.scale = this.lastScale * scaleBy;\n\n this.curWidth = this.docWidth * this.scale;\n this.curHeight = this.docHeight * this.scale;\n\n // Adjust margins to make sure that we aren't out of bounds\n this.translate(0, 0);\n };\n\n rawCenter($event) {\n const pos = this.absolutePosition(this.container);\n\n // We need to account for the scroll position\n const scrollLeft = window.pageXOffset ? window.pageXOffset : document.body.scrollLeft;\n const scrollTop = window.pageYOffset ? window.pageYOffset : document.body.scrollTop;\n\n const zoomX = -this.x + ($event.center.x - pos.x + scrollLeft) / this.scale;\n const zoomY = -this.y + ($event.center.y - pos.y + scrollTop) / this.scale;\n\n return {x: zoomX, y: zoomY};\n };\n\n updateLastScale() {\n this.lastScale = this.scale;\n };\n\n zoomAround(scaleBy, rawZoomX, rawZoomY, doNotUpdateLast) {\n // Zoom\n this.startZoom(scaleBy);\n\n // New raw center of viewport\n const rawCenterX = -this.x + Math.min(this.viewportWidth, this.curWidth) / 2 / this.scale;\n const rawCenterY = -this.y + Math.min(this.viewportHeight, this.curHeight) / 2 / this.scale;\n\n // Delta\n const deltaX = (rawCenterX - rawZoomX) * this.scale;\n const deltaY = (rawCenterY - rawZoomY) * this.scale;\n\n // Translate back to zoom center\n this.translate(deltaX, deltaY);\n\n if (!doNotUpdateLast) {\n this.updateLastScale();\n this.updateLastPos();\n }\n };\n\n onPinch($event) {\n if (this.pinchCenter === null) {\n this.pinchCenter = this.rawCenter($event);\n const offsetX = this.pinchCenter.x * this.scale - (-this.x * this.scale + Math.min(this.viewportWidth, this.curWidth) / 2);\n const offsetY = this.pinchCenter.y * this.scale - (-this.y * this.scale + Math.min(this.viewportHeight, this.curHeight) / 2);\n this.pinchCenterOffset = {x: offsetX, y: offsetY};\n }\n\n const newScale = this.scale * $event.scale;\n\n const zoomX = this.pinchCenter.x * newScale - this.pinchCenterOffset.x;\n const zoomY = this.pinchCenter.y * newScale - this.pinchCenterOffset.y;\n const zoomCenter = {x: zoomX / newScale, y: zoomY / newScale};\n\n this.zoomAround($event.scale, zoomCenter.x, zoomCenter.y, true);\n }\n\n onPinchEnd($event) {\n this.updateLastScale();\n this.updateLastPos();\n this.pinchCenter = null;\n }\n\n onPan($event) {\n // TODO: looks like native pan works better\n // if (!this.isDesktop) {\n // this.translate($event.deltaX, $event.deltaY);\n // }\n }\n\n onPanEnd($event) {\n // if (!this.isDesktop) {\n // this.updateLastPos();\n // }\n }\n\n onDoubleTap($event) {\n if (!this.isDesktop) {\n if ($event.tapCount === 2) {\n const c = this.rawCenter($event);\n this.zoomAround(2, c.x, c.y, false);\n }\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 // 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 !== null ? this.data.replace(/>\\s+<').replace(/\\uFEFF/g,\"\") : null;\n const dataImagePngBase64 = 'data:image/png;base64,';\n this.imgData = dataImagePngBase64;\n if (!this.isHtml) {\n this.imgData += 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 {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 {Observable, Observer} 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 readonly _navigate: Observable;\n private _observer: Observer;\n\n constructor(private _pagePreloadService: PagePreloadService) {\n this._navigate = new Observable(observer =>\n this._observer = observer);\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 {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\n private currentPage: number;\n private zoom = 100;\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 const count = Math.floor((this.getWidth() - offset) / (pageEl.getBoundingClientRect().width * this.getZoom()));\n return count === 0 ? 1 : count;\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 this._navigateService.currentPage = page;\n }\n currentPageSet = true;\n }\n this._pagePreloadService.changeLastPageInView(page);\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 {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.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 resizePages(zoom){\n const zoomInt = zoom === 100 ? 1 : zoom / 100;\n\n const viewPortWidth = this.el.nativeElement.parentElement.offsetWidth;\n const scrollWidth = this.getScrollWidth(this.el.nativeElement.parentElement);\n this.width = (viewPortWidth/zoomInt - scrollWidth/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 @Input() isOpen = false;\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 }\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 if (this.htmlMode) {\n for (const page of pages) {\n pagesHtml += '
' +\n '
' + page.data + '
' +\n '
';\n }\n } else {\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 windowObject.focus();\n windowObject.print();\n windowObject.close();\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 {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 constructor() {\n }\n\n get messageChange(): Observable {\n return this._messageChange;\n }\n\n changeMessage(message: string) {\n this._observer.next(message);\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 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._modalService.open(CommonModals.ErrorMessage);\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 }\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 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} 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\";\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\n constructor(private _onCloseService: OnCloseService) {\n _onCloseService.onClose.subscribe(() => {\n this.colorPickerShow = false;\n });\n }\n\n ngOnInit() {\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} from '@angular/core';\nimport {Formatting} from \"../formatting.service\";\nimport {WindowService} from \"../window.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 this.isMobile = _windowService.isMobile();\n _windowService.onResize.subscribe((w) => {\n this.isMobile = _windowService.isMobile();\n });\n }\n\n ngOnInit() {\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 {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 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 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/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/page-preload.service.ts","ng://@groupdocs.examples.angular/common-components/lib/navigate.service.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/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/editheaderfooter.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 @Output() hideSidePanel = new EventEmitter();\r\n\r\n onlyTitle = false;\r\n\r\n constructor() {\r\n }\r\n\r\n openSidePanel() {\r\n this.hideSidePanel.emit(true);\r\n }\r\n\r\n toggleTitleMode(){\r\n this.onlyTitle = !this.onlyTitle;\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 EDITOR_APP = '/editor';\r\n public static COMPARISON_APP = '/comparison';\r\n public static CONVERSION_APP = '/conversion';\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 ROTATE_DOCUMENT_PAGE = '/rotateDocumentPages';\r\n public static UPLOAD_DOCUMENTS = '/uploadDocument';\r\n public static DOWNLOAD_DOCUMENTS = '/downloadDocument';\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 COMPARE_FILES = '/compare';\r\n public static CONVERT_FILE = '/convert';\r\n public static DELETE_SIGNATURE_FILE = '/deleteSignatureFile';\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\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 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","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}\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 {\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\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 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\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\r\n ngOnInit() {\r\n }\r\n\r\n ngOnChanges() {\r\n const panzoom = this._elementRef.nativeElement.children.item(0).children.item(0);\r\n (panzoom as any).style.transform = '';\r\n // TODO: this intersects with zooming by zoom directive, but still needed\r\n // for flush previous settings before opening another file\r\n //this._zoomService.changeZoom(100);\r\n //this.scale = 1;\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 getDimensionWithUnit(value: number) {\r\n return 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 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 absolutePosition(el) {\r\n let x = 0, y = 0;\r\n\r\n while (el !== null) {\r\n x += el.offsetLeft;\r\n y += el.offsetTop;\r\n el = el.offsetParent;\r\n }\r\n\r\n return {x: x, y: y};\r\n };\r\n\r\n restrictRawPos(pos, viewportDim, docDim) {\r\n if (pos < viewportDim / this.scale - docDim) { // too far left/up?\r\n pos = viewportDim / this.scale - docDim;\r\n } else if (pos > 0) { // too far right/down?\r\n pos = 0;\r\n }\r\n return pos;\r\n };\r\n\r\n updateLastPos() {\r\n this.lastX = this.x;\r\n this.lastY = this.y;\r\n };\r\n\r\n translate(deltaX, deltaY) {\r\n // We restrict to the min of the viewport width/height or current width/height as the\r\n // current width/height may be smaller than the viewport width/height\r\n const newX = this.restrictRawPos(this.lastX + deltaX / this.scale,\r\n Math.min(this.viewportWidth, this.curWidth), this.docWidth);\r\n this.x = newX;\r\n // TODO: value here and in the similar line below changes to positive to take any effect\r\n this.container.scrollLeft = -Math.ceil(newX * this.scale);\r\n\r\n const newY = this.restrictRawPos(this.lastY + deltaY / this.scale,\r\n Math.min(this.viewportHeight, this.curHeight), this.docHeight);\r\n this.y = newY;\r\n this.container.scrollTop = -Math.ceil(newY * this.scale);\r\n\r\n this.doc.style.transform = 'scale(' + this.scale + ')';\r\n };\r\n\r\n startZoom(scaleBy) {\r\n this.scale = this.lastScale * scaleBy;\r\n\r\n this.curWidth = this.docWidth * this.scale;\r\n this.curHeight = this.docHeight * this.scale;\r\n\r\n // Adjust margins to make sure that we aren't out of bounds\r\n this.translate(0, 0);\r\n };\r\n\r\n rawCenter($event) {\r\n const pos = this.absolutePosition(this.container);\r\n\r\n // We need to account for the scroll position\r\n const scrollLeft = window.pageXOffset ? window.pageXOffset : document.body.scrollLeft;\r\n const scrollTop = window.pageYOffset ? window.pageYOffset : document.body.scrollTop;\r\n\r\n const zoomX = -this.x + ($event.center.x - pos.x + scrollLeft) / this.scale;\r\n const zoomY = -this.y + ($event.center.y - pos.y + scrollTop) / this.scale;\r\n\r\n return {x: zoomX, y: zoomY};\r\n };\r\n\r\n updateLastScale() {\r\n this.lastScale = this.scale;\r\n };\r\n\r\n zoomAround(scaleBy, rawZoomX, rawZoomY, doNotUpdateLast) {\r\n // Zoom\r\n this.startZoom(scaleBy);\r\n\r\n // New raw center of viewport\r\n const rawCenterX = -this.x + Math.min(this.viewportWidth, this.curWidth) / 2 / this.scale;\r\n const rawCenterY = -this.y + Math.min(this.viewportHeight, this.curHeight) / 2 / this.scale;\r\n\r\n // Delta\r\n const deltaX = (rawCenterX - rawZoomX) * this.scale;\r\n const deltaY = (rawCenterY - rawZoomY) * this.scale;\r\n\r\n // Translate back to zoom center\r\n this.translate(deltaX, deltaY);\r\n\r\n if (!doNotUpdateLast) {\r\n this.updateLastScale();\r\n this.updateLastPos();\r\n }\r\n };\r\n\r\n onPinch($event) {\r\n if (this.pinchCenter === null) {\r\n this.pinchCenter = this.rawCenter($event);\r\n const offsetX = this.pinchCenter.x * this.scale - (-this.x * this.scale + Math.min(this.viewportWidth, this.curWidth) / 2);\r\n const offsetY = this.pinchCenter.y * this.scale - (-this.y * this.scale + Math.min(this.viewportHeight, this.curHeight) / 2);\r\n this.pinchCenterOffset = {x: offsetX, y: offsetY};\r\n }\r\n\r\n const newScale = this.scale * $event.scale;\r\n\r\n const zoomX = this.pinchCenter.x * newScale - this.pinchCenterOffset.x;\r\n const zoomY = this.pinchCenter.y * newScale - this.pinchCenterOffset.y;\r\n const zoomCenter = {x: zoomX / newScale, y: zoomY / newScale};\r\n\r\n this.zoomAround($event.scale, zoomCenter.x, zoomCenter.y, true);\r\n }\r\n\r\n onPinchEnd($event) {\r\n this.updateLastScale();\r\n this.updateLastPos();\r\n this.pinchCenter = null;\r\n }\r\n\r\n onPan($event) {\r\n // TODO: looks like native pan works better\r\n // if (!this.isDesktop) {\r\n // this.translate($event.deltaX, $event.deltaY);\r\n // }\r\n }\r\n\r\n onPanEnd($event) {\r\n // if (!this.isDesktop) {\r\n // this.updateLastPos();\r\n // }\r\n }\r\n\r\n onDoubleTap($event) {\r\n if (!this.isDesktop) {\r\n if ($event.tapCount === 2) {\r\n const c = this.rawCenter($event);\r\n this.zoomAround(2, c.x, c.y, false);\r\n }\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 // 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 !== null ? this.data.replace(/>\\s+<').replace(/\\uFEFF/g,\"\") : null;\r\n const dataImagePngBase64 = 'data:image/png;base64,';\r\n this.imgData = dataImagePngBase64;\r\n if (!this.isHtml) {\r\n this.imgData += 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 {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 {Observable, Observer} 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 readonly _navigate: Observable;\r\n private _observer: Observer;\r\n\r\n constructor(private _pagePreloadService: PagePreloadService) {\r\n this._navigate = new Observable(observer =>\r\n this._observer = observer);\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 {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\r\n private currentPage: number;\r\n private zoom = 100;\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 const count = Math.floor((this.getWidth() - offset) / (pageEl.getBoundingClientRect().width * this.getZoom()));\r\n return count === 0 ? 1 : count;\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 this._navigateService.currentPage = page;\r\n }\r\n currentPageSet = true;\r\n }\r\n this._pagePreloadService.changeLastPageInView(page);\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 {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.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 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 scrollWidth = this.getScrollWidth(this.el.nativeElement.parentElement);\r\n this.width = (viewPortWidth/zoomInt - scrollWidth/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 @Input() isOpen = false;\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 }\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 if (this.htmlMode) {\r\n for (const page of pages) {\r\n pagesHtml += '
' +\r\n '
' + page.data + '
' +\r\n '
';\r\n }\r\n } else {\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 windowObject.focus();\r\n windowObject.print();\r\n windowObject.close();\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 {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 constructor() {\r\n }\r\n\r\n get messageChange(): Observable {\r\n return this._messageChange;\r\n }\r\n\r\n changeMessage(message: string) {\r\n this._observer.next(message);\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 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._modalService.open(CommonModals.ErrorMessage);\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 {AfterViewInit, Directive, HostBinding, Input, OnDestroy, OnInit, ElementRef, OnChanges, HostListener} 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: '[gdEditHeaderFooter]'\r\n})\r\nexport class EditHeaderFooterDirective implements OnInit, OnDestroy, AfterViewInit, OnChanges {\r\n\r\n el: ElementRef;\r\n footerRef: any;\r\n\r\n constructor(private _zoomService: ZoomService, private _windowService: WindowService, el: ElementRef) {\r\n this.el = el;\r\n }\r\n\r\n ngAfterViewInit(): void {\r\n this.footerRef = this.el.nativeElement.querySelectorAll('.footer')[0];\r\n this.footerRef.setAttribute(\"contenteditable\", false);\r\n this.footerRef.className += \" disabled\";\r\n }\r\n\r\n ngOnDestroy(): void {\r\n }\r\n\r\n ngOnChanges(): void {\r\n }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n @HostListener('dblclick', ['$event'])\r\n dblclickEvent(event) {\r\n const footerTitle = document.createElement(\"div\");\r\n footerTitle.className = \"footer-title\";\r\n footerTitle.append('Footer');\r\n\r\n const footer = event.target.closest('.footer');\r\n if (footer && footer.classList.contains('disabled')) {\r\n console.log('dblclick in footer fired');\r\n footer.classList.remove('disabled');\r\n footer.setAttribute(\"contenteditable\", true);\r\n footer.before(footerTitle);\r\n }\r\n\r\n event.preventDefault();\r\n event.stopPropagation();\r\n }\r\n\r\n @HostListener('click', ['$event'])\r\n clickEvent(event) {\r\n console.log('click on el fired');\r\n const footer = event.target.closest('.footer');\r\n if (!footer) {\r\n this.footerRef.setAttribute(\"contenteditable\", false);\r\n if (!this.footerRef.classList.contains('disabled'))\r\n {\r\n this.footerRef.className += \" disabled\";\r\n }\r\n\r\n const section = this.el.nativeElement.querySelectorAll('.section')[0];\r\n const footerTitle = this.el.nativeElement.querySelectorAll('.footer-title')[0];\r\n if (section && footerTitle) {\r\n section.removeChild(footerTitle);\r\n }\r\n }\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 }\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 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} 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\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\r\n constructor(private _onCloseService: OnCloseService) {\r\n _onCloseService.onClose.subscribe(() => {\r\n this.colorPickerShow = false;\r\n });\r\n }\r\n\r\n ngOnInit() {\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} from '@angular/core';\r\nimport {Formatting} from \"../formatting.service\";\r\nimport {WindowService} from \"../window.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 this.isMobile = _windowService.isMobile();\r\n _windowService.onResize.subscribe((w) => {\r\n this.isMobile = _windowService.isMobile();\r\n });\r\n }\r\n\r\n ngOnInit() {\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 {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 {EditHeaderFooterDirective} from './editheaderfooter.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 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 EditHeaderFooterDirective,\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 SelectComponent,\r\n RotationDirective,\r\n InitStateComponent,\r\n RenderPrintDirective,\r\n ErrorModalComponent,\r\n PasswordRequiredComponent,\r\n SearchComponent,\r\n SearchableDirective,\r\n EditHeaderFooterDirective,\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 920b5fbef..f554b7b66 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 @@ -1,4 +1,4 @@ -import { Component, EventEmitter, Input, Output, Injectable, ElementRef, Pipe, Directive, HostBinding, HostListener, ɵɵdefineInjectable, ɵɵinject, ViewChild, ViewEncapsulation, Inject, forwardRef, ComponentFactoryResolver, ApplicationRef, ViewContainerRef, NgModule } from '@angular/core'; +import { Component, Input, Output, EventEmitter, Injectable, ElementRef, Pipe, Directive, HostBinding, HostListener, ɵɵdefineInjectable, ɵɵinject, ViewChild, ViewEncapsulation, Inject, forwardRef, ComponentFactoryResolver, ApplicationRef, ViewContainerRef, NgModule } from '@angular/core'; import { CommonModule } from '@angular/common'; import { Subject, fromEvent, Observable, BehaviorSubject, throwError } from 'rxjs'; import { debounceTime, distinctUntilChanged, startWith, tap, map, catchError, finalize } from 'rxjs/operators'; @@ -23,8 +23,8 @@ var TopToolbarComponent = /** @class */ (function () { TopToolbarComponent.decorators = [ { type: 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}}"] + template: "
\r\n
\r\n \r\n
\r\n
\r\n", + styles: [".top-toolbar{width:100%;height:60px;z-index:999;display:flex;align-items:center}.tools{width:100%;height:100%;display:flex;align-items:center}@media (max-width:1037px){.top-toolbar{height:60px}.tools{height:100%;overflow-x:auto;overflow-scrolling:touch;display:flex;align-items:center;transition:.3s ease-in-out;scroll-behavior:smooth;-webkit-overflow-scrolling:touch}.tools::-webkit-scrollbar{width:0;height:0;background-color:#3e4e5a}}"] }] } ]; /** @nocollapse */ @@ -62,8 +62,8 @@ 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", - 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{display:-webkit-box;display:flex;-webkit-box-align:center;align-items:center}.gd-side-panel-wrapper .gd-side-panel-header /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}}"] + 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", + styles: [".gd-side-panel-wrapper{margin-right:0;width:334px;z-index:999;background-color:#fff;transition:margin-right .2s;display:flex;flex-flow:column;height:100vh}.gd-side-panel-wrapper .gd-side-panel-header{height:60px;background-color:#222e35;display:flex;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{display:flex;align-items:center}.gd-side-panel-wrapper .gd-side-panel-header /deep/ gd-button .text{padding:0}.gd-side-panel-wrapper .gd-side-panel-body{display:flex;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 */ @@ -75,16 +75,6 @@ var SidePanelComponent = /** @class */ (function () { }; return SidePanelComponent; }()); -if (false) { - /** @type {?} */ - SidePanelComponent.prototype.title; - /** @type {?} */ - SidePanelComponent.prototype.icon; - /** @type {?} */ - SidePanelComponent.prototype.hideSidePanel; - /** @type {?} */ - SidePanelComponent.prototype.onlyTitle; -} /** * @fileoverview added by tsickle @@ -187,28 +177,6 @@ var WindowService = /** @class */ (function () { }; 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 @@ -285,8 +253,8 @@ var ButtonComponent = /** @class */ (function () { ButtonComponent.decorators = [ { type: 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}}"] + 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:flex;flex-direction:column;align-items:center;align-content: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:flex;flex-direction:column}@media (max-width:1037px){.button{font-size:22px}.arrow-button{margin:5px}}"] }] } ]; /** @nocollapse */ @@ -308,37 +276,6 @@ var ButtonComponent = /** @class */ (function () { }; 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 @@ -358,8 +295,8 @@ var LogoComponent = /** @class */ (function () { LogoComponent.decorators = [ { type: 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}}"] + template: "
\r\n \r\n \r\n
\r\n\r\n", + styles: [".logo{background-color:#25c2d4;height:60px;display:flex;align-items: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 */ @@ -370,12 +307,6 @@ var LogoComponent = /** @class */ (function () { }; return LogoComponent; }()); -if (false) { - /** @type {?} */ - LogoComponent.prototype.logo; - /** @type {?} */ - LogoComponent.prototype.icon; -} /** * @fileoverview added by tsickle @@ -420,7 +351,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:0!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}"] }] } ]; @@ -433,14 +364,6 @@ var TooltipComponent = /** @class */ (function () { }; return TooltipComponent; }()); -if (false) { - /** @type {?} */ - TooltipComponent.prototype.text; - /** @type {?} */ - TooltipComponent.prototype.position; - /** @type {?} */ - TooltipComponent.prototype.visibility; -} /** * @fileoverview added by tsickle @@ -492,72 +415,6 @@ var Api = /** @class */ (function () { }; return Api; }()); -if (false) { - /** @type {?} */ - Api.VIEWER_APP; - /** @type {?} */ - Api.SIGNATURE_APP; - /** @type {?} */ - Api.ANNOTATION_APP; - /** @type {?} */ - Api.EDITOR_APP; - /** @type {?} */ - Api.COMPARISON_APP; - /** @type {?} */ - Api.CONVERSION_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.ROTATE_DOCUMENT_PAGE; - /** @type {?} */ - Api.UPLOAD_DOCUMENTS; - /** @type {?} */ - Api.DOWNLOAD_DOCUMENTS; - /** @type {?} */ - Api.LOAD_PRINT; - /** @type {?} */ - Api.LOAD_PRINT_PDF; - /** @type {?} */ - Api.LOAD_THUMBNAILS; - /** @type {?} */ - Api.LOAD_FORMATS; - /** @type {?} */ - Api.SAVE_FILE; - /** @type {?} */ - Api.COMPARE_FILES; - /** @type {?} */ - Api.CONVERT_FILE; - /** @type {?} */ - Api.DELETE_SIGNATURE_FILE; - /** @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.httpOptionsJson; - /** @type {?} */ - Api.httpOptionsJsonResponseTypeBlob; -} var ConfigService = /** @class */ (function () { function ConfigService() { this.apiEndpoint = Api.DEFAULT_API_ENDPOINT; @@ -651,13 +508,6 @@ var ConfigService = /** @class */ (function () { ConfigService.ctorParameters = function () { return []; }; return ConfigService; }()); -if (false) { - /** - * @type {?} - * @private - */ - ConfigService.prototype._apiEndpoint; -} /** * @fileoverview added by tsickle @@ -676,24 +526,6 @@ var CommonModals = /** @class */ (function () { 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 = []; @@ -764,13 +596,6 @@ var ModalService = /** @class */ (function () { }; return ModalService; }()); -if (false) { - /** - * @type {?} - * @private - */ - ModalService.prototype.modals; -} /** * @fileoverview added by tsickle @@ -857,8 +682,8 @@ 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", - 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-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%}}"] + 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%;transform:translate(-50%,-50%);z-index:1051}.gd-modal-content{background-color:#fff;height:100%;display:flex;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 */ @@ -874,28 +699,6 @@ var ModalComponent = /** @class */ (function () { }; 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 @@ -906,31 +709,11 @@ var PageModel = /** @class */ (function () { } 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; @@ -938,12 +721,6 @@ var FileCredentials = /** @class */ (function () { } 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) { @@ -953,43 +730,17 @@ var SaveFile = /** @class */ (function (_super) { } 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; -} 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() { } @@ -1002,22 +753,6 @@ var HttpError = /** @class */ (function () { 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() { } @@ -1235,10 +970,6 @@ var FileUtil = /** @class */ (function () { }; return FileUtil; }()); -if (false) { - /** @type {?} */ - FileUtil.map; -} var FileService = /** @class */ (function () { function FileService() { } @@ -1283,18 +1014,6 @@ var UploadFilesService = /** @class */ (function () { }; return UploadFilesService; }()); -if (false) { - /** - * @type {?} - * @private - */ - UploadFilesService.prototype._uploadsChange; - /** - * @type {?} - * @private - */ - UploadFilesService.prototype._observer; -} /** * @fileoverview added by tsickle @@ -1491,8 +1210,8 @@ 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", - 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)}}"] + 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:flex;width:90%;padding:18px 0 18px 24px;font-size:14px;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:flex;width:100%;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: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:flex;position:relative;width:100%}.upload-panel .context{display:flex;flex-direction:column;width:100%;margin-left:24px;margin-top:24px;margin-right:24px}.upload-panel .context .context-actions{display:flex;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;justify-content:center}.upload-panel .context .context-actions ::ng-deep .button ::ng-deep .text{font-size:10px}.upload-panel .context .context-panel{display:flex;flex-direction:row;width:100%;margin-top:20px}.upload-panel .context .context-panel .upload-url{display:flex;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:flex;justify-content:center;align-items:center}.dnd-wrapper{display:flex;flex-direction:column;align-items:center;justify-content:center;top:259px;position:absolute}.dnd-wrapper .text{color:#6e6e6e;font-size:14px}.dnd-wrapper .icon{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 */ @@ -1509,36 +1228,6 @@ var BrowseFilesModalComponent = /** @class */ (function () { }; 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 @@ -1622,23 +1311,6 @@ var ZoomService = /** @class */ (function () { }; return ZoomService; }()); -if (false) { - /** - * @type {?} - * @private - */ - ZoomService.prototype._observer; - /** - * @type {?} - * @private - */ - ZoomService.prototype._zoomChange; - /** - * @type {?} - * @private - */ - ZoomService.prototype._zoom; -} /** * @fileoverview added by tsickle @@ -1792,7 +1464,6 @@ var DocumentComponent = /** @class */ (function () { } return { x: x, y: y }; }; - ; /** * @param {?} pos * @param {?} viewportDim @@ -1814,7 +1485,6 @@ var DocumentComponent = /** @class */ (function () { } return pos; }; - ; /** * @return {?} */ @@ -1825,7 +1495,6 @@ var DocumentComponent = /** @class */ (function () { this.lastX = this.x; this.lastY = this.y; }; - ; /** * @param {?} deltaX * @param {?} deltaY @@ -1850,7 +1519,6 @@ var DocumentComponent = /** @class */ (function () { this.container.scrollTop = -Math.ceil(newY * this.scale); this.doc.style.transform = 'scale(' + this.scale + ')'; }; - ; /** * @param {?} scaleBy * @return {?} @@ -1866,7 +1534,6 @@ var DocumentComponent = /** @class */ (function () { // Adjust margins to make sure that we aren't out of bounds this.translate(0, 0); }; - ; /** * @param {?} $event * @return {?} @@ -1889,7 +1556,6 @@ var DocumentComponent = /** @class */ (function () { var zoomY = -this.y + ($event.center.y - pos.y + scrollTop) / this.scale; return { x: zoomX, y: zoomY }; }; - ; /** * @return {?} */ @@ -1899,7 +1565,6 @@ var DocumentComponent = /** @class */ (function () { function () { this.lastScale = this.scale; }; - ; /** * @param {?} scaleBy * @param {?} rawZoomX @@ -1934,7 +1599,6 @@ var DocumentComponent = /** @class */ (function () { this.updateLastPos(); } }; - ; /** * @param {?} $event * @return {?} @@ -2022,8 +1686,8 @@ var DocumentComponent = /** @class */ (function () { DocumentComponent.decorators = [ { type: 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}.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}.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}}"] + template: "
Please wait...
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n", + styles: [":host{flex:1;transition:.4s;background-color:#e7e7e7;height:100%;overflow:scroll}.page{display:inline-block;background-color:#fff;margin:20px;box-shadow:0 3px 6px rgba(0,0,0,.16);transition:.3s}.page.excel{overflow:auto}.wait{position:absolute;top:55px;left:Calc(30%)}.panzoom{display:flex;flex-direction:row;flex-wrap:wrap;justify-content:center;align-content:flex-start}@media (max-width:1037px){.page{min-width:unset!important;min-height:unset!important;margin:5px 0}}"] }] } ]; /** @nocollapse */ @@ -2039,75 +1703,6 @@ var DocumentComponent = /** @class */ (function () { }; return DocumentComponent; }()); -if (false) { - /** @type {?} */ - DocumentComponent.prototype.mode; - /** @type {?} */ - DocumentComponent.prototype.preloadPageCount; - /** @type {?} */ - DocumentComponent.prototype.file; - /** @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; - /* Skipping unhandled member: ;*/ - /* Skipping unhandled member: ;*/ - /* Skipping unhandled member: ;*/ - /* Skipping unhandled member: ;*/ - /* Skipping unhandled member: ;*/ - /* Skipping unhandled member: ;*/ - /* Skipping unhandled member: ;*/ - /* Skipping unhandled member: ;*/ -} /** * @fileoverview added by tsickle @@ -2124,7 +1719,7 @@ var PageComponent = /** @class */ (function () { */ function () { /** @type {?} */ - var isIE = /*@cc_on!@*/ false || !!/(MSIE|Trident\/|Edge\/)/i.test(navigator.userAgent); + var isIE = /*@cc_on!@*/ !!/(MSIE|Trident\/|Edge\/)/i.test(navigator.userAgent); if (isIE && this.number === 0) { this.editable = false; } @@ -2151,7 +1746,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%}/deep/ .gd-highlight{background-color:#ff0}/deep/ .gd-highlight-select{background-color:#ff9b00}"] }] } ]; @@ -2168,24 +1763,6 @@ var PageComponent = /** @class */ (function () { }; 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 @@ -2215,13 +1792,6 @@ var SanitizeHtmlPipe = /** @class */ (function () { ]; }; return SanitizeHtmlPipe; }()); -if (false) { - /** - * @type {?} - * @private - */ - SanitizeHtmlPipe.prototype.sanitizer; -} var SanitizeResourceHtmlPipe = /** @class */ (function () { function SanitizeResourceHtmlPipe(sanitizer) { this.sanitizer = sanitizer; @@ -2246,13 +1816,6 @@ var SanitizeResourceHtmlPipe = /** @class */ (function () { ]; }; return SanitizeResourceHtmlPipe; }()); -if (false) { - /** - * @type {?} - * @private - */ - SanitizeResourceHtmlPipe.prototype.sanitizer; -} var SanitizeStylePipe = /** @class */ (function () { function SanitizeStylePipe(sanitizer) { this.sanitizer = sanitizer; @@ -2277,13 +1840,6 @@ var SanitizeStylePipe = /** @class */ (function () { ]; }; return SanitizeStylePipe; }()); -if (false) { - /** - * @type {?} - * @private - */ - SanitizeStylePipe.prototype.sanitizer; -} var HighlightSearchPipe = /** @class */ (function () { function HighlightSearchPipe() { } @@ -2365,8 +1921,8 @@ 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", - 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}"] + 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:flex;align-content:center;flex-direction:column;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 */ @@ -2378,15 +1934,6 @@ var UploadFileZoneComponent = /** @class */ (function () { }; return UploadFileZoneComponent; }()); -if (false) { - /** @type {?} */ - UploadFileZoneComponent.prototype.closeUpload; - /** - * @type {?} - * @private - */ - UploadFileZoneComponent.prototype._uploadService; -} /** * @fileoverview added by tsickle @@ -2511,26 +2058,6 @@ var DndDirective = /** @class */ (function () { }; 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 @@ -2572,18 +2099,6 @@ var PagePreloadService = /** @class */ (function () { }; return PagePreloadService; }()); -if (false) { - /** - * @type {?} - * @private - */ - PagePreloadService.prototype._checkPreload; - /** - * @type {?} - * @private - */ - PagePreloadService.prototype._observer; -} /** * @fileoverview added by tsickle @@ -2716,33 +2231,6 @@ var NavigateService = /** @class */ (function () { /** @nocollapse */ NavigateService.ngInjectableDef = ɵɵdefineInjectable({ factory: function NavigateService_Factory() { return new NavigateService(ɵɵinject(PagePreloadService)); }, token: NavigateService, providedIn: "root" }); return NavigateService; }()); -if (false) { - /** - * @type {?} - * @private - */ - NavigateService.prototype._currentPage; - /** - * @type {?} - * @private - */ - NavigateService.prototype._countPages; - /** - * @type {?} - * @private - */ - NavigateService.prototype._navigate; - /** - * @type {?} - * @private - */ - NavigateService.prototype._observer; - /** - * @type {?} - * @private - */ - NavigateService.prototype._pagePreloadService; -} /** * @fileoverview added by tsickle @@ -3093,48 +2581,6 @@ var ScrollableDirective = /** @class */ (function () { }; return ScrollableDirective; }()); -if (false) { - /** - * @type {?} - * @private - */ - ScrollableDirective.prototype.currentPage; - /** - * @type {?} - * @private - */ - ScrollableDirective.prototype.zoom; - /** - * @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 @@ -3295,34 +2741,6 @@ var ZoomDirective = /** @class */ (function () { }; 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.minWidth; - /** @type {?} */ - ZoomDirective.prototype.el; - /** - * @type {?} - * @private - */ - ZoomDirective.prototype._zoomService; - /** - * @type {?} - * @private - */ - ZoomDirective.prototype._windowService; -} /** * @fileoverview added by tsickle @@ -3364,35 +2782,11 @@ var OnCloseService = /** @class */ (function () { /** @nocollapse */ OnCloseService.ngInjectableDef = ɵɵ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; @@ -3473,8 +2867,8 @@ var SelectComponent = /** @class */ (function () { SelectComponent.decorators = [ { type: Component, args: [{ selector: 'gd-select', - template: "
\n
\n {{showSelected?.name}}\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}"] + template: "
\r\n
\r\n {{showSelected?.name}}\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:flex;flex-direction:row;justify-content: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 */ @@ -3490,23 +2884,6 @@ var SelectComponent = /** @class */ (function () { }; return SelectComponent; }()); -if (false) { - /** @type {?} */ - SelectComponent.prototype.options; - /** @type {?} */ - SelectComponent.prototype.disabled; - /** @type {?} */ - SelectComponent.prototype.showSelected; - /** @type {?} */ - SelectComponent.prototype.selected; - /** @type {?} */ - SelectComponent.prototype.isOpen; - /** - * @type {?} - * @protected - */ - SelectComponent.prototype._onCloseService; -} /** * @fileoverview added by tsickle @@ -3559,12 +2936,6 @@ var DisabledCursorDirective = /** @class */ (function () { }; return DisabledCursorDirective; }()); -if (false) { - /** @type {?} */ - DisabledCursorDirective.prototype.dis; - /** @type {?} */ - DisabledCursorDirective.prototype.cursor; -} /** * @fileoverview added by tsickle @@ -3672,26 +3043,6 @@ var RotationDirective = /** @class */ (function () { }; 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 @@ -3727,8 +3078,8 @@ 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", - 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}"] + 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:flex;flex-direction:column;justify-content:center;align-items:center;width:100%;height:100%}.icon{font-size:65px;margin-bottom:43px;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:flex;flex-direction:column;width:250px;height:250px;align-items:center;justify-content:center}.init-state-wrapper{top:-60px;position:relative}"] }] } ]; /** @nocollapse */ @@ -3740,16 +3091,6 @@ var InitStateComponent = /** @class */ (function () { }; return InitStateComponent; }()); -if (false) { - /** @type {?} */ - InitStateComponent.prototype.icon; - /** @type {?} */ - InitStateComponent.prototype.text; - /** @type {?} */ - InitStateComponent.prototype.fileDropped; - /** @type {?} */ - InitStateComponent.prototype.showUploadFile; -} /** * @fileoverview added by tsickle @@ -3817,28 +3158,6 @@ var RenderPrintService = /** @class */ (function () { }; 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 @@ -3990,15 +3309,6 @@ var RenderPrintDirective = /** @class */ (function () { }; return RenderPrintDirective; }()); -if (false) { - /** @type {?} */ - RenderPrintDirective.prototype.htmlMode; - /** - * @type {?} - * @private - */ - RenderPrintDirective.prototype._renderService; -} /** * @fileoverview added by tsickle @@ -4032,18 +3342,6 @@ var ExceptionMessageService = /** @class */ (function () { }; return ExceptionMessageService; }()); -if (false) { - /** - * @type {?} - * @private - */ - ExceptionMessageService.prototype._observer; - /** - * @type {?} - * @private - */ - ExceptionMessageService.prototype._messageChange; -} /** * @fileoverview added by tsickle @@ -4069,8 +3367,8 @@ 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", - 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}"] + 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:inline-flex;flex-direction:column;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:flex}#gd-error-section fa-icon{flex:1;color:#e04e4e;font-size:40px;margin:13px 23px 90px;text-align:center;max-width:46px}"] }] } ]; /** @nocollapse */ @@ -4079,10 +3377,6 @@ var ErrorModalComponent = /** @class */ (function () { ]; }; return ErrorModalComponent; }()); -if (false) { - /** @type {?} */ - ErrorModalComponent.prototype.message; -} /** * @fileoverview added by tsickle @@ -4116,18 +3410,6 @@ var PasswordService = /** @class */ (function () { }; return PasswordService; }()); -if (false) { - /** - * @type {?} - * @private - */ - PasswordService.prototype._observer; - /** - * @type {?} - * @private - */ - PasswordService.prototype._passChange; -} /** * @fileoverview added by tsickle @@ -4205,8 +3487,8 @@ 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", - styles: ["#gd-password-section{width:468px;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}}"] + 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:468px;height:164px}.gd-password-wrap{display:flex;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;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 */ @@ -4219,17 +3501,6 @@ var PasswordRequiredComponent = /** @class */ (function () { }; return PasswordRequiredComponent; }()); -if (false) { - /** @type {?} */ - PasswordRequiredComponent.prototype.message; - /** @type {?} */ - PasswordRequiredComponent.prototype.cancelEvent; - /** - * @type {?} - * @private - */ - PasswordRequiredComponent.prototype._passwordService; -} /** * @fileoverview added by tsickle @@ -4308,18 +3579,6 @@ var ErrorInterceptorService = /** @class */ (function () { /** @nocollapse */ ErrorInterceptorService.ngInjectableDef = ɵɵdefineInjectable({ factory: function ErrorInterceptorService_Factory() { return new ErrorInterceptorService(ɵɵinject(ModalService), ɵɵinject(ExceptionMessageService)); }, token: ErrorInterceptorService, providedIn: "root" }); return ErrorInterceptorService; }()); -if (false) { - /** - * @type {?} - * @private - */ - ErrorInterceptorService.prototype._modalService; - /** - * @type {?} - * @private - */ - ErrorInterceptorService.prototype._messageService; -} /** * @fileoverview added by tsickle @@ -4399,38 +3658,6 @@ var SearchService = /** @class */ (function () { }; 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 @@ -4523,8 +3750,8 @@ 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", - 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%}}"] + 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;transform:translate(-50%,0);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 */ @@ -4539,21 +3766,6 @@ var SearchComponent = /** @class */ (function () { }; 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 @@ -4751,39 +3963,119 @@ var SearchableDirective = /** @class */ (function () { ]; }; return SearchableDirective; }()); -if (false) { - /** @type {?} */ - SearchableDirective.prototype.text; - /** @type {?} */ - SearchableDirective.prototype.current; - /** @type {?} */ - SearchableDirective.prototype.total; - /** - * @type {?} - * @private + +/** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ +var EditHeaderFooterDirective = /** @class */ (function () { + function EditHeaderFooterDirective(_zoomService, _windowService, el) { + this._zoomService = _zoomService; + this._windowService = _windowService; + this.el = el; + } + /** + * @return {?} */ - SearchableDirective.prototype.zoom; + EditHeaderFooterDirective.prototype.ngAfterViewInit = /** + * @return {?} + */ + function () { + this.footerRef = this.el.nativeElement.querySelectorAll('.footer')[0]; + this.footerRef.setAttribute("contenteditable", false); + this.footerRef.className += " disabled"; + }; /** - * @type {?} - * @private + * @return {?} + */ + EditHeaderFooterDirective.prototype.ngOnDestroy = /** + * @return {?} */ - SearchableDirective.prototype._elementRef; + function () { + }; /** - * @type {?} - * @private + * @return {?} + */ + EditHeaderFooterDirective.prototype.ngOnChanges = /** + * @return {?} */ - SearchableDirective.prototype._searchService; + function () { + }; /** - * @type {?} - * @private + * @return {?} */ - SearchableDirective.prototype._highlight; + EditHeaderFooterDirective.prototype.ngOnInit = /** + * @return {?} + */ + function () { + }; /** - * @type {?} - * @private + * @param {?} event + * @return {?} */ - SearchableDirective.prototype._zoomService; -} + EditHeaderFooterDirective.prototype.dblclickEvent = /** + * @param {?} event + * @return {?} + */ + function (event) { + /** @type {?} */ + var footerTitle = document.createElement("div"); + footerTitle.className = "footer-title"; + footerTitle.append('Footer'); + /** @type {?} */ + var footer = event.target.closest('.footer'); + if (footer && footer.classList.contains('disabled')) { + console.log('dblclick in footer fired'); + footer.classList.remove('disabled'); + footer.setAttribute("contenteditable", true); + footer.before(footerTitle); + } + event.preventDefault(); + event.stopPropagation(); + }; + /** + * @param {?} event + * @return {?} + */ + EditHeaderFooterDirective.prototype.clickEvent = /** + * @param {?} event + * @return {?} + */ + function (event) { + console.log('click on el fired'); + /** @type {?} */ + var footer = event.target.closest('.footer'); + if (!footer) { + this.footerRef.setAttribute("contenteditable", false); + if (!this.footerRef.classList.contains('disabled')) { + this.footerRef.className += " disabled"; + } + /** @type {?} */ + var section = this.el.nativeElement.querySelectorAll('.section')[0]; + /** @type {?} */ + var footerTitle = this.el.nativeElement.querySelectorAll('.footer-title')[0]; + if (section && footerTitle) { + section.removeChild(footerTitle); + } + } + }; + EditHeaderFooterDirective.decorators = [ + { type: Directive, args: [{ + selector: '[gdEditHeaderFooter]' + },] } + ]; + /** @nocollapse */ + EditHeaderFooterDirective.ctorParameters = function () { return [ + { type: ZoomService }, + { type: WindowService }, + { type: ElementRef } + ]; }; + EditHeaderFooterDirective.propDecorators = { + dblclickEvent: [{ type: HostListener, args: ['dblclick', ['$event'],] }], + clickEvent: [{ type: HostListener, args: ['click', ['$event'],] }] + }; + return EditHeaderFooterDirective; +}()); /** * @fileoverview added by tsickle @@ -4803,8 +4095,8 @@ var TabbedToolbarsComponent = /** @class */ (function () { TabbedToolbarsComponent.decorators = [ { type: 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}}"] + template: "
\r\n \r\n \r\n
\r\n", + styles: [".top-panel{background:#3e4e5a;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 */ @@ -4815,12 +4107,6 @@ var TabbedToolbarsComponent = /** @class */ (function () { }; return TabbedToolbarsComponent; }()); -if (false) { - /** @type {?} */ - TabbedToolbarsComponent.prototype.logo; - /** @type {?} */ - TabbedToolbarsComponent.prototype.icon; -} /** * @fileoverview added by tsickle @@ -4854,18 +4140,6 @@ var TabActivatorService = /** @class */ (function () { }; return TabActivatorService; }()); -if (false) { - /** - * @type {?} - * @private - */ - TabActivatorService.prototype._observer; - /** - * @type {?} - * @private - */ - TabActivatorService.prototype._activeTabChange; -} /** * @fileoverview added by tsickle @@ -4927,8 +4201,8 @@ var TabComponent = /** @class */ (function () { TabComponent.decorators = [ { type: 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;margin:auto 23px}.gd-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}.gd-tab .title{display:none}.gd-tab .icon{display:block}}"] + 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:flex}.gd-tab{text-align:center;font-size:11px;color:#e5e5e5;height:30px;line-height:30px;cursor:pointer;display:flex;align-items:center;justify-content:center}.gd-tab .icon{display:none;font-size:14px;margin:auto 23px}.gd-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}.gd-tab .title{display:none}.gd-tab .icon{display:block}}"] }] } ]; /** @nocollapse */ @@ -4945,25 +4219,6 @@ var TabComponent = /** @class */ (function () { }; 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 @@ -4975,8 +4230,8 @@ var TabsComponent = /** @class */ (function () { TabsComponent.decorators = [ { type: Component, args: [{ selector: 'gd-tabs', - template: "
\n \n
\n", - styles: [".gd-tabs{display:-webkit-box;display:flex}"] + template: "
\r\n \r\n
\r\n", + styles: [".gd-tabs{display:flex}"] }] } ]; /** @nocollapse */ @@ -5012,28 +4267,6 @@ var Formatting = /** @class */ (function () { }; 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 Subject(); @@ -5374,128 +4607,6 @@ var FormattingService = /** @class */ (function () { }; 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 @@ -5556,8 +4667,8 @@ var ColorPickerComponent = /** @class */ (function () { ColorPickerComponent.decorators = [ { type: 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}"] + 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:flex;flex-wrap:wrap;justify-content:center}.bcPicker-palette>.bcPicker-color{width:18px;height:18px;margin:2px;cursor:pointer}"] }] } ]; /** @nocollapse */ @@ -5569,18 +4680,6 @@ var ColorPickerComponent = /** @class */ (function () { }; 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 @@ -5608,7 +4707,7 @@ var BackFormattingService = /** @class */ (function (_super) { */ var SelectionService = /** @class */ (function () { function SelectionService() { - this.isIE = false || !!/(MSIE|Trident\/|Edge\/)/i.test(navigator.userAgent); + this.isIE = !!/(MSIE|Trident\/|Edge\/)/i.test(navigator.userAgent); } /** * @return {?} @@ -5668,12 +4767,6 @@ var SelectionService = /** @class */ (function () { /** @nocollapse */ SelectionService.ngInjectableDef = ɵɵ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 @@ -5691,7 +4784,7 @@ var FormattingDirective = /** @class */ (function () { this.underline = false; this.strikeout = false; this.isIE = false; - this.isIE = /*@cc_on!@*/ false || !!/(MSIE|Trident\/|Edge\/)/i.test(navigator.userAgent); + this.isIE = /*@cc_on!@*/ !!/(MSIE|Trident\/|Edge\/)/i.test(navigator.userAgent); } /** * @return {?} @@ -6145,73 +5238,6 @@ var FormattingDirective = /** @class */ (function () { }; 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 @@ -6231,8 +5257,8 @@ var SuccessModalComponent = /** @class */ (function () { SuccessModalComponent.decorators = [ { type: 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%)}}"] + 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:flex;overflow:hidden;width:469px;height:183px}.sa-icon.sa-success{border-color:#4caf50;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;transform:rotate(-45deg);transform-origin:60px 60px}.sa-icon.sa-success::after{border-radius:0 120px 120px 0;top:-11px;left:30px;transform:rotate(-45deg);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;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;transform:rotate(45deg)}.sa-icon.sa-success .sa-line.sa-long{width:47px;right:8px;top:38px;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;transform:translate(-50%,-50%)}}"] }] } ]; /** @nocollapse */ @@ -6279,18 +5305,6 @@ var EditHtmlService = /** @class */ (function () { /** @nocollapse */ EditHtmlService.ngInjectableDef = ɵɵ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 @@ -6300,7 +5314,7 @@ var EditorDirective = /** @class */ (function () { function EditorDirective(_selectionService, _htmlService) { this._selectionService = _selectionService; this._htmlService = _htmlService; - this.isIE = false || !!/(MSIE|Trident\/|Edge\/)/i.test(navigator.userAgent); + this.isIE = !!/(MSIE|Trident\/|Edge\/)/i.test(navigator.userAgent); } /** * @param {?} event @@ -6373,25 +5387,6 @@ var EditorDirective = /** @class */ (function () { }; 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 @@ -6459,20 +5454,6 @@ var LoadingMaskService = /** @class */ (function () { 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 @@ -6510,8 +5491,8 @@ var LoadingMaskComponent = /** @class */ (function () { LoadingMaskComponent.decorators = [ { type: 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%)}"] + 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%;transform:translate(-50%,-50%)}"] }] } ]; /** @nocollapse */ @@ -6523,15 +5504,6 @@ var LoadingMaskComponent = /** @class */ (function () { }; return LoadingMaskComponent; }()); -if (false) { - /** @type {?} */ - LoadingMaskComponent.prototype.loadingMask; - /** - * @type {?} - * @private - */ - LoadingMaskComponent.prototype._loadingMaskService; -} /** * @fileoverview added by tsickle @@ -6573,13 +5545,6 @@ var LoadingMaskInterceptorService = /** @class */ (function () { /** @nocollapse */ LoadingMaskInterceptorService.ngInjectableDef = ɵɵdefineInjectable({ factory: function LoadingMaskInterceptorService_Factory() { return new LoadingMaskInterceptorService(ɵɵinject(LoadingMaskService)); }, token: LoadingMaskInterceptorService, providedIn: "root" }); return LoadingMaskInterceptorService; }()); -if (false) { - /** - * @type {?} - * @private - */ - LoadingMaskInterceptorService.prototype._loadingMaskService; -} /** * @fileoverview added by tsickle @@ -6628,7 +5593,7 @@ var DropDownToggleComponent = /** @class */ (function () { selector: 'gd-drop-down-toggle', template: '', encapsulation: 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}"] + styles: [".drop-down{position:relative}.show .drop-down-items{display:flex;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:flex;flex-direction:row;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 */ @@ -6643,12 +5608,6 @@ var DropDownToggleComponent = /** @class */ (function () { }; return DropDownToggleComponent; }()); -if (false) { - /** @type {?} */ - DropDownToggleComponent.prototype.click; - /** @type {?} */ - DropDownToggleComponent.prototype.dropdown; -} /** * DropDownItemsComponent */ @@ -6702,7 +5661,7 @@ var DropDownItemsComponent = /** @class */ (function () { selector: 'gd-drop-down-items', template: '', encapsulation: 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}"] + styles: [".drop-down{position:relative}.show .drop-down-items{display:flex;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:flex;flex-direction:row;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 */ @@ -6714,10 +5673,6 @@ var DropDownItemsComponent = /** @class */ (function () { ]; }; return DropDownItemsComponent; }()); -if (false) { - /** @type {?} */ - DropDownItemsComponent.prototype.dropdown; -} /** * DropDownItemComponent */ @@ -6746,7 +5701,7 @@ var DropDownItemComponent = /** @class */ (function () { { type: 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}"] + styles: [".drop-down{position:relative}.show .drop-down-items{display:flex;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:flex;flex-direction:row;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 */ @@ -6763,16 +5718,6 @@ var DropDownItemComponent = /** @class */ (function () { }; return DropDownItemComponent; }()); -if (false) { - /** @type {?} */ - DropDownItemComponent.prototype.class; - /** @type {?} */ - DropDownItemComponent.prototype.selected; - /** @type {?} */ - DropDownItemComponent.prototype.click; - /** @type {?} */ - DropDownItemComponent.prototype.dropdown; -} /** * DropDownComponent */ @@ -6821,7 +5766,7 @@ var DropDownComponent = /** @class */ (function () { selector: 'gd-drop-down', template: '', encapsulation: 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}"] + styles: [".drop-down{position:relative}.show .drop-down-items{display:flex;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:flex;flex-direction:row;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 = { @@ -6831,14 +5776,6 @@ var DropDownComponent = /** @class */ (function () { }; return DropDownComponent; }()); -if (false) { - /** @type {?} */ - DropDownComponent.prototype.placement; - /** @type {?} */ - DropDownComponent.prototype.open; - /** @type {?} */ - DropDownComponent.prototype.class; -} /** * @fileoverview added by tsickle @@ -6859,8 +5796,8 @@ var LeftSideBarComponent = /** @class */ (function () { LeftSideBarComponent.decorators = [ { type: 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%}}"] + 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;transition:transform .3s ease-out;width:100%;height:100%;display:flex;justify-content: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 */ @@ -6870,10 +5807,6 @@ var LeftSideBarComponent = /** @class */ (function () { }; return LeftSideBarComponent; }()); -if (false) { - /** @type {?} */ - LeftSideBarComponent.prototype.showSpinner; -} /** * @fileoverview added by tsickle @@ -6915,10 +5848,6 @@ var TooltipDirective = /** @class */ (function () { }; return TooltipDirective; }()); -if (false) { - /** @type {?} */ - TooltipDirective.prototype.showToolTip; -} /** * @fileoverview added by tsickle @@ -6966,18 +5895,6 @@ var AddDynamicComponentService = /** @class */ (function () { /** @nocollapse */ AddDynamicComponentService.ngInjectableDef = ɵɵdefineInjectable({ factory: function AddDynamicComponentService_Factory() { return new AddDynamicComponentService(ɵɵinject(ComponentFactoryResolver), ɵɵinject(ApplicationRef)); }, token: AddDynamicComponentService, providedIn: "root" }); return AddDynamicComponentService; }()); -if (false) { - /** - * @type {?} - * @private - */ - AddDynamicComponentService.prototype._factoryResolver; - /** - * @type {?} - * @private - */ - AddDynamicComponentService.prototype._appRef; -} /** * @fileoverview added by tsickle @@ -7041,13 +5958,6 @@ var HostingDynamicComponentService = /** @class */ (function () { }; return HostingDynamicComponentService; }()); -if (false) { - /** - * @type {?} - * @private - */ - HostingDynamicComponentService.prototype.hosts; -} /** * @fileoverview added by tsickle @@ -7092,17 +6002,6 @@ var HostDynamicDirective = /** @class */ (function () { }; return HostDynamicDirective; }()); -if (false) { - /** @type {?} */ - HostDynamicDirective.prototype.ident; - /** @type {?} */ - HostDynamicDirective.prototype.viewContainerRef; - /** - * @type {?} - * @private - */ - HostDynamicDirective.prototype._hostingService; -} /** * @fileoverview added by tsickle @@ -7291,7 +6190,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}"] }] } ]; @@ -7314,52 +6213,6 @@ var ResizingComponent = /** @class */ (function () { }; 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 @@ -7448,8 +6301,8 @@ var TopTabComponent = /** @class */ (function () { TopTabComponent.decorators = [ { type: 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}}"] + template: "
\r\n \r\n \r\n
\r\n", + styles: [".gd-tab{font-size:14px;color:#3e4e5a;cursor:pointer;display:flex;flex-direction:column;align-items:center;align-content: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:flex;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 */ @@ -7468,39 +6321,6 @@ var TopTabComponent = /** @class */ (function () { }; 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 @@ -7654,8 +6474,8 @@ 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", - 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;bottom:0;left:0;right:0;width:100%;height:60px;-webkit-box-align:center;align-items:center;padding:0;margin:0;background-color:#fff;border-top:2px solid #707070}.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:-200px}.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 .button{margin:3px!important}}"] + 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:flex;flex-direction:row}.gd-text-menu .format-select{height:37px;display:flex;justify-content: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;bottom:0;left:0;right:0;width:100%;height:60px;align-items:center;padding:0;margin:0;background-color:#fff;border-top:2px solid #707070}.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:-200px}.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 .button{margin:3px!important}}"] }] } ]; /** @nocollapse */ @@ -7681,49 +6501,6 @@ var TextMenuComponent = /** @class */ (function () { }; 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 {?} - * @private - */ - TextMenuComponent.prototype._onCloseService; -} /** * @fileoverview added by tsickle @@ -7736,12 +6513,6 @@ var MenuType = /** @class */ (function () { MenuType.FOR_ANNOTATION = "annotation"; return MenuType; }()); -if (false) { - /** @type {?} */ - MenuType.FOR_SIGNATURE; - /** @type {?} */ - MenuType.FOR_ANNOTATION; -} var ContextMenuComponent = /** @class */ (function () { function ContextMenuComponent(_windowService) { var _this = this; @@ -7910,8 +6681,8 @@ 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", - 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:-34px}}"] + 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:flex;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:-34px}}"] }] } ]; /** @nocollapse */ @@ -7933,37 +6704,6 @@ var ContextMenuComponent = /** @class */ (function () { }; 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; -} /** * @fileoverview added by tsickle @@ -8035,6 +6775,7 @@ var CommonComponentsModule = /** @class */ (function () { PasswordRequiredComponent, SearchComponent, SearchableDirective, + EditHeaderFooterDirective, TabbedToolbarsComponent, TabComponent, TabsComponent, @@ -8079,6 +6820,7 @@ var CommonComponentsModule = /** @class */ (function () { PasswordRequiredComponent, SearchComponent, SearchableDirective, + EditHeaderFooterDirective, TabbedToolbarsComponent, TabComponent, TabsComponent, @@ -8109,15 +6851,5 @@ var CommonComponentsModule = /** @class */ (function () { return CommonComponentsModule; }()); -/** - * @fileoverview added by tsickle - * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc - */ - -/** - * @fileoverview added by tsickle - * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc - */ - -export { AddDynamicComponentService, Api, BackFormattingService, BrowseFilesModalComponent, ButtonComponent, ColorPickerComponent, CommonComponentsModule, CommonModals, ConfigService, ContextMenuComponent, DisabledCursorDirective, DndDirective, DocumentComponent, DropDownComponent, DropDownItemComponent, DropDownItemsComponent, DropDownToggleComponent, EditHtmlService, EditorDirective, ErrorInterceptorService, ErrorModalComponent, ExceptionMessageService, FileCredentials, FileDescription, FileModel, FileService, FileUtil, Formatting, FormattingDirective, FormattingService, HighlightSearchPipe, HostDynamicDirective, HostingDynamicComponentService, HttpError, InitStateComponent, LeftSideBarComponent, LoadingMaskComponent, LoadingMaskInterceptorService, LoadingMaskService, LogoComponent, MenuType, ModalComponent, ModalService, NavigateService, OnCloseService, PageComponent, PageModel, PagePreloadService, PasswordRequiredComponent, PasswordService, RenderPrintDirective, RenderPrintService, RotatedPage, RotationDirective, SanitizeHtmlPipe, SanitizeResourceHtmlPipe, SanitizeStylePipe, SaveFile, ScrollableDirective, SearchComponent, SearchService, SearchableDirective, SelectComponent, SelectionService, SidePanelComponent, SuccessModalComponent, TabActivatorService, TabComponent, TabbedToolbarsComponent, TextMenuComponent, TooltipComponent, TopTabActivatorService, TopToolbarComponent, UploadFileZoneComponent, UploadFilesService, Utils, ViewportService, WindowService, ZoomDirective, ZoomService, TabsComponent as ɵa, TooltipDirective as ɵb, ResizingComponent as ɵc, TopTabComponent as ɵd }; +export { AddDynamicComponentService, Api, BackFormattingService, BrowseFilesModalComponent, ButtonComponent, ColorPickerComponent, CommonComponentsModule, CommonModals, ConfigService, ContextMenuComponent, DisabledCursorDirective, DndDirective, DocumentComponent, DropDownComponent, DropDownItemComponent, DropDownItemsComponent, DropDownToggleComponent, EditHtmlService, EditorDirective, ErrorInterceptorService, ErrorModalComponent, ExceptionMessageService, FileCredentials, FileDescription, FileModel, FileService, FileUtil, Formatting, FormattingDirective, FormattingService, HighlightSearchPipe, HostDynamicDirective, HostingDynamicComponentService, HttpError, InitStateComponent, LeftSideBarComponent, LoadingMaskComponent, LoadingMaskInterceptorService, LoadingMaskService, LogoComponent, MenuType, ModalComponent, ModalService, NavigateService, OnCloseService, PageComponent, PageModel, PagePreloadService, PasswordRequiredComponent, PasswordService, RenderPrintDirective, RenderPrintService, RotatedPage, RotationDirective, SanitizeHtmlPipe, SanitizeResourceHtmlPipe, SanitizeStylePipe, SaveFile, ScrollableDirective, SearchComponent, SearchService, SearchableDirective, SelectComponent, SelectionService, SidePanelComponent, SuccessModalComponent, TabActivatorService, TabComponent, TabbedToolbarsComponent, TextMenuComponent, TooltipComponent, TopTabActivatorService, TopToolbarComponent, UploadFileZoneComponent, UploadFilesService, Utils, ViewportService, WindowService, ZoomDirective, ZoomService, EditHeaderFooterDirective as ɵa, TabsComponent as ɵb, TooltipDirective as ɵc, ResizingComponent as ɵd, TopTabComponent as ɵe }; //# sourceMappingURL=groupdocs.examples.angular-common-components.js.map 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 1d1eee9f3..acbf4f03e 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/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/page-preload.service.ts","ng://@groupdocs.examples.angular/common-components/lib/navigate.service.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/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 @Output() hideSidePanel = new EventEmitter();\n\n onlyTitle = false;\n\n constructor() {\n }\n\n openSidePanel() {\n this.hideSidePanel.emit(true);\n }\n\n toggleTitleMode(){\n this.onlyTitle = !this.onlyTitle;\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 EDITOR_APP = '/editor';\n public static COMPARISON_APP = '/comparison';\n public static CONVERSION_APP = '/conversion';\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 ROTATE_DOCUMENT_PAGE = '/rotateDocumentPages';\n public static UPLOAD_DOCUMENTS = '/uploadDocument';\n public static DOWNLOAD_DOCUMENTS = '/downloadDocument';\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 COMPARE_FILES = '/compare';\n public static CONVERT_FILE = '/convert';\n public static DELETE_SIGNATURE_FILE = '/deleteSignatureFile';\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\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 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","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}\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 {\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';\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 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\n _zoomService.zoomChange.subscribe((val: number) => {\n this.zoom = val;\n });\n\n this.isDesktop = _windowService.isDesktop();\n }\n\n ngOnInit() {\n }\n\n ngOnChanges() {\n const panzoom = this._elementRef.nativeElement.children.item(0).children.item(0);\n (panzoom as any).style.transform = '';\n // TODO: this intersects with zooming by zoom directive, but still needed\n // for flush previous settings before opening another file\n //this._zoomService.changeZoom(100);\n //this.scale = 1;\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 getDimensionWithUnit(value: number) {\n return 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 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 absolutePosition(el) {\n let x = 0, y = 0;\n\n while (el !== null) {\n x += el.offsetLeft;\n y += el.offsetTop;\n el = el.offsetParent;\n }\n\n return {x: x, y: y};\n };\n\n restrictRawPos(pos, viewportDim, docDim) {\n if (pos < viewportDim / this.scale - docDim) { // too far left/up?\n pos = viewportDim / this.scale - docDim;\n } else if (pos > 0) { // too far right/down?\n pos = 0;\n }\n return pos;\n };\n\n updateLastPos() {\n this.lastX = this.x;\n this.lastY = this.y;\n };\n\n translate(deltaX, deltaY) {\n // We restrict to the min of the viewport width/height or current width/height as the\n // current width/height may be smaller than the viewport width/height\n const newX = this.restrictRawPos(this.lastX + deltaX / this.scale,\n Math.min(this.viewportWidth, this.curWidth), this.docWidth);\n this.x = newX;\n // TODO: value here and in the similar line below changes to positive to take any effect\n this.container.scrollLeft = -Math.ceil(newX * this.scale);\n\n const newY = this.restrictRawPos(this.lastY + deltaY / this.scale,\n Math.min(this.viewportHeight, this.curHeight), this.docHeight);\n this.y = newY;\n this.container.scrollTop = -Math.ceil(newY * this.scale);\n\n this.doc.style.transform = 'scale(' + this.scale + ')';\n };\n\n startZoom(scaleBy) {\n this.scale = this.lastScale * scaleBy;\n\n this.curWidth = this.docWidth * this.scale;\n this.curHeight = this.docHeight * this.scale;\n\n // Adjust margins to make sure that we aren't out of bounds\n this.translate(0, 0);\n };\n\n rawCenter($event) {\n const pos = this.absolutePosition(this.container);\n\n // We need to account for the scroll position\n const scrollLeft = window.pageXOffset ? window.pageXOffset : document.body.scrollLeft;\n const scrollTop = window.pageYOffset ? window.pageYOffset : document.body.scrollTop;\n\n const zoomX = -this.x + ($event.center.x - pos.x + scrollLeft) / this.scale;\n const zoomY = -this.y + ($event.center.y - pos.y + scrollTop) / this.scale;\n\n return {x: zoomX, y: zoomY};\n };\n\n updateLastScale() {\n this.lastScale = this.scale;\n };\n\n zoomAround(scaleBy, rawZoomX, rawZoomY, doNotUpdateLast) {\n // Zoom\n this.startZoom(scaleBy);\n\n // New raw center of viewport\n const rawCenterX = -this.x + Math.min(this.viewportWidth, this.curWidth) / 2 / this.scale;\n const rawCenterY = -this.y + Math.min(this.viewportHeight, this.curHeight) / 2 / this.scale;\n\n // Delta\n const deltaX = (rawCenterX - rawZoomX) * this.scale;\n const deltaY = (rawCenterY - rawZoomY) * this.scale;\n\n // Translate back to zoom center\n this.translate(deltaX, deltaY);\n\n if (!doNotUpdateLast) {\n this.updateLastScale();\n this.updateLastPos();\n }\n };\n\n onPinch($event) {\n if (this.pinchCenter === null) {\n this.pinchCenter = this.rawCenter($event);\n const offsetX = this.pinchCenter.x * this.scale - (-this.x * this.scale + Math.min(this.viewportWidth, this.curWidth) / 2);\n const offsetY = this.pinchCenter.y * this.scale - (-this.y * this.scale + Math.min(this.viewportHeight, this.curHeight) / 2);\n this.pinchCenterOffset = {x: offsetX, y: offsetY};\n }\n\n const newScale = this.scale * $event.scale;\n\n const zoomX = this.pinchCenter.x * newScale - this.pinchCenterOffset.x;\n const zoomY = this.pinchCenter.y * newScale - this.pinchCenterOffset.y;\n const zoomCenter = {x: zoomX / newScale, y: zoomY / newScale};\n\n this.zoomAround($event.scale, zoomCenter.x, zoomCenter.y, true);\n }\n\n onPinchEnd($event) {\n this.updateLastScale();\n this.updateLastPos();\n this.pinchCenter = null;\n }\n\n onPan($event) {\n // TODO: looks like native pan works better\n // if (!this.isDesktop) {\n // this.translate($event.deltaX, $event.deltaY);\n // }\n }\n\n onPanEnd($event) {\n // if (!this.isDesktop) {\n // this.updateLastPos();\n // }\n }\n\n onDoubleTap($event) {\n if (!this.isDesktop) {\n if ($event.tapCount === 2) {\n const c = this.rawCenter($event);\n this.zoomAround(2, c.x, c.y, false);\n }\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 // 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 !== null ? this.data.replace(/>\\s+<').replace(/\\uFEFF/g,\"\") : null;\n const dataImagePngBase64 = 'data:image/png;base64,';\n this.imgData = dataImagePngBase64;\n if (!this.isHtml) {\n this.imgData += 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 {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 {Observable, Observer} 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 readonly _navigate: Observable;\n private _observer: Observer;\n\n constructor(private _pagePreloadService: PagePreloadService) {\n this._navigate = new Observable(observer =>\n this._observer = observer);\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 {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\n private currentPage: number;\n private zoom = 100;\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 const count = Math.floor((this.getWidth() - offset) / (pageEl.getBoundingClientRect().width * this.getZoom()));\n return count === 0 ? 1 : count;\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 this._navigateService.currentPage = page;\n }\n currentPageSet = true;\n }\n this._pagePreloadService.changeLastPageInView(page);\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 {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.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 resizePages(zoom){\n const zoomInt = zoom === 100 ? 1 : zoom / 100;\n\n const viewPortWidth = this.el.nativeElement.parentElement.offsetWidth;\n const scrollWidth = this.getScrollWidth(this.el.nativeElement.parentElement);\n this.width = (viewPortWidth/zoomInt - scrollWidth/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 @Input() isOpen = false;\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 }\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 if (this.htmlMode) {\n for (const page of pages) {\n pagesHtml += '
' +\n '
' + page.data + '
' +\n '
';\n }\n } else {\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 windowObject.focus();\n windowObject.print();\n windowObject.close();\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 {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 constructor() {\n }\n\n get messageChange(): Observable {\n return this._messageChange;\n }\n\n changeMessage(message: string) {\n this._observer.next(message);\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 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._modalService.open(CommonModals.ErrorMessage);\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 }\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 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} 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\";\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\n constructor(private _onCloseService: OnCloseService) {\n _onCloseService.onClose.subscribe(() => {\n this.colorPickerShow = false;\n });\n }\n\n ngOnInit() {\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} from '@angular/core';\nimport {Formatting} from \"../formatting.service\";\nimport {WindowService} from \"../window.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 this.isMobile = _windowService.isMobile();\n _windowService.onResize.subscribe((w) => {\n this.isMobile = _windowService.isMobile();\n });\n }\n\n ngOnInit() {\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 {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 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 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/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/page-preload.service.ts","ng://@groupdocs.examples.angular/common-components/lib/navigate.service.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/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/editheaderfooter.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 @Output() hideSidePanel = new EventEmitter();\r\n\r\n onlyTitle = false;\r\n\r\n constructor() {\r\n }\r\n\r\n openSidePanel() {\r\n this.hideSidePanel.emit(true);\r\n }\r\n\r\n toggleTitleMode(){\r\n this.onlyTitle = !this.onlyTitle;\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 EDITOR_APP = '/editor';\r\n public static COMPARISON_APP = '/comparison';\r\n public static CONVERSION_APP = '/conversion';\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 ROTATE_DOCUMENT_PAGE = '/rotateDocumentPages';\r\n public static UPLOAD_DOCUMENTS = '/uploadDocument';\r\n public static DOWNLOAD_DOCUMENTS = '/downloadDocument';\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 COMPARE_FILES = '/compare';\r\n public static CONVERT_FILE = '/convert';\r\n public static DELETE_SIGNATURE_FILE = '/deleteSignatureFile';\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\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 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","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}\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 {\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\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 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\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\r\n ngOnInit() {\r\n }\r\n\r\n ngOnChanges() {\r\n const panzoom = this._elementRef.nativeElement.children.item(0).children.item(0);\r\n (panzoom as any).style.transform = '';\r\n // TODO: this intersects with zooming by zoom directive, but still needed\r\n // for flush previous settings before opening another file\r\n //this._zoomService.changeZoom(100);\r\n //this.scale = 1;\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 getDimensionWithUnit(value: number) {\r\n return 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 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 absolutePosition(el) {\r\n let x = 0, y = 0;\r\n\r\n while (el !== null) {\r\n x += el.offsetLeft;\r\n y += el.offsetTop;\r\n el = el.offsetParent;\r\n }\r\n\r\n return {x: x, y: y};\r\n };\r\n\r\n restrictRawPos(pos, viewportDim, docDim) {\r\n if (pos < viewportDim / this.scale - docDim) { // too far left/up?\r\n pos = viewportDim / this.scale - docDim;\r\n } else if (pos > 0) { // too far right/down?\r\n pos = 0;\r\n }\r\n return pos;\r\n };\r\n\r\n updateLastPos() {\r\n this.lastX = this.x;\r\n this.lastY = this.y;\r\n };\r\n\r\n translate(deltaX, deltaY) {\r\n // We restrict to the min of the viewport width/height or current width/height as the\r\n // current width/height may be smaller than the viewport width/height\r\n const newX = this.restrictRawPos(this.lastX + deltaX / this.scale,\r\n Math.min(this.viewportWidth, this.curWidth), this.docWidth);\r\n this.x = newX;\r\n // TODO: value here and in the similar line below changes to positive to take any effect\r\n this.container.scrollLeft = -Math.ceil(newX * this.scale);\r\n\r\n const newY = this.restrictRawPos(this.lastY + deltaY / this.scale,\r\n Math.min(this.viewportHeight, this.curHeight), this.docHeight);\r\n this.y = newY;\r\n this.container.scrollTop = -Math.ceil(newY * this.scale);\r\n\r\n this.doc.style.transform = 'scale(' + this.scale + ')';\r\n };\r\n\r\n startZoom(scaleBy) {\r\n this.scale = this.lastScale * scaleBy;\r\n\r\n this.curWidth = this.docWidth * this.scale;\r\n this.curHeight = this.docHeight * this.scale;\r\n\r\n // Adjust margins to make sure that we aren't out of bounds\r\n this.translate(0, 0);\r\n };\r\n\r\n rawCenter($event) {\r\n const pos = this.absolutePosition(this.container);\r\n\r\n // We need to account for the scroll position\r\n const scrollLeft = window.pageXOffset ? window.pageXOffset : document.body.scrollLeft;\r\n const scrollTop = window.pageYOffset ? window.pageYOffset : document.body.scrollTop;\r\n\r\n const zoomX = -this.x + ($event.center.x - pos.x + scrollLeft) / this.scale;\r\n const zoomY = -this.y + ($event.center.y - pos.y + scrollTop) / this.scale;\r\n\r\n return {x: zoomX, y: zoomY};\r\n };\r\n\r\n updateLastScale() {\r\n this.lastScale = this.scale;\r\n };\r\n\r\n zoomAround(scaleBy, rawZoomX, rawZoomY, doNotUpdateLast) {\r\n // Zoom\r\n this.startZoom(scaleBy);\r\n\r\n // New raw center of viewport\r\n const rawCenterX = -this.x + Math.min(this.viewportWidth, this.curWidth) / 2 / this.scale;\r\n const rawCenterY = -this.y + Math.min(this.viewportHeight, this.curHeight) / 2 / this.scale;\r\n\r\n // Delta\r\n const deltaX = (rawCenterX - rawZoomX) * this.scale;\r\n const deltaY = (rawCenterY - rawZoomY) * this.scale;\r\n\r\n // Translate back to zoom center\r\n this.translate(deltaX, deltaY);\r\n\r\n if (!doNotUpdateLast) {\r\n this.updateLastScale();\r\n this.updateLastPos();\r\n }\r\n };\r\n\r\n onPinch($event) {\r\n if (this.pinchCenter === null) {\r\n this.pinchCenter = this.rawCenter($event);\r\n const offsetX = this.pinchCenter.x * this.scale - (-this.x * this.scale + Math.min(this.viewportWidth, this.curWidth) / 2);\r\n const offsetY = this.pinchCenter.y * this.scale - (-this.y * this.scale + Math.min(this.viewportHeight, this.curHeight) / 2);\r\n this.pinchCenterOffset = {x: offsetX, y: offsetY};\r\n }\r\n\r\n const newScale = this.scale * $event.scale;\r\n\r\n const zoomX = this.pinchCenter.x * newScale - this.pinchCenterOffset.x;\r\n const zoomY = this.pinchCenter.y * newScale - this.pinchCenterOffset.y;\r\n const zoomCenter = {x: zoomX / newScale, y: zoomY / newScale};\r\n\r\n this.zoomAround($event.scale, zoomCenter.x, zoomCenter.y, true);\r\n }\r\n\r\n onPinchEnd($event) {\r\n this.updateLastScale();\r\n this.updateLastPos();\r\n this.pinchCenter = null;\r\n }\r\n\r\n onPan($event) {\r\n // TODO: looks like native pan works better\r\n // if (!this.isDesktop) {\r\n // this.translate($event.deltaX, $event.deltaY);\r\n // }\r\n }\r\n\r\n onPanEnd($event) {\r\n // if (!this.isDesktop) {\r\n // this.updateLastPos();\r\n // }\r\n }\r\n\r\n onDoubleTap($event) {\r\n if (!this.isDesktop) {\r\n if ($event.tapCount === 2) {\r\n const c = this.rawCenter($event);\r\n this.zoomAround(2, c.x, c.y, false);\r\n }\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 // 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 !== null ? this.data.replace(/>\\s+<').replace(/\\uFEFF/g,\"\") : null;\r\n const dataImagePngBase64 = 'data:image/png;base64,';\r\n this.imgData = dataImagePngBase64;\r\n if (!this.isHtml) {\r\n this.imgData += 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 {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 {Observable, Observer} 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 readonly _navigate: Observable;\r\n private _observer: Observer;\r\n\r\n constructor(private _pagePreloadService: PagePreloadService) {\r\n this._navigate = new Observable(observer =>\r\n this._observer = observer);\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 {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\r\n private currentPage: number;\r\n private zoom = 100;\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 const count = Math.floor((this.getWidth() - offset) / (pageEl.getBoundingClientRect().width * this.getZoom()));\r\n return count === 0 ? 1 : count;\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 this._navigateService.currentPage = page;\r\n }\r\n currentPageSet = true;\r\n }\r\n this._pagePreloadService.changeLastPageInView(page);\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 {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.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 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 scrollWidth = this.getScrollWidth(this.el.nativeElement.parentElement);\r\n this.width = (viewPortWidth/zoomInt - scrollWidth/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 @Input() isOpen = false;\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 }\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 if (this.htmlMode) {\r\n for (const page of pages) {\r\n pagesHtml += '
' +\r\n '
' + page.data + '
' +\r\n '
';\r\n }\r\n } else {\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 windowObject.focus();\r\n windowObject.print();\r\n windowObject.close();\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 {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 constructor() {\r\n }\r\n\r\n get messageChange(): Observable {\r\n return this._messageChange;\r\n }\r\n\r\n changeMessage(message: string) {\r\n this._observer.next(message);\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 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._modalService.open(CommonModals.ErrorMessage);\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 {AfterViewInit, Directive, HostBinding, Input, OnDestroy, OnInit, ElementRef, OnChanges, HostListener} 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: '[gdEditHeaderFooter]'\r\n})\r\nexport class EditHeaderFooterDirective implements OnInit, OnDestroy, AfterViewInit, OnChanges {\r\n\r\n el: ElementRef;\r\n footerRef: any;\r\n\r\n constructor(private _zoomService: ZoomService, private _windowService: WindowService, el: ElementRef) {\r\n this.el = el;\r\n }\r\n\r\n ngAfterViewInit(): void {\r\n this.footerRef = this.el.nativeElement.querySelectorAll('.footer')[0];\r\n this.footerRef.setAttribute(\"contenteditable\", false);\r\n this.footerRef.className += \" disabled\";\r\n }\r\n\r\n ngOnDestroy(): void {\r\n }\r\n\r\n ngOnChanges(): void {\r\n }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n @HostListener('dblclick', ['$event'])\r\n dblclickEvent(event) {\r\n const footerTitle = document.createElement(\"div\");\r\n footerTitle.className = \"footer-title\";\r\n footerTitle.append('Footer');\r\n\r\n const footer = event.target.closest('.footer');\r\n if (footer && footer.classList.contains('disabled')) {\r\n console.log('dblclick in footer fired');\r\n footer.classList.remove('disabled');\r\n footer.setAttribute(\"contenteditable\", true);\r\n footer.before(footerTitle);\r\n }\r\n\r\n event.preventDefault();\r\n event.stopPropagation();\r\n }\r\n\r\n @HostListener('click', ['$event'])\r\n clickEvent(event) {\r\n console.log('click on el fired');\r\n const footer = event.target.closest('.footer');\r\n if (!footer) {\r\n this.footerRef.setAttribute(\"contenteditable\", false);\r\n if (!this.footerRef.classList.contains('disabled'))\r\n {\r\n this.footerRef.className += \" disabled\";\r\n }\r\n\r\n const section = this.el.nativeElement.querySelectorAll('.section')[0];\r\n const footerTitle = this.el.nativeElement.querySelectorAll('.footer-title')[0];\r\n if (section && footerTitle) {\r\n section.removeChild(footerTitle);\r\n }\r\n }\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 }\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 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} 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\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\r\n constructor(private _onCloseService: OnCloseService) {\r\n _onCloseService.onClose.subscribe(() => {\r\n this.colorPickerShow = false;\r\n });\r\n }\r\n\r\n ngOnInit() {\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} from '@angular/core';\r\nimport {Formatting} from \"../formatting.service\";\r\nimport {WindowService} from \"../window.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 this.isMobile = _windowService.isMobile();\r\n _windowService.onResize.subscribe((w) => {\r\n this.isMobile = _windowService.isMobile();\r\n });\r\n }\r\n\r\n ngOnInit() {\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 {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 {EditHeaderFooterDirective} from './editheaderfooter.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 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 EditHeaderFooterDirective,\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 SelectComponent,\r\n RotationDirective,\r\n InitStateComponent,\r\n RenderPrintDirective,\r\n ErrorModalComponent,\r\n PasswordRequiredComponent,\r\n SearchComponent,\r\n SearchableDirective,\r\n EditHeaderFooterDirective,\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.d.ts b/dist/libs/common-components/groupdocs.examples.angular-common-components.d.ts index ad9a0cb71..95d9d3b9f 100644 --- a/dist/libs/common-components/groupdocs.examples.angular-common-components.d.ts +++ b/dist/libs/common-components/groupdocs.examples.angular-common-components.d.ts @@ -2,7 +2,8 @@ * Generated bundle index. Do not edit. */ export * from './index'; -export { ResizingComponent as ɵc } from './lib/resizing/resizing.component'; -export { TabsComponent as ɵa } from './lib/tabs/tabs.component'; -export { TooltipDirective as ɵb } from './lib/tooltip.directive'; -export { TopTabComponent as ɵd } from './lib/top-tab/top-tab.component'; +export { EditHeaderFooterDirective as ɵa } from './lib/editheaderfooter.directive'; +export { ResizingComponent as ɵd } from './lib/resizing/resizing.component'; +export { TabsComponent as ɵb } from './lib/tabs/tabs.component'; +export { TooltipDirective as ɵc } from './lib/tooltip.directive'; +export { TopTabComponent as ɵe } from './lib/top-tab/top-tab.component'; 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 863c88d90..d7d9a0e2a 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":107,"character":1},"arguments":[{"imports":[{"__symbolic":"reference","module":"@angular/common","name":"CommonModule","line":108,"character":12},{"__symbolic":"reference","module":"@fortawesome/angular-fontawesome","name":"FontAwesomeModule","line":108,"character":26},{"__symbolic":"reference","module":"ng-click-outside","name":"ClickOutsideModule","line":108,"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":"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":"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","EDITOR_APP":"/editor","COMPARISON_APP":"/comparison","CONVERSION_APP":"/conversion","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","ROTATE_DOCUMENT_PAGE":"/rotateDocumentPages","UPLOAD_DOCUMENTS":"/uploadDocument","DOWNLOAD_DOCUMENTS":"/downloadDocument","LOAD_PRINT":"/loadPrint","LOAD_PRINT_PDF":"/printPdf","LOAD_THUMBNAILS":"/loadThumbnails","LOAD_FORMATS":"/loadFormats","SAVE_FILE":"/saveFile","COMPARE_FILES":"/compare","CONVERT_FILE":"/convert","DELETE_SIGNATURE_FILE":"/deleteSignatureFile","SAVE_OPTICAL_CODE":"/saveOpticalCode","SAVE_TEXT":"/saveText","SAVE_IMAGE":"/saveImage","SAVE_STAMP":"/saveStamp","SIGN":"/sign","DOWNLOAD_SIGNED":"/downloadSigned","LOAD_SIGNATURE_IMAGE":"/loadSignatureImage","ANNOTATE":"/annotate","httpOptionsJson":{"headers":{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@angular/common/http","name":"HttpHeaders","line":36,"character":17},"arguments":[{"Content-Type":"application/json","$quoted$":["Content-Type"]}]}},"httpOptionsJsonResponseTypeBlob":{"headers":{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@angular/common/http","name":"HttpHeaders","line":41,"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":48,"character":1}}],"members":{"__ctor__":[{"__symbolic":"constructor"}],"getConfigEndpoint":[{"__symbolic":"method"}],"getViewerApiEndpoint":[{"__symbolic":"method"}],"getEditorApiEndpoint":[{"__symbolic":"method"}],"getComparisonApiEndpoint":[{"__symbolic":"method"}],"getConversionApiEndpoint":[{"__symbolic":"method"}],"getSignatureApiEndpoint":[{"__symbolic":"method"}],"getAnnotationApiEndpoint":[{"__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":{"ngInjectableDef":{}}},"ExceptionMessageService":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor"}],"changeMessage":[{"__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":17,"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}.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}.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":24,"character":3}}]}],"preloadPageCount":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":25,"character":3}}]}],"file":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":26,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"ElementRef","module":"@angular/core","arguments":[{"__symbolic":"error","message":"Could not resolve type","line":48,"character":48,"context":{"typeName":"HTMLElement"},"module":"./lib/document/document.component"}]},{"__symbolic":"reference","name":"ZoomService"},{"__symbolic":"reference","name":"WindowService"}]}],"ngOnInit":[{"__symbolic":"method"}],"ngOnChanges":[{"__symbolic":"method"}],"ngAfterViewInit":[{"__symbolic":"method"}],"ifExcel":[{"__symbolic":"method"}],"getDimensionWithUnit":[{"__symbolic":"method"}],"ifEdge":[{"__symbolic":"method"}],"ngAfterViewChecked":[{"__symbolic":"method"}],"absolutePosition":[{"__symbolic":"method"}],"restrictRawPos":[{"__symbolic":"method"}],"updateLastPos":[{"__symbolic":"method"}],"translate":[{"__symbolic":"method"}],"startZoom":[{"__symbolic":"method"}],"rawCenter":[{"__symbolic":"method"}],"updateLastScale":[{"__symbolic":"method"}],"zoomAround":[{"__symbolic":"method"}],"onPinch":[{"__symbolic":"method"}],"onPinchEnd":[{"__symbolic":"method"}],"onPan":[{"__symbolic":"method"}],"onPanEnd":[{"__symbolic":"method"}],"onDoubleTap":[{"__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-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%}/deep/ .gd-highlight{background-color:#ff0}/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:468px;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":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"ElementRef","module":"@angular/core","arguments":[{"__symbolic":"error","message":"Could not resolve type","line":26,"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":49,"character":3},"arguments":["scroll"]}]}],"resizing":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostListener","line":53,"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"}]}},"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
{{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}}]}],"isOpen":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":20,"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:0!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","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{display:-webkit-box;display:flex;-webkit-box-align:center;align-items:center}.gd-side-panel-wrapper .gd-side-panel-header /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}}]}],"hideSidePanel":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":11,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor"}],"openSidePanel":[{"__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"]}]}],"minWidth":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostBinding","line":17,"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":20,"character":92}]}],"ngOnDestroy":[{"__symbolic":"method"}],"ngOnChanges":[{"__symbolic":"method"}],"ngOnInit":[{"__symbolic":"method"}],"setStyles":[{"__symbolic":"method"}],"getScrollWidth":[{"__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"}],"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;margin:auto 23px}.gd-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}.gd-tab .title{display:none}.gd-tab .icon{display:block}}"]}]}],"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":9,"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:-34px}}"]}]}],"members":{"formatting":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":15,"character":3}}]}],"textMenu":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":16,"character":3}}]}],"topPosition":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":17,"character":3}}]}],"lock":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":18,"character":3}}]}],"translation":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":19,"character":3}}]}],"menuType":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":20,"character":3}}]}],"changeFormatting":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":21,"character":3}}]}],"removeItem":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":22,"character":3}}]}],"copySign":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":23,"character":3}}]}],"lockOut":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":24,"character":3}}]}],"comment":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":25,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"WindowService"}]}],"ngOnInit":[{"__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":8,"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;bottom:0;left:0;right:0;width:100%;height:60px;-webkit-box-align:center;align-items:center;padding:0;margin:0;background-color:#fff;border-top:2px solid #707070}.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:-200px}.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 .button{margin:3px!important}}"]}]}],"members":{"blur":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":14,"character":3}}]}],"fontSize":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":15,"character":3}}]}],"font":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":16,"character":3}}]}],"bold":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":17,"character":3}}]}],"italic":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":18,"character":3}}]}],"underline":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":19,"character":3}}]}],"color":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":20,"character":3}}]}],"decoration":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":21,"character":3}}]}],"showTooltips":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":22,"character":3}}]}],"outFontSize":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":24,"character":3}}]}],"outFont":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":25,"character":3}}]}],"outBold":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":26,"character":3}}]}],"outItalic":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":27,"character":3}}]}],"outUnderline":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":28,"character":3}}]}],"outColor":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":29,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"OnCloseService"}]}],"ngOnInit":[{"__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","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":"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":"ɵa"},{"__symbolic":"reference","name":"TabbedToolbarsComponent"},{"__symbolic":"reference","name":"TabComponent"},{"__symbolic":"reference","name":"ɵb"},{"__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":"ɵc"},{"__symbolic":"reference","name":"HostDynamicDirective"},{"__symbolic":"reference","name":"ɵd"},{"__symbolic":"reference","name":"ɵe"},{"__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":"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":"ɵa"},{"__symbolic":"reference","name":"TabbedToolbarsComponent"},{"__symbolic":"reference","name":"TabComponent"},{"__symbolic":"reference","name":"ɵb"},{"__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":"ɵc"},{"__symbolic":"reference","name":"HostDynamicDirective"},{"__symbolic":"reference","name":"ɵd"},{"__symbolic":"reference","name":"ɵe"},{"__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","EDITOR_APP":"/editor","COMPARISON_APP":"/comparison","CONVERSION_APP":"/conversion","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","ROTATE_DOCUMENT_PAGE":"/rotateDocumentPages","UPLOAD_DOCUMENTS":"/uploadDocument","DOWNLOAD_DOCUMENTS":"/downloadDocument","LOAD_PRINT":"/loadPrint","LOAD_PRINT_PDF":"/printPdf","LOAD_THUMBNAILS":"/loadThumbnails","LOAD_FORMATS":"/loadFormats","SAVE_FILE":"/saveFile","COMPARE_FILES":"/compare","CONVERT_FILE":"/convert","DELETE_SIGNATURE_FILE":"/deleteSignatureFile","SAVE_OPTICAL_CODE":"/saveOpticalCode","SAVE_TEXT":"/saveText","SAVE_IMAGE":"/saveImage","SAVE_STAMP":"/saveStamp","SIGN":"/sign","DOWNLOAD_SIGNED":"/downloadSigned","LOAD_SIGNATURE_IMAGE":"/loadSignatureImage","ANNOTATE":"/annotate","httpOptionsJson":{"headers":{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@angular/common/http","name":"HttpHeaders","line":36,"character":17},"arguments":[{"Content-Type":"application/json","$quoted$":["Content-Type"]}]}},"httpOptionsJsonResponseTypeBlob":{"headers":{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@angular/common/http","name":"HttpHeaders","line":41,"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":48,"character":1}}],"members":{"__ctor__":[{"__symbolic":"constructor"}],"getConfigEndpoint":[{"__symbolic":"method"}],"getViewerApiEndpoint":[{"__symbolic":"method"}],"getEditorApiEndpoint":[{"__symbolic":"method"}],"getComparisonApiEndpoint":[{"__symbolic":"method"}],"getConversionApiEndpoint":[{"__symbolic":"method"}],"getSignatureApiEndpoint":[{"__symbolic":"method"}],"getAnnotationApiEndpoint":[{"__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":{"ngInjectableDef":{}}},"ExceptionMessageService":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor"}],"changeMessage":[{"__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:flex;width:90%;padding:18px 0 18px 24px;font-size:14px;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:flex;width:100%;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: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:flex;position:relative;width:100%}.upload-panel .context{display:flex;flex-direction:column;width:100%;margin-left:24px;margin-top:24px;margin-right:24px}.upload-panel .context .context-actions{display:flex;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;justify-content:center}.upload-panel .context .context-actions ::ng-deep .button ::ng-deep .text{font-size:10px}.upload-panel .context .context-panel{display:flex;flex-direction:row;width:100%;margin-top:20px}.upload-panel .context .context-panel .upload-url{display:flex;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:flex;justify-content:center;align-items:center}.dnd-wrapper{display:flex;flex-direction:column;align-items:center;justify-content:center;top:259px;position:absolute}.dnd-wrapper .text{color:#6e6e6e;font-size:14px}.dnd-wrapper .icon{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:flex;flex-direction:column;align-items:center;align-content: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:flex;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":17,"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{flex:1;transition:.4s;background-color:#e7e7e7;height:100%;overflow:scroll}.page{display:inline-block;background-color:#fff;margin:20px;box-shadow:0 3px 6px rgba(0,0,0,.16);transition:.3s}.page.excel{overflow:auto}.wait{position:absolute;top:55px;left:Calc(30%)}.panzoom{display:flex;flex-direction:row;flex-wrap:wrap;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":24,"character":3}}]}],"preloadPageCount":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":25,"character":3}}]}],"file":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":26,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"ElementRef","module":"@angular/core","arguments":[{"__symbolic":"error","message":"Could not resolve type","line":48,"character":48,"context":{"typeName":"HTMLElement"},"module":"./lib/document/document.component"}]},{"__symbolic":"reference","name":"ZoomService"},{"__symbolic":"reference","name":"WindowService"}]}],"ngOnInit":[{"__symbolic":"method"}],"ngOnChanges":[{"__symbolic":"method"}],"ngAfterViewInit":[{"__symbolic":"method"}],"ifExcel":[{"__symbolic":"method"}],"getDimensionWithUnit":[{"__symbolic":"method"}],"ifEdge":[{"__symbolic":"method"}],"ngAfterViewChecked":[{"__symbolic":"method"}],"absolutePosition":[{"__symbolic":"method"}],"restrictRawPos":[{"__symbolic":"method"}],"updateLastPos":[{"__symbolic":"method"}],"translate":[{"__symbolic":"method"}],"startZoom":[{"__symbolic":"method"}],"rawCenter":[{"__symbolic":"method"}],"updateLastScale":[{"__symbolic":"method"}],"zoomAround":[{"__symbolic":"method"}],"onPinch":[{"__symbolic":"method"}],"onPinchEnd":[{"__symbolic":"method"}],"onPan":[{"__symbolic":"method"}],"onPanEnd":[{"__symbolic":"method"}],"onDoubleTap":[{"__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:inline-flex;flex-direction:column;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:flex}#gd-error-section fa-icon{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:flex;flex-direction:column;justify-content:center;align-items:center;width:100%;height:100%}.icon{font-size:65px;margin-bottom:43px;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:flex;flex-direction:column;width:250px;height:250px;align-items: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:flex;align-items: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%;transform:translate(-50%,-50%);z-index:1051}.gd-modal-content{background-color:#fff;height:100%;display:flex;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%}/deep/ .gd-highlight{background-color:#ff0}/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:468px;height:164px}.gd-password-wrap{display:flex;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;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":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"ElementRef","module":"@angular/core","arguments":[{"__symbolic":"error","message":"Could not resolve type","line":26,"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":49,"character":3},"arguments":["scroll"]}]}],"resizing":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostListener","line":53,"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"}]}},"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;transform:translate(-50%,0);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
{{option.name}}
\r\n
\r\n
\r\n
\r\n
\r\n","styles":[".select{min-width:50px;display:flex;flex-direction:row;justify-content: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}}]}],"isOpen":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":20,"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:0!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:flex;align-items:center}.tools{width:100%;height:100%;display:flex;align-items:center}@media (max-width:1037px){.top-toolbar{height:60px}.tools{height:100%;overflow-x:auto;overflow-scrolling:touch;display:flex;align-items:center;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","styles":[".gd-side-panel-wrapper{margin-right:0;width:334px;z-index:999;background-color:#fff;transition:margin-right .2s;display:flex;flex-flow:column;height:100vh}.gd-side-panel-wrapper .gd-side-panel-header{height:60px;background-color:#222e35;display:flex;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{display:flex;align-items:center}.gd-side-panel-wrapper .gd-side-panel-header /deep/ gd-button .text{padding:0}.gd-side-panel-wrapper .gd-side-panel-body{display:flex;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}}]}],"hideSidePanel":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":11,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor"}],"openSidePanel":[{"__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:flex;align-content:center;flex-direction:column;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"]}]}],"minWidth":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostBinding","line":17,"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":20,"character":92}]}],"ngOnDestroy":[{"__symbolic":"method"}],"ngOnChanges":[{"__symbolic":"method"}],"ngOnInit":[{"__symbolic":"method"}],"setStyles":[{"__symbolic":"method"}],"getScrollWidth":[{"__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"}],"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:flex;flex-wrap:wrap;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%;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:flex;overflow:hidden;width:469px;height:183px}.sa-icon.sa-success{border-color:#4caf50;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;transform:rotate(-45deg);transform-origin:60px 60px}.sa-icon.sa-success::after{border-radius:0 120px 120px 0;top:-11px;left:30px;transform:rotate(-45deg);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;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;transform:rotate(45deg)}.sa-icon.sa-success .sa-line.sa-long{width:47px;right:8px;top:38px;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;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:flex}.gd-tab{text-align:center;font-size:11px;color:#e5e5e5;height:30px;line-height:30px;cursor:pointer;display:flex;align-items:center;justify-content:center}.gd-tab .icon{display:none;font-size:14px;margin:auto 23px}.gd-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}.gd-tab .title{display:none}.gd-tab .icon{display:block}}"]}]}],"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: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:flex;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:flex;flex-direction:row;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:flex;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:flex;flex-direction:row;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:flex;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:flex;flex-direction:row;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:flex;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:flex;flex-direction:row;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;transition:transform .3s ease-out;width:100%;height:100%;display:flex;justify-content: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":9,"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:flex;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:-34px}}"]}]}],"members":{"formatting":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":15,"character":3}}]}],"textMenu":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":16,"character":3}}]}],"topPosition":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":17,"character":3}}]}],"lock":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":18,"character":3}}]}],"translation":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":19,"character":3}}]}],"menuType":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":20,"character":3}}]}],"changeFormatting":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":21,"character":3}}]}],"removeItem":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":22,"character":3}}]}],"copySign":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":23,"character":3}}]}],"lockOut":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":24,"character":3}}]}],"comment":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":25,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"WindowService"}]}],"ngOnInit":[{"__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":8,"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:flex;flex-direction:row}.gd-text-menu .format-select{height:37px;display:flex;justify-content: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;bottom:0;left:0;right:0;width:100%;height:60px;align-items:center;padding:0;margin:0;background-color:#fff;border-top:2px solid #707070}.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:-200px}.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 .button{margin:3px!important}}"]}]}],"members":{"blur":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":14,"character":3}}]}],"fontSize":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":15,"character":3}}]}],"font":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":16,"character":3}}]}],"bold":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":17,"character":3}}]}],"italic":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":18,"character":3}}]}],"underline":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":19,"character":3}}]}],"color":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":20,"character":3}}]}],"decoration":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":21,"character":3}}]}],"showTooltips":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":22,"character":3}}]}],"outFontSize":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":24,"character":3}}]}],"outFont":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":25,"character":3}}]}],"outBold":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":26,"character":3}}]}],"outItalic":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":27,"character":3}}]}],"outUnderline":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":28,"character":3}}]}],"outColor":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":29,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"OnCloseService"}]}],"ngOnInit":[{"__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":"Directive","line":5,"character":1},"arguments":[{"selector":"[gdEditHeaderFooter]"}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"ZoomService"},{"__symbolic":"reference","name":"WindowService"},{"__symbolic":"reference","module":"@angular/core","name":"ElementRef","line":13,"character":92}]}],"ngAfterViewInit":[{"__symbolic":"method"}],"ngOnDestroy":[{"__symbolic":"method"}],"ngOnChanges":[{"__symbolic":"method"}],"ngOnInit":[{"__symbolic":"method"}],"dblclickEvent":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostListener","line":32,"character":3},"arguments":["dblclick",["$event"]]}]}],"clickEvent":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostListener","line":50,"character":3},"arguments":["click",["$event"]]}]}]}},"ɵb":{"__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:flex}"]}]}],"members":{"__ctor__":[{"__symbolic":"constructor"}]}},"ɵc":{"__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"]}]}]}},"ɵd":{"__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"}]}},"ɵe":{"__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:flex;flex-direction:column;align-items:center;align-content: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:flex;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","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/editheaderfooter.directive","ɵb":"./lib/tabs/tabs.component","ɵc":"./lib/tooltip.directive","ɵd":"./lib/resizing/resizing.component","ɵe":"./lib/top-tab/top-tab.component"},"importAs":"@groupdocs.examples.angular/common-components"} \ No newline at end of file diff --git a/dist/libs/common-components/lib/editheaderfooter.directive.d.ts b/dist/libs/common-components/lib/editheaderfooter.directive.d.ts new file mode 100644 index 000000000..0f652a01e --- /dev/null +++ b/dist/libs/common-components/lib/editheaderfooter.directive.d.ts @@ -0,0 +1,16 @@ +import { AfterViewInit, OnDestroy, OnInit, ElementRef, OnChanges } from '@angular/core'; +import { ZoomService } from "./zoom.service"; +import { WindowService } from './window.service'; +export declare class EditHeaderFooterDirective implements OnInit, OnDestroy, AfterViewInit, OnChanges { + private _zoomService; + private _windowService; + el: ElementRef; + footerRef: any; + constructor(_zoomService: ZoomService, _windowService: WindowService, el: ElementRef); + ngAfterViewInit(): void; + ngOnDestroy(): void; + ngOnChanges(): void; + ngOnInit(): void; + dblclickEvent(event: any): void; + clickEvent(event: any): void; +} diff --git a/libs/common-components/src/lib/common-components.module.ts b/libs/common-components/src/lib/common-components.module.ts index 44ec722be..43bbc0ada 100644 --- a/libs/common-components/src/lib/common-components.module.ts +++ b/libs/common-components/src/lib/common-components.module.ts @@ -38,6 +38,7 @@ import {PasswordService} from "./password.service"; import {ErrorInterceptorService} from "./error-interceptor.service"; import {SearchComponent} from './search/search.component'; import {SearchableDirective} from './searchable.directive'; +import {EditHeaderFooterDirective} from './editheaderfooter.directive'; import {SearchService} from "./search.service"; import {WindowService} from "./window.service"; import {ViewportService} from "./viewport.service"; @@ -134,6 +135,7 @@ const providers = [ConfigService, PasswordRequiredComponent, SearchComponent, SearchableDirective, + EditHeaderFooterDirective, TabbedToolbarsComponent, TabComponent, TabsComponent, @@ -178,6 +180,7 @@ const providers = [ConfigService, PasswordRequiredComponent, SearchComponent, SearchableDirective, + EditHeaderFooterDirective, TabbedToolbarsComponent, TabComponent, TabsComponent, diff --git a/libs/common-components/src/lib/document/document.component.html b/libs/common-components/src/lib/document/document.component.html index 42e2134fa..a649afae1 100644 --- a/libs/common-components/src/lib/document/document.component.html +++ b/libs/common-components/src/lib/document/document.component.html @@ -7,7 +7,7 @@ [style.width]="getDimensionWithUnit(page.width)" gdRotation [angle]="page.angle" [isHtmlMode]="mode" [width]="page.width" [height]="page.height"> + [width]="page.width" [height]="page.height" [editable]="page.editable" gdEditHeaderFooter> diff --git a/libs/common-components/src/lib/editheaderfooter.directive.spec.ts b/libs/common-components/src/lib/editheaderfooter.directive.spec.ts new file mode 100644 index 000000000..727f9cf76 --- /dev/null +++ b/libs/common-components/src/lib/editheaderfooter.directive.spec.ts @@ -0,0 +1,8 @@ +import { EditHeaderFooterDirective } from './editheaderfooter.directive'; + +describe('EditHeaderFooterDirective', () => { + it('should create an instance', () => { + //const directive = new EditHeaderFooterDirective(); + //expect(directive).toBeTruthy(); + }); +}); diff --git a/libs/common-components/src/lib/editheaderfooter.directive.ts b/libs/common-components/src/lib/editheaderfooter.directive.ts new file mode 100644 index 000000000..df27e5e9b --- /dev/null +++ b/libs/common-components/src/lib/editheaderfooter.directive.ts @@ -0,0 +1,67 @@ +import {AfterViewInit, Directive, HostBinding, Input, OnDestroy, OnInit, ElementRef, OnChanges, HostListener} from '@angular/core'; +import {ZoomService} from "./zoom.service"; +import {FileUtil} from "./file.service"; +import { WindowService } from './window.service'; + +@Directive({ + selector: '[gdEditHeaderFooter]' +}) +export class EditHeaderFooterDirective implements OnInit, OnDestroy, AfterViewInit, OnChanges { + + el: ElementRef; + footerRef: any; + + constructor(private _zoomService: ZoomService, private _windowService: WindowService, el: ElementRef) { + this.el = el; + } + + ngAfterViewInit(): void { + this.footerRef = this.el.nativeElement.querySelectorAll('.footer')[0]; + this.footerRef.setAttribute("contenteditable", false); + this.footerRef.className += " disabled"; + } + + ngOnDestroy(): void { + } + + ngOnChanges(): void { + } + + ngOnInit(): void { + } + + @HostListener('dblclick', ['$event']) + dblclickEvent(event) { + const footerTitle = document.createElement("div"); + footerTitle.className = "footer-title"; + footerTitle.append('Footer'); + + const footer = event.target.closest('.footer'); + if (footer && footer.classList.contains('disabled')) { + footer.classList.remove('disabled'); + footer.setAttribute("contenteditable", true); + footer.before(footerTitle); + } + + event.preventDefault(); + event.stopPropagation(); + } + + @HostListener('click', ['$event']) + clickEvent(event) { + const footer = event.target.closest('.footer'); + if (!footer) { + this.footerRef.setAttribute("contenteditable", false); + if (!this.footerRef.classList.contains('disabled')) + { + this.footerRef.className += " disabled"; + } + + const section = this.el.nativeElement.querySelectorAll('.section')[0]; + const footerTitle = this.el.nativeElement.querySelectorAll('.footer-title')[0]; + if (section && footerTitle) { + section.removeChild(footerTitle); + } + } + } +} diff --git a/libs/editor/src/lib/editor-app.component.less b/libs/editor/src/lib/editor-app.component.less index 61668f46f..b52e02d2e 100644 --- a/libs/editor/src/lib/editor-app.component.less +++ b/libs/editor/src/lib/editor-app.component.less @@ -58,7 +58,6 @@ } ::ng-deep .gd-wrapper { - padding: 19px 96px; -webkit-user-select: text; /* Chrome all / Safari all */ -moz-user-select: text; /* Firefox all */ -ms-user-select: text; /* IE 10+ */ @@ -167,6 +166,9 @@ } ::ng-deep .documentMainContent { + .section { + margin: 0px !important; + } >div { display: flex; flex-direction: column; @@ -184,6 +186,19 @@ width: fit-content; } } + .footer { + &.disabled { + cursor: pointer; + opacity: 0.5; + } + } + .footer-title { + background-color: @mercury; + padding: 2px 8px; + margin-bottom: 10px; + border-top: 1px solid @silver; + border-bottom: 1px solid @silver; + } .header-0 { padding-bottom: 10px; display: flex; diff --git a/libs/editor/src/lib/editor-app.component.ts b/libs/editor/src/lib/editor-app.component.ts index a663938b1..4d90c5ea2 100644 --- a/libs/editor/src/lib/editor-app.component.ts +++ b/libs/editor/src/lib/editor-app.component.ts @@ -518,6 +518,9 @@ export class EditorAppComponent implements OnInit, AfterViewInit { saveFile(credentials: FileCredentials) { if (!this.file || !this.file.pages) return; + + this.textBackup = this.getPageWithRootTags(this.textBackup); + const saveFile = new SaveFile(credentials.guid, credentials.password, this.textBackup); this._editorService.save(saveFile).subscribe((loadFile: FileDescription) => { this.loadFile(loadFile); @@ -526,6 +529,19 @@ export class EditorAppComponent implements OnInit, AfterViewInit { }); } + getPageWithRootTags(data) { + data = this.RemoveFooterTitle(data); + + let resultData = "" + data + ""; + resultData = resultData.replace('
', '
'); + resultData = resultData.replace('
', '
'); + return resultData; + } + + RemoveFooterTitle(textBackup: string): string { + return this.textBackup.replace('', ""); + } + printFile() { if (this.formatDisabled) return; From 973408ff6f15b843e2523d2cb6fb279317f481e4 Mon Sep 17 00:00:00 2001 From: Egor Date: Wed, 26 Feb 2020 14:08:13 +0300 Subject: [PATCH 2/5] Fix for e2e-tests. --- .../groupdocs.examples.angular-common-components.umd.js | 8 ++++---- ...roupdocs.examples.angular-common-components.umd.js.map | 2 +- ...roupdocs.examples.angular-common-components.umd.min.js | 2 +- ...docs.examples.angular-common-components.umd.min.js.map | 2 +- .../esm2015/lib/document/document.component.js | 6 +++--- .../esm5/lib/document/document.component.js | 6 +++--- .../groupdocs.examples.angular-common-components.js | 8 ++++---- .../groupdocs.examples.angular-common-components.js.map | 2 +- .../fesm5/groupdocs.examples.angular-common-components.js | 8 ++++---- .../groupdocs.examples.angular-common-components.js.map | 2 +- ...pdocs.examples.angular-common-components.metadata.json | 2 +- .../src/lib/editheaderfooter.directive.ts | 6 ++++-- 12 files changed, 28 insertions(+), 26 deletions(-) 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 55bd90d71..8015ff48f 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 @@ -4013,8 +4013,10 @@ */ function () { this.footerRef = this.el.nativeElement.querySelectorAll('.footer')[0]; - this.footerRef.setAttribute("contenteditable", false); - this.footerRef.className += " disabled"; + if (this.footerRef) { + this.footerRef.setAttribute("contenteditable", false); + this.footerRef.className += " disabled"; + } }; /** * @return {?} @@ -4056,7 +4058,6 @@ /** @type {?} */ var footer = event.target.closest('.footer'); if (footer && footer.classList.contains('disabled')) { - console.log('dblclick in footer fired'); footer.classList.remove('disabled'); footer.setAttribute("contenteditable", true); footer.before(footerTitle); @@ -4073,7 +4074,6 @@ * @return {?} */ function (event) { - console.log('click on el fired'); /** @type {?} */ var footer = event.target.closest('.footer'); if (!footer) { 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 8a7bba793..f5e1adf67 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/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/page-preload.service.ts","ng://@groupdocs.examples.angular/common-components/lib/navigate.service.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/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/editheaderfooter.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 @Output() hideSidePanel = new EventEmitter();\r\n\r\n onlyTitle = false;\r\n\r\n constructor() {\r\n }\r\n\r\n openSidePanel() {\r\n this.hideSidePanel.emit(true);\r\n }\r\n\r\n toggleTitleMode(){\r\n this.onlyTitle = !this.onlyTitle;\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 EDITOR_APP = '/editor';\r\n public static COMPARISON_APP = '/comparison';\r\n public static CONVERSION_APP = '/conversion';\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 ROTATE_DOCUMENT_PAGE = '/rotateDocumentPages';\r\n public static UPLOAD_DOCUMENTS = '/uploadDocument';\r\n public static DOWNLOAD_DOCUMENTS = '/downloadDocument';\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 COMPARE_FILES = '/compare';\r\n public static CONVERT_FILE = '/convert';\r\n public static DELETE_SIGNATURE_FILE = '/deleteSignatureFile';\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\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 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","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}\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 {\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\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 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\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\r\n ngOnInit() {\r\n }\r\n\r\n ngOnChanges() {\r\n const panzoom = this._elementRef.nativeElement.children.item(0).children.item(0);\r\n (panzoom as any).style.transform = '';\r\n // TODO: this intersects with zooming by zoom directive, but still needed\r\n // for flush previous settings before opening another file\r\n //this._zoomService.changeZoom(100);\r\n //this.scale = 1;\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 getDimensionWithUnit(value: number) {\r\n return 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 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 absolutePosition(el) {\r\n let x = 0, y = 0;\r\n\r\n while (el !== null) {\r\n x += el.offsetLeft;\r\n y += el.offsetTop;\r\n el = el.offsetParent;\r\n }\r\n\r\n return {x: x, y: y};\r\n };\r\n\r\n restrictRawPos(pos, viewportDim, docDim) {\r\n if (pos < viewportDim / this.scale - docDim) { // too far left/up?\r\n pos = viewportDim / this.scale - docDim;\r\n } else if (pos > 0) { // too far right/down?\r\n pos = 0;\r\n }\r\n return pos;\r\n };\r\n\r\n updateLastPos() {\r\n this.lastX = this.x;\r\n this.lastY = this.y;\r\n };\r\n\r\n translate(deltaX, deltaY) {\r\n // We restrict to the min of the viewport width/height or current width/height as the\r\n // current width/height may be smaller than the viewport width/height\r\n const newX = this.restrictRawPos(this.lastX + deltaX / this.scale,\r\n Math.min(this.viewportWidth, this.curWidth), this.docWidth);\r\n this.x = newX;\r\n // TODO: value here and in the similar line below changes to positive to take any effect\r\n this.container.scrollLeft = -Math.ceil(newX * this.scale);\r\n\r\n const newY = this.restrictRawPos(this.lastY + deltaY / this.scale,\r\n Math.min(this.viewportHeight, this.curHeight), this.docHeight);\r\n this.y = newY;\r\n this.container.scrollTop = -Math.ceil(newY * this.scale);\r\n\r\n this.doc.style.transform = 'scale(' + this.scale + ')';\r\n };\r\n\r\n startZoom(scaleBy) {\r\n this.scale = this.lastScale * scaleBy;\r\n\r\n this.curWidth = this.docWidth * this.scale;\r\n this.curHeight = this.docHeight * this.scale;\r\n\r\n // Adjust margins to make sure that we aren't out of bounds\r\n this.translate(0, 0);\r\n };\r\n\r\n rawCenter($event) {\r\n const pos = this.absolutePosition(this.container);\r\n\r\n // We need to account for the scroll position\r\n const scrollLeft = window.pageXOffset ? window.pageXOffset : document.body.scrollLeft;\r\n const scrollTop = window.pageYOffset ? window.pageYOffset : document.body.scrollTop;\r\n\r\n const zoomX = -this.x + ($event.center.x - pos.x + scrollLeft) / this.scale;\r\n const zoomY = -this.y + ($event.center.y - pos.y + scrollTop) / this.scale;\r\n\r\n return {x: zoomX, y: zoomY};\r\n };\r\n\r\n updateLastScale() {\r\n this.lastScale = this.scale;\r\n };\r\n\r\n zoomAround(scaleBy, rawZoomX, rawZoomY, doNotUpdateLast) {\r\n // Zoom\r\n this.startZoom(scaleBy);\r\n\r\n // New raw center of viewport\r\n const rawCenterX = -this.x + Math.min(this.viewportWidth, this.curWidth) / 2 / this.scale;\r\n const rawCenterY = -this.y + Math.min(this.viewportHeight, this.curHeight) / 2 / this.scale;\r\n\r\n // Delta\r\n const deltaX = (rawCenterX - rawZoomX) * this.scale;\r\n const deltaY = (rawCenterY - rawZoomY) * this.scale;\r\n\r\n // Translate back to zoom center\r\n this.translate(deltaX, deltaY);\r\n\r\n if (!doNotUpdateLast) {\r\n this.updateLastScale();\r\n this.updateLastPos();\r\n }\r\n };\r\n\r\n onPinch($event) {\r\n if (this.pinchCenter === null) {\r\n this.pinchCenter = this.rawCenter($event);\r\n const offsetX = this.pinchCenter.x * this.scale - (-this.x * this.scale + Math.min(this.viewportWidth, this.curWidth) / 2);\r\n const offsetY = this.pinchCenter.y * this.scale - (-this.y * this.scale + Math.min(this.viewportHeight, this.curHeight) / 2);\r\n this.pinchCenterOffset = {x: offsetX, y: offsetY};\r\n }\r\n\r\n const newScale = this.scale * $event.scale;\r\n\r\n const zoomX = this.pinchCenter.x * newScale - this.pinchCenterOffset.x;\r\n const zoomY = this.pinchCenter.y * newScale - this.pinchCenterOffset.y;\r\n const zoomCenter = {x: zoomX / newScale, y: zoomY / newScale};\r\n\r\n this.zoomAround($event.scale, zoomCenter.x, zoomCenter.y, true);\r\n }\r\n\r\n onPinchEnd($event) {\r\n this.updateLastScale();\r\n this.updateLastPos();\r\n this.pinchCenter = null;\r\n }\r\n\r\n onPan($event) {\r\n // TODO: looks like native pan works better\r\n // if (!this.isDesktop) {\r\n // this.translate($event.deltaX, $event.deltaY);\r\n // }\r\n }\r\n\r\n onPanEnd($event) {\r\n // if (!this.isDesktop) {\r\n // this.updateLastPos();\r\n // }\r\n }\r\n\r\n onDoubleTap($event) {\r\n if (!this.isDesktop) {\r\n if ($event.tapCount === 2) {\r\n const c = this.rawCenter($event);\r\n this.zoomAround(2, c.x, c.y, false);\r\n }\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 // 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 !== null ? this.data.replace(/>\\s+<').replace(/\\uFEFF/g,\"\") : null;\r\n const dataImagePngBase64 = 'data:image/png;base64,';\r\n this.imgData = dataImagePngBase64;\r\n if (!this.isHtml) {\r\n this.imgData += 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 {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 {Observable, Observer} 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 readonly _navigate: Observable;\r\n private _observer: Observer;\r\n\r\n constructor(private _pagePreloadService: PagePreloadService) {\r\n this._navigate = new Observable(observer =>\r\n this._observer = observer);\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 {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\r\n private currentPage: number;\r\n private zoom = 100;\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 const count = Math.floor((this.getWidth() - offset) / (pageEl.getBoundingClientRect().width * this.getZoom()));\r\n return count === 0 ? 1 : count;\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 this._navigateService.currentPage = page;\r\n }\r\n currentPageSet = true;\r\n }\r\n this._pagePreloadService.changeLastPageInView(page);\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 {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.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 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 scrollWidth = this.getScrollWidth(this.el.nativeElement.parentElement);\r\n this.width = (viewPortWidth/zoomInt - scrollWidth/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 @Input() isOpen = false;\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 }\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 if (this.htmlMode) {\r\n for (const page of pages) {\r\n pagesHtml += '
' +\r\n '
' + page.data + '
' +\r\n '
';\r\n }\r\n } else {\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 windowObject.focus();\r\n windowObject.print();\r\n windowObject.close();\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 {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 constructor() {\r\n }\r\n\r\n get messageChange(): Observable {\r\n return this._messageChange;\r\n }\r\n\r\n changeMessage(message: string) {\r\n this._observer.next(message);\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 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._modalService.open(CommonModals.ErrorMessage);\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 {AfterViewInit, Directive, HostBinding, Input, OnDestroy, OnInit, ElementRef, OnChanges, HostListener} 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: '[gdEditHeaderFooter]'\r\n})\r\nexport class EditHeaderFooterDirective implements OnInit, OnDestroy, AfterViewInit, OnChanges {\r\n\r\n el: ElementRef;\r\n footerRef: any;\r\n\r\n constructor(private _zoomService: ZoomService, private _windowService: WindowService, el: ElementRef) {\r\n this.el = el;\r\n }\r\n\r\n ngAfterViewInit(): void {\r\n this.footerRef = this.el.nativeElement.querySelectorAll('.footer')[0];\r\n this.footerRef.setAttribute(\"contenteditable\", false);\r\n this.footerRef.className += \" disabled\";\r\n }\r\n\r\n ngOnDestroy(): void {\r\n }\r\n\r\n ngOnChanges(): void {\r\n }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n @HostListener('dblclick', ['$event'])\r\n dblclickEvent(event) {\r\n const footerTitle = document.createElement(\"div\");\r\n footerTitle.className = \"footer-title\";\r\n footerTitle.append('Footer');\r\n\r\n const footer = event.target.closest('.footer');\r\n if (footer && footer.classList.contains('disabled')) {\r\n console.log('dblclick in footer fired');\r\n footer.classList.remove('disabled');\r\n footer.setAttribute(\"contenteditable\", true);\r\n footer.before(footerTitle);\r\n }\r\n\r\n event.preventDefault();\r\n event.stopPropagation();\r\n }\r\n\r\n @HostListener('click', ['$event'])\r\n clickEvent(event) {\r\n console.log('click on el fired');\r\n const footer = event.target.closest('.footer');\r\n if (!footer) {\r\n this.footerRef.setAttribute(\"contenteditable\", false);\r\n if (!this.footerRef.classList.contains('disabled'))\r\n {\r\n this.footerRef.className += \" disabled\";\r\n }\r\n\r\n const section = this.el.nativeElement.querySelectorAll('.section')[0];\r\n const footerTitle = this.el.nativeElement.querySelectorAll('.footer-title')[0];\r\n if (section && footerTitle) {\r\n section.removeChild(footerTitle);\r\n }\r\n }\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 }\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 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} 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\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\r\n constructor(private _onCloseService: OnCloseService) {\r\n _onCloseService.onClose.subscribe(() => {\r\n this.colorPickerShow = false;\r\n });\r\n }\r\n\r\n ngOnInit() {\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} from '@angular/core';\r\nimport {Formatting} from \"../formatting.service\";\r\nimport {WindowService} from \"../window.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 this.isMobile = _windowService.isMobile();\r\n _windowService.onResize.subscribe((w) => {\r\n this.isMobile = _windowService.isMobile();\r\n });\r\n }\r\n\r\n ngOnInit() {\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 {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 {EditHeaderFooterDirective} from './editheaderfooter.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 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 EditHeaderFooterDirective,\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 SelectComponent,\r\n RotationDirective,\r\n InitStateComponent,\r\n RenderPrintDirective,\r\n ErrorModalComponent,\r\n PasswordRequiredComponent,\r\n SearchComponent,\r\n SearchableDirective,\r\n EditHeaderFooterDirective,\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","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/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/page-preload.service.ts","ng://@groupdocs.examples.angular/common-components/lib/navigate.service.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/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/editheaderfooter.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 @Output() hideSidePanel = new EventEmitter();\r\n\r\n onlyTitle = false;\r\n\r\n constructor() {\r\n }\r\n\r\n openSidePanel() {\r\n this.hideSidePanel.emit(true);\r\n }\r\n\r\n toggleTitleMode(){\r\n this.onlyTitle = !this.onlyTitle;\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 EDITOR_APP = '/editor';\r\n public static COMPARISON_APP = '/comparison';\r\n public static CONVERSION_APP = '/conversion';\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 ROTATE_DOCUMENT_PAGE = '/rotateDocumentPages';\r\n public static UPLOAD_DOCUMENTS = '/uploadDocument';\r\n public static DOWNLOAD_DOCUMENTS = '/downloadDocument';\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 COMPARE_FILES = '/compare';\r\n public static CONVERT_FILE = '/convert';\r\n public static DELETE_SIGNATURE_FILE = '/deleteSignatureFile';\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\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 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","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}\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 {\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\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 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\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\r\n ngOnInit() {\r\n }\r\n\r\n ngOnChanges() {\r\n const panzoom = this._elementRef.nativeElement.children.item(0).children.item(0);\r\n (panzoom as any).style.transform = '';\r\n // TODO: this intersects with zooming by zoom directive, but still needed\r\n // for flush previous settings before opening another file\r\n //this._zoomService.changeZoom(100);\r\n //this.scale = 1;\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 getDimensionWithUnit(value: number) {\r\n return 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 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 absolutePosition(el) {\r\n let x = 0, y = 0;\r\n\r\n while (el !== null) {\r\n x += el.offsetLeft;\r\n y += el.offsetTop;\r\n el = el.offsetParent;\r\n }\r\n\r\n return {x: x, y: y};\r\n };\r\n\r\n restrictRawPos(pos, viewportDim, docDim) {\r\n if (pos < viewportDim / this.scale - docDim) { // too far left/up?\r\n pos = viewportDim / this.scale - docDim;\r\n } else if (pos > 0) { // too far right/down?\r\n pos = 0;\r\n }\r\n return pos;\r\n };\r\n\r\n updateLastPos() {\r\n this.lastX = this.x;\r\n this.lastY = this.y;\r\n };\r\n\r\n translate(deltaX, deltaY) {\r\n // We restrict to the min of the viewport width/height or current width/height as the\r\n // current width/height may be smaller than the viewport width/height\r\n const newX = this.restrictRawPos(this.lastX + deltaX / this.scale,\r\n Math.min(this.viewportWidth, this.curWidth), this.docWidth);\r\n this.x = newX;\r\n // TODO: value here and in the similar line below changes to positive to take any effect\r\n this.container.scrollLeft = -Math.ceil(newX * this.scale);\r\n\r\n const newY = this.restrictRawPos(this.lastY + deltaY / this.scale,\r\n Math.min(this.viewportHeight, this.curHeight), this.docHeight);\r\n this.y = newY;\r\n this.container.scrollTop = -Math.ceil(newY * this.scale);\r\n\r\n this.doc.style.transform = 'scale(' + this.scale + ')';\r\n };\r\n\r\n startZoom(scaleBy) {\r\n this.scale = this.lastScale * scaleBy;\r\n\r\n this.curWidth = this.docWidth * this.scale;\r\n this.curHeight = this.docHeight * this.scale;\r\n\r\n // Adjust margins to make sure that we aren't out of bounds\r\n this.translate(0, 0);\r\n };\r\n\r\n rawCenter($event) {\r\n const pos = this.absolutePosition(this.container);\r\n\r\n // We need to account for the scroll position\r\n const scrollLeft = window.pageXOffset ? window.pageXOffset : document.body.scrollLeft;\r\n const scrollTop = window.pageYOffset ? window.pageYOffset : document.body.scrollTop;\r\n\r\n const zoomX = -this.x + ($event.center.x - pos.x + scrollLeft) / this.scale;\r\n const zoomY = -this.y + ($event.center.y - pos.y + scrollTop) / this.scale;\r\n\r\n return {x: zoomX, y: zoomY};\r\n };\r\n\r\n updateLastScale() {\r\n this.lastScale = this.scale;\r\n };\r\n\r\n zoomAround(scaleBy, rawZoomX, rawZoomY, doNotUpdateLast) {\r\n // Zoom\r\n this.startZoom(scaleBy);\r\n\r\n // New raw center of viewport\r\n const rawCenterX = -this.x + Math.min(this.viewportWidth, this.curWidth) / 2 / this.scale;\r\n const rawCenterY = -this.y + Math.min(this.viewportHeight, this.curHeight) / 2 / this.scale;\r\n\r\n // Delta\r\n const deltaX = (rawCenterX - rawZoomX) * this.scale;\r\n const deltaY = (rawCenterY - rawZoomY) * this.scale;\r\n\r\n // Translate back to zoom center\r\n this.translate(deltaX, deltaY);\r\n\r\n if (!doNotUpdateLast) {\r\n this.updateLastScale();\r\n this.updateLastPos();\r\n }\r\n };\r\n\r\n onPinch($event) {\r\n if (this.pinchCenter === null) {\r\n this.pinchCenter = this.rawCenter($event);\r\n const offsetX = this.pinchCenter.x * this.scale - (-this.x * this.scale + Math.min(this.viewportWidth, this.curWidth) / 2);\r\n const offsetY = this.pinchCenter.y * this.scale - (-this.y * this.scale + Math.min(this.viewportHeight, this.curHeight) / 2);\r\n this.pinchCenterOffset = {x: offsetX, y: offsetY};\r\n }\r\n\r\n const newScale = this.scale * $event.scale;\r\n\r\n const zoomX = this.pinchCenter.x * newScale - this.pinchCenterOffset.x;\r\n const zoomY = this.pinchCenter.y * newScale - this.pinchCenterOffset.y;\r\n const zoomCenter = {x: zoomX / newScale, y: zoomY / newScale};\r\n\r\n this.zoomAround($event.scale, zoomCenter.x, zoomCenter.y, true);\r\n }\r\n\r\n onPinchEnd($event) {\r\n this.updateLastScale();\r\n this.updateLastPos();\r\n this.pinchCenter = null;\r\n }\r\n\r\n onPan($event) {\r\n // TODO: looks like native pan works better\r\n // if (!this.isDesktop) {\r\n // this.translate($event.deltaX, $event.deltaY);\r\n // }\r\n }\r\n\r\n onPanEnd($event) {\r\n // if (!this.isDesktop) {\r\n // this.updateLastPos();\r\n // }\r\n }\r\n\r\n onDoubleTap($event) {\r\n if (!this.isDesktop) {\r\n if ($event.tapCount === 2) {\r\n const c = this.rawCenter($event);\r\n this.zoomAround(2, c.x, c.y, false);\r\n }\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 // 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 !== null ? this.data.replace(/>\\s+<').replace(/\\uFEFF/g,\"\") : null;\r\n const dataImagePngBase64 = 'data:image/png;base64,';\r\n this.imgData = dataImagePngBase64;\r\n if (!this.isHtml) {\r\n this.imgData += 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 {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 {Observable, Observer} 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 readonly _navigate: Observable;\r\n private _observer: Observer;\r\n\r\n constructor(private _pagePreloadService: PagePreloadService) {\r\n this._navigate = new Observable(observer =>\r\n this._observer = observer);\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 {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\r\n private currentPage: number;\r\n private zoom = 100;\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 const count = Math.floor((this.getWidth() - offset) / (pageEl.getBoundingClientRect().width * this.getZoom()));\r\n return count === 0 ? 1 : count;\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 this._navigateService.currentPage = page;\r\n }\r\n currentPageSet = true;\r\n }\r\n this._pagePreloadService.changeLastPageInView(page);\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 {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.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 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 scrollWidth = this.getScrollWidth(this.el.nativeElement.parentElement);\r\n this.width = (viewPortWidth/zoomInt - scrollWidth/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 @Input() isOpen = false;\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 }\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 if (this.htmlMode) {\r\n for (const page of pages) {\r\n pagesHtml += '
' +\r\n '
' + page.data + '
' +\r\n '
';\r\n }\r\n } else {\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 windowObject.focus();\r\n windowObject.print();\r\n windowObject.close();\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 {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 constructor() {\r\n }\r\n\r\n get messageChange(): Observable {\r\n return this._messageChange;\r\n }\r\n\r\n changeMessage(message: string) {\r\n this._observer.next(message);\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 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._modalService.open(CommonModals.ErrorMessage);\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 {AfterViewInit, Directive, HostBinding, Input, OnDestroy, OnInit, ElementRef, OnChanges, HostListener} 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: '[gdEditHeaderFooter]'\r\n})\r\nexport class EditHeaderFooterDirective implements OnInit, OnDestroy, AfterViewInit, OnChanges {\r\n\r\n el: ElementRef;\r\n footerRef: any;\r\n\r\n constructor(private _zoomService: ZoomService, private _windowService: WindowService, el: ElementRef) {\r\n this.el = el;\r\n }\r\n\r\n ngAfterViewInit(): void {\r\n this.footerRef = this.el.nativeElement.querySelectorAll('.footer')[0];\r\n if (this.footerRef) {\r\n this.footerRef.setAttribute(\"contenteditable\", false);\r\n this.footerRef.className += \" disabled\";\r\n }\r\n }\r\n\r\n ngOnDestroy(): void {\r\n }\r\n\r\n ngOnChanges(): void {\r\n }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n @HostListener('dblclick', ['$event'])\r\n dblclickEvent(event) {\r\n const footerTitle = document.createElement(\"div\");\r\n footerTitle.className = \"footer-title\";\r\n footerTitle.append('Footer');\r\n\r\n const footer = event.target.closest('.footer');\r\n if (footer && footer.classList.contains('disabled')) {\r\n footer.classList.remove('disabled');\r\n footer.setAttribute(\"contenteditable\", true);\r\n footer.before(footerTitle);\r\n }\r\n\r\n event.preventDefault();\r\n event.stopPropagation();\r\n }\r\n\r\n @HostListener('click', ['$event'])\r\n clickEvent(event) {\r\n const footer = event.target.closest('.footer');\r\n if (!footer) {\r\n this.footerRef.setAttribute(\"contenteditable\", false);\r\n if (!this.footerRef.classList.contains('disabled'))\r\n {\r\n this.footerRef.className += \" disabled\";\r\n }\r\n\r\n const section = this.el.nativeElement.querySelectorAll('.section')[0];\r\n const footerTitle = this.el.nativeElement.querySelectorAll('.footer-title')[0];\r\n if (section && footerTitle) {\r\n section.removeChild(footerTitle);\r\n }\r\n }\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 }\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 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} 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\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\r\n constructor(private _onCloseService: OnCloseService) {\r\n _onCloseService.onClose.subscribe(() => {\r\n this.colorPickerShow = false;\r\n });\r\n }\r\n\r\n ngOnInit() {\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} from '@angular/core';\r\nimport {Formatting} from \"../formatting.service\";\r\nimport {WindowService} from \"../window.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 this.isMobile = _windowService.isMobile();\r\n _windowService.onResize.subscribe((w) => {\r\n this.isMobile = _windowService.isMobile();\r\n });\r\n }\r\n\r\n ngOnInit() {\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 {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 {EditHeaderFooterDirective} from './editheaderfooter.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 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 EditHeaderFooterDirective,\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 SelectComponent,\r\n RotationDirective,\r\n InitStateComponent,\r\n RenderPrintDirective,\r\n ErrorModalComponent,\r\n PasswordRequiredComponent,\r\n SearchComponent,\r\n SearchableDirective,\r\n EditHeaderFooterDirective,\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","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 9f07bbcaa..4fa9c3304 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 @@ -1,2 +1,2 @@ -!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports,require("@angular/core"),require("@angular/common"),require("rxjs"),require("rxjs/operators"),require("@fortawesome/angular-fontawesome"),require("@fortawesome/fontawesome-svg-core"),require("@fortawesome/free-solid-svg-icons"),require("@fortawesome/free-regular-svg-icons"),require("@angular/common/http"),require("jquery"),require("hammerjs"),require("@angular/platform-browser"),require("ng-click-outside")):"function"==typeof define&&define.amd?define("@groupdocs.examples.angular/common-components",["exports","@angular/core","@angular/common","rxjs","rxjs/operators","@fortawesome/angular-fontawesome","@fortawesome/fontawesome-svg-core","@fortawesome/free-solid-svg-icons","@fortawesome/free-regular-svg-icons","@angular/common/http","jquery","hammerjs","@angular/platform-browser","ng-click-outside"],e):e(((t=t||self).groupdocs=t.groupdocs||{},t.groupdocs.examples=t.groupdocs.examples||{},t.groupdocs.examples.angular=t.groupdocs.examples.angular||{},t.groupdocs.examples.angular["common-components"]={}),t.ng.core,t.ng.common,t.rxjs,t.rxjs.operators,t.angularFontawesome,t.fontawesomeSvgCore,t.freeSolidSvgIcons,t.freeRegularSvgIcons,t.ng.common.http,t.jquery,t.Hammer,t.ng.platformBrowser,t.ngClickOutside)}(this,function(t,e,o,n,i,r,s,a,c,p,l,d,u,g){"use strict";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 v=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:flex;align-items:center}.tools{width:100%;height:100%;display:flex;align-items:center}@media (max-width:1037px){.top-toolbar{height:60px}.tools{height:100%;overflow-x:auto;overflow-scrolling:touch;display:flex;align-items:center;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}(),y=function(){function t(){this.hideSidePanel=new e.EventEmitter,this.onlyTitle=!1}return t.prototype.openSidePanel=function(){this.hideSidePanel.emit(!0)},t.prototype.toggleTitleMode=function(){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',styles:[".gd-side-panel-wrapper{margin-right:0;width:334px;z-index:999;background-color:#fff;transition:margin-right .2s;display:flex;flex-flow:column;height:100vh}.gd-side-panel-wrapper .gd-side-panel-header{height:60px;background-color:#222e35;display:flex;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{display:flex;align-items:center}.gd-side-panel-wrapper .gd-side-panel-header /deep/ gd-button .text{padding:0}.gd-side-panel-wrapper .gd-side-panel-body{display:flex;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}],hideSidePanel:[{type:e.Output}]},t}(),b=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}(),x=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:flex;flex-direction:column;align-items:center;align-content: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:flex;flex-direction:column}@media (max-width:1037px){.button{font-size:22px}.arrow-button{margin:5px}}"]}]}],t.ctorParameters=function(){return[{type:b}]},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}(),w=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:flex;align-items: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}(),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:0!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}(),C=function(){function t(){}return t.VIEWER_APP="/viewer",t.SIGNATURE_APP="/signature",t.ANNOTATION_APP="/annotation",t.EDITOR_APP="/editor",t.COMPARISON_APP="/comparison",t.CONVERSION_APP="/conversion",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.ROTATE_DOCUMENT_PAGE="/rotateDocumentPages",t.UPLOAD_DOCUMENTS="/uploadDocument",t.DOWNLOAD_DOCUMENTS="/downloadDocument",t.LOAD_PRINT="/loadPrint",t.LOAD_PRINT_PDF="/printPdf",t.LOAD_THUMBNAILS="/loadThumbnails",t.LOAD_FORMATS="/loadFormats",t.SAVE_FILE="/saveFile",t.COMPARE_FILES="/compare",t.CONVERT_FILE="/convert",t.DELETE_SIGNATURE_FILE="/deleteSignatureFile",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.httpOptionsJson={headers:new p.HttpHeaders({"Content-Type":"application/json"})},t.httpOptionsJsonResponseTypeBlob={headers:new p.HttpHeaders({"Content-Type":"application/json"}),responseType:"blob"},t}(),_=function(){function t(){this.apiEndpoint=C.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)+C.LOAD_CONFIG},t.prototype.getViewerApiEndpoint=function(){return this._apiEndpoint.endsWith(C.VIEWER_APP)?this._apiEndpoint:this._apiEndpoint+C.VIEWER_APP},t.prototype.getEditorApiEndpoint=function(){return this._apiEndpoint.trim().endsWith(C.EDITOR_APP)?this._apiEndpoint:this._apiEndpoint+C.EDITOR_APP},t.prototype.getComparisonApiEndpoint=function(){return this._apiEndpoint.trim().endsWith(C.COMPARISON_APP)?this._apiEndpoint:this._apiEndpoint+C.COMPARISON_APP},t.prototype.getConversionApiEndpoint=function(){return this._apiEndpoint.trim().endsWith(C.CONVERSION_APP)?this._apiEndpoint:this._apiEndpoint+C.CONVERSION_APP},t.prototype.getSignatureApiEndpoint=function(){return this._apiEndpoint.endsWith(C.SIGNATURE_APP)?this._apiEndpoint:this._apiEndpoint+C.SIGNATURE_APP},t.prototype.getAnnotationApiEndpoint=function(){return this._apiEndpoint.endsWith(C.ANNOTATION_APP)?this._apiEndpoint:this._apiEndpoint+C.ANNOTATION_APP},t.decorators=[{type:e.Injectable}],t.ctorParameters=function(){return[]},t}(),P=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}(),I=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}(),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%;transform:translate(-50%,-50%);z-index:1051}.gd-modal-content{background-color:#fff;height:100%;display:flex;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:I},{type:e.ElementRef}]},t.propDecorators={id:[{type:e.Input}],title:[{type:e.Input}],visible:[{type:e.Output}],cancel:[{type:e.Output}]},t}(),O=function(){},k=function(){},F=function(t,e){this.guid=t,this.password=e},z=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}(F),D=function(){this.printAllowed=!0},T=function(){},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}(),j=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}(),L=function(){},R=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}(),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 M.find(t.name,t.directory).format},t.prototype.getFormatIcon=function(t){return M.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:flex;width:90%;padding:18px 0 18px 24px;font-size:14px;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:flex;width:100%;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: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:flex;position:relative;width:100%}.upload-panel .context{display:flex;flex-direction:column;width:100%;margin-left:24px;margin-top:24px;margin-right:24px}.upload-panel .context .context-actions{display:flex;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;justify-content:center}.upload-panel .context .context-actions ::ng-deep .button ::ng-deep .text{font-size:10px}.upload-panel .context .context-panel{display:flex;flex-direction:row;width:100%;margin-top:20px}.upload-panel .context .context-panel .upload-url{display:flex;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:flex;justify-content:center;align-items:center}.dnd-wrapper{display:flex;flex-direction:column;align-items:center;justify-content:center;top:259px;position:absolute}.dnd-wrapper .text{color:#6e6e6e;font-size:14px}.dnd-wrapper .icon{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:R}]},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}(),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}(),$=l,W=function(){function t(t,e,o){var n=this;this._elementRef=t,this._zoomService=e,this._windowService=o,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){n.zoom=t}),this.isDesktop=o.isDesktop()}return t.prototype.ngOnInit=function(){},t.prototype.ngOnChanges=function(){this._elementRef.nativeElement.children.item(0).children.item(0).style.transform=""},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"===M.find(this.file.guid,!1).format},t.prototype.getDimensionWithUnit=function(t){return t+(this.mode?M.find(this.file.guid,!1).unit:"px")},t.prototype.ifEdge=function(){return navigator.userAgent.toLowerCase().indexOf("edge")>-1},t.prototype.ngAfterViewChecked=function(){var t=this._elementRef.nativeElement.querySelectorAll(".gd-wrapper").item(0);t&&$(t).trigger("focus")},t.prototype.absolutePosition=function(t){for(var e=0,o=0;null!==t;)e+=t.offsetLeft,o+=t.offsetTop,t=t.offsetParent;return{x:e,y:o}},t.prototype.restrictRawPos=function(t,e,o){return t0&&(t=0),t},t.prototype.updateLastPos=function(){this.lastX=this.x,this.lastY=this.y},t.prototype.translate=function(t,e){var o=this.restrictRawPos(this.lastX+t/this.scale,Math.min(this.viewportWidth,this.curWidth),this.docWidth);this.x=o,this.container.scrollLeft=-Math.ceil(o*this.scale);var n=this.restrictRawPos(this.lastY+e/this.scale,Math.min(this.viewportHeight,this.curHeight),this.docHeight);this.y=n,this.container.scrollTop=-Math.ceil(n*this.scale),this.doc.style.transform="scale("+this.scale+")"},t.prototype.startZoom=function(t){this.scale=this.lastScale*t,this.curWidth=this.docWidth*this.scale,this.curHeight=this.docHeight*this.scale,this.translate(0,0)},t.prototype.rawCenter=function(t){var e=this.absolutePosition(this.container),o=window.pageXOffset?window.pageXOffset:document.body.scrollLeft,n=window.pageYOffset?window.pageYOffset:document.body.scrollTop;return{x:-this.x+(t.center.x-e.x+o)/this.scale,y:-this.y+(t.center.y-e.y+n)/this.scale}},t.prototype.updateLastScale=function(){this.lastScale=this.scale},t.prototype.zoomAround=function(t,e,o,n){this.startZoom(t);var i=-this.x+Math.min(this.viewportWidth,this.curWidth)/2/this.scale,r=-this.y+Math.min(this.viewportHeight,this.curHeight)/2/this.scale,s=(i-e)*this.scale,a=(r-o)*this.scale;this.translate(s,a),n||(this.updateLastScale(),this.updateLastPos())},t.prototype.onPinch=function(t){if(null===this.pinchCenter){this.pinchCenter=this.rawCenter(t);var e=this.pinchCenter.x*this.scale-(-this.x*this.scale+Math.min(this.viewportWidth,this.curWidth)/2),o=this.pinchCenter.y*this.scale-(-this.y*this.scale+Math.min(this.viewportHeight,this.curHeight)/2);this.pinchCenterOffset={x:e,y:o}}var n=this.scale*t.scale,i={x:(this.pinchCenter.x*n-this.pinchCenterOffset.x)/n,y:(this.pinchCenter.y*n-this.pinchCenterOffset.y)/n};this.zoomAround(t.scale,i.x,i.y,!0)},t.prototype.onPinchEnd=function(t){this.updateLastScale(),this.updateLastPos(),this.pinchCenter=null},t.prototype.onPan=function(t){},t.prototype.onPanEnd=function(t){},t.prototype.onDoubleTap=function(t){if(!this.isDesktop&&2===t.tapCount){var e=this.rawCenter(t);this.zoomAround(2,e.x,e.y,!1)}},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{flex:1;transition:.4s;background-color:#e7e7e7;height:100%;overflow:scroll}.page{display:inline-block;background-color:#fff;margin:20px;box-shadow:0 3px 6px rgba(0,0,0,.16);transition:.3s}.page.excel{overflow:auto}.wait{position:absolute;top:55px;left:Calc(30%)}.panzoom{display:flex;flex-direction:row;flex-wrap:wrap;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:b}]},t.propDecorators={mode:[{type:e.Input}],preloadPageCount:[{type:e.Input}],file:[{type:e.Input}]},t}(),q=function(){function t(){}return t.prototype.ngOnInit=function(){/*@cc_on!@*/!!/(MSIE|Trident\/|Edge\/)/i.test(navigator.userAgent)&&0===this.number&&(this.editable=!1)},t.prototype.ngOnChanges=function(t){this.data=null!==this.data?this.data.replace(/>\s+<").replace(/\uFEFF/g,""):null;this.imgData="data:image/png;base64,",this.isHtml||(this.imgData+=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%}/deep/ .gd-highlight{background-color:#ff0}/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}(),V=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}(),G=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}(),X=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}(),Z=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}(),Y=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:flex;align-content:center;flex-direction:column;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:R}]},t.propDecorators={closeUpload:[{type:e.Output}]},t}(),J=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:R}]},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}(),K=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}(),Q=function(){function t(t){var e=this;this._pagePreloadService=t,this._currentPage=0,this._countPages=0,this._navigate=new n.Observable(function(t){return e._observer=t})}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:K}]},t.ngInjectableDef=e.ɵɵdefineInjectable({factory:function(){return new t(e.ɵɵinject(K))},token:t,providedIn:"root"}),t}(),tt=l,et=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=tt(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=tt(t).outerHeight()*l,u=tt(t).outerWidth()*l;if(!u||!d)return!1;var g=tt(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)),v=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*v>=.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}(),ot=l,nt=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.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&&ot(n).offset().top===ot(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),e=Math.floor((this.getWidth()-150)/(t.getBoundingClientRect().width*this.getZoom()));return 0===e?1:e},t.prototype.refresh=function(){var t,e=!1,o=this.getPage(this.currentPage),n=this.currentPage&&o?o.getBoundingClientRect():null;for(t=1;to&&(o=t.width)}),this.minWidth=o+M.find(this.file.guid,!1).unit}},t.prototype.getScrollWidth=function(t){return t.offsetWidth-t.clientWidth},t.prototype.resizePages=function(t){var e=100===t?1:t/100,o=this.el.nativeElement.parentElement.offsetWidth,n=this.getScrollWidth(this.el.nativeElement.parentElement);this.width=o/e-n/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:b},{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"]}],minWidth:[{type:e.HostBinding,args:["style.min-width"]}]},t}(),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}(),st=function(){function t(t){var o=this;this._onCloseService=t,this.disabled=!1,this.selected=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)},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',styles:[".select{min-width:50px;display:flex;flex-direction:row;justify-content: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}],isOpen:[{type:e.Input}]},t}(),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}(),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}(),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:flex;flex-direction:column;justify-content:center;align-items:center;width:100%;height:100%}.icon{font-size:65px;margin-bottom:43px;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:flex;flex-direction:column;width:250px;height:250px;align-items: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}(),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}(),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,i,r="";if(this.htmlMode)try{for(var s=m(t),a=s.next();!a.done;a=s.next()){r+='
'+l.data+"
"}}catch(t){e={error:t}}finally{try{a&&!a.done&&(o=s.return)&&o.call(s)}finally{if(e)throw e.error}}else try{for(var c=m(t),p=c.next();!p.done;p=c.next()){var l;r+='
'}}catch(t){n={error:t}}finally{try{p&&!p.done&&(i=c.return)&&i.call(c)}finally{if(n)throw n.error}}this.openWindow(r,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(),s.focus(),s.print(),s.close()},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}(),ut=function(){function t(){this._observer=new n.BehaviorSubject("Server is not available"),this._messageChange=this._observer.asObservable()}return Object.defineProperty(t.prototype,"messageChange",{get:function(){return this._messageChange},enumerable:!0,configurable:!0}),t.prototype.changeMessage=function(t){this._observer.next(t)},t}(),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:inline-flex;flex-direction:column;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:flex}#gd-error-section fa-icon{flex:1;color:#e04e4e;font-size:40px;margin:13px 23px 90px;text-align:center;max-width:46px}"]}]}],t.ctorParameters=function(){return[{type:ut}]},t}(),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}(),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:468px;height:164px}.gd-password-wrap{display:flex;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;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}(),vt=function(){function t(t,e){this._modalService=t,this._messageService=e}return t.prototype.intercept=function(t,e){var o=this,r="background: maroon; color: white";return e.handle(t).pipe(i.map(function(t){return t}),i.catchError(function(t){if(t instanceof p.HttpErrorResponse)switch(t.status){case A.BadRequest:console.error("%c Bad Request 400",r);break;case A.Unauthorized:console.error("%c Unauthorized 401",r);break;case A.NotFound:console.error("%c Not Found 404",r);break;case A.TimeOut:console.error("%c TimeOut 408",r);break;case A.InternalServerError:console.error("%c big bad 500",r),o._messageService.changeMessage(t.error.message),o._modalService.open(P.ErrorMessage);break;case A.Forbidden:console.error("%c Forbidden 403",r),o._messageService.changeMessage(t.error.message),o._modalService.open(P.PasswordRequired)}return n.throwError(t)}))},t.decorators=[{type:e.Injectable,args:[{providedIn:"root"}]}],t.ctorParameters=function(){return[{type:I},{type:ut}]},t.ngInjectableDef=e.ɵɵdefineInjectable({factory:function(){return new t(e.ɵɵinject(I),e.ɵɵinject(ut))},token:t,providedIn:"root"}),t}(),yt=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}(),bt=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;transform:translate(-50%,0);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:yt}]},t.propDecorators={hidePanel:[{type:e.Output}],textElement:[{type:e.ViewChild,args:["text",{static:!0}]}]},t}(),xt=l,wt=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){xt(t).removeClass("gd-highlight-select")});var e=t.querySelectorAll(".gd-highlight")[this.current-1];if(xt(e).addClass("gd-highlight-select"),e){var o={left:0,top:xt(e).offset().top+t.parentElement.parentElement.scrollTop-150};t.parentElement.parentElement.scroll(o)}}}},t.prototype.highlightEl=function(t){var e=xt(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=xt(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: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}(),_t=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}(),Pt=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:flex}.gd-tab{text-align:center;font-size:11px;color:#e5e5e5;height:30px;line-height:30px;cursor:pointer;display:flex;align-items:center;justify-content:center}.gd-tab .icon{display:none;font-size:14px;margin:auto 23px}.gd-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}.gd-tab .title{display:none}.gd-tab .icon{display:block}}"]}]}],t.ctorParameters=function(){return[{type:_t}]},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}(),It=function(){function t(){}return t.decorators=[{type:e.Component,args:[{selector:"gd-tabs",template:'
\r\n \r\n
\r\n',styles:[".gd-tabs{display:flex}"]}]}],t.ctorParameters=function(){return[]},t}(),Et=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}(),Ot=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}(),kt=["#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"],Ft=function(){function t(){this.isOpen=!1,this.selectedColor=new e.EventEmitter,this.closeOutside=new e.EventEmitter,this.colors=kt,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:flex;flex-wrap:wrap;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}(),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}(Ot),Dt=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}(),Tt=l,At=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=/*@cc_on!@*/!!/(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=Tt(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"),Tt(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:Ot},{type:zt},{type:Dt}]},t.propDecorators={mouseup:[{type:e.HostListener,args:["mouseup"]}]},t}(),jt=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:flex;overflow:hidden;width:469px;height:183px}.sa-icon.sa-success{border-color:#4caf50;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;transform:rotate(-45deg);transform-origin:60px 60px}.sa-icon.sa-success::after{border-radius:0 120px 120px 0;top:-11px;left:30px;transform:rotate(-45deg);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;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;transform:rotate(45deg)}.sa-icon.sa-success .sa-line.sa-long{width:47px;right:8px;top:38px;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;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}(),Lt=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:Dt},{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}(),Rt=function(){function t(){this.onLoadingChanged=new e.EventEmitter,this.stopList=[],this.requests=[],this.stopList.push(C.SAVE_TEXT),this.stopList.push(C.SAVE_OPTICAL_CODE)}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.notify=function(){this.onLoadingChanged.emit(0!==this.requests.length)},t.decorators=[{type:e.Injectable}],t.ctorParameters=function(){return[]},t}(),Ut=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%;transform:translate(-50%,-50%)}"]}]}],t.ctorParameters=function(){return[{type:Rt}]},t.propDecorators={loadingMask:[{type:e.Input}]},t}(),Ht=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}(),Nt={center:{right:"auto"},left:{right:"100%"},right:{right:"-100%"}},Bt={center:{top:"0px"},top:{top:"-100%",right:"100%"},bottom:{top:"autos"}},$t=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:flex;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:flex;flex-direction:row;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}(),Wt=function(){function t(t){this.dropdown=t}return Object.defineProperty(t.prototype,"horizontalAlign",{get:function(){return Nt[this.dropdown.getPlacement().h].right},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"verticalAlign",{get:function(){return Bt[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:flex;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:flex;flex-direction:row;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}(),qt=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:flex;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:flex;flex-direction:row;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}(),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:flex;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:flex;flex-direction:row;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}(),Gt=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;transition:transform .3s ease-out;width:100%;height:100%;display:flex;justify-content: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}(),Xt=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}(),Zt=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}(),Yt=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}(),Jt=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:Yt}]},t.propDecorators={ident:[{type:e.Input}]},t}(),Kt=l,Qt=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=Kt(this.getElementId(this.SE)),o=Kt(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=j.getMousePosition(t)},t.prototype.resize=function(t,e){if(this.grab){var o=j.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}(),te=function(t){function e(){return t.call(this)||this}return f(e,t),e}(_t),ee=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(P.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:flex;flex-direction:column;align-items:center;align-content: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:flex;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:te},{type:I},{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}(),oe=l,ne=function(){function t(t){var o=this;this._onCloseService=t,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=Ot.getFontSizeOptions(),this.fontOptions=Ot.getFontOptions(),this.colorPickerShow=!1,t.onClose.subscribe(function(){o.colorPickerShow=!1})}return t.prototype.ngOnInit=function(){},t.prototype.selectFontSize=function(t){oe(".gd-wrapper").off("keyup"),this.outFontSize.emit(t.value),oe(".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:flex;flex-direction:row}.gd-text-menu .format-select{height:37px;display:flex;justify-content: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;bottom:0;left:0;right:0;width:100%;height:60px;align-items:center;padding:0;margin:0;background-color:#fff;border-top:2px solid #707070}.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:-200px}.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 .button{margin:3px!important}}"]}]}],t.ctorParameters=function(){return[{type:rt}]},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}(),ie=function(){function t(){}return t.FOR_SIGNATURE="signature",t.FOR_ANNOTATION="annotation",t}(),re=function(){function t(t){var o=this;this._windowService=t,this.formatting=Et.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){o.isMobile=t.isMobile()})}return t.prototype.ngOnInit=function(){},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===ie.FOR_SIGNATURE},t.prototype.isAnnotation=function(){return this.menuType===ie.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:flex;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:-34px}}"]}]}],t.ctorParameters=function(){return[{type:b}]},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}(),se=[_,C,I,L,T,M,j,V,G,X,Z,R,lt,Q,K,B,ut,ht,vt,yt,b,et,Ot,zt,rt,Ht,Rt,_t,Zt,Yt,te],ae=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:[v,y,x,w,S,E,N,W,q,V,G,X,Z,Y,J,nt,it,st,at,ct,pt,dt,gt,mt,bt,wt,St,Ct,Pt,It,Ft,At,jt,Lt,Ut,Vt,qt,Wt,$t,Gt,Xt,Jt,Qt,ee,ne,re],exports:[v,y,x,w,S,E,N,W,q,G,X,Z,V,Y,nt,st,ct,pt,dt,gt,mt,bt,wt,St,Ct,Pt,It,Ft,At,jt,Ut,J,Vt,qt,Wt,$t,it,$t,Gt,Xt,Jt,Qt,ee,ne,re],providers:se}]}],t.ctorParameters=function(){return[]},t}();t.AddDynamicComponentService=Zt,t.Api=C,t.BackFormattingService=zt,t.BrowseFilesModalComponent=N,t.ButtonComponent=x,t.ColorPickerComponent=Ft,t.CommonComponentsModule=ae,t.CommonModals=P,t.ConfigService=_,t.ContextMenuComponent=re,t.DisabledCursorDirective=at,t.DndDirective=J,t.DocumentComponent=W,t.DropDownComponent=Vt,t.DropDownItemComponent=qt,t.DropDownItemsComponent=Wt,t.DropDownToggleComponent=$t,t.EditHtmlService=Mt,t.EditorDirective=Lt,t.ErrorInterceptorService=vt,t.ErrorModalComponent=gt,t.ExceptionMessageService=ut,t.FileCredentials=F,t.FileDescription=D,t.FileModel=T,t.FileService=L,t.FileUtil=M,t.Formatting=Et,t.FormattingDirective=At,t.FormattingService=Ot,t.HighlightSearchPipe=Z,t.HostDynamicDirective=Jt,t.HostingDynamicComponentService=Yt,t.HttpError=A,t.InitStateComponent=pt,t.LeftSideBarComponent=Gt,t.LoadingMaskComponent=Ut,t.LoadingMaskInterceptorService=Ht,t.LoadingMaskService=Rt,t.LogoComponent=w,t.MenuType=ie,t.ModalComponent=E,t.ModalService=I,t.NavigateService=Q,t.OnCloseService=rt,t.PageComponent=q,t.PageModel=O,t.PagePreloadService=K,t.PasswordRequiredComponent=mt,t.PasswordService=ht,t.RenderPrintDirective=dt,t.RenderPrintService=lt,t.RotatedPage=k,t.RotationDirective=ct,t.SanitizeHtmlPipe=V,t.SanitizeResourceHtmlPipe=G,t.SanitizeStylePipe=X,t.SaveFile=z,t.ScrollableDirective=nt,t.SearchComponent=bt,t.SearchService=yt,t.SearchableDirective=wt,t.SelectComponent=st,t.SelectionService=Dt,t.SidePanelComponent=y,t.SuccessModalComponent=jt,t.TabActivatorService=_t,t.TabComponent=Pt,t.TabbedToolbarsComponent=Ct,t.TextMenuComponent=ne,t.TooltipComponent=S,t.TopTabActivatorService=te,t.TopToolbarComponent=v,t.UploadFileZoneComponent=Y,t.UploadFilesService=R,t.Utils=j,t.ViewportService=et,t.WindowService=b,t.ZoomDirective=it,t.ZoomService=B,t.ɵa=St,t.ɵb=It,t.ɵc=Xt,t.ɵd=Qt,t.ɵe=ee,Object.defineProperty(t,"__esModule",{value:!0})}); +!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports,require("@angular/core"),require("@angular/common"),require("rxjs"),require("rxjs/operators"),require("@fortawesome/angular-fontawesome"),require("@fortawesome/fontawesome-svg-core"),require("@fortawesome/free-solid-svg-icons"),require("@fortawesome/free-regular-svg-icons"),require("@angular/common/http"),require("jquery"),require("hammerjs"),require("@angular/platform-browser"),require("ng-click-outside")):"function"==typeof define&&define.amd?define("@groupdocs.examples.angular/common-components",["exports","@angular/core","@angular/common","rxjs","rxjs/operators","@fortawesome/angular-fontawesome","@fortawesome/fontawesome-svg-core","@fortawesome/free-solid-svg-icons","@fortawesome/free-regular-svg-icons","@angular/common/http","jquery","hammerjs","@angular/platform-browser","ng-click-outside"],e):e(((t=t||self).groupdocs=t.groupdocs||{},t.groupdocs.examples=t.groupdocs.examples||{},t.groupdocs.examples.angular=t.groupdocs.examples.angular||{},t.groupdocs.examples.angular["common-components"]={}),t.ng.core,t.ng.common,t.rxjs,t.rxjs.operators,t.angularFontawesome,t.fontawesomeSvgCore,t.freeSolidSvgIcons,t.freeRegularSvgIcons,t.ng.common.http,t.jquery,t.Hammer,t.ng.platformBrowser,t.ngClickOutside)}(this,function(t,e,o,n,i,r,s,a,c,p,l,d,u,g){"use strict";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 v=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:flex;align-items:center}.tools{width:100%;height:100%;display:flex;align-items:center}@media (max-width:1037px){.top-toolbar{height:60px}.tools{height:100%;overflow-x:auto;overflow-scrolling:touch;display:flex;align-items:center;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}(),y=function(){function t(){this.hideSidePanel=new e.EventEmitter,this.onlyTitle=!1}return t.prototype.openSidePanel=function(){this.hideSidePanel.emit(!0)},t.prototype.toggleTitleMode=function(){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',styles:[".gd-side-panel-wrapper{margin-right:0;width:334px;z-index:999;background-color:#fff;transition:margin-right .2s;display:flex;flex-flow:column;height:100vh}.gd-side-panel-wrapper .gd-side-panel-header{height:60px;background-color:#222e35;display:flex;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{display:flex;align-items:center}.gd-side-panel-wrapper .gd-side-panel-header /deep/ gd-button .text{padding:0}.gd-side-panel-wrapper .gd-side-panel-body{display:flex;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}],hideSidePanel:[{type:e.Output}]},t}(),b=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}(),x=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:flex;flex-direction:column;align-items:center;align-content: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:flex;flex-direction:column}@media (max-width:1037px){.button{font-size:22px}.arrow-button{margin:5px}}"]}]}],t.ctorParameters=function(){return[{type:b}]},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}(),w=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:flex;align-items: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}(),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:0!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}(),C=function(){function t(){}return t.VIEWER_APP="/viewer",t.SIGNATURE_APP="/signature",t.ANNOTATION_APP="/annotation",t.EDITOR_APP="/editor",t.COMPARISON_APP="/comparison",t.CONVERSION_APP="/conversion",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.ROTATE_DOCUMENT_PAGE="/rotateDocumentPages",t.UPLOAD_DOCUMENTS="/uploadDocument",t.DOWNLOAD_DOCUMENTS="/downloadDocument",t.LOAD_PRINT="/loadPrint",t.LOAD_PRINT_PDF="/printPdf",t.LOAD_THUMBNAILS="/loadThumbnails",t.LOAD_FORMATS="/loadFormats",t.SAVE_FILE="/saveFile",t.COMPARE_FILES="/compare",t.CONVERT_FILE="/convert",t.DELETE_SIGNATURE_FILE="/deleteSignatureFile",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.httpOptionsJson={headers:new p.HttpHeaders({"Content-Type":"application/json"})},t.httpOptionsJsonResponseTypeBlob={headers:new p.HttpHeaders({"Content-Type":"application/json"}),responseType:"blob"},t}(),_=function(){function t(){this.apiEndpoint=C.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)+C.LOAD_CONFIG},t.prototype.getViewerApiEndpoint=function(){return this._apiEndpoint.endsWith(C.VIEWER_APP)?this._apiEndpoint:this._apiEndpoint+C.VIEWER_APP},t.prototype.getEditorApiEndpoint=function(){return this._apiEndpoint.trim().endsWith(C.EDITOR_APP)?this._apiEndpoint:this._apiEndpoint+C.EDITOR_APP},t.prototype.getComparisonApiEndpoint=function(){return this._apiEndpoint.trim().endsWith(C.COMPARISON_APP)?this._apiEndpoint:this._apiEndpoint+C.COMPARISON_APP},t.prototype.getConversionApiEndpoint=function(){return this._apiEndpoint.trim().endsWith(C.CONVERSION_APP)?this._apiEndpoint:this._apiEndpoint+C.CONVERSION_APP},t.prototype.getSignatureApiEndpoint=function(){return this._apiEndpoint.endsWith(C.SIGNATURE_APP)?this._apiEndpoint:this._apiEndpoint+C.SIGNATURE_APP},t.prototype.getAnnotationApiEndpoint=function(){return this._apiEndpoint.endsWith(C.ANNOTATION_APP)?this._apiEndpoint:this._apiEndpoint+C.ANNOTATION_APP},t.decorators=[{type:e.Injectable}],t.ctorParameters=function(){return[]},t}(),P=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}(),I=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}(),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%;transform:translate(-50%,-50%);z-index:1051}.gd-modal-content{background-color:#fff;height:100%;display:flex;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:I},{type:e.ElementRef}]},t.propDecorators={id:[{type:e.Input}],title:[{type:e.Input}],visible:[{type:e.Output}],cancel:[{type:e.Output}]},t}(),O=function(){},k=function(){},F=function(t,e){this.guid=t,this.password=e},z=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}(F),D=function(){this.printAllowed=!0},T=function(){},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}(),j=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}(),L=function(){},R=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}(),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 M.find(t.name,t.directory).format},t.prototype.getFormatIcon=function(t){return M.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:flex;width:90%;padding:18px 0 18px 24px;font-size:14px;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:flex;width:100%;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: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:flex;position:relative;width:100%}.upload-panel .context{display:flex;flex-direction:column;width:100%;margin-left:24px;margin-top:24px;margin-right:24px}.upload-panel .context .context-actions{display:flex;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;justify-content:center}.upload-panel .context .context-actions ::ng-deep .button ::ng-deep .text{font-size:10px}.upload-panel .context .context-panel{display:flex;flex-direction:row;width:100%;margin-top:20px}.upload-panel .context .context-panel .upload-url{display:flex;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:flex;justify-content:center;align-items:center}.dnd-wrapper{display:flex;flex-direction:column;align-items:center;justify-content:center;top:259px;position:absolute}.dnd-wrapper .text{color:#6e6e6e;font-size:14px}.dnd-wrapper .icon{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:R}]},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}(),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}(),$=l,W=function(){function t(t,e,o){var n=this;this._elementRef=t,this._zoomService=e,this._windowService=o,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){n.zoom=t}),this.isDesktop=o.isDesktop()}return t.prototype.ngOnInit=function(){},t.prototype.ngOnChanges=function(){this._elementRef.nativeElement.children.item(0).children.item(0).style.transform=""},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"===M.find(this.file.guid,!1).format},t.prototype.getDimensionWithUnit=function(t){return t+(this.mode?M.find(this.file.guid,!1).unit:"px")},t.prototype.ifEdge=function(){return navigator.userAgent.toLowerCase().indexOf("edge")>-1},t.prototype.ngAfterViewChecked=function(){var t=this._elementRef.nativeElement.querySelectorAll(".gd-wrapper").item(0);t&&$(t).trigger("focus")},t.prototype.absolutePosition=function(t){for(var e=0,o=0;null!==t;)e+=t.offsetLeft,o+=t.offsetTop,t=t.offsetParent;return{x:e,y:o}},t.prototype.restrictRawPos=function(t,e,o){return t0&&(t=0),t},t.prototype.updateLastPos=function(){this.lastX=this.x,this.lastY=this.y},t.prototype.translate=function(t,e){var o=this.restrictRawPos(this.lastX+t/this.scale,Math.min(this.viewportWidth,this.curWidth),this.docWidth);this.x=o,this.container.scrollLeft=-Math.ceil(o*this.scale);var n=this.restrictRawPos(this.lastY+e/this.scale,Math.min(this.viewportHeight,this.curHeight),this.docHeight);this.y=n,this.container.scrollTop=-Math.ceil(n*this.scale),this.doc.style.transform="scale("+this.scale+")"},t.prototype.startZoom=function(t){this.scale=this.lastScale*t,this.curWidth=this.docWidth*this.scale,this.curHeight=this.docHeight*this.scale,this.translate(0,0)},t.prototype.rawCenter=function(t){var e=this.absolutePosition(this.container),o=window.pageXOffset?window.pageXOffset:document.body.scrollLeft,n=window.pageYOffset?window.pageYOffset:document.body.scrollTop;return{x:-this.x+(t.center.x-e.x+o)/this.scale,y:-this.y+(t.center.y-e.y+n)/this.scale}},t.prototype.updateLastScale=function(){this.lastScale=this.scale},t.prototype.zoomAround=function(t,e,o,n){this.startZoom(t);var i=-this.x+Math.min(this.viewportWidth,this.curWidth)/2/this.scale,r=-this.y+Math.min(this.viewportHeight,this.curHeight)/2/this.scale,s=(i-e)*this.scale,a=(r-o)*this.scale;this.translate(s,a),n||(this.updateLastScale(),this.updateLastPos())},t.prototype.onPinch=function(t){if(null===this.pinchCenter){this.pinchCenter=this.rawCenter(t);var e=this.pinchCenter.x*this.scale-(-this.x*this.scale+Math.min(this.viewportWidth,this.curWidth)/2),o=this.pinchCenter.y*this.scale-(-this.y*this.scale+Math.min(this.viewportHeight,this.curHeight)/2);this.pinchCenterOffset={x:e,y:o}}var n=this.scale*t.scale,i={x:(this.pinchCenter.x*n-this.pinchCenterOffset.x)/n,y:(this.pinchCenter.y*n-this.pinchCenterOffset.y)/n};this.zoomAround(t.scale,i.x,i.y,!0)},t.prototype.onPinchEnd=function(t){this.updateLastScale(),this.updateLastPos(),this.pinchCenter=null},t.prototype.onPan=function(t){},t.prototype.onPanEnd=function(t){},t.prototype.onDoubleTap=function(t){if(!this.isDesktop&&2===t.tapCount){var e=this.rawCenter(t);this.zoomAround(2,e.x,e.y,!1)}},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{flex:1;transition:.4s;background-color:#e7e7e7;height:100%;overflow:scroll}.page{display:inline-block;background-color:#fff;margin:20px;box-shadow:0 3px 6px rgba(0,0,0,.16);transition:.3s}.page.excel{overflow:auto}.wait{position:absolute;top:55px;left:Calc(30%)}.panzoom{display:flex;flex-direction:row;flex-wrap:wrap;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:b}]},t.propDecorators={mode:[{type:e.Input}],preloadPageCount:[{type:e.Input}],file:[{type:e.Input}]},t}(),q=function(){function t(){}return t.prototype.ngOnInit=function(){/*@cc_on!@*/!!/(MSIE|Trident\/|Edge\/)/i.test(navigator.userAgent)&&0===this.number&&(this.editable=!1)},t.prototype.ngOnChanges=function(t){this.data=null!==this.data?this.data.replace(/>\s+<").replace(/\uFEFF/g,""):null;this.imgData="data:image/png;base64,",this.isHtml||(this.imgData+=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%}/deep/ .gd-highlight{background-color:#ff0}/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}(),V=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}(),G=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}(),X=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}(),Z=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}(),Y=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:flex;align-content:center;flex-direction:column;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:R}]},t.propDecorators={closeUpload:[{type:e.Output}]},t}(),J=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:R}]},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}(),K=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}(),Q=function(){function t(t){var e=this;this._pagePreloadService=t,this._currentPage=0,this._countPages=0,this._navigate=new n.Observable(function(t){return e._observer=t})}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:K}]},t.ngInjectableDef=e.ɵɵdefineInjectable({factory:function(){return new t(e.ɵɵinject(K))},token:t,providedIn:"root"}),t}(),tt=l,et=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=tt(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=tt(t).outerHeight()*l,u=tt(t).outerWidth()*l;if(!u||!d)return!1;var g=tt(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)),v=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*v>=.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}(),ot=l,nt=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.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&&ot(n).offset().top===ot(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),e=Math.floor((this.getWidth()-150)/(t.getBoundingClientRect().width*this.getZoom()));return 0===e?1:e},t.prototype.refresh=function(){var t,e=!1,o=this.getPage(this.currentPage),n=this.currentPage&&o?o.getBoundingClientRect():null;for(t=1;to&&(o=t.width)}),this.minWidth=o+M.find(this.file.guid,!1).unit}},t.prototype.getScrollWidth=function(t){return t.offsetWidth-t.clientWidth},t.prototype.resizePages=function(t){var e=100===t?1:t/100,o=this.el.nativeElement.parentElement.offsetWidth,n=this.getScrollWidth(this.el.nativeElement.parentElement);this.width=o/e-n/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:b},{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"]}],minWidth:[{type:e.HostBinding,args:["style.min-width"]}]},t}(),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}(),st=function(){function t(t){var o=this;this._onCloseService=t,this.disabled=!1,this.selected=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)},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',styles:[".select{min-width:50px;display:flex;flex-direction:row;justify-content: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}],isOpen:[{type:e.Input}]},t}(),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}(),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}(),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:flex;flex-direction:column;justify-content:center;align-items:center;width:100%;height:100%}.icon{font-size:65px;margin-bottom:43px;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:flex;flex-direction:column;width:250px;height:250px;align-items: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}(),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}(),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,i,r="";if(this.htmlMode)try{for(var s=m(t),a=s.next();!a.done;a=s.next()){r+='
'+l.data+"
"}}catch(t){e={error:t}}finally{try{a&&!a.done&&(o=s.return)&&o.call(s)}finally{if(e)throw e.error}}else try{for(var c=m(t),p=c.next();!p.done;p=c.next()){var l;r+='
'}}catch(t){n={error:t}}finally{try{p&&!p.done&&(i=c.return)&&i.call(c)}finally{if(n)throw n.error}}this.openWindow(r,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(),s.focus(),s.print(),s.close()},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}(),ut=function(){function t(){this._observer=new n.BehaviorSubject("Server is not available"),this._messageChange=this._observer.asObservable()}return Object.defineProperty(t.prototype,"messageChange",{get:function(){return this._messageChange},enumerable:!0,configurable:!0}),t.prototype.changeMessage=function(t){this._observer.next(t)},t}(),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:inline-flex;flex-direction:column;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:flex}#gd-error-section fa-icon{flex:1;color:#e04e4e;font-size:40px;margin:13px 23px 90px;text-align:center;max-width:46px}"]}]}],t.ctorParameters=function(){return[{type:ut}]},t}(),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}(),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:468px;height:164px}.gd-password-wrap{display:flex;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;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}(),vt=function(){function t(t,e){this._modalService=t,this._messageService=e}return t.prototype.intercept=function(t,e){var o=this,r="background: maroon; color: white";return e.handle(t).pipe(i.map(function(t){return t}),i.catchError(function(t){if(t instanceof p.HttpErrorResponse)switch(t.status){case A.BadRequest:console.error("%c Bad Request 400",r);break;case A.Unauthorized:console.error("%c Unauthorized 401",r);break;case A.NotFound:console.error("%c Not Found 404",r);break;case A.TimeOut:console.error("%c TimeOut 408",r);break;case A.InternalServerError:console.error("%c big bad 500",r),o._messageService.changeMessage(t.error.message),o._modalService.open(P.ErrorMessage);break;case A.Forbidden:console.error("%c Forbidden 403",r),o._messageService.changeMessage(t.error.message),o._modalService.open(P.PasswordRequired)}return n.throwError(t)}))},t.decorators=[{type:e.Injectable,args:[{providedIn:"root"}]}],t.ctorParameters=function(){return[{type:I},{type:ut}]},t.ngInjectableDef=e.ɵɵdefineInjectable({factory:function(){return new t(e.ɵɵinject(I),e.ɵɵinject(ut))},token:t,providedIn:"root"}),t}(),yt=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}(),bt=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;transform:translate(-50%,0);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:yt}]},t.propDecorators={hidePanel:[{type:e.Output}],textElement:[{type:e.ViewChild,args:["text",{static:!0}]}]},t}(),xt=l,wt=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){xt(t).removeClass("gd-highlight-select")});var e=t.querySelectorAll(".gd-highlight")[this.current-1];if(xt(e).addClass("gd-highlight-select"),e){var o={left:0,top:xt(e).offset().top+t.parentElement.parentElement.scrollTop-150};t.parentElement.parentElement.scroll(o)}}}},t.prototype.highlightEl=function(t){var e=xt(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=xt(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: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}(),_t=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}(),Pt=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:flex}.gd-tab{text-align:center;font-size:11px;color:#e5e5e5;height:30px;line-height:30px;cursor:pointer;display:flex;align-items:center;justify-content:center}.gd-tab .icon{display:none;font-size:14px;margin:auto 23px}.gd-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}.gd-tab .title{display:none}.gd-tab .icon{display:block}}"]}]}],t.ctorParameters=function(){return[{type:_t}]},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}(),It=function(){function t(){}return t.decorators=[{type:e.Component,args:[{selector:"gd-tabs",template:'
\r\n \r\n
\r\n',styles:[".gd-tabs{display:flex}"]}]}],t.ctorParameters=function(){return[]},t}(),Et=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}(),Ot=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}(),kt=["#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"],Ft=function(){function t(){this.isOpen=!1,this.selectedColor=new e.EventEmitter,this.closeOutside=new e.EventEmitter,this.colors=kt,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:flex;flex-wrap:wrap;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}(),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}(Ot),Dt=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}(),Tt=l,At=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=/*@cc_on!@*/!!/(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=Tt(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"),Tt(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:Ot},{type:zt},{type:Dt}]},t.propDecorators={mouseup:[{type:e.HostListener,args:["mouseup"]}]},t}(),jt=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:flex;overflow:hidden;width:469px;height:183px}.sa-icon.sa-success{border-color:#4caf50;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;transform:rotate(-45deg);transform-origin:60px 60px}.sa-icon.sa-success::after{border-radius:0 120px 120px 0;top:-11px;left:30px;transform:rotate(-45deg);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;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;transform:rotate(45deg)}.sa-icon.sa-success .sa-line.sa-long{width:47px;right:8px;top:38px;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;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}(),Lt=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:Dt},{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}(),Rt=function(){function t(){this.onLoadingChanged=new e.EventEmitter,this.stopList=[],this.requests=[],this.stopList.push(C.SAVE_TEXT),this.stopList.push(C.SAVE_OPTICAL_CODE)}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.notify=function(){this.onLoadingChanged.emit(0!==this.requests.length)},t.decorators=[{type:e.Injectable}],t.ctorParameters=function(){return[]},t}(),Ut=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%;transform:translate(-50%,-50%)}"]}]}],t.ctorParameters=function(){return[{type:Rt}]},t.propDecorators={loadingMask:[{type:e.Input}]},t}(),Ht=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}(),Nt={center:{right:"auto"},left:{right:"100%"},right:{right:"-100%"}},Bt={center:{top:"0px"},top:{top:"-100%",right:"100%"},bottom:{top:"autos"}},$t=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:flex;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:flex;flex-direction:row;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}(),Wt=function(){function t(t){this.dropdown=t}return Object.defineProperty(t.prototype,"horizontalAlign",{get:function(){return Nt[this.dropdown.getPlacement().h].right},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"verticalAlign",{get:function(){return Bt[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:flex;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:flex;flex-direction:row;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}(),qt=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:flex;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:flex;flex-direction:row;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}(),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:flex;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:flex;flex-direction:row;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}(),Gt=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;transition:transform .3s ease-out;width:100%;height:100%;display:flex;justify-content: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}(),Xt=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}(),Zt=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}(),Yt=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}(),Jt=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:Yt}]},t.propDecorators={ident:[{type:e.Input}]},t}(),Kt=l,Qt=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=Kt(this.getElementId(this.SE)),o=Kt(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=j.getMousePosition(t)},t.prototype.resize=function(t,e){if(this.grab){var o=j.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}(),te=function(t){function e(){return t.call(this)||this}return f(e,t),e}(_t),ee=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(P.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:flex;flex-direction:column;align-items:center;align-content: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:flex;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:te},{type:I},{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}(),oe=l,ne=function(){function t(t){var o=this;this._onCloseService=t,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=Ot.getFontSizeOptions(),this.fontOptions=Ot.getFontOptions(),this.colorPickerShow=!1,t.onClose.subscribe(function(){o.colorPickerShow=!1})}return t.prototype.ngOnInit=function(){},t.prototype.selectFontSize=function(t){oe(".gd-wrapper").off("keyup"),this.outFontSize.emit(t.value),oe(".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:flex;flex-direction:row}.gd-text-menu .format-select{height:37px;display:flex;justify-content: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;bottom:0;left:0;right:0;width:100%;height:60px;align-items:center;padding:0;margin:0;background-color:#fff;border-top:2px solid #707070}.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:-200px}.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 .button{margin:3px!important}}"]}]}],t.ctorParameters=function(){return[{type:rt}]},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}(),ie=function(){function t(){}return t.FOR_SIGNATURE="signature",t.FOR_ANNOTATION="annotation",t}(),re=function(){function t(t){var o=this;this._windowService=t,this.formatting=Et.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){o.isMobile=t.isMobile()})}return t.prototype.ngOnInit=function(){},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===ie.FOR_SIGNATURE},t.prototype.isAnnotation=function(){return this.menuType===ie.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:flex;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:-34px}}"]}]}],t.ctorParameters=function(){return[{type:b}]},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}(),se=[_,C,I,L,T,M,j,V,G,X,Z,R,lt,Q,K,B,ut,ht,vt,yt,b,et,Ot,zt,rt,Ht,Rt,_t,Zt,Yt,te],ae=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:[v,y,x,w,S,E,N,W,q,V,G,X,Z,Y,J,nt,it,st,at,ct,pt,dt,gt,mt,bt,wt,St,Ct,Pt,It,Ft,At,jt,Lt,Ut,Vt,qt,Wt,$t,Gt,Xt,Jt,Qt,ee,ne,re],exports:[v,y,x,w,S,E,N,W,q,G,X,Z,V,Y,nt,st,ct,pt,dt,gt,mt,bt,wt,St,Ct,Pt,It,Ft,At,jt,Ut,J,Vt,qt,Wt,$t,it,$t,Gt,Xt,Jt,Qt,ee,ne,re],providers:se}]}],t.ctorParameters=function(){return[]},t}();t.AddDynamicComponentService=Zt,t.Api=C,t.BackFormattingService=zt,t.BrowseFilesModalComponent=N,t.ButtonComponent=x,t.ColorPickerComponent=Ft,t.CommonComponentsModule=ae,t.CommonModals=P,t.ConfigService=_,t.ContextMenuComponent=re,t.DisabledCursorDirective=at,t.DndDirective=J,t.DocumentComponent=W,t.DropDownComponent=Vt,t.DropDownItemComponent=qt,t.DropDownItemsComponent=Wt,t.DropDownToggleComponent=$t,t.EditHtmlService=Mt,t.EditorDirective=Lt,t.ErrorInterceptorService=vt,t.ErrorModalComponent=gt,t.ExceptionMessageService=ut,t.FileCredentials=F,t.FileDescription=D,t.FileModel=T,t.FileService=L,t.FileUtil=M,t.Formatting=Et,t.FormattingDirective=At,t.FormattingService=Ot,t.HighlightSearchPipe=Z,t.HostDynamicDirective=Jt,t.HostingDynamicComponentService=Yt,t.HttpError=A,t.InitStateComponent=pt,t.LeftSideBarComponent=Gt,t.LoadingMaskComponent=Ut,t.LoadingMaskInterceptorService=Ht,t.LoadingMaskService=Rt,t.LogoComponent=w,t.MenuType=ie,t.ModalComponent=E,t.ModalService=I,t.NavigateService=Q,t.OnCloseService=rt,t.PageComponent=q,t.PageModel=O,t.PagePreloadService=K,t.PasswordRequiredComponent=mt,t.PasswordService=ht,t.RenderPrintDirective=dt,t.RenderPrintService=lt,t.RotatedPage=k,t.RotationDirective=ct,t.SanitizeHtmlPipe=V,t.SanitizeResourceHtmlPipe=G,t.SanitizeStylePipe=X,t.SaveFile=z,t.ScrollableDirective=nt,t.SearchComponent=bt,t.SearchService=yt,t.SearchableDirective=wt,t.SelectComponent=st,t.SelectionService=Dt,t.SidePanelComponent=y,t.SuccessModalComponent=jt,t.TabActivatorService=_t,t.TabComponent=Pt,t.TabbedToolbarsComponent=Ct,t.TextMenuComponent=ne,t.TooltipComponent=S,t.TopTabActivatorService=te,t.TopToolbarComponent=v,t.UploadFileZoneComponent=Y,t.UploadFilesService=R,t.Utils=j,t.ViewportService=et,t.WindowService=b,t.ZoomDirective=it,t.ZoomService=B,t.ɵa=St,t.ɵb=It,t.ɵc=Xt,t.ɵd=Qt,t.ɵe=ee,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 2a34c0f93..277ea5373 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/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/page-preload.service.ts","ng://@groupdocs.examples.angular/common-components/lib/navigate.service.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/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/editheaderfooter.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","hideSidePanel","EventEmitter","onlyTitle","openSidePanel","emit","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","EDITOR_APP","COMPARISON_APP","CONVERSION_APP","DEFAULT_API_ENDPOINT","location","href","LOAD_FILE_TREE","LOAD_CONFIG","LOAD_DOCUMENT_DESCRIPTION","LOAD_DOCUMENT_PAGE","ROTATE_DOCUMENT_PAGE","UPLOAD_DOCUMENTS","DOWNLOAD_DOCUMENTS","LOAD_PRINT","LOAD_PRINT_PDF","LOAD_THUMBNAILS","LOAD_FORMATS","SAVE_FILE","COMPARE_FILES","CONVERT_FILE","DELETE_SIGNATURE_FILE","SAVE_OPTICAL_CODE","SAVE_TEXT","SAVE_IMAGE","SAVE_STAMP","SIGN","DOWNLOAD_SIGNED","LOAD_SIGNATURE_IMAGE","ANNOTATE","httpOptionsJson","headers","HttpHeaders","Content-Type","httpOptionsJsonResponseTypeBlob","responseType","ConfigService","apiEndpoint","_apiEndpoint","url","trim","endsWith","substring","getConfigEndpoint","app","getViewerApiEndpoint","getEditorApiEndpoint","getComparisonApiEndpoint","getConversionApiEndpoint","getSignatureApiEndpoint","getAnnotationApiEndpoint","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","guid","password","SaveFile","content","_super","tslib_1.__extends","FileCredentials","printAllowed","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","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","DocumentComponent","_elementRef","_zoomService","_windowService","wait","docWidth","docHeight","viewportWidth","viewportHeight","scale","lastScale","container","lastX","lastY","pinchCenter","pinchCenterOffset","curWidth","curHeight","zoomChange","ngOnChanges","children","item","style","transform","ngAfterViewInit","clientWidth","clientHeight","offsetWidth","offsetHeight","Hammer","ifExcel","getDimensionWithUnit","mode","ifEdge","ngAfterViewChecked","querySelectorAll","absolutePosition","offsetLeft","offsetTop","offsetParent","restrictRawPos","pos","viewportDim","docDim","updateLastPos","translate","deltaX","deltaY","newX","min","ceil","newY","startZoom","scaleBy","rawCenter","pageXOffset","pageYOffset","center","updateLastScale","zoomAround","rawZoomX","rawZoomY","doNotUpdateLast","rawCenterX","rawCenterY","onPinch","offsetX","offsetY","newScale","zoomCenter","onPinchEnd","onPan","onPanEnd","onDoubleTap","tapCount","PageComponent","test","number","editable","changes","data","imgData","isHtml","SanitizeHtmlPipe","sanitizer","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","PagePreloadService","_checkPreload","changeLastPageInView","page","NavigateService","_pagePreloadService","_currentPage","_countPages","_navigate","nextPage","navigateTo","prevPage","toLastPage","toFirstPage","currentPage","providedIn","ViewportService","checkInViewport","leftOffset","win","viewport","isNaN","zoomN","outerHeight","outerWidth","bounds","offset","right","left","bottom","top","deltas","parseFloat","toFixed","ScrollableDirective","_navigateService","_viewportService","navigate","scrollToPage","scrolling","resizing","pageNumber","getPage","prev","isSameTop","options","calculateOffset","scroll","getChildren","count","countPagesOnWidth","margin","pagesHeight","getZoom","pageEl","floor","getBoundingClientRect","currentPageSet","pageElem","currentPageRect","ZoomDirective","zoomActive","setStyles","resizePages","zoomInt","transformOrigin","maxWidth","pages","forEach","minWidth","getScrollWidth","elm","viewPortWidth","parentElement","scrollWidth","OnCloseService","_onClose","SelectComponent","_onCloseService","selected","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","htmlMode","pages_1","tslib_1.__values","pages_1_1","pages_2","pages_2_1","openWindow","imageA4Adjusted","cssPrint","windowObject","focus","writeln","print","fileURL","URL","createObjectURL","ExceptionMessageService","BehaviorSubject","_messageChange","changeMessage","message","ErrorModalComponent","messageService","messageChange","PasswordService","_passChange","setPassword","pass","PasswordRequiredComponent","_passwordService","cancelEvent","onCloseOpen","setTimeout","ErrorInterceptorService","_modalService","_messageService","intercept","req","logFormat","handle","catchError","exception","HttpErrorResponse","status","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","removeClass","currentEl","addClass","textNodes","contents","nodeName","checkClass","classList","contains","nodeType","textContent","highlight","each","$this","replaceWith","normalize","nodeListOf","innerText","EditHeaderFooterDirective","footerRef","setAttribute","dblclickEvent","footerTitle","createElement","append","footer","closest","log","before","clickEvent","section","removeChild","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","LoadingMaskComponent","_loadingMaskService","loadingMask","loading","LoadingMaskInterceptorService","finalize","horizontalAlignment","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","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","decoration","showTooltips","outFontSize","outFont","outBold","outItalic","outUnderline","outColor","fontSizeOptions","colorPickerShow","selectFontSize","off","on","fontElements","getElementsByTagName","getAttribute","removeAttribute","selectFont","toggleColorPicker","selectColor","closePicker","MenuType","FOR_SIGNATURE","FOR_ANNOTATION","ContextMenuComponent","formatting","lock","translation","changeFormatting","removeItem","copySign","lockOut","comment","saveChanges","deleteItem","toggleLock","onCopySign","isSignature","menuType","isAnnotation","addComment","providers","FileService","FileModel","CommonComponentsModule","library","fas","far","NgModule","imports","CommonModule","FontAwesomeModule","ClickOutsideModule","declarations","exports"],"mappings":"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A,aAAcC,EAAAA,kBAAmBC,EAAAA,oBAC3CC,aAAc,CACZ18B,EACAK,EACAyC,EACAmB,EACAE,EACA+E,EACAuK,EACAuC,EACA2E,EACAQ,EACAK,EACAE,EACAE,EACAE,EACAG,EACAmD,GACA0B,GACAiB,GACAM,GACAI,GACAO,GACAQ,GACA0B,GACAO,GACA6B,GACAQ,GACA0B,GACAc,GACAK,GACAK,GACAwD,GACAqB,GACAgD,GACAG,GACAgB,GACAgB,GACAK,GACAJ,GACAT,GACAiB,GACAC,GACAoB,GACAI,GACA8B,GACAI,GACAyB,IAEF8B,QAAS,CACP38B,EACAK,EACAyC,EACAmB,EACAE,EACA+E,EACAuK,EACAuC,EACA2E,EACAa,EACAE,EACAE,EACAT,EACAW,EACAsD,GACA2C,GACAU,GACAO,GACAQ,GACA0B,GACAO,GACA6B,GACAQ,GACA0B,GACAc,GACAK,GACAK,GACAwD,GACAqB,GACAgD,GACAmB,GACA/X,EACA+Y,GACAK,GACAJ,GACAT,GACA1T,GACA0T,GACAiB,GACAC,GACAoB,GACAI,GACA8B,GACAI,GACAyB,IAEFiB,UAAWA,6CAMbG,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 @Output() hideSidePanel = new EventEmitter();\r\n\r\n onlyTitle = false;\r\n\r\n constructor() {\r\n }\r\n\r\n openSidePanel() {\r\n this.hideSidePanel.emit(true);\r\n }\r\n\r\n toggleTitleMode(){\r\n this.onlyTitle = !this.onlyTitle;\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 EDITOR_APP = '/editor';\r\n public static COMPARISON_APP = '/comparison';\r\n public static CONVERSION_APP = '/conversion';\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 ROTATE_DOCUMENT_PAGE = '/rotateDocumentPages';\r\n public static UPLOAD_DOCUMENTS = '/uploadDocument';\r\n public static DOWNLOAD_DOCUMENTS = '/downloadDocument';\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 COMPARE_FILES = '/compare';\r\n public static CONVERT_FILE = '/convert';\r\n public static DELETE_SIGNATURE_FILE = '/deleteSignatureFile';\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\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 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","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}\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 {\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\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 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\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\r\n ngOnInit() {\r\n }\r\n\r\n ngOnChanges() {\r\n const panzoom = this._elementRef.nativeElement.children.item(0).children.item(0);\r\n (panzoom as any).style.transform = '';\r\n // TODO: this intersects with zooming by zoom directive, but still needed\r\n // for flush previous settings before opening another file\r\n //this._zoomService.changeZoom(100);\r\n //this.scale = 1;\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 getDimensionWithUnit(value: number) {\r\n return 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 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 absolutePosition(el) {\r\n let x = 0, y = 0;\r\n\r\n while (el !== null) {\r\n x += el.offsetLeft;\r\n y += el.offsetTop;\r\n el = el.offsetParent;\r\n }\r\n\r\n return {x: x, y: y};\r\n };\r\n\r\n restrictRawPos(pos, viewportDim, docDim) {\r\n if (pos < viewportDim / this.scale - docDim) { // too far left/up?\r\n pos = viewportDim / this.scale - docDim;\r\n } else if (pos > 0) { // too far right/down?\r\n pos = 0;\r\n }\r\n return pos;\r\n };\r\n\r\n updateLastPos() {\r\n this.lastX = this.x;\r\n this.lastY = this.y;\r\n };\r\n\r\n translate(deltaX, deltaY) {\r\n // We restrict to the min of the viewport width/height or current width/height as the\r\n // current width/height may be smaller than the viewport width/height\r\n const newX = this.restrictRawPos(this.lastX + deltaX / this.scale,\r\n Math.min(this.viewportWidth, this.curWidth), this.docWidth);\r\n this.x = newX;\r\n // TODO: value here and in the similar line below changes to positive to take any effect\r\n this.container.scrollLeft = -Math.ceil(newX * this.scale);\r\n\r\n const newY = this.restrictRawPos(this.lastY + deltaY / this.scale,\r\n Math.min(this.viewportHeight, this.curHeight), this.docHeight);\r\n this.y = newY;\r\n this.container.scrollTop = -Math.ceil(newY * this.scale);\r\n\r\n this.doc.style.transform = 'scale(' + this.scale + ')';\r\n };\r\n\r\n startZoom(scaleBy) {\r\n this.scale = this.lastScale * scaleBy;\r\n\r\n this.curWidth = this.docWidth * this.scale;\r\n this.curHeight = this.docHeight * this.scale;\r\n\r\n // Adjust margins to make sure that we aren't out of bounds\r\n this.translate(0, 0);\r\n };\r\n\r\n rawCenter($event) {\r\n const pos = this.absolutePosition(this.container);\r\n\r\n // We need to account for the scroll position\r\n const scrollLeft = window.pageXOffset ? window.pageXOffset : document.body.scrollLeft;\r\n const scrollTop = window.pageYOffset ? window.pageYOffset : document.body.scrollTop;\r\n\r\n const zoomX = -this.x + ($event.center.x - pos.x + scrollLeft) / this.scale;\r\n const zoomY = -this.y + ($event.center.y - pos.y + scrollTop) / this.scale;\r\n\r\n return {x: zoomX, y: zoomY};\r\n };\r\n\r\n updateLastScale() {\r\n this.lastScale = this.scale;\r\n };\r\n\r\n zoomAround(scaleBy, rawZoomX, rawZoomY, doNotUpdateLast) {\r\n // Zoom\r\n this.startZoom(scaleBy);\r\n\r\n // New raw center of viewport\r\n const rawCenterX = -this.x + Math.min(this.viewportWidth, this.curWidth) / 2 / this.scale;\r\n const rawCenterY = -this.y + Math.min(this.viewportHeight, this.curHeight) / 2 / this.scale;\r\n\r\n // Delta\r\n const deltaX = (rawCenterX - rawZoomX) * this.scale;\r\n const deltaY = (rawCenterY - rawZoomY) * this.scale;\r\n\r\n // Translate back to zoom center\r\n this.translate(deltaX, deltaY);\r\n\r\n if (!doNotUpdateLast) {\r\n this.updateLastScale();\r\n this.updateLastPos();\r\n }\r\n };\r\n\r\n onPinch($event) {\r\n if (this.pinchCenter === null) {\r\n this.pinchCenter = this.rawCenter($event);\r\n const offsetX = this.pinchCenter.x * this.scale - (-this.x * this.scale + Math.min(this.viewportWidth, this.curWidth) / 2);\r\n const offsetY = this.pinchCenter.y * this.scale - (-this.y * this.scale + Math.min(this.viewportHeight, this.curHeight) / 2);\r\n this.pinchCenterOffset = {x: offsetX, y: offsetY};\r\n }\r\n\r\n const newScale = this.scale * $event.scale;\r\n\r\n const zoomX = this.pinchCenter.x * newScale - this.pinchCenterOffset.x;\r\n const zoomY = this.pinchCenter.y * newScale - this.pinchCenterOffset.y;\r\n const zoomCenter = {x: zoomX / newScale, y: zoomY / newScale};\r\n\r\n this.zoomAround($event.scale, zoomCenter.x, zoomCenter.y, true);\r\n }\r\n\r\n onPinchEnd($event) {\r\n this.updateLastScale();\r\n this.updateLastPos();\r\n this.pinchCenter = null;\r\n }\r\n\r\n onPan($event) {\r\n // TODO: looks like native pan works better\r\n // if (!this.isDesktop) {\r\n // this.translate($event.deltaX, $event.deltaY);\r\n // }\r\n }\r\n\r\n onPanEnd($event) {\r\n // if (!this.isDesktop) {\r\n // this.updateLastPos();\r\n // }\r\n }\r\n\r\n onDoubleTap($event) {\r\n if (!this.isDesktop) {\r\n if ($event.tapCount === 2) {\r\n const c = this.rawCenter($event);\r\n this.zoomAround(2, c.x, c.y, false);\r\n }\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 // 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 !== null ? this.data.replace(/>\\s+<').replace(/\\uFEFF/g,\"\") : null;\r\n const dataImagePngBase64 = 'data:image/png;base64,';\r\n this.imgData = dataImagePngBase64;\r\n if (!this.isHtml) {\r\n this.imgData += 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 {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 {Observable, Observer} 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 readonly _navigate: Observable;\r\n private _observer: Observer;\r\n\r\n constructor(private _pagePreloadService: PagePreloadService) {\r\n this._navigate = new Observable(observer =>\r\n this._observer = observer);\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 {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\r\n private currentPage: number;\r\n private zoom = 100;\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 const count = Math.floor((this.getWidth() - offset) / (pageEl.getBoundingClientRect().width * this.getZoom()));\r\n return count === 0 ? 1 : count;\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 this._navigateService.currentPage = page;\r\n }\r\n currentPageSet = true;\r\n }\r\n this._pagePreloadService.changeLastPageInView(page);\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 {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.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 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 scrollWidth = this.getScrollWidth(this.el.nativeElement.parentElement);\r\n this.width = (viewPortWidth/zoomInt - scrollWidth/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 @Input() isOpen = false;\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 }\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 if (this.htmlMode) {\r\n for (const page of pages) {\r\n pagesHtml += '
' +\r\n '
' + page.data + '
' +\r\n '
';\r\n }\r\n } else {\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 windowObject.focus();\r\n windowObject.print();\r\n windowObject.close();\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 {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 constructor() {\r\n }\r\n\r\n get messageChange(): Observable {\r\n return this._messageChange;\r\n }\r\n\r\n changeMessage(message: string) {\r\n this._observer.next(message);\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 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._modalService.open(CommonModals.ErrorMessage);\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 {AfterViewInit, Directive, HostBinding, Input, OnDestroy, OnInit, ElementRef, OnChanges, HostListener} 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: '[gdEditHeaderFooter]'\r\n})\r\nexport class EditHeaderFooterDirective implements OnInit, OnDestroy, AfterViewInit, OnChanges {\r\n\r\n el: ElementRef;\r\n footerRef: any;\r\n\r\n constructor(private _zoomService: ZoomService, private _windowService: WindowService, el: ElementRef) {\r\n this.el = el;\r\n }\r\n\r\n ngAfterViewInit(): void {\r\n this.footerRef = this.el.nativeElement.querySelectorAll('.footer')[0];\r\n this.footerRef.setAttribute(\"contenteditable\", false);\r\n this.footerRef.className += \" disabled\";\r\n }\r\n\r\n ngOnDestroy(): void {\r\n }\r\n\r\n ngOnChanges(): void {\r\n }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n @HostListener('dblclick', ['$event'])\r\n dblclickEvent(event) {\r\n const footerTitle = document.createElement(\"div\");\r\n footerTitle.className = \"footer-title\";\r\n footerTitle.append('Footer');\r\n\r\n const footer = event.target.closest('.footer');\r\n if (footer && footer.classList.contains('disabled')) {\r\n console.log('dblclick in footer fired');\r\n footer.classList.remove('disabled');\r\n footer.setAttribute(\"contenteditable\", true);\r\n footer.before(footerTitle);\r\n }\r\n\r\n event.preventDefault();\r\n event.stopPropagation();\r\n }\r\n\r\n @HostListener('click', ['$event'])\r\n clickEvent(event) {\r\n console.log('click on el fired');\r\n const footer = event.target.closest('.footer');\r\n if (!footer) {\r\n this.footerRef.setAttribute(\"contenteditable\", false);\r\n if (!this.footerRef.classList.contains('disabled'))\r\n {\r\n this.footerRef.className += \" disabled\";\r\n }\r\n\r\n const section = this.el.nativeElement.querySelectorAll('.section')[0];\r\n const footerTitle = this.el.nativeElement.querySelectorAll('.footer-title')[0];\r\n if (section && footerTitle) {\r\n section.removeChild(footerTitle);\r\n }\r\n }\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 }\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 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} 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\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\r\n constructor(private _onCloseService: OnCloseService) {\r\n _onCloseService.onClose.subscribe(() => {\r\n this.colorPickerShow = false;\r\n });\r\n }\r\n\r\n ngOnInit() {\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} from '@angular/core';\r\nimport {Formatting} from \"../formatting.service\";\r\nimport {WindowService} from \"../window.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 this.isMobile = _windowService.isMobile();\r\n _windowService.onResize.subscribe((w) => {\r\n this.isMobile = _windowService.isMobile();\r\n });\r\n }\r\n\r\n ngOnInit() {\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 {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 {EditHeaderFooterDirective} from './editheaderfooter.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 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 EditHeaderFooterDirective,\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 SelectComponent,\r\n RotationDirective,\r\n InitStateComponent,\r\n RenderPrintDirective,\r\n ErrorModalComponent,\r\n PasswordRequiredComponent,\r\n SearchComponent,\r\n SearchableDirective,\r\n EditHeaderFooterDirective,\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 +{"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/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/page-preload.service.ts","ng://@groupdocs.examples.angular/common-components/lib/navigate.service.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/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/editheaderfooter.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","hideSidePanel","EventEmitter","onlyTitle","openSidePanel","emit","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","EDITOR_APP","COMPARISON_APP","CONVERSION_APP","DEFAULT_API_ENDPOINT","location","href","LOAD_FILE_TREE","LOAD_CONFIG","LOAD_DOCUMENT_DESCRIPTION","LOAD_DOCUMENT_PAGE","ROTATE_DOCUMENT_PAGE","UPLOAD_DOCUMENTS","DOWNLOAD_DOCUMENTS","LOAD_PRINT","LOAD_PRINT_PDF","LOAD_THUMBNAILS","LOAD_FORMATS","SAVE_FILE","COMPARE_FILES","CONVERT_FILE","DELETE_SIGNATURE_FILE","SAVE_OPTICAL_CODE","SAVE_TEXT","SAVE_IMAGE","SAVE_STAMP","SIGN","DOWNLOAD_SIGNED","LOAD_SIGNATURE_IMAGE","ANNOTATE","httpOptionsJson","headers","HttpHeaders","Content-Type","httpOptionsJsonResponseTypeBlob","responseType","ConfigService","apiEndpoint","_apiEndpoint","url","trim","endsWith","substring","getConfigEndpoint","app","getViewerApiEndpoint","getEditorApiEndpoint","getComparisonApiEndpoint","getConversionApiEndpoint","getSignatureApiEndpoint","getAnnotationApiEndpoint","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","guid","password","SaveFile","content","_super","tslib_1.__extends","FileCredentials","printAllowed","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","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","DocumentComponent","_elementRef","_zoomService","_windowService","wait","docWidth","docHeight","viewportWidth","viewportHeight","scale","lastScale","container","lastX","lastY","pinchCenter","pinchCenterOffset","curWidth","curHeight","zoomChange","ngOnChanges","children","item","style","transform","ngAfterViewInit","clientWidth","clientHeight","offsetWidth","offsetHeight","Hammer","ifExcel","getDimensionWithUnit","mode","ifEdge","ngAfterViewChecked","querySelectorAll","absolutePosition","offsetLeft","offsetTop","offsetParent","restrictRawPos","pos","viewportDim","docDim","updateLastPos","translate","deltaX","deltaY","newX","min","ceil","newY","startZoom","scaleBy","rawCenter","pageXOffset","pageYOffset","center","updateLastScale","zoomAround","rawZoomX","rawZoomY","doNotUpdateLast","rawCenterX","rawCenterY","onPinch","offsetX","offsetY","newScale","zoomCenter","onPinchEnd","onPan","onPanEnd","onDoubleTap","tapCount","PageComponent","test","number","editable","changes","data","imgData","isHtml","SanitizeHtmlPipe","sanitizer","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","PagePreloadService","_checkPreload","changeLastPageInView","page","NavigateService","_pagePreloadService","_currentPage","_countPages","_navigate","nextPage","navigateTo","prevPage","toLastPage","toFirstPage","currentPage","providedIn","ViewportService","checkInViewport","leftOffset","win","viewport","isNaN","zoomN","outerHeight","outerWidth","bounds","offset","right","left","bottom","top","deltas","parseFloat","toFixed","ScrollableDirective","_navigateService","_viewportService","navigate","scrollToPage","scrolling","resizing","pageNumber","getPage","prev","isSameTop","options","calculateOffset","scroll","getChildren","count","countPagesOnWidth","margin","pagesHeight","getZoom","pageEl","floor","getBoundingClientRect","currentPageSet","pageElem","currentPageRect","ZoomDirective","zoomActive","setStyles","resizePages","zoomInt","transformOrigin","maxWidth","pages","forEach","minWidth","getScrollWidth","elm","viewPortWidth","parentElement","scrollWidth","OnCloseService","_onClose","SelectComponent","_onCloseService","selected","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","htmlMode","pages_1","tslib_1.__values","pages_1_1","pages_2","pages_2_1","openWindow","imageA4Adjusted","cssPrint","windowObject","focus","writeln","print","fileURL","URL","createObjectURL","ExceptionMessageService","BehaviorSubject","_messageChange","changeMessage","message","ErrorModalComponent","messageService","messageChange","PasswordService","_passChange","setPassword","pass","PasswordRequiredComponent","_passwordService","cancelEvent","onCloseOpen","setTimeout","ErrorInterceptorService","_modalService","_messageService","intercept","req","logFormat","handle","catchError","exception","HttpErrorResponse","status","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","removeClass","currentEl","addClass","textNodes","contents","nodeName","checkClass","classList","contains","nodeType","textContent","highlight","each","$this","replaceWith","normalize","nodeListOf","innerText","EditHeaderFooterDirective","footerRef","setAttribute","dblclickEvent","footerTitle","createElement","append","footer","closest","before","clickEvent","section","removeChild","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","LoadingMaskComponent","_loadingMaskService","loadingMask","loading","LoadingMaskInterceptorService","finalize","horizontalAlignment","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","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","decoration","showTooltips","outFontSize","outFont","outBold","outItalic","outUnderline","outColor","fontSizeOptions","colorPickerShow","selectFontSize","off","on","fontElements","getElementsByTagName","getAttribute","removeAttribute","selectFont","toggleColorPicker","selectColor","closePicker","MenuType","FOR_SIGNATURE","FOR_ANNOTATION","ContextMenuComponent","formatting","lock","translation","changeFormatting","removeItem","copySign","lockOut","comment","saveChanges","deleteItem","toggleLock","onCopySign","isSignature","menuType","isAnnotation","addComment","providers","FileService","FileModel","CommonComponentsModule","library","fas","far","NgModule","imports","CommonModule","FontAwesomeModule","ClickOutsideModule","declarations","exports"],"mappings":"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C3CC,aAAc,CACZz8B,EACAK,EACAyC,EACAmB,EACAE,EACA+E,EACAuK,EACAuC,EACA2E,EACAQ,EACAK,EACAE,EACAE,EACAE,EACAG,EACAmD,GACA0B,GACAiB,GACAM,GACAI,GACAO,GACAQ,GACA0B,GACAO,GACA6B,GACAQ,GACA0B,GACAa,GACAK,GACAK,GACAwD,GACAqB,GACAgD,GACAG,GACAgB,GACAgB,GACAK,GACAJ,GACAT,GACAiB,GACAC,GACAoB,GACAI,GACA8B,GACAI,GACAyB,IAEF8B,QAAS,CACP18B,EACAK,EACAyC,EACAmB,EACAE,EACA+E,EACAuK,EACAuC,EACA2E,EACAa,EACAE,EACAE,EACAT,EACAW,EACAsD,GACA2C,GACAU,GACAO,GACAQ,GACA0B,GACAO,GACA6B,GACAQ,GACA0B,GACAa,GACAK,GACAK,GACAwD,GACAqB,GACAgD,GACAmB,GACA9X,EACA8Y,GACAK,GACAJ,GACAT,GACAzT,GACAyT,GACAiB,GACAC,GACAoB,GACAI,GACA8B,GACAI,GACAyB,IAEFiB,UAAWA,6CAMbG,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 @Output() hideSidePanel = new EventEmitter();\r\n\r\n onlyTitle = false;\r\n\r\n constructor() {\r\n }\r\n\r\n openSidePanel() {\r\n this.hideSidePanel.emit(true);\r\n }\r\n\r\n toggleTitleMode(){\r\n this.onlyTitle = !this.onlyTitle;\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 EDITOR_APP = '/editor';\r\n public static COMPARISON_APP = '/comparison';\r\n public static CONVERSION_APP = '/conversion';\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 ROTATE_DOCUMENT_PAGE = '/rotateDocumentPages';\r\n public static UPLOAD_DOCUMENTS = '/uploadDocument';\r\n public static DOWNLOAD_DOCUMENTS = '/downloadDocument';\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 COMPARE_FILES = '/compare';\r\n public static CONVERT_FILE = '/convert';\r\n public static DELETE_SIGNATURE_FILE = '/deleteSignatureFile';\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\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 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","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}\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 {\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\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 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\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\r\n ngOnInit() {\r\n }\r\n\r\n ngOnChanges() {\r\n const panzoom = this._elementRef.nativeElement.children.item(0).children.item(0);\r\n (panzoom as any).style.transform = '';\r\n // TODO: this intersects with zooming by zoom directive, but still needed\r\n // for flush previous settings before opening another file\r\n //this._zoomService.changeZoom(100);\r\n //this.scale = 1;\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 getDimensionWithUnit(value: number) {\r\n return 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 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 absolutePosition(el) {\r\n let x = 0, y = 0;\r\n\r\n while (el !== null) {\r\n x += el.offsetLeft;\r\n y += el.offsetTop;\r\n el = el.offsetParent;\r\n }\r\n\r\n return {x: x, y: y};\r\n };\r\n\r\n restrictRawPos(pos, viewportDim, docDim) {\r\n if (pos < viewportDim / this.scale - docDim) { // too far left/up?\r\n pos = viewportDim / this.scale - docDim;\r\n } else if (pos > 0) { // too far right/down?\r\n pos = 0;\r\n }\r\n return pos;\r\n };\r\n\r\n updateLastPos() {\r\n this.lastX = this.x;\r\n this.lastY = this.y;\r\n };\r\n\r\n translate(deltaX, deltaY) {\r\n // We restrict to the min of the viewport width/height or current width/height as the\r\n // current width/height may be smaller than the viewport width/height\r\n const newX = this.restrictRawPos(this.lastX + deltaX / this.scale,\r\n Math.min(this.viewportWidth, this.curWidth), this.docWidth);\r\n this.x = newX;\r\n // TODO: value here and in the similar line below changes to positive to take any effect\r\n this.container.scrollLeft = -Math.ceil(newX * this.scale);\r\n\r\n const newY = this.restrictRawPos(this.lastY + deltaY / this.scale,\r\n Math.min(this.viewportHeight, this.curHeight), this.docHeight);\r\n this.y = newY;\r\n this.container.scrollTop = -Math.ceil(newY * this.scale);\r\n\r\n this.doc.style.transform = 'scale(' + this.scale + ')';\r\n };\r\n\r\n startZoom(scaleBy) {\r\n this.scale = this.lastScale * scaleBy;\r\n\r\n this.curWidth = this.docWidth * this.scale;\r\n this.curHeight = this.docHeight * this.scale;\r\n\r\n // Adjust margins to make sure that we aren't out of bounds\r\n this.translate(0, 0);\r\n };\r\n\r\n rawCenter($event) {\r\n const pos = this.absolutePosition(this.container);\r\n\r\n // We need to account for the scroll position\r\n const scrollLeft = window.pageXOffset ? window.pageXOffset : document.body.scrollLeft;\r\n const scrollTop = window.pageYOffset ? window.pageYOffset : document.body.scrollTop;\r\n\r\n const zoomX = -this.x + ($event.center.x - pos.x + scrollLeft) / this.scale;\r\n const zoomY = -this.y + ($event.center.y - pos.y + scrollTop) / this.scale;\r\n\r\n return {x: zoomX, y: zoomY};\r\n };\r\n\r\n updateLastScale() {\r\n this.lastScale = this.scale;\r\n };\r\n\r\n zoomAround(scaleBy, rawZoomX, rawZoomY, doNotUpdateLast) {\r\n // Zoom\r\n this.startZoom(scaleBy);\r\n\r\n // New raw center of viewport\r\n const rawCenterX = -this.x + Math.min(this.viewportWidth, this.curWidth) / 2 / this.scale;\r\n const rawCenterY = -this.y + Math.min(this.viewportHeight, this.curHeight) / 2 / this.scale;\r\n\r\n // Delta\r\n const deltaX = (rawCenterX - rawZoomX) * this.scale;\r\n const deltaY = (rawCenterY - rawZoomY) * this.scale;\r\n\r\n // Translate back to zoom center\r\n this.translate(deltaX, deltaY);\r\n\r\n if (!doNotUpdateLast) {\r\n this.updateLastScale();\r\n this.updateLastPos();\r\n }\r\n };\r\n\r\n onPinch($event) {\r\n if (this.pinchCenter === null) {\r\n this.pinchCenter = this.rawCenter($event);\r\n const offsetX = this.pinchCenter.x * this.scale - (-this.x * this.scale + Math.min(this.viewportWidth, this.curWidth) / 2);\r\n const offsetY = this.pinchCenter.y * this.scale - (-this.y * this.scale + Math.min(this.viewportHeight, this.curHeight) / 2);\r\n this.pinchCenterOffset = {x: offsetX, y: offsetY};\r\n }\r\n\r\n const newScale = this.scale * $event.scale;\r\n\r\n const zoomX = this.pinchCenter.x * newScale - this.pinchCenterOffset.x;\r\n const zoomY = this.pinchCenter.y * newScale - this.pinchCenterOffset.y;\r\n const zoomCenter = {x: zoomX / newScale, y: zoomY / newScale};\r\n\r\n this.zoomAround($event.scale, zoomCenter.x, zoomCenter.y, true);\r\n }\r\n\r\n onPinchEnd($event) {\r\n this.updateLastScale();\r\n this.updateLastPos();\r\n this.pinchCenter = null;\r\n }\r\n\r\n onPan($event) {\r\n // TODO: looks like native pan works better\r\n // if (!this.isDesktop) {\r\n // this.translate($event.deltaX, $event.deltaY);\r\n // }\r\n }\r\n\r\n onPanEnd($event) {\r\n // if (!this.isDesktop) {\r\n // this.updateLastPos();\r\n // }\r\n }\r\n\r\n onDoubleTap($event) {\r\n if (!this.isDesktop) {\r\n if ($event.tapCount === 2) {\r\n const c = this.rawCenter($event);\r\n this.zoomAround(2, c.x, c.y, false);\r\n }\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 // 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 !== null ? this.data.replace(/>\\s+<').replace(/\\uFEFF/g,\"\") : null;\r\n const dataImagePngBase64 = 'data:image/png;base64,';\r\n this.imgData = dataImagePngBase64;\r\n if (!this.isHtml) {\r\n this.imgData += 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 {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 {Observable, Observer} 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 readonly _navigate: Observable;\r\n private _observer: Observer;\r\n\r\n constructor(private _pagePreloadService: PagePreloadService) {\r\n this._navigate = new Observable(observer =>\r\n this._observer = observer);\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 {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\r\n private currentPage: number;\r\n private zoom = 100;\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 const count = Math.floor((this.getWidth() - offset) / (pageEl.getBoundingClientRect().width * this.getZoom()));\r\n return count === 0 ? 1 : count;\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 this._navigateService.currentPage = page;\r\n }\r\n currentPageSet = true;\r\n }\r\n this._pagePreloadService.changeLastPageInView(page);\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 {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.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 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 scrollWidth = this.getScrollWidth(this.el.nativeElement.parentElement);\r\n this.width = (viewPortWidth/zoomInt - scrollWidth/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 @Input() isOpen = false;\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 }\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 if (this.htmlMode) {\r\n for (const page of pages) {\r\n pagesHtml += '
' +\r\n '
' + page.data + '
' +\r\n '
';\r\n }\r\n } else {\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 windowObject.focus();\r\n windowObject.print();\r\n windowObject.close();\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 {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 constructor() {\r\n }\r\n\r\n get messageChange(): Observable {\r\n return this._messageChange;\r\n }\r\n\r\n changeMessage(message: string) {\r\n this._observer.next(message);\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 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._modalService.open(CommonModals.ErrorMessage);\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 {AfterViewInit, Directive, HostBinding, Input, OnDestroy, OnInit, ElementRef, OnChanges, HostListener} 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: '[gdEditHeaderFooter]'\r\n})\r\nexport class EditHeaderFooterDirective implements OnInit, OnDestroy, AfterViewInit, OnChanges {\r\n\r\n el: ElementRef;\r\n footerRef: any;\r\n\r\n constructor(private _zoomService: ZoomService, private _windowService: WindowService, el: ElementRef) {\r\n this.el = el;\r\n }\r\n\r\n ngAfterViewInit(): void {\r\n this.footerRef = this.el.nativeElement.querySelectorAll('.footer')[0];\r\n if (this.footerRef) {\r\n this.footerRef.setAttribute(\"contenteditable\", false);\r\n this.footerRef.className += \" disabled\";\r\n }\r\n }\r\n\r\n ngOnDestroy(): void {\r\n }\r\n\r\n ngOnChanges(): void {\r\n }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n @HostListener('dblclick', ['$event'])\r\n dblclickEvent(event) {\r\n const footerTitle = document.createElement(\"div\");\r\n footerTitle.className = \"footer-title\";\r\n footerTitle.append('Footer');\r\n\r\n const footer = event.target.closest('.footer');\r\n if (footer && footer.classList.contains('disabled')) {\r\n footer.classList.remove('disabled');\r\n footer.setAttribute(\"contenteditable\", true);\r\n footer.before(footerTitle);\r\n }\r\n\r\n event.preventDefault();\r\n event.stopPropagation();\r\n }\r\n\r\n @HostListener('click', ['$event'])\r\n clickEvent(event) {\r\n const footer = event.target.closest('.footer');\r\n if (!footer) {\r\n this.footerRef.setAttribute(\"contenteditable\", false);\r\n if (!this.footerRef.classList.contains('disabled'))\r\n {\r\n this.footerRef.className += \" disabled\";\r\n }\r\n\r\n const section = this.el.nativeElement.querySelectorAll('.section')[0];\r\n const footerTitle = this.el.nativeElement.querySelectorAll('.footer-title')[0];\r\n if (section && footerTitle) {\r\n section.removeChild(footerTitle);\r\n }\r\n }\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 }\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 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} 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\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\r\n constructor(private _onCloseService: OnCloseService) {\r\n _onCloseService.onClose.subscribe(() => {\r\n this.colorPickerShow = false;\r\n });\r\n }\r\n\r\n ngOnInit() {\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} from '@angular/core';\r\nimport {Formatting} from \"../formatting.service\";\r\nimport {WindowService} from \"../window.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 this.isMobile = _windowService.isMobile();\r\n _windowService.onResize.subscribe((w) => {\r\n this.isMobile = _windowService.isMobile();\r\n });\r\n }\r\n\r\n ngOnInit() {\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 {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 {EditHeaderFooterDirective} from './editheaderfooter.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 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 EditHeaderFooterDirective,\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 SelectComponent,\r\n RotationDirective,\r\n InitStateComponent,\r\n RenderPrintDirective,\r\n ErrorModalComponent,\r\n PasswordRequiredComponent,\r\n SearchComponent,\r\n SearchableDirective,\r\n EditHeaderFooterDirective,\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/document/document.component.js b/dist/libs/common-components/esm2015/lib/document/document.component.js index 374f8e501..d1b8bd568 100644 --- a/dist/libs/common-components/esm2015/lib/document/document.component.js +++ b/dist/libs/common-components/esm2015/lib/document/document.component.js @@ -310,8 +310,8 @@ export class DocumentComponent { DocumentComponent.decorators = [ { type: 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}.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}.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}}"] + template: "
Please wait...
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n", + styles: [":host{flex:1;transition:.4s;background-color:#e7e7e7;height:100%;overflow:scroll}.page{display:inline-block;background-color:#fff;margin:20px;box-shadow:0 3px 6px rgba(0,0,0,.16);transition:.3s}.page.excel{overflow:auto}.wait{position:absolute;top:55px;left:Calc(30%)}.panzoom{display:flex;flex-direction:row;flex-wrap:wrap;justify-content:center;align-content:flex-start}@media (max-width:1037px){.page{min-width:unset!important;min-height:unset!important;margin:5px 0}}"] }] } ]; /** @nocollapse */ @@ -394,4 +394,4 @@ if (false) { /* Skipping unhandled member: ;*/ /* Skipping unhandled member: ;*/ } -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG9jdW1lbnQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGdyb3VwZG9jcy5leGFtcGxlcy5hbmd1bGFyL2NvbW1vbi1jb21wb25lbnRzLyIsInNvdXJjZXMiOlsibGliL2RvY3VtZW50L2RvY3VtZW50LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxFQUVMLFNBQVMsRUFDVCxVQUFVLEVBQ1YsS0FBSyxFQUlOLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBQyxlQUFlLEVBQUUsUUFBUSxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFDMUQsT0FBTyxFQUFDLFdBQVcsRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBQzVDLE9BQU8sS0FBSyxNQUFNLE1BQU0sVUFBVSxDQUFDO0FBQ25DLE9BQU8sRUFBQyxhQUFhLEVBQUMsTUFBTSxtQkFBbUIsQ0FBQztBQUNoRCxPQUFPLEtBQUssTUFBTSxNQUFNLFFBQVEsQ0FBQzs7TUFFM0IsQ0FBQyxHQUFHLE1BQU07QUFPaEIsTUFBTSxPQUFPLGlCQUFpQjs7Ozs7O0lBMEI1QixZQUFzQixXQUFvQyxFQUN0QyxZQUF5QixFQUN6QixjQUE2QjtRQUYzQixnQkFBVyxHQUFYLFdBQVcsQ0FBeUI7UUFDdEMsaUJBQVksR0FBWixZQUFZLENBQWE7UUFDekIsbUJBQWMsR0FBZCxjQUFjLENBQWU7UUF2QmpELFNBQUksR0FBRyxLQUFLLENBQUM7UUFHYixhQUFRLEdBQUcsSUFBSSxDQUFDO1FBQ2hCLGNBQVMsR0FBRyxJQUFJLENBQUM7UUFDakIsa0JBQWEsR0FBRyxJQUFJLENBQUM7UUFDckIsbUJBQWMsR0FBRyxJQUFJLENBQUM7UUFDdEIsVUFBSyxHQUFHLElBQUksQ0FBQztRQUNiLGNBQVMsR0FBRyxJQUFJLENBQUM7UUFDakIsY0FBUyxHQUFHLElBQUksQ0FBQztRQUNqQixRQUFHLEdBQUcsSUFBSSxDQUFDO1FBQ1gsTUFBQyxHQUFHLENBQUMsQ0FBQztRQUNOLFVB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QUFjOztJQUNkLHNDQUFtQjs7Ozs7SUFFUCx3Q0FBOEM7Ozs7O0lBQzlDLHlDQUFpQzs7Ozs7SUFDakMsMkNBQXFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQWZ0ZXJWaWV3Q2hlY2tlZCxcbiAgQ29tcG9uZW50LFxuICBFbGVtZW50UmVmLFxuICBJbnB1dCxcbiAgT25Jbml0LFxuICBBZnRlclZpZXdJbml0LFxuICBPbkNoYW5nZXNcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0ZpbGVEZXNjcmlwdGlvbiwgRmlsZVV0aWx9IGZyb20gXCIuLi9maWxlLnNlcnZpY2VcIjtcbmltcG9ydCB7Wm9vbVNlcnZpY2V9IGZyb20gXCIuLi96b29tLnNlcnZpY2VcIjtcbmltcG9ydCAqIGFzIEhhbW1lciBmcm9tICdoYW1tZXJqcyc7XG5pbXBvcnQge1dpbmRvd1NlcnZpY2V9IGZyb20gJy4uL3dpbmRvdy5zZXJ2aWNlJztcbmltcG9ydCAqIGFzIGpxdWVyeSBmcm9tICdqcXVlcnknO1xuXG5jb25zdCAkID0ganF1ZXJ5O1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdnZC1kb2N1bWVudCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9kb2N1bWVudC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2RvY3VtZW50LmNvbXBvbmVudC5sZXNzJ11cbn0pXG5leHBvcnQgY2xhc3MgRG9jdW1lbnRDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIEFmdGVyVmlld0NoZWNrZWQsIEFmdGVyVmlld0luaXQsIE9uQ2hhbmdlcyB7XG5cbiAgQElucHV0KCkgbW9kZTogYm9vbGVhbjtcbiAgQElucHV0KCkgcHJlbG9hZFBhZ2VDb3VudDogbnVtYmVyO1xuICBASW5wdXQoKSBmaWxlOiBGaWxlRGVzY3JpcHRpb247XG4gIHdhaXQgPSBmYWxzZTtcbiAgem9vbTogbnVtYmVyO1xuXG4gIGRvY1dpZHRoID0gbnVsbDtcbiAgZG9jSGVpZ2h0ID0gbnVsbDtcbiAgdmlld3BvcnRXaWR0aCA9IG51bGw7XG4gIHZpZXdwb3J0SGVpZ2h0ID0gbnVsbDtcbiAgc2NhbGUgPSBudWxsO1xuICBsYXN0U2NhbGUgPSBudWxsO1xuICBjb250YWluZXIgPSBudWxsO1xuICBkb2MgPSBudWxsO1xuICB4ID0gMDtcbiAgbGFzdFggPSAwO1xuICB5ID0gMDtcbiAgbGFzdFkgPSAwO1xuICBwaW5jaENlbnRlciA9IG51bGw7XG4gIHBpbmNoQ2VudGVyT2Zmc2V0ID0gbnVsbDtcbiAgY3VyV2lkdGggPSAwO1xuICBjdXJIZWlnaHQgPSAwO1xuICBpc0Rlc2t0b3A6IGJvb2xlYW47XG5cbiAgY29uc3RydWN0b3IocHJvdGVjdGVkIF9lbGVtZW50UmVmOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PixcbiAgICAgICAgICAgICAgcHJpdmF0ZSBfem9vbVNlcnZpY2U6IFpvb21TZXJ2aWNlLFxuICAgICAgICAgICAgICBwcml2YXRlIF93aW5kb3dTZXJ2aWNlOiBXaW5kb3dTZXJ2aWNlKSB7XG5cbiAgICBfem9vbVNlcnZpY2Uuem9vbUNoYW5nZS5zdWJzY3JpYmUoKHZhbDogbnVtYmVyKSA9PiB7XG4gICAgICB0aGlzLnpvb20gPSB2YWw7XG4gICAgfSk7XG5cbiAgICB0aGlzLmlzRGVza3RvcCA9IF93aW5kb3dTZXJ2aWNlLmlzRGVza3RvcCgpO1xuICB9XG5cbiAgbmdPbkluaXQoKSB7XG4gIH1cblxuICBuZ09uQ2hhbmdlcygpIHtcbiAgICBjb25zdCBwYW56b29tID0gdGhpcy5fZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LmNoaWxkcmVuLml0ZW0oMCkuY2hpbGRyZW4uaXRlbSgwKTtcbiAgICAocGFuem9vbSBhcyBhbnkpLnN0eWxlLnRyYW5zZm9ybSA9ICcnO1xuICAgIC8vIFRPRE86IHRoaXMgaW50ZXJzZWN0cyB3aXRoIHpvb21pbmcgYnkgem9vbSBkaXJlY3RpdmUsIGJ1dCBzdGlsbCBuZWVkZWRcbiAgICAvLyBmb3IgZmx1c2ggcHJldmlvdXMgc2V0dGluZ3MgYmVmb3JlIG9wZW5pbmcgYW5vdGhlciBmaWxlXG4gICAgLy90aGlzLl96b29tU2VydmljZS5jaGFuZ2Vab29tKDEwMCk7XG4gICAgLy90aGlzLnNjYWxlID0gMTtcbiAgfVxuXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcbiAgICAvLyBGb3IgY3VycmVudCBpdGVyYXRpb24gd2UgdGFrZSAucGFuem9vbSBhcyBhIGRvY3VtZW50XG4gICAgdGhpcy5kb2MgPSB0aGlzLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuY2hpbGRyZW4uaXRlbSgwKS5jaGlsZHJlbi5pdGVtKDApO1xuICAgIC8vIEZvciBjdXJyZW50IGl0ZXJhdGlvbiB3ZSB0YWtlIC5nZC1kb2N1bWVudCBhcyBhIGNvbnRhaW5lclxuICAgIHRoaXMuY29udGFpbmVyID0gdGhpcy5fZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50O1xuXG4gICAgdGhpcy5kb2NXaWR0aCA9IHRoaXMuZG9jLmNsaWVudFdpZHRoO1xuICAgIHRoaXMuZG9jSGVpZ2h0ID0gdGhpcy5kb2MuY2xpZW50SGVpZ2h0O1xuICAgIHRoaXMudmlld3BvcnRXaWR0aCA9IHRoaXMuZG9jLm9mZnNldFdpZHRoO1xuXG4gICAgLy8gRm9yIGNhc2VzIHdoZXJlIHdlIGFscmVhZHkgaGF2ZSB6b29tIGRlZmluZWQgd2Ugc2hvdWxkIGluY2x1ZGUgaXRcbiAgICB0aGlzLnNjYWxlID0gKHRoaXMudmlld3BvcnRXaWR0aCAvIHRoaXMuZG9jV2lkdGgpICogdGhpcy5fem9vbVNlcnZpY2Uuem9vbSAvIDEwMDtcblxuICAgIHRoaXMubGFzdFNjYWxlID0gdGhpcy5zY2FsZTtcbiAgICB0aGlzLnZpZXdwb3J0SGVpZ2h0ID0gdGhpcy5jb250YWluZXIub2Zmc2V0SGVpZ2h0O1xuICAgIHRoaXMuY3VyV2lkdGggPSB0aGlzLmRvY1dpZHRoICogdGhpcy5zY2FsZTtcbiAgICB0aGlzLmN1ckhlaWdodCA9IHRoaXMuZG9jSGVpZ2h0ICogdGhpcy5zY2FsZTtcblxuICAgIGNvbnN0IGhhbW1lciA9IG5ldyBIYW1tZXIodGhpcy5jb250YWluZXIpO1xuICB9XG5cbiAgLy8gVE9ETzogdGhpcyB0ZW1wb3JhcnkgY3J1dGNoIGZvciBFeGNlbCBmaWxlcyBzaG91bGQgYmUgZG9jdW1lbnRlZFxuICBpZkV4Y2VsKCkge1xuICAgIHJldHVybiBGaWxlVXRpbC5maW5kKHRoaXMuZmlsZS5ndWlkLCBmYWxzZSkuZm9ybWF0ID09PSBcIk1pY3Jvc29mdCBFeGNlbFwiO1xuICB9XG5cbiAgZ2V0RGltZW5zaW9uV2l0aFVuaXQodmFsdWU6IG51bWJlcikge1xuICAgIHJldHVybiB2YWx1ZSArICh0aGlzLm1vZGUgPyBGaWxlVXRpbC5maW5kKHRoaXMuZmlsZS5ndWlkLCBmYWxzZSkudW5pdCA6ICdweCcpO1xuICB9XG5cbiAgaWZFZGdlKCkge1xuICAgIHJldHVybiBuYXZpZ2F0b3IudXNlckFnZW50LnRvTG93ZXJDYXNlKCkuaW5kZXhPZignZWRnZScpID4gLTE7XG4gIH1cblxuICBuZ0FmdGVyVmlld0NoZWNrZWQoKTogdm9pZCB7XG4gICAgY29uc3QgZWxlbWVudE5vZGVMaXN0T2YgPSB0aGlzLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQucXVlcnlTZWxlY3RvckFsbCgnLmdkLXdyYXBwZXInKTtcbiAgICBjb25zdCBlbGVtZW50ID0gZWxlbWVudE5vZGVMaXN0T2YuaXRlbSgwKTtcbiAgICBpZiAoZWxlbWVudCkge1xuICAgICAgJChlbGVtZW50KS50cmlnZ2VyKCdmb2N1cycpO1xuICAgIH1cbiAgfVxuXG4gIGFic29sdXRlUG9zaXRpb24oZWwpIHtcbiAgICBsZXQgeCA9IDAsIHkgPSAwO1xuXG4gICAgd2hpbGUgKGVsICE9PSBudWxsKSB7XG4gICAgICB4ICs9IGVsLm9mZnNldExlZnQ7XG4gICAgICB5ICs9IGVsLm9mZnNldFRvcDtcbiAgICAgIGVsID0gZWwub2Zmc2V0UGFyZW50O1xuICAgIH1cblxuICAgIHJldHVybiB7eDogeCwgeTogeX07XG4gIH07XG5cbiAgcmVzdHJpY3RSYXdQb3MocG9zLCB2aWV3cG9ydERpbSwgZG9jRGltKSB7XG4gICAgaWYgKHBvcyA8IHZpZXdwb3J0RGltIC8gdGhpcy5zY2FsZSAtIGRvY0RpbSkgeyAvLyB0b28gZmFyIGxlZnQvdXA/XG4gICAgICBwb3MgPSB2aWV3cG9ydERpbSAvIHRoaXMuc2NhbGUgLSBkb2NEaW07XG4gICAgfSBlbHNlIGlmIChwb3MgPiAwKSB7IC8vIHRvbyBmYXIgcmlnaHQvZG93bj9cbiAgICAgIHBvcyA9IDA7XG4gICAgfVxuICAgIHJldHVybiBwb3M7XG4gIH07XG5cbiAgdXBkYXRlTGFzdFBvcygpIHtcbiAgICB0aGlzLmxhc3RYID0gdGhpcy54O1xuICAgIHRoaXMubGFzdFkgPSB0aGlzLnk7XG4gIH07XG5cbiAgdHJhbnNsYXRlKGRlbHRhWCwgZGVsdGFZKSB7XG4gICAgLy8gV2UgcmVzdHJpY3QgdG8gdGhlIG1pbiBvZiB0aGUgdmlld3BvcnQgd2lkdGgvaGVpZ2h0IG9yIGN1cnJlbnQgd2lkdGgvaGVpZ2h0IGFzIHRoZVxuICAgIC8vIGN1cnJlbnQgd2lkdGgvaGVpZ2h0IG1heSBiZSBzbWFsbGVyIHRoYW4gdGhlIHZpZXdwb3J0IHdpZHRoL2hlaWdodFxuICAgIGNvbnN0IG5ld1ggPSB0aGlzLnJlc3RyaWN0UmF3UG9zKHRoaXMubGFzdFggKyBkZWx0YVggLyB0aGlzLnNjYWxlLFxuICAgICAgTWF0aC5taW4odGhpcy52aWV3cG9ydFdpZHRoLCB0aGlzLmN1cldpZHRoKSwgdGhpcy5kb2NXaWR0aCk7XG4gICAgdGhpcy54ID0gbmV3WDtcbiAgICAvLyBUT0RPOiB2YWx1ZSBoZXJlIGFuZCBpbiB0aGUgc2ltaWxhciBsaW5lIGJlbG93IGNoYW5nZXMgdG8gcG9zaXRpdmUgdG8gdGFrZSBhbnkgZWZmZWN0XG4gICAgdGhpcy5jb250YWluZXIuc2Nyb2xsTGVmdCA9IC1NYXRoLmNlaWwobmV3WCAqIHRoaXMuc2NhbGUpO1xuXG4gICAgY29uc3QgbmV3WSA9IHRoaXMucmVzdHJpY3RSYXdQb3ModGhpcy5sYXN0WSArIGRlbHRhWSAvIHRoaXMuc2NhbGUsXG4gICAgICBNYXRoLm1pbih0aGlzLnZpZXdwb3J0SGVpZ2h0LCB0aGlzLmN1ckhlaWdodCksIHRoaXMuZG9jSGVpZ2h0KTtcbiAgICB0aGlzLnkgPSBuZXdZO1xuICAgIHRoaXMuY29udGFpbmVyLnNjcm9sbFRvcCA9IC1NYXRoLmNlaWwobmV3WSAqIHRoaXMuc2NhbGUpO1xuXG4gICAgdGhpcy5kb2Muc3R5bGUudHJhbnNmb3JtID0gJ3NjYWxlKCcgKyB0aGlzLnNjYWxlICsgJyknO1xuICB9O1xuXG4gIHN0YXJ0Wm9vbShzY2FsZUJ5KSB7XG4gICAgdGhpcy5zY2FsZSA9IHRoaXMubGFzdFNjYWxlICogc2NhbGVCeTtcblxuICAgIHRoaXMuY3VyV2lkdGggPSB0aGlzLmRvY1dpZHRoICogdGhpcy5zY2FsZTtcbiAgICB0aGlzLmN1ckhlaWdodCA9IHRoaXMuZG9jSGVpZ2h0ICogdGhpcy5zY2FsZTtcblxuICAgIC8vIEFkanVzdCBtYXJnaW5zIHRvIG1ha2Ugc3VyZSB0aGF0IHdlIGFyZW4ndCBvdXQgb2YgYm91bmRzXG4gICAgdGhpcy50cmFuc2xhdGUoMCwgMCk7XG4gIH07XG5cbiAgcmF3Q2VudGVyKCRldmVudCkge1xuICAgIGNvbnN0IHBvcyA9IHRoaXMuYWJzb2x1dGVQb3NpdGlvbih0aGlzLmNvbnRhaW5lcik7XG5cbiAgICAvLyBXZSBuZWVkIHRvIGFjY291bnQgZm9yIHRoZSBzY3JvbGwgcG9zaXRpb25cbiAgICBjb25zdCBzY3JvbGxMZWZ0ID0gd2luZG93LnBhZ2VYT2Zmc2V0ID8gd2luZG93LnBhZ2VYT2Zmc2V0IDogZG9jdW1lbnQuYm9keS5zY3JvbGxMZWZ0O1xuICAgIGNvbnN0IHNjcm9sbFRvcCA9IHdpbmRvdy5wYWdlWU9mZnNldCA/IHdpbmRvdy5wYWdlWU9mZnNldCA6IGRvY3VtZW50LmJvZHkuc2Nyb2xsVG9wO1xuXG4gICAgY29uc3Qgem9vbVggPSAtdGhpcy54ICsgKCRldmVudC5jZW50ZXIueCAtIHBvcy54ICsgc2Nyb2xsTGVmdCkgLyB0aGlzLnNjYWxlO1xuICAgIGNvbnN0IHpvb21ZID0gLXRoaXMueSArICgkZXZlbnQuY2VudGVyLnkgLSBwb3MueSArIHNjcm9sbFRvcCkgLyB0aGlzLnNjYWxlO1xuXG4gICAgcmV0dXJuIHt4OiB6b29tWCwgeTogem9vbVl9O1xuICB9O1xuXG4gIHVwZGF0ZUxhc3RTY2FsZSgpIHtcbiAgICB0aGlzLmxhc3RTY2FsZSA9IHRoaXMuc2NhbGU7XG4gIH07XG5cbiAgem9vbUFyb3VuZChzY2FsZUJ5LCByYXdab29tWCwgcmF3Wm9vbVksIGRvTm90VXBkYXRlTGFzdCkge1xuICAgIC8vIFpvb21cbiAgICB0aGlzLnN0YXJ0Wm9vbShzY2FsZUJ5KTtcblxuICAgIC8vIE5ldyByYXcgY2VudGVyIG9mIHZpZXdwb3J0XG4gICAgY29uc3QgcmF3Q2VudGVyWCA9IC10aGlzLnggKyBNYXRoLm1pbih0aGlzLnZpZXdwb3J0V2lkdGgsIHRoaXMuY3VyV2lkdGgpIC8gMiAvIHRoaXMuc2NhbGU7XG4gICAgY29uc3QgcmF3Q2VudGVyWSA9IC10aGlzLnkgKyBNYXRoLm1pbih0aGlzLnZpZXdwb3J0SGVpZ2h0LCB0aGlzLmN1ckhlaWdodCkgLyAyIC8gdGhpcy5zY2FsZTtcblxuICAgIC8vIERlbHRhXG4gICAgY29uc3QgZGVsdGFYID0gKHJhd0NlbnRlclggLSByYXdab29tWCkgKiB0aGlzLnNjYWxlO1xuICAgIGNvbnN0IGRlbHRhWSA9IChyYXdDZW50ZXJZIC0gcmF3Wm9vbVkpICogdGhpcy5zY2FsZTtcblxuICAgIC8vIFRyYW5zbGF0ZSBiYWNrIHRvIHpvb20gY2VudGVyXG4gICAgdGhpcy50cmFuc2xhdGUoZGVsdGFYLCBkZWx0YVkpO1xuXG4gICAgaWYgKCFkb05vdFVwZGF0ZUxhc3QpIHtcbiAgICAgIHRoaXMudXBkYXRlTGFzdFNjYWxlKCk7XG4gICAgICB0aGlzLnVwZGF0ZUxhc3RQb3MoKTtcbiAgICB9XG4gIH07XG5cbiAgb25QaW5jaCgkZXZlbnQpIHtcbiAgICBpZiAodGhpcy5waW5jaENlbnRlciA9PT0gbnVsbCkge1xuICAgICAgdGhpcy5waW5jaENlbnRlciA9IHRoaXMucmF3Q2VudGVyKCRldmVudCk7XG4gICAgICBjb25zdCBvZmZzZXRYID0gdGhpcy5waW5jaENlbnRlci54ICogdGhpcy5zY2FsZSAtICgtdGhpcy54ICogdGhpcy5zY2FsZSArIE1hdGgubWluKHRoaXMudmlld3BvcnRXaWR0aCwgdGhpcy5jdXJXaWR0aCkgLyAyKTtcbiAgICAgIGNvbnN0IG9mZnNldFkgPSB0aGlzLnBpbmNoQ2VudGVyLnkgKiB0aGlzLnNjYWxlIC0gKC10aGlzLnkgKiB0aGlzLnNjYWxlICsgTWF0aC5taW4odGhpcy52aWV3cG9ydEhlaWdodCwgdGhpcy5jdXJIZWlnaHQpIC8gMik7XG4gICAgICB0aGlzLnBpbmNoQ2VudGVyT2Zmc2V0ID0ge3g6IG9mZnNldFgsIHk6IG9mZnNldFl9O1xuICAgIH1cblxuICAgIGNvbnN0IG5ld1NjYWxlID0gdGhpcy5zY2FsZSAqICRldmVudC5zY2FsZTtcblxuICAgIGNvbnN0IHpvb21YID0gdGhpcy5waW5jaENlbnRlci54ICogbmV3U2NhbGUgLSB0aGlzLnBpbmNoQ2VudGVyT2Zmc2V0Lng7XG4gICAgY29uc3Qgem9vbVkgPSB0aGlzLnBpbmNoQ2VudGVyLnkgKiBuZXdTY2FsZSAtIHRoaXMucGluY2hDZW50ZXJPZmZzZXQueTtcbiAgICBjb25zdCB6b29tQ2VudGVyID0ge3g6IHpvb21YIC8gbmV3U2NhbGUsIHk6IHpvb21ZIC8gbmV3U2NhbGV9O1xuXG4gICAgdGhpcy56b29tQXJvdW5kKCRldmVudC5zY2FsZSwgem9vbUNlbnRlci54LCB6b29tQ2VudGVyLnksIHRydWUpO1xuICB9XG5cbiAgb25QaW5jaEVuZCgkZXZlbnQpIHtcbiAgICB0aGlzLnVwZGF0ZUxhc3RTY2FsZSgpO1xuICAgIHRoaXMudXBkYXRlTGFzdFBvcygpO1xuICAgIHRoaXMucGluY2hDZW50ZXIgPSBudWxsO1xuICB9XG5cbiAgb25QYW4oJGV2ZW50KSB7XG4gICAgLy8gVE9ETzogbG9va3MgbGlrZSBuYXRpdmUgcGFuIHdvcmtzIGJldHRlclxuICAgIC8vIGlmICghdGhpcy5pc0Rlc2t0b3ApIHtcbiAgICAvLyAgIHRoaXMudHJhbnNsYXRlKCRldmVudC5kZWx0YVgsICRldmVudC5kZWx0YVkpO1xuICAgIC8vIH1cbiAgfVxuXG4gIG9uUGFuRW5kKCRldmVudCkge1xuICAgIC8vIGlmICghdGhpcy5pc0Rlc2t0b3ApIHtcbiAgICAvLyAgIHRoaXMudXBkYXRlTGFzdFBvcygpO1xuICAgIC8vIH1cbiAgfVxuXG4gIG9uRG91YmxlVGFwKCRldmVudCkge1xuICAgIGlmICghdGhpcy5pc0Rlc2t0b3ApIHtcbiAgICAgIGlmICgkZXZlbnQudGFwQ291bnQgPT09IDIpIHtcbiAgICAgICAgY29uc3QgYyA9IHRoaXMucmF3Q2VudGVyKCRldmVudCk7XG4gICAgICAgIHRoaXMuem9vbUFyb3VuZCgyLCBjLngsIGMueSwgZmFsc2UpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIl19 \ No newline at end of file +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG9jdW1lbnQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGdyb3VwZG9jcy5leGFtcGxlcy5hbmd1bGFyL2NvbW1vbi1jb21wb25lbnRzLyIsInNvdXJjZXMiOlsibGliL2RvY3VtZW50L2RvY3VtZW50LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxFQUVMLFNBQVMsRUFDVCxVQUFVLEVBQ1YsS0FBSyxFQUlOLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBQyxlQUFlLEVBQUUsUUFBUSxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFDMUQsT0FBTyxFQUFDLFdBQVcsRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBQzVDLE9BQU8sS0FBSyxNQUFNLE1BQU0sVUFBVSxDQUFDO0FBQ25DLE9BQU8sRUFBQyxhQUFhLEVBQUMsTUFBTSxtQkFBbUIsQ0FBQztBQUNoRCxPQUFPLEtBQUssTUFBTSxNQUFNLFFBQVEsQ0FBQzs7TUFFM0IsQ0FBQyxHQUFHLE1BQU07QUFPaEIsTUFBTSxPQUFPLGlCQUFpQjs7Ozs7O0lBMEI1QixZQUFzQixXQUFvQyxFQUN0QyxZQUF5QixFQUN6QixjQUE2QjtRQUYzQixnQkFBVyxHQUFYLFdBQVcsQ0FBeUI7UUFDdEMsaUJBQVksR0FBWixZQUFZLENBQWE7UUFDekIsbUJBQWMsR0FBZCxjQUFjLENBQWU7UUF2QmpELFNBQUksR0FBRyxLQUFLLENBQUM7UUFHYixhQUFRLEdBQUcsSUFBSSxDQUFDO1FBQ2hCLGNBQVMsR0FBRyxJQUFJLENBQUM7UUFDakIsa0JBQWEsR0FBRyxJQUFJLENBQUM7UUFDckIsbUJBQWMsR0FBRyxJQUFJLENBQUM7UUFDdEIsVUFBSyxHQUFHLElBQUksQ0FBQztRQUNiLGNBQVMsR0FBRyxJQUFJLENBQUM7UUFDakIsY0FBUyxHQUFHLElBQUksQ0FBQztRQUNqQixRQUFHLEdBQUcsSUFBSSxDQUFDO1FBQ1gsTUFBQyxHQUFHLENBQUMsQ0FBQztRQUNOLFVB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QUFjOztJQUNkLHNDQUFtQjs7Ozs7SUFFUCx3Q0FBOEM7Ozs7O0lBQzlDLHlDQUFpQzs7Ozs7SUFDakMsMkNBQXFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBBZnRlclZpZXdDaGVja2VkLFxyXG4gIENvbXBvbmVudCxcclxuICBFbGVtZW50UmVmLFxyXG4gIElucHV0LFxyXG4gIE9uSW5pdCxcclxuICBBZnRlclZpZXdJbml0LFxyXG4gIE9uQ2hhbmdlc1xyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQge0ZpbGVEZXNjcmlwdGlvbiwgRmlsZVV0aWx9IGZyb20gXCIuLi9maWxlLnNlcnZpY2VcIjtcclxuaW1wb3J0IHtab29tU2VydmljZX0gZnJvbSBcIi4uL3pvb20uc2VydmljZVwiO1xyXG5pbXBvcnQgKiBhcyBIYW1tZXIgZnJvbSAnaGFtbWVyanMnO1xyXG5pbXBvcnQge1dpbmRvd1NlcnZpY2V9IGZyb20gJy4uL3dpbmRvdy5zZXJ2aWNlJztcclxuaW1wb3J0ICogYXMganF1ZXJ5IGZyb20gJ2pxdWVyeSc7XHJcblxyXG5jb25zdCAkID0ganF1ZXJ5O1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdnZC1kb2N1bWVudCcsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2RvY3VtZW50LmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9kb2N1bWVudC5jb21wb25lbnQubGVzcyddXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBEb2N1bWVudENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgQWZ0ZXJWaWV3Q2hlY2tlZCwgQWZ0ZXJWaWV3SW5pdCwgT25DaGFuZ2VzIHtcclxuXHJcbiAgQElucHV0KCkgbW9kZTogYm9vbGVhbjtcclxuICBASW5wdXQoKSBwcmVsb2FkUGFnZUNvdW50OiBudW1iZXI7XHJcbiAgQElucHV0KCkgZmlsZTogRmlsZURlc2NyaXB0aW9uO1xyXG4gIHdhaXQgPSBmYWxzZTtcclxuICB6b29tOiBudW1iZXI7XHJcblxyXG4gIGRvY1dpZHRoID0gbnVsbDtcclxuICBkb2NIZWlnaHQgPSBudWxsO1xyXG4gIHZpZXdwb3J0V2lkdGggPSBudWxsO1xyXG4gIHZpZXdwb3J0SGVpZ2h0ID0gbnVsbDtcclxuICBzY2FsZSA9IG51bGw7XHJcbiAgbGFzdFNjYWxlID0gbnVsbDtcclxuICBjb250YWluZXIgPSBudWxsO1xyXG4gIGRvYyA9IG51bGw7XHJcbiAgeCA9IDA7XHJcbiAgbGFzdFggPSAwO1xyXG4gIHkgPSAwO1xyXG4gIGxhc3RZID0gMDtcclxuICBwaW5jaENlbnRlciA9IG51bGw7XHJcbiAgcGluY2hDZW50ZXJPZmZzZXQgPSBudWxsO1xyXG4gIGN1cldpZHRoID0gMDtcclxuICBjdXJIZWlnaHQgPSAwO1xyXG4gIGlzRGVza3RvcDogYm9vbGVhbjtcclxuXHJcbiAgY29uc3RydWN0b3IocHJvdGVjdGVkIF9lbGVtZW50UmVmOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PixcclxuICAgICAgICAgICAgICBwcml2YXRlIF96b29tU2VydmljZTogWm9vbVNlcnZpY2UsXHJcbiAgICAgICAgICAgICAgcHJpdmF0ZSBfd2luZG93U2VydmljZTogV2luZG93U2VydmljZSkge1xyXG5cclxuICAgIF96b29tU2VydmljZS56b29tQ2hhbmdlLnN1YnNjcmliZSgodmFsOiBudW1iZXIpID0+IHtcclxuICAgICAgdGhpcy56b29tID0gdmFsO1xyXG4gICAgfSk7XHJcblxyXG4gICAgdGhpcy5pc0Rlc2t0b3AgPSBfd2luZG93U2VydmljZS5pc0Rlc2t0b3AoKTtcclxuICB9XHJcblxyXG4gIG5nT25Jbml0KCkge1xyXG4gIH1cclxuXHJcbiAgbmdPbkNoYW5nZXMoKSB7XHJcbiAgICBjb25zdCBwYW56b29tID0gdGhpcy5fZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LmNoaWxkcmVuLml0ZW0oMCkuY2hpbGRyZW4uaXRlbSgwKTtcclxuICAgIChwYW56b29tIGFzIGFueSkuc3R5bGUudHJhbnNmb3JtID0gJyc7XHJcbiAgICAvLyBUT0RPOiB0aGlzIGludGVyc2VjdHMgd2l0aCB6b29taW5nIGJ5IHpvb20gZGlyZWN0aXZlLCBidXQgc3RpbGwgbmVlZGVkXHJcbiAgICAvLyBmb3IgZmx1c2ggcHJldmlvdXMgc2V0dGluZ3MgYmVmb3JlIG9wZW5pbmcgYW5vdGhlciBmaWxlXHJcbiAgICAvL3RoaXMuX3pvb21TZXJ2aWNlLmNoYW5nZVpvb20oMTAwKTtcclxuICAgIC8vdGhpcy5zY2FsZSA9IDE7XHJcbiAgfVxyXG5cclxuICBuZ0FmdGVyVmlld0luaXQoKSB7XHJcbiAgICAvLyBGb3IgY3VycmVudCBpdGVyYXRpb24gd2UgdGFrZSAucGFuem9vbSBhcyBhIGRvY3VtZW50XHJcbiAgICB0aGlzLmRvYyA9IHRoaXMuX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5jaGlsZHJlbi5pdGVtKDApLmNoaWxkcmVuLml0ZW0oMCk7XHJcbiAgICAvLyBGb3IgY3VycmVudCBpdGVyYXRpb24gd2UgdGFrZSAuZ2QtZG9jdW1lbnQgYXMgYSBjb250YWluZXJcclxuICAgIHRoaXMuY29udGFpbmVyID0gdGhpcy5fZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50O1xyXG5cclxuICAgIHRoaXMuZG9jV2lkdGggPSB0aGlzLmRvYy5jbGllbnRXaWR0aDtcclxuICAgIHRoaXMuZG9jSGVpZ2h0ID0gdGhpcy5kb2MuY2xpZW50SGVpZ2h0O1xyXG4gICAgdGhpcy52aWV3cG9ydFdpZHRoID0gdGhpcy5kb2Mub2Zmc2V0V2lkdGg7XHJcblxyXG4gICAgLy8gRm9yIGNhc2VzIHdoZXJlIHdlIGFscmVhZHkgaGF2ZSB6b29tIGRlZmluZWQgd2Ugc2hvdWxkIGluY2x1ZGUgaXRcclxuICAgIHRoaXMuc2NhbGUgPSAodGhpcy52aWV3cG9ydFdpZHRoIC8gdGhpcy5kb2NXaWR0aCkgKiB0aGlzLl96b29tU2VydmljZS56b29tIC8gMTAwO1xyXG5cclxuICAgIHRoaXMubGFzdFNjYWxlID0gdGhpcy5zY2FsZTtcclxuICAgIHRoaXMudmlld3BvcnRIZWlnaHQgPSB0aGlzLmNvbnRhaW5lci5vZmZzZXRIZWlnaHQ7XHJcbiAgICB0aGlzLmN1cldpZHRoID0gdGhpcy5kb2NXaWR0aCAqIHRoaXMuc2NhbGU7XHJcbiAgICB0aGlzLmN1ckhlaWdodCA9IHRoaXMuZG9jSGVpZ2h0ICogdGhpcy5zY2FsZTtcclxuXHJcbiAgICBjb25zdCBoYW1tZXIgPSBuZXcgSGFtbWVyKHRoaXMuY29udGFpbmVyKTtcclxuICB9XHJcblxyXG4gIC8vIFRPRE86IHRoaXMgdGVtcG9yYXJ5IGNydXRjaCBmb3IgRXhjZWwgZmlsZXMgc2hvdWxkIGJlIGRvY3VtZW50ZWRcclxuICBpZkV4Y2VsKCkge1xyXG4gICAgcmV0dXJuIEZpbGVVdGlsLmZpbmQodGhpcy5maWxlLmd1aWQsIGZhbHNlKS5mb3JtYXQgPT09IFwiTWljcm9zb2Z0IEV4Y2VsXCI7XHJcbiAgfVxyXG5cclxuICBnZXREaW1lbnNpb25XaXRoVW5pdCh2YWx1ZTogbnVtYmVyKSB7XHJcbiAgICByZXR1cm4gdmFsdWUgKyAodGhpcy5tb2RlID8gRmlsZVV0aWwuZmluZCh0aGlzLmZpbGUuZ3VpZCwgZmFsc2UpLnVuaXQgOiAncHgnKTtcclxuICB9XHJcblxyXG4gIGlmRWRnZSgpIHtcclxuICAgIHJldHVybiBuYXZpZ2F0b3IudXNlckFnZW50LnRvTG93ZXJDYXNlKCkuaW5kZXhPZignZWRnZScpID4gLTE7XHJcbiAgfVxyXG5cclxuICBuZ0FmdGVyVmlld0NoZWNrZWQoKTogdm9pZCB7XHJcbiAgICBjb25zdCBlbGVtZW50Tm9kZUxpc3RPZiA9IHRoaXMuX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5xdWVyeVNlbGVjdG9yQWxsKCcuZ2Qtd3JhcHBlcicpO1xyXG4gICAgY29uc3QgZWxlbWVudCA9IGVsZW1lbnROb2RlTGlzdE9mLml0ZW0oMCk7XHJcbiAgICBpZiAoZWxlbWVudCkge1xyXG4gICAgICAkKGVsZW1lbnQpLnRyaWdnZXIoJ2ZvY3VzJyk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBhYnNvbHV0ZVBvc2l0aW9uKGVsKSB7XHJcbiAgICBsZXQgeCA9IDAsIHkgPSAwO1xyXG5cclxuICAgIHdoaWxlIChlbCAhPT0gbnVsbCkge1xyXG4gICAgICB4ICs9IGVsLm9mZnNldExlZnQ7XHJcbiAgICAgIHkgKz0gZWwub2Zmc2V0VG9wO1xyXG4gICAgICBlbCA9IGVsLm9mZnNldFBhcmVudDtcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4ge3g6IHgsIHk6IHl9O1xyXG4gIH07XHJcblxyXG4gIHJlc3RyaWN0UmF3UG9zKHBvcywgdmlld3BvcnREaW0sIGRvY0RpbSkge1xyXG4gICAgaWYgKHBvcyA8IHZpZXdwb3J0RGltIC8gdGhpcy5zY2FsZSAtIGRvY0RpbSkgeyAvLyB0b28gZmFyIGxlZnQvdXA/XHJcbiAgICAgIHBvcyA9IHZpZXdwb3J0RGltIC8gdGhpcy5zY2FsZSAtIGRvY0RpbTtcclxuICAgIH0gZWxzZSBpZiAocG9zID4gMCkgeyAvLyB0b28gZmFyIHJpZ2h0L2Rvd24/XHJcbiAgICAgIHBvcyA9IDA7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gcG9zO1xyXG4gIH07XHJcblxyXG4gIHVwZGF0ZUxhc3RQb3MoKSB7XHJcbiAgICB0aGlzLmxhc3RYID0gdGhpcy54O1xyXG4gICAgdGhpcy5sYXN0WSA9IHRoaXMueTtcclxuICB9O1xyXG5cclxuICB0cmFuc2xhdGUoZGVsdGFYLCBkZWx0YVkpIHtcclxuICAgIC8vIFdlIHJlc3RyaWN0IHRvIHRoZSBtaW4gb2YgdGhlIHZpZXdwb3J0IHdpZHRoL2hlaWdodCBvciBjdXJyZW50IHdpZHRoL2hlaWdodCBhcyB0aGVcclxuICAgIC8vIGN1cnJlbnQgd2lkdGgvaGVpZ2h0IG1heSBiZSBzbWFsbGVyIHRoYW4gdGhlIHZpZXdwb3J0IHdpZHRoL2hlaWdodFxyXG4gICAgY29uc3QgbmV3WCA9IHRoaXMucmVzdHJpY3RSYXdQb3ModGhpcy5sYXN0WCArIGRlbHRhWCAvIHRoaXMuc2NhbGUsXHJcbiAgICAgIE1hdGgubWluKHRoaXMudmlld3BvcnRXaWR0aCwgdGhpcy5jdXJXaWR0aCksIHRoaXMuZG9jV2lkdGgpO1xyXG4gICAgdGhpcy54ID0gbmV3WDtcclxuICAgIC8vIFRPRE86IHZhbHVlIGhlcmUgYW5kIGluIHRoZSBzaW1pbGFyIGxpbmUgYmVsb3cgY2hhbmdlcyB0byBwb3NpdGl2ZSB0byB0YWtlIGFueSBlZmZlY3RcclxuICAgIHRoaXMuY29udGFpbmVyLnNjcm9sbExlZnQgPSAtTWF0aC5jZWlsKG5ld1ggKiB0aGlzLnNjYWxlKTtcclxuXHJcbiAgICBjb25zdCBuZXdZID0gdGhpcy5yZXN0cmljdFJhd1Bvcyh0aGlzLmxhc3RZICsgZGVsdGFZIC8gdGhpcy5zY2FsZSxcclxuICAgICAgTWF0aC5taW4odGhpcy52aWV3cG9ydEhlaWdodCwgdGhpcy5jdXJIZWlnaHQpLCB0aGlzLmRvY0hlaWdodCk7XHJcbiAgICB0aGlzLnkgPSBuZXdZO1xyXG4gICAgdGhpcy5jb250YWluZXIuc2Nyb2xsVG9wID0gLU1hdGguY2VpbChuZXdZICogdGhpcy5zY2FsZSk7XHJcblxyXG4gICAgdGhpcy5kb2Muc3R5bGUudHJhbnNmb3JtID0gJ3NjYWxlKCcgKyB0aGlzLnNjYWxlICsgJyknO1xyXG4gIH07XHJcblxyXG4gIHN0YXJ0Wm9vbShzY2FsZUJ5KSB7XHJcbiAgICB0aGlzLnNjYWxlID0gdGhpcy5sYXN0U2NhbGUgKiBzY2FsZUJ5O1xyXG5cclxuICAgIHRoaXMuY3VyV2lkdGggPSB0aGlzLmRvY1dpZHRoICogdGhpcy5zY2FsZTtcclxuICAgIHRoaXMuY3VySGVpZ2h0ID0gdGhpcy5kb2NIZWlnaHQgKiB0aGlzLnNjYWxlO1xyXG5cclxuICAgIC8vIEFkanVzdCBtYXJnaW5zIHRvIG1ha2Ugc3VyZSB0aGF0IHdlIGFyZW4ndCBvdXQgb2YgYm91bmRzXHJcbiAgICB0aGlzLnRyYW5zbGF0ZSgwLCAwKTtcclxuICB9O1xyXG5cclxuICByYXdDZW50ZXIoJGV2ZW50KSB7XHJcbiAgICBjb25zdCBwb3MgPSB0aGlzLmFic29sdXRlUG9zaXRpb24odGhpcy5jb250YWluZXIpO1xyXG5cclxuICAgIC8vIFdlIG5lZWQgdG8gYWNjb3VudCBmb3IgdGhlIHNjcm9sbCBwb3NpdGlvblxyXG4gICAgY29uc3Qgc2Nyb2xsTGVmdCA9IHdpbmRvdy5wYWdlWE9mZnNldCA/IHdpbmRvdy5wYWdlWE9mZnNldCA6IGRvY3VtZW50LmJvZHkuc2Nyb2xsTGVmdDtcclxuICAgIGNvbnN0IHNjcm9sbFRvcCA9IHdpbmRvdy5wYWdlWU9mZnNldCA/IHdpbmRvdy5wYWdlWU9mZnNldCA6IGRvY3VtZW50LmJvZHkuc2Nyb2xsVG9wO1xyXG5cclxuICAgIGNvbnN0IHpvb21YID0gLXRoaXMueCArICgkZXZlbnQuY2VudGVyLnggLSBwb3MueCArIHNjcm9sbExlZnQpIC8gdGhpcy5zY2FsZTtcclxuICAgIGNvbnN0IHpvb21ZID0gLXRoaXMueSArICgkZXZlbnQuY2VudGVyLnkgLSBwb3MueSArIHNjcm9sbFRvcCkgLyB0aGlzLnNjYWxlO1xyXG5cclxuICAgIHJldHVybiB7eDogem9vbVgsIHk6IHpvb21ZfTtcclxuICB9O1xyXG5cclxuICB1cGRhdGVMYXN0U2NhbGUoKSB7XHJcbiAgICB0aGlzLmxhc3RTY2FsZSA9IHRoaXMuc2NhbGU7XHJcbiAgfTtcclxuXHJcbiAgem9vbUFyb3VuZChzY2FsZUJ5LCByYXdab29tWCwgcmF3Wm9vbVksIGRvTm90VXBkYXRlTGFzdCkge1xyXG4gICAgLy8gWm9vbVxyXG4gICAgdGhpcy5zdGFydFpvb20oc2NhbGVCeSk7XHJcblxyXG4gICAgLy8gTmV3IHJhdyBjZW50ZXIgb2Ygdmlld3BvcnRcclxuICAgIGNvbnN0IHJhd0NlbnRlclggPSAtdGhpcy54ICsgTWF0aC5taW4odGhpcy52aWV3cG9ydFdpZHRoLCB0aGlzLmN1cldpZHRoKSAvIDIgLyB0aGlzLnNjYWxlO1xyXG4gICAgY29uc3QgcmF3Q2VudGVyWSA9IC10aGlzLnkgKyBNYXRoLm1pbih0aGlzLnZpZXdwb3J0SGVpZ2h0LCB0aGlzLmN1ckhlaWdodCkgLyAyIC8gdGhpcy5zY2FsZTtcclxuXHJcbiAgICAvLyBEZWx0YVxyXG4gICAgY29uc3QgZGVsdGFYID0gKHJhd0NlbnRlclggLSByYXdab29tWCkgKiB0aGlzLnNjYWxlO1xyXG4gICAgY29uc3QgZGVsdGFZID0gKHJhd0NlbnRlclkgLSByYXdab29tWSkgKiB0aGlzLnNjYWxlO1xyXG5cclxuICAgIC8vIFRyYW5zbGF0ZSBiYWNrIHRvIHpvb20gY2VudGVyXHJcbiAgICB0aGlzLnRyYW5zbGF0ZShkZWx0YVgsIGRlbHRhWSk7XHJcblxyXG4gICAgaWYgKCFkb05vdFVwZGF0ZUxhc3QpIHtcclxuICAgICAgdGhpcy51cGRhdGVMYXN0U2NhbGUoKTtcclxuICAgICAgdGhpcy51cGRhdGVMYXN0UG9zKCk7XHJcbiAgICB9XHJcbiAgfTtcclxuXHJcbiAgb25QaW5jaCgkZXZlbnQpIHtcclxuICAgIGlmICh0aGlzLnBpbmNoQ2VudGVyID09PSBudWxsKSB7XHJcbiAgICAgIHRoaXMucGluY2hDZW50ZXIgPSB0aGlzLnJhd0NlbnRlcigkZXZlbnQpO1xyXG4gICAgICBjb25zdCBvZmZzZXRYID0gdGhpcy5waW5jaENlbnRlci54ICogdGhpcy5zY2FsZSAtICgtdGhpcy54ICogdGhpcy5zY2FsZSArIE1hdGgubWluKHRoaXMudmlld3BvcnRXaWR0aCwgdGhpcy5jdXJXaWR0aCkgLyAyKTtcclxuICAgICAgY29uc3Qgb2Zmc2V0WSA9IHRoaXMucGluY2hDZW50ZXIueSAqIHRoaXMuc2NhbGUgLSAoLXRoaXMueSAqIHRoaXMuc2NhbGUgKyBNYXRoLm1pbih0aGlzLnZpZXdwb3J0SGVpZ2h0LCB0aGlzLmN1ckhlaWdodCkgLyAyKTtcclxuICAgICAgdGhpcy5waW5jaENlbnRlck9mZnNldCA9IHt4OiBvZmZzZXRYLCB5OiBvZmZzZXRZfTtcclxuICAgIH1cclxuXHJcbiAgICBjb25zdCBuZXdTY2FsZSA9IHRoaXMuc2NhbGUgKiAkZXZlbnQuc2NhbGU7XHJcblxyXG4gICAgY29uc3Qgem9vbVggPSB0aGlzLnBpbmNoQ2VudGVyLnggKiBuZXdTY2FsZSAtIHRoaXMucGluY2hDZW50ZXJPZmZzZXQueDtcclxuICAgIGNvbnN0IHpvb21ZID0gdGhpcy5waW5jaENlbnRlci55ICogbmV3U2NhbGUgLSB0aGlzLnBpbmNoQ2VudGVyT2Zmc2V0Lnk7XHJcbiAgICBjb25zdCB6b29tQ2VudGVyID0ge3g6IHpvb21YIC8gbmV3U2NhbGUsIHk6IHpvb21ZIC8gbmV3U2NhbGV9O1xyXG5cclxuICAgIHRoaXMuem9vbUFyb3VuZCgkZXZlbnQuc2NhbGUsIHpvb21DZW50ZXIueCwgem9vbUNlbnRlci55LCB0cnVlKTtcclxuICB9XHJcblxyXG4gIG9uUGluY2hFbmQoJGV2ZW50KSB7XHJcbiAgICB0aGlzLnVwZGF0ZUxhc3RTY2FsZSgpO1xyXG4gICAgdGhpcy51cGRhdGVMYXN0UG9zKCk7XHJcbiAgICB0aGlzLnBpbmNoQ2VudGVyID0gbnVsbDtcclxuICB9XHJcblxyXG4gIG9uUGFuKCRldmVudCkge1xyXG4gICAgLy8gVE9ETzogbG9va3MgbGlrZSBuYXRpdmUgcGFuIHdvcmtzIGJldHRlclxyXG4gICAgLy8gaWYgKCF0aGlzLmlzRGVza3RvcCkge1xyXG4gICAgLy8gICB0aGlzLnRyYW5zbGF0ZSgkZXZlbnQuZGVsdGFYLCAkZXZlbnQuZGVsdGFZKTtcclxuICAgIC8vIH1cclxuICB9XHJcblxyXG4gIG9uUGFuRW5kKCRldmVudCkge1xyXG4gICAgLy8gaWYgKCF0aGlzLmlzRGVza3RvcCkge1xyXG4gICAgLy8gICB0aGlzLnVwZGF0ZUxhc3RQb3MoKTtcclxuICAgIC8vIH1cclxuICB9XHJcblxyXG4gIG9uRG91YmxlVGFwKCRldmVudCkge1xyXG4gICAgaWYgKCF0aGlzLmlzRGVza3RvcCkge1xyXG4gICAgICBpZiAoJGV2ZW50LnRhcENvdW50ID09PSAyKSB7XHJcbiAgICAgICAgY29uc3QgYyA9IHRoaXMucmF3Q2VudGVyKCRldmVudCk7XHJcbiAgICAgICAgdGhpcy56b29tQXJvdW5kKDIsIGMueCwgYy55LCBmYWxzZSk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuIl19 \ No newline at end of file diff --git a/dist/libs/common-components/esm5/lib/document/document.component.js b/dist/libs/common-components/esm5/lib/document/document.component.js index c11cc25e5..381fba5e8 100644 --- a/dist/libs/common-components/esm5/lib/document/document.component.js +++ b/dist/libs/common-components/esm5/lib/document/document.component.js @@ -386,8 +386,8 @@ var DocumentComponent = /** @class */ (function () { DocumentComponent.decorators = [ { type: 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}.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}.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}}"] + template: "
Please wait...
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n", + styles: [":host{flex:1;transition:.4s;background-color:#e7e7e7;height:100%;overflow:scroll}.page{display:inline-block;background-color:#fff;margin:20px;box-shadow:0 3px 6px rgba(0,0,0,.16);transition:.3s}.page.excel{overflow:auto}.wait{position:absolute;top:55px;left:Calc(30%)}.panzoom{display:flex;flex-direction:row;flex-wrap:wrap;justify-content:center;align-content:flex-start}@media (max-width:1037px){.page{min-width:unset!important;min-height:unset!important;margin:5px 0}}"] }] } ]; /** @nocollapse */ @@ -473,4 +473,4 @@ if (false) { /* Skipping unhandled member: ;*/ /* Skipping unhandled member: ;*/ } -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG9jdW1lbnQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGdyb3VwZG9jcy5leGFtcGxlcy5hbmd1bGFyL2NvbW1vbi1jb21wb25lbnRzLyIsInNvdXJjZXMiOlsibGliL2RvY3VtZW50L2RvY3VtZW50LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxFQUVMLFNBQVMsRUFDVCxVQUFVLEVBQ1YsS0FBSyxFQUlOLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBQyxlQUFlLEVBQUUsUUFBUSxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFDMUQsT0FBTyxFQUFDLFdBQVcsRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBQzVDLE9BQU8sS0FBSyxNQUFNLE1BQU0sVUFBVSxDQUFDO0FBQ25DLE9BQU8sRUFBQyxhQUFhLEVBQUMsTUFBTSxtQkFBbUIsQ0FBQztBQUNoRCxPQUFPLEtBQUssTUFBTSxNQUFNLFFBQVEsQ0FBQzs7SUFFM0IsQ0FBQyxHQUFHLE1BQU07QUFFaEI7SUErQkUsMkJBQXNCLFdBQW9DLEVBQ3RDLFlBQXlCLEVBQ3pCLGNBQTZCO1FBRmpELGlCQVNDO1FBVHFCLGdCQUFXLEdBQVgsV0FBVyxDQUF5QjtRQUN0QyxpQkFBWSxHQUFaLFlBQVksQ0FBYTtRQUN6QixtQkFBYyxHQUFkLGNBQWMsQ0FBZTtRQXZCakQsU0FBSSxHQUFHLEtBQUssQ0FBQztRQUdiLGFBQVEsR0FBRyxJQUFJLENBQUM7UUFDaEIsY0FBUyxHQUFHLElBQUksQ0FBQztRQUNqQixrQkFBYSxHQUFHLElBQUksQ0FBQztRQUNyQixtQkFBYyxHQUFHLElBQUksQ0FBQztRQUN0QixVQUFLLEdBQUcsSUFBSSxDQUFDO1FBQ2IsY0FBUyxHQUFHLElBQUksQ0FBQztRQUNqQixjQUFTLEdBQUcsSUFBSSxDQUFDO1FBQ2pCLFFBQUcsR0FBRyxJQUFJLENBQUM7UUFDWCxNQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ04sVUFBSyxHQUFHLENB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aUNBQWE7O0lBQ2IsaUNBQWE7O0lBRWIscUNBQWdCOztJQUNoQixzQ0FBaUI7O0lBQ2pCLDBDQUFxQjs7SUFDckIsMkNBQXNCOztJQUN0QixrQ0FBYTs7SUFDYixzQ0FBaUI7O0lBQ2pCLHNDQUFpQjs7SUFDakIsZ0NBQVc7O0lBQ1gsOEJBQU07O0lBQ04sa0NBQVU7O0lBQ1YsOEJBQU07O0lBQ04sa0NBQVU7O0lBQ1Ysd0NBQW1COztJQUNuQiw4Q0FBeUI7O0lBQ3pCLHFDQUFhOztJQUNiLHNDQUFjOztJQUNkLHNDQUFtQjs7Ozs7SUFFUCx3Q0FBOEM7Ozs7O0lBQzlDLHlDQUFpQzs7Ozs7SUFDakMsMkNBQXFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQWZ0ZXJWaWV3Q2hlY2tlZCxcbiAgQ29tcG9uZW50LFxuICBFbGVtZW50UmVmLFxuICBJbnB1dCxcbiAgT25Jbml0LFxuICBBZnRlclZpZXdJbml0LFxuICBPbkNoYW5nZXNcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0ZpbGVEZXNjcmlwdGlvbiwgRmlsZVV0aWx9IGZyb20gXCIuLi9maWxlLnNlcnZpY2VcIjtcbmltcG9ydCB7Wm9vbVNlcnZpY2V9IGZyb20gXCIuLi96b29tLnNlcnZpY2VcIjtcbmltcG9ydCAqIGFzIEhhbW1lciBmcm9tICdoYW1tZXJqcyc7XG5pbXBvcnQge1dpbmRvd1NlcnZpY2V9IGZyb20gJy4uL3dpbmRvdy5zZXJ2aWNlJztcbmltcG9ydCAqIGFzIGpxdWVyeSBmcm9tICdqcXVlcnknO1xuXG5jb25zdCAkID0ganF1ZXJ5O1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdnZC1kb2N1bWVudCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9kb2N1bWVudC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2RvY3VtZW50LmNvbXBvbmVudC5sZXNzJ11cbn0pXG5leHBvcnQgY2xhc3MgRG9jdW1lbnRDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIEFmdGVyVmlld0NoZWNrZWQsIEFmdGVyVmlld0luaXQsIE9uQ2hhbmdlcyB7XG5cbiAgQElucHV0KCkgbW9kZTogYm9vbGVhbjtcbiAgQElucHV0KCkgcHJlbG9hZFBhZ2VDb3VudDogbnVtYmVyO1xuICBASW5wdXQoKSBmaWxlOiBGaWxlRGVzY3JpcHRpb247XG4gIHdhaXQgPSBmYWxzZTtcbiAgem9vbTogbnVtYmVyO1xuXG4gIGRvY1dpZHRoID0gbnVsbDtcbiAgZG9jSGVpZ2h0ID0gbnVsbDtcbiAgdmlld3BvcnRXaWR0aCA9IG51bGw7XG4gIHZpZXdwb3J0SGVpZ2h0ID0gbnVsbDtcbiAgc2NhbGUgPSBudWxsO1xuICBsYXN0U2NhbGUgPSBudWxsO1xuICBjb250YWluZXIgPSBudWxsO1xuICBkb2MgPSBudWxsO1xuICB4ID0gMDtcbiAgbGFzdFggPSAwO1xuICB5ID0gMDtcbiAgbGFzdFkgPSAwO1xuICBwaW5jaENlbnRlciA9IG51bGw7XG4gIHBpbmNoQ2VudGVyT2Zmc2V0ID0gbnVsbDtcbiAgY3VyV2lkdGggPSAwO1xuICBjdXJIZWlnaHQgPSAwO1xuICBpc0Rlc2t0b3A6IGJvb2xlYW47XG5cbiAgY29uc3RydWN0b3IocHJvdGVjdGVkIF9lbGVtZW50UmVmOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PixcbiAgICAgICAgICAgICAgcHJpdmF0ZSBfem9vbVNlcnZpY2U6IFpvb21TZXJ2aWNlLFxuICAgICAgICAgICAgICBwcml2YXRlIF93aW5kb3dTZXJ2aWNlOiBXaW5kb3dTZXJ2aWNlKSB7XG5cbiAgICBfem9vbVNlcnZpY2Uuem9vbUNoYW5nZS5zdWJzY3JpYmUoKHZhbDogbnVtYmVyKSA9PiB7XG4gICAgICB0aGlzLnpvb20gPSB2YWw7XG4gICAgfSk7XG5cbiAgICB0aGlzLmlzRGVza3RvcCA9IF93aW5kb3dTZXJ2aWNlLmlzRGVza3RvcCgpO1xuICB9XG5cbiAgbmdPbkluaXQoKSB7XG4gIH1cblxuICBuZ09uQ2hhbmdlcygpIHtcbiAgICBjb25zdCBwYW56b29tID0gdGhpcy5fZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LmNoaWxkcmVuLml0ZW0oMCkuY2hpbGRyZW4uaXRlbSgwKTtcbiAgICAocGFuem9vbSBhcyBhbnkpLnN0eWxlLnRyYW5zZm9ybSA9ICcnO1xuICAgIC8vIFRPRE86IHRoaXMgaW50ZXJzZWN0cyB3aXRoIHpvb21pbmcgYnkgem9vbSBkaXJlY3RpdmUsIGJ1dCBzdGlsbCBuZWVkZWRcbiAgICAvLyBmb3IgZmx1c2ggcHJldmlvdXMgc2V0dGluZ3MgYmVmb3JlIG9wZW5pbmcgYW5vdGhlciBmaWxlXG4gICAgLy90aGlzLl96b29tU2VydmljZS5jaGFuZ2Vab29tKDEwMCk7XG4gICAgLy90aGlzLnNjYWxlID0gMTtcbiAgfVxuXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcbiAgICAvLyBGb3IgY3VycmVudCBpdGVyYXRpb24gd2UgdGFrZSAucGFuem9vbSBhcyBhIGRvY3VtZW50XG4gICAgdGhpcy5kb2MgPSB0aGlzLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuY2hpbGRyZW4uaXRlbSgwKS5jaGlsZHJlbi5pdGVtKDApO1xuICAgIC8vIEZvciBjdXJyZW50IGl0ZXJhdGlvbiB3ZSB0YWtlIC5nZC1kb2N1bWVudCBhcyBhIGNvbnRhaW5lclxuICAgIHRoaXMuY29udGFpbmVyID0gdGhpcy5fZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50O1xuXG4gICAgdGhpcy5kb2NXaWR0aCA9IHRoaXMuZG9jLmNsaWVudFdpZHRoO1xuICAgIHRoaXMuZG9jSGVpZ2h0ID0gdGhpcy5kb2MuY2xpZW50SGVpZ2h0O1xuICAgIHRoaXMudmlld3BvcnRXaWR0aCA9IHRoaXMuZG9jLm9mZnNldFdpZHRoO1xuXG4gICAgLy8gRm9yIGNhc2VzIHdoZXJlIHdlIGFscmVhZHkgaGF2ZSB6b29tIGRlZmluZWQgd2Ugc2hvdWxkIGluY2x1ZGUgaXRcbiAgICB0aGlzLnNjYWxlID0gKHRoaXMudmlld3BvcnRXaWR0aCAvIHRoaXMuZG9jV2lkdGgpICogdGhpcy5fem9vbVNlcnZpY2Uuem9vbSAvIDEwMDtcblxuICAgIHRoaXMubGFzdFNjYWxlID0gdGhpcy5zY2FsZTtcbiAgICB0aGlzLnZpZXdwb3J0SGVpZ2h0ID0gdGhpcy5jb250YWluZXIub2Zmc2V0SGVpZ2h0O1xuICAgIHRoaXMuY3VyV2lkdGggPSB0aGlzLmRvY1dpZHRoICogdGhpcy5zY2FsZTtcbiAgICB0aGlzLmN1ckhlaWdodCA9IHRoaXMuZG9jSGVpZ2h0ICogdGhpcy5zY2FsZTtcblxuICAgIGNvbnN0IGhhbW1lciA9IG5ldyBIYW1tZXIodGhpcy5jb250YWluZXIpO1xuICB9XG5cbiAgLy8gVE9ETzogdGhpcyB0ZW1wb3JhcnkgY3J1dGNoIGZvciBFeGNlbCBmaWxlcyBzaG91bGQgYmUgZG9jdW1lbnRlZFxuICBpZkV4Y2VsKCkge1xuICAgIHJldHVybiBGaWxlVXRpbC5maW5kKHRoaXMuZmlsZS5ndWlkLCBmYWxzZSkuZm9ybWF0ID09PSBcIk1pY3Jvc29mdCBFeGNlbFwiO1xuICB9XG5cbiAgZ2V0RGltZW5zaW9uV2l0aFVuaXQodmFsdWU6IG51bWJlcikge1xuICAgIHJldHVybiB2YWx1ZSArICh0aGlzLm1vZGUgPyBGaWxlVXRpbC5maW5kKHRoaXMuZmlsZS5ndWlkLCBmYWxzZSkudW5pdCA6ICdweCcpO1xuICB9XG5cbiAgaWZFZGdlKCkge1xuICAgIHJldHVybiBuYXZpZ2F0b3IudXNlckFnZW50LnRvTG93ZXJDYXNlKCkuaW5kZXhPZignZWRnZScpID4gLTE7XG4gIH1cblxuICBuZ0FmdGVyVmlld0NoZWNrZWQoKTogdm9pZCB7XG4gICAgY29uc3QgZWxlbWVudE5vZGVMaXN0T2YgPSB0aGlzLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQucXVlcnlTZWxlY3RvckFsbCgnLmdkLXdyYXBwZXInKTtcbiAgICBjb25zdCBlbGVtZW50ID0gZWxlbWVudE5vZGVMaXN0T2YuaXRlbSgwKTtcbiAgICBpZiAoZWxlbWVudCkge1xuICAgICAgJChlbGVtZW50KS50cmlnZ2VyKCdmb2N1cycpO1xuICAgIH1cbiAgfVxuXG4gIGFic29sdXRlUG9zaXRpb24oZWwpIHtcbiAgICBsZXQgeCA9IDAsIHkgPSAwO1xuXG4gICAgd2hpbGUgKGVsICE9PSBudWxsKSB7XG4gICAgICB4ICs9IGVsLm9mZnNldExlZnQ7XG4gICAgICB5ICs9IGVsLm9mZnNldFRvcDtcbiAgICAgIGVsID0gZWwub2Zmc2V0UGFyZW50O1xuICAgIH1cblxuICAgIHJldHVybiB7eDogeCwgeTogeX07XG4gIH07XG5cbiAgcmVzdHJpY3RSYXdQb3MocG9zLCB2aWV3cG9ydERpbSwgZG9jRGltKSB7XG4gICAgaWYgKHBvcyA8IHZpZXdwb3J0RGltIC8gdGhpcy5zY2FsZSAtIGRvY0RpbSkgeyAvLyB0b28gZmFyIGxlZnQvdXA/XG4gICAgICBwb3MgPSB2aWV3cG9ydERpbSAvIHRoaXMuc2NhbGUgLSBkb2NEaW07XG4gICAgfSBlbHNlIGlmIChwb3MgPiAwKSB7IC8vIHRvbyBmYXIgcmlnaHQvZG93bj9cbiAgICAgIHBvcyA9IDA7XG4gICAgfVxuICAgIHJldHVybiBwb3M7XG4gIH07XG5cbiAgdXBkYXRlTGFzdFBvcygpIHtcbiAgICB0aGlzLmxhc3RYID0gdGhpcy54O1xuICAgIHRoaXMubGFzdFkgPSB0aGlzLnk7XG4gIH07XG5cbiAgdHJhbnNsYXRlKGRlbHRhWCwgZGVsdGFZKSB7XG4gICAgLy8gV2UgcmVzdHJpY3QgdG8gdGhlIG1pbiBvZiB0aGUgdmlld3BvcnQgd2lkdGgvaGVpZ2h0IG9yIGN1cnJlbnQgd2lkdGgvaGVpZ2h0IGFzIHRoZVxuICAgIC8vIGN1cnJlbnQgd2lkdGgvaGVpZ2h0IG1heSBiZSBzbWFsbGVyIHRoYW4gdGhlIHZpZXdwb3J0IHdpZHRoL2hlaWdodFxuICAgIGNvbnN0IG5ld1ggPSB0aGlzLnJlc3RyaWN0UmF3UG9zKHRoaXMubGFzdFggKyBkZWx0YVggLyB0aGlzLnNjYWxlLFxuICAgICAgTWF0aC5taW4odGhpcy52aWV3cG9ydFdpZHRoLCB0aGlzLmN1cldpZHRoKSwgdGhpcy5kb2NXaWR0aCk7XG4gICAgdGhpcy54ID0gbmV3WDtcbiAgICAvLyBUT0RPOiB2YWx1ZSBoZXJlIGFuZCBpbiB0aGUgc2ltaWxhciBsaW5lIGJlbG93IGNoYW5nZXMgdG8gcG9zaXRpdmUgdG8gdGFrZSBhbnkgZWZmZWN0XG4gICAgdGhpcy5jb250YWluZXIuc2Nyb2xsTGVmdCA9IC1NYXRoLmNlaWwobmV3WCAqIHRoaXMuc2NhbGUpO1xuXG4gICAgY29uc3QgbmV3WSA9IHRoaXMucmVzdHJpY3RSYXdQb3ModGhpcy5sYXN0WSArIGRlbHRhWSAvIHRoaXMuc2NhbGUsXG4gICAgICBNYXRoLm1pbih0aGlzLnZpZXdwb3J0SGVpZ2h0LCB0aGlzLmN1ckhlaWdodCksIHRoaXMuZG9jSGVpZ2h0KTtcbiAgICB0aGlzLnkgPSBuZXdZO1xuICAgIHRoaXMuY29udGFpbmVyLnNjcm9sbFRvcCA9IC1NYXRoLmNlaWwobmV3WSAqIHRoaXMuc2NhbGUpO1xuXG4gICAgdGhpcy5kb2Muc3R5bGUudHJhbnNmb3JtID0gJ3NjYWxlKCcgKyB0aGlzLnNjYWxlICsgJyknO1xuICB9O1xuXG4gIHN0YXJ0Wm9vbShzY2FsZUJ5KSB7XG4gICAgdGhpcy5zY2FsZSA9IHRoaXMubGFzdFNjYWxlICogc2NhbGVCeTtcblxuICAgIHRoaXMuY3VyV2lkdGggPSB0aGlzLmRvY1dpZHRoICogdGhpcy5zY2FsZTtcbiAgICB0aGlzLmN1ckhlaWdodCA9IHRoaXMuZG9jSGVpZ2h0ICogdGhpcy5zY2FsZTtcblxuICAgIC8vIEFkanVzdCBtYXJnaW5zIHRvIG1ha2Ugc3VyZSB0aGF0IHdlIGFyZW4ndCBvdXQgb2YgYm91bmRzXG4gICAgdGhpcy50cmFuc2xhdGUoMCwgMCk7XG4gIH07XG5cbiAgcmF3Q2VudGVyKCRldmVudCkge1xuICAgIGNvbnN0IHBvcyA9IHRoaXMuYWJzb2x1dGVQb3NpdGlvbih0aGlzLmNvbnRhaW5lcik7XG5cbiAgICAvLyBXZSBuZWVkIHRvIGFjY291bnQgZm9yIHRoZSBzY3JvbGwgcG9zaXRpb25cbiAgICBjb25zdCBzY3JvbGxMZWZ0ID0gd2luZG93LnBhZ2VYT2Zmc2V0ID8gd2luZG93LnBhZ2VYT2Zmc2V0IDogZG9jdW1lbnQuYm9keS5zY3JvbGxMZWZ0O1xuICAgIGNvbnN0IHNjcm9sbFRvcCA9IHdpbmRvdy5wYWdlWU9mZnNldCA/IHdpbmRvdy5wYWdlWU9mZnNldCA6IGRvY3VtZW50LmJvZHkuc2Nyb2xsVG9wO1xuXG4gICAgY29uc3Qgem9vbVggPSAtdGhpcy54ICsgKCRldmVudC5jZW50ZXIueCAtIHBvcy54ICsgc2Nyb2xsTGVmdCkgLyB0aGlzLnNjYWxlO1xuICAgIGNvbnN0IHpvb21ZID0gLXRoaXMueSArICgkZXZlbnQuY2VudGVyLnkgLSBwb3MueSArIHNjcm9sbFRvcCkgLyB0aGlzLnNjYWxlO1xuXG4gICAgcmV0dXJuIHt4OiB6b29tWCwgeTogem9vbVl9O1xuICB9O1xuXG4gIHVwZGF0ZUxhc3RTY2FsZSgpIHtcbiAgICB0aGlzLmxhc3RTY2FsZSA9IHRoaXMuc2NhbGU7XG4gIH07XG5cbiAgem9vbUFyb3VuZChzY2FsZUJ5LCByYXdab29tWCwgcmF3Wm9vbVksIGRvTm90VXBkYXRlTGFzdCkge1xuICAgIC8vIFpvb21cbiAgICB0aGlzLnN0YXJ0Wm9vbShzY2FsZUJ5KTtcblxuICAgIC8vIE5ldyByYXcgY2VudGVyIG9mIHZpZXdwb3J0XG4gICAgY29uc3QgcmF3Q2VudGVyWCA9IC10aGlzLnggKyBNYXRoLm1pbih0aGlzLnZpZXdwb3J0V2lkdGgsIHRoaXMuY3VyV2lkdGgpIC8gMiAvIHRoaXMuc2NhbGU7XG4gICAgY29uc3QgcmF3Q2VudGVyWSA9IC10aGlzLnkgKyBNYXRoLm1pbih0aGlzLnZpZXdwb3J0SGVpZ2h0LCB0aGlzLmN1ckhlaWdodCkgLyAyIC8gdGhpcy5zY2FsZTtcblxuICAgIC8vIERlbHRhXG4gICAgY29uc3QgZGVsdGFYID0gKHJhd0NlbnRlclggLSByYXdab29tWCkgKiB0aGlzLnNjYWxlO1xuICAgIGNvbnN0IGRlbHRhWSA9IChyYXdDZW50ZXJZIC0gcmF3Wm9vbVkpICogdGhpcy5zY2FsZTtcblxuICAgIC8vIFRyYW5zbGF0ZSBiYWNrIHRvIHpvb20gY2VudGVyXG4gICAgdGhpcy50cmFuc2xhdGUoZGVsdGFYLCBkZWx0YVkpO1xuXG4gICAgaWYgKCFkb05vdFVwZGF0ZUxhc3QpIHtcbiAgICAgIHRoaXMudXBkYXRlTGFzdFNjYWxlKCk7XG4gICAgICB0aGlzLnVwZGF0ZUxhc3RQb3MoKTtcbiAgICB9XG4gIH07XG5cbiAgb25QaW5jaCgkZXZlbnQpIHtcbiAgICBpZiAodGhpcy5waW5jaENlbnRlciA9PT0gbnVsbCkge1xuICAgICAgdGhpcy5waW5jaENlbnRlciA9IHRoaXMucmF3Q2VudGVyKCRldmVudCk7XG4gICAgICBjb25zdCBvZmZzZXRYID0gdGhpcy5waW5jaENlbnRlci54ICogdGhpcy5zY2FsZSAtICgtdGhpcy54ICogdGhpcy5zY2FsZSArIE1hdGgubWluKHRoaXMudmlld3BvcnRXaWR0aCwgdGhpcy5jdXJXaWR0aCkgLyAyKTtcbiAgICAgIGNvbnN0IG9mZnNldFkgPSB0aGlzLnBpbmNoQ2VudGVyLnkgKiB0aGlzLnNjYWxlIC0gKC10aGlzLnkgKiB0aGlzLnNjYWxlICsgTWF0aC5taW4odGhpcy52aWV3cG9ydEhlaWdodCwgdGhpcy5jdXJIZWlnaHQpIC8gMik7XG4gICAgICB0aGlzLnBpbmNoQ2VudGVyT2Zmc2V0ID0ge3g6IG9mZnNldFgsIHk6IG9mZnNldFl9O1xuICAgIH1cblxuICAgIGNvbnN0IG5ld1NjYWxlID0gdGhpcy5zY2FsZSAqICRldmVudC5zY2FsZTtcblxuICAgIGNvbnN0IHpvb21YID0gdGhpcy5waW5jaENlbnRlci54ICogbmV3U2NhbGUgLSB0aGlzLnBpbmNoQ2VudGVyT2Zmc2V0Lng7XG4gICAgY29uc3Qgem9vbVkgPSB0aGlzLnBpbmNoQ2VudGVyLnkgKiBuZXdTY2FsZSAtIHRoaXMucGluY2hDZW50ZXJPZmZzZXQueTtcbiAgICBjb25zdCB6b29tQ2VudGVyID0ge3g6IHpvb21YIC8gbmV3U2NhbGUsIHk6IHpvb21ZIC8gbmV3U2NhbGV9O1xuXG4gICAgdGhpcy56b29tQXJvdW5kKCRldmVudC5zY2FsZSwgem9vbUNlbnRlci54LCB6b29tQ2VudGVyLnksIHRydWUpO1xuICB9XG5cbiAgb25QaW5jaEVuZCgkZXZlbnQpIHtcbiAgICB0aGlzLnVwZGF0ZUxhc3RTY2FsZSgpO1xuICAgIHRoaXMudXBkYXRlTGFzdFBvcygpO1xuICAgIHRoaXMucGluY2hDZW50ZXIgPSBudWxsO1xuICB9XG5cbiAgb25QYW4oJGV2ZW50KSB7XG4gICAgLy8gVE9ETzogbG9va3MgbGlrZSBuYXRpdmUgcGFuIHdvcmtzIGJldHRlclxuICAgIC8vIGlmICghdGhpcy5pc0Rlc2t0b3ApIHtcbiAgICAvLyAgIHRoaXMudHJhbnNsYXRlKCRldmVudC5kZWx0YVgsICRldmVudC5kZWx0YVkpO1xuICAgIC8vIH1cbiAgfVxuXG4gIG9uUGFuRW5kKCRldmVudCkge1xuICAgIC8vIGlmICghdGhpcy5pc0Rlc2t0b3ApIHtcbiAgICAvLyAgIHRoaXMudXBkYXRlTGFzdFBvcygpO1xuICAgIC8vIH1cbiAgfVxuXG4gIG9uRG91YmxlVGFwKCRldmVudCkge1xuICAgIGlmICghdGhpcy5pc0Rlc2t0b3ApIHtcbiAgICAgIGlmICgkZXZlbnQudGFwQ291bnQgPT09IDIpIHtcbiAgICAgICAgY29uc3QgYyA9IHRoaXMucmF3Q2VudGVyKCRldmVudCk7XG4gICAgICAgIHRoaXMuem9vbUFyb3VuZCgyLCBjLngsIGMueSwgZmFsc2UpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIl19 \ No newline at end of file +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG9jdW1lbnQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGdyb3VwZG9jcy5leGFtcGxlcy5hbmd1bGFyL2NvbW1vbi1jb21wb25lbnRzLyIsInNvdXJjZXMiOlsibGliL2RvY3VtZW50L2RvY3VtZW50LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxFQUVMLFNBQVMsRUFDVCxVQUFVLEVBQ1YsS0FBSyxFQUlOLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBQyxlQUFlLEVBQUUsUUFBUSxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFDMUQsT0FBTyxFQUFDLFdBQVcsRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBQzVDLE9BQU8sS0FBSyxNQUFNLE1BQU0sVUFBVSxDQUFDO0FBQ25DLE9BQU8sRUFBQyxhQUFhLEVBQUMsTUFBTSxtQkFBbUIsQ0FBQztBQUNoRCxPQUFPLEtBQUssTUFBTSxNQUFNLFFBQVEsQ0FBQzs7SUFFM0IsQ0FBQyxHQUFHLE1BQU07QUFFaEI7SUErQkUsMkJBQXNCLFdBQW9DLEVBQ3RDLFlBQXlCLEVBQ3pCLGNBQTZCO1FBRmpELGlCQVNDO1FBVHFCLGdCQUFXLEdBQVgsV0FBVyxDQUF5QjtRQUN0QyxpQkFBWSxHQUFaLFlBQVksQ0FBYTtRQUN6QixtQkFBYyxHQUFkLGNBQWMsQ0FBZTtRQXZCakQsU0FBSSxHQUFHLEtBQUssQ0FBQztRQUdiLGFBQVEsR0FBRyxJQUFJLENBQUM7UUFDaEIsY0FBUyxHQUFHLElBQUksQ0FBQztRQUNqQixrQkFBYSxHQUFHLElBQUksQ0FBQztRQUNyQixtQkFBYyxHQUFHLElBQUksQ0FBQztRQUN0QixVQUFLLEdBQUcsSUFBSSxDQUFDO1FBQ2IsY0FBUyxHQUFHLElBQUksQ0FBQztRQUNqQixjQUFTLEdBQUcsSUFBSSxDQUFDO1FBQ2pCLFFBQUcsR0FBRyxJQUFJLENBQUM7UUFDWCxNQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ04sVUFBSyxHQUFHLENB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aUNBQWE7O0lBQ2IsaUNBQWE7O0lBRWIscUNBQWdCOztJQUNoQixzQ0FBaUI7O0lBQ2pCLDBDQUFxQjs7SUFDckIsMkNBQXNCOztJQUN0QixrQ0FBYTs7SUFDYixzQ0FBaUI7O0lBQ2pCLHNDQUFpQjs7SUFDakIsZ0NBQVc7O0lBQ1gsOEJBQU07O0lBQ04sa0NBQVU7O0lBQ1YsOEJBQU07O0lBQ04sa0NBQVU7O0lBQ1Ysd0NBQW1COztJQUNuQiw4Q0FBeUI7O0lBQ3pCLHFDQUFhOztJQUNiLHNDQUFjOztJQUNkLHNDQUFtQjs7Ozs7SUFFUCx3Q0FBOEM7Ozs7O0lBQzlDLHlDQUFpQzs7Ozs7SUFDakMsMkNBQXFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBBZnRlclZpZXdDaGVja2VkLFxyXG4gIENvbXBvbmVudCxcclxuICBFbGVtZW50UmVmLFxyXG4gIElucHV0LFxyXG4gIE9uSW5pdCxcclxuICBBZnRlclZpZXdJbml0LFxyXG4gIE9uQ2hhbmdlc1xyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQge0ZpbGVEZXNjcmlwdGlvbiwgRmlsZVV0aWx9IGZyb20gXCIuLi9maWxlLnNlcnZpY2VcIjtcclxuaW1wb3J0IHtab29tU2VydmljZX0gZnJvbSBcIi4uL3pvb20uc2VydmljZVwiO1xyXG5pbXBvcnQgKiBhcyBIYW1tZXIgZnJvbSAnaGFtbWVyanMnO1xyXG5pbXBvcnQge1dpbmRvd1NlcnZpY2V9IGZyb20gJy4uL3dpbmRvdy5zZXJ2aWNlJztcclxuaW1wb3J0ICogYXMganF1ZXJ5IGZyb20gJ2pxdWVyeSc7XHJcblxyXG5jb25zdCAkID0ganF1ZXJ5O1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdnZC1kb2N1bWVudCcsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2RvY3VtZW50LmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9kb2N1bWVudC5jb21wb25lbnQubGVzcyddXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBEb2N1bWVudENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgQWZ0ZXJWaWV3Q2hlY2tlZCwgQWZ0ZXJWaWV3SW5pdCwgT25DaGFuZ2VzIHtcclxuXHJcbiAgQElucHV0KCkgbW9kZTogYm9vbGVhbjtcclxuICBASW5wdXQoKSBwcmVsb2FkUGFnZUNvdW50OiBudW1iZXI7XHJcbiAgQElucHV0KCkgZmlsZTogRmlsZURlc2NyaXB0aW9uO1xyXG4gIHdhaXQgPSBmYWxzZTtcclxuICB6b29tOiBudW1iZXI7XHJcblxyXG4gIGRvY1dpZHRoID0gbnVsbDtcclxuICBkb2NIZWlnaHQgPSBudWxsO1xyXG4gIHZpZXdwb3J0V2lkdGggPSBudWxsO1xyXG4gIHZpZXdwb3J0SGVpZ2h0ID0gbnVsbDtcclxuICBzY2FsZSA9IG51bGw7XHJcbiAgbGFzdFNjYWxlID0gbnVsbDtcclxuICBjb250YWluZXIgPSBudWxsO1xyXG4gIGRvYyA9IG51bGw7XHJcbiAgeCA9IDA7XHJcbiAgbGFzdFggPSAwO1xyXG4gIHkgPSAwO1xyXG4gIGxhc3RZID0gMDtcclxuICBwaW5jaENlbnRlciA9IG51bGw7XHJcbiAgcGluY2hDZW50ZXJPZmZzZXQgPSBudWxsO1xyXG4gIGN1cldpZHRoID0gMDtcclxuICBjdXJIZWlnaHQgPSAwO1xyXG4gIGlzRGVza3RvcDogYm9vbGVhbjtcclxuXHJcbiAgY29uc3RydWN0b3IocHJvdGVjdGVkIF9lbGVtZW50UmVmOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PixcclxuICAgICAgICAgICAgICBwcml2YXRlIF96b29tU2VydmljZTogWm9vbVNlcnZpY2UsXHJcbiAgICAgICAgICAgICAgcHJpdmF0ZSBfd2luZG93U2VydmljZTogV2luZG93U2VydmljZSkge1xyXG5cclxuICAgIF96b29tU2VydmljZS56b29tQ2hhbmdlLnN1YnNjcmliZSgodmFsOiBudW1iZXIpID0+IHtcclxuICAgICAgdGhpcy56b29tID0gdmFsO1xyXG4gICAgfSk7XHJcblxyXG4gICAgdGhpcy5pc0Rlc2t0b3AgPSBfd2luZG93U2VydmljZS5pc0Rlc2t0b3AoKTtcclxuICB9XHJcblxyXG4gIG5nT25Jbml0KCkge1xyXG4gIH1cclxuXHJcbiAgbmdPbkNoYW5nZXMoKSB7XHJcbiAgICBjb25zdCBwYW56b29tID0gdGhpcy5fZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LmNoaWxkcmVuLml0ZW0oMCkuY2hpbGRyZW4uaXRlbSgwKTtcclxuICAgIChwYW56b29tIGFzIGFueSkuc3R5bGUudHJhbnNmb3JtID0gJyc7XHJcbiAgICAvLyBUT0RPOiB0aGlzIGludGVyc2VjdHMgd2l0aCB6b29taW5nIGJ5IHpvb20gZGlyZWN0aXZlLCBidXQgc3RpbGwgbmVlZGVkXHJcbiAgICAvLyBmb3IgZmx1c2ggcHJldmlvdXMgc2V0dGluZ3MgYmVmb3JlIG9wZW5pbmcgYW5vdGhlciBmaWxlXHJcbiAgICAvL3RoaXMuX3pvb21TZXJ2aWNlLmNoYW5nZVpvb20oMTAwKTtcclxuICAgIC8vdGhpcy5zY2FsZSA9IDE7XHJcbiAgfVxyXG5cclxuICBuZ0FmdGVyVmlld0luaXQoKSB7XHJcbiAgICAvLyBGb3IgY3VycmVudCBpdGVyYXRpb24gd2UgdGFrZSAucGFuem9vbSBhcyBhIGRvY3VtZW50XHJcbiAgICB0aGlzLmRvYyA9IHRoaXMuX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5jaGlsZHJlbi5pdGVtKDApLmNoaWxkcmVuLml0ZW0oMCk7XHJcbiAgICAvLyBGb3IgY3VycmVudCBpdGVyYXRpb24gd2UgdGFrZSAuZ2QtZG9jdW1lbnQgYXMgYSBjb250YWluZXJcclxuICAgIHRoaXMuY29udGFpbmVyID0gdGhpcy5fZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50O1xyXG5cclxuICAgIHRoaXMuZG9jV2lkdGggPSB0aGlzLmRvYy5jbGllbnRXaWR0aDtcclxuICAgIHRoaXMuZG9jSGVpZ2h0ID0gdGhpcy5kb2MuY2xpZW50SGVpZ2h0O1xyXG4gICAgdGhpcy52aWV3cG9ydFdpZHRoID0gdGhpcy5kb2Mub2Zmc2V0V2lkdGg7XHJcblxyXG4gICAgLy8gRm9yIGNhc2VzIHdoZXJlIHdlIGFscmVhZHkgaGF2ZSB6b29tIGRlZmluZWQgd2Ugc2hvdWxkIGluY2x1ZGUgaXRcclxuICAgIHRoaXMuc2NhbGUgPSAodGhpcy52aWV3cG9ydFdpZHRoIC8gdGhpcy5kb2NXaWR0aCkgKiB0aGlzLl96b29tU2VydmljZS56b29tIC8gMTAwO1xyXG5cclxuICAgIHRoaXMubGFzdFNjYWxlID0gdGhpcy5zY2FsZTtcclxuICAgIHRoaXMudmlld3BvcnRIZWlnaHQgPSB0aGlzLmNvbnRhaW5lci5vZmZzZXRIZWlnaHQ7XHJcbiAgICB0aGlzLmN1cldpZHRoID0gdGhpcy5kb2NXaWR0aCAqIHRoaXMuc2NhbGU7XHJcbiAgICB0aGlzLmN1ckhlaWdodCA9IHRoaXMuZG9jSGVpZ2h0ICogdGhpcy5zY2FsZTtcclxuXHJcbiAgICBjb25zdCBoYW1tZXIgPSBuZXcgSGFtbWVyKHRoaXMuY29udGFpbmVyKTtcclxuICB9XHJcblxyXG4gIC8vIFRPRE86IHRoaXMgdGVtcG9yYXJ5IGNydXRjaCBmb3IgRXhjZWwgZmlsZXMgc2hvdWxkIGJlIGRvY3VtZW50ZWRcclxuICBpZkV4Y2VsKCkge1xyXG4gICAgcmV0dXJuIEZpbGVVdGlsLmZpbmQodGhpcy5maWxlLmd1aWQsIGZhbHNlKS5mb3JtYXQgPT09IFwiTWljcm9zb2Z0IEV4Y2VsXCI7XHJcbiAgfVxyXG5cclxuICBnZXREaW1lbnNpb25XaXRoVW5pdCh2YWx1ZTogbnVtYmVyKSB7XHJcbiAgICByZXR1cm4gdmFsdWUgKyAodGhpcy5tb2RlID8gRmlsZVV0aWwuZmluZCh0aGlzLmZpbGUuZ3VpZCwgZmFsc2UpLnVuaXQgOiAncHgnKTtcclxuICB9XHJcblxyXG4gIGlmRWRnZSgpIHtcclxuICAgIHJldHVybiBuYXZpZ2F0b3IudXNlckFnZW50LnRvTG93ZXJDYXNlKCkuaW5kZXhPZignZWRnZScpID4gLTE7XHJcbiAgfVxyXG5cclxuICBuZ0FmdGVyVmlld0NoZWNrZWQoKTogdm9pZCB7XHJcbiAgICBjb25zdCBlbGVtZW50Tm9kZUxpc3RPZiA9IHRoaXMuX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5xdWVyeVNlbGVjdG9yQWxsKCcuZ2Qtd3JhcHBlcicpO1xyXG4gICAgY29uc3QgZWxlbWVudCA9IGVsZW1lbnROb2RlTGlzdE9mLml0ZW0oMCk7XHJcbiAgICBpZiAoZWxlbWVudCkge1xyXG4gICAgICAkKGVsZW1lbnQpLnRyaWdnZXIoJ2ZvY3VzJyk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBhYnNvbHV0ZVBvc2l0aW9uKGVsKSB7XHJcbiAgICBsZXQgeCA9IDAsIHkgPSAwO1xyXG5cclxuICAgIHdoaWxlIChlbCAhPT0gbnVsbCkge1xyXG4gICAgICB4ICs9IGVsLm9mZnNldExlZnQ7XHJcbiAgICAgIHkgKz0gZWwub2Zmc2V0VG9wO1xyXG4gICAgICBlbCA9IGVsLm9mZnNldFBhcmVudDtcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4ge3g6IHgsIHk6IHl9O1xyXG4gIH07XHJcblxyXG4gIHJlc3RyaWN0UmF3UG9zKHBvcywgdmlld3BvcnREaW0sIGRvY0RpbSkge1xyXG4gICAgaWYgKHBvcyA8IHZpZXdwb3J0RGltIC8gdGhpcy5zY2FsZSAtIGRvY0RpbSkgeyAvLyB0b28gZmFyIGxlZnQvdXA/XHJcbiAgICAgIHBvcyA9IHZpZXdwb3J0RGltIC8gdGhpcy5zY2FsZSAtIGRvY0RpbTtcclxuICAgIH0gZWxzZSBpZiAocG9zID4gMCkgeyAvLyB0b28gZmFyIHJpZ2h0L2Rvd24/XHJcbiAgICAgIHBvcyA9IDA7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gcG9zO1xyXG4gIH07XHJcblxyXG4gIHVwZGF0ZUxhc3RQb3MoKSB7XHJcbiAgICB0aGlzLmxhc3RYID0gdGhpcy54O1xyXG4gICAgdGhpcy5sYXN0WSA9IHRoaXMueTtcclxuICB9O1xyXG5cclxuICB0cmFuc2xhdGUoZGVsdGFYLCBkZWx0YVkpIHtcclxuICAgIC8vIFdlIHJlc3RyaWN0IHRvIHRoZSBtaW4gb2YgdGhlIHZpZXdwb3J0IHdpZHRoL2hlaWdodCBvciBjdXJyZW50IHdpZHRoL2hlaWdodCBhcyB0aGVcclxuICAgIC8vIGN1cnJlbnQgd2lkdGgvaGVpZ2h0IG1heSBiZSBzbWFsbGVyIHRoYW4gdGhlIHZpZXdwb3J0IHdpZHRoL2hlaWdodFxyXG4gICAgY29uc3QgbmV3WCA9IHRoaXMucmVzdHJpY3RSYXdQb3ModGhpcy5sYXN0WCArIGRlbHRhWCAvIHRoaXMuc2NhbGUsXHJcbiAgICAgIE1hdGgubWluKHRoaXMudmlld3BvcnRXaWR0aCwgdGhpcy5jdXJXaWR0aCksIHRoaXMuZG9jV2lkdGgpO1xyXG4gICAgdGhpcy54ID0gbmV3WDtcclxuICAgIC8vIFRPRE86IHZhbHVlIGhlcmUgYW5kIGluIHRoZSBzaW1pbGFyIGxpbmUgYmVsb3cgY2hhbmdlcyB0byBwb3NpdGl2ZSB0byB0YWtlIGFueSBlZmZlY3RcclxuICAgIHRoaXMuY29udGFpbmVyLnNjcm9sbExlZnQgPSAtTWF0aC5jZWlsKG5ld1ggKiB0aGlzLnNjYWxlKTtcclxuXHJcbiAgICBjb25zdCBuZXdZID0gdGhpcy5yZXN0cmljdFJhd1Bvcyh0aGlzLmxhc3RZICsgZGVsdGFZIC8gdGhpcy5zY2FsZSxcclxuICAgICAgTWF0aC5taW4odGhpcy52aWV3cG9ydEhlaWdodCwgdGhpcy5jdXJIZWlnaHQpLCB0aGlzLmRvY0hlaWdodCk7XHJcbiAgICB0aGlzLnkgPSBuZXdZO1xyXG4gICAgdGhpcy5jb250YWluZXIuc2Nyb2xsVG9wID0gLU1hdGguY2VpbChuZXdZICogdGhpcy5zY2FsZSk7XHJcblxyXG4gICAgdGhpcy5kb2Muc3R5bGUudHJhbnNmb3JtID0gJ3NjYWxlKCcgKyB0aGlzLnNjYWxlICsgJyknO1xyXG4gIH07XHJcblxyXG4gIHN0YXJ0Wm9vbShzY2FsZUJ5KSB7XHJcbiAgICB0aGlzLnNjYWxlID0gdGhpcy5sYXN0U2NhbGUgKiBzY2FsZUJ5O1xyXG5cclxuICAgIHRoaXMuY3VyV2lkdGggPSB0aGlzLmRvY1dpZHRoICogdGhpcy5zY2FsZTtcclxuICAgIHRoaXMuY3VySGVpZ2h0ID0gdGhpcy5kb2NIZWlnaHQgKiB0aGlzLnNjYWxlO1xyXG5cclxuICAgIC8vIEFkanVzdCBtYXJnaW5zIHRvIG1ha2Ugc3VyZSB0aGF0IHdlIGFyZW4ndCBvdXQgb2YgYm91bmRzXHJcbiAgICB0aGlzLnRyYW5zbGF0ZSgwLCAwKTtcclxuICB9O1xyXG5cclxuICByYXdDZW50ZXIoJGV2ZW50KSB7XHJcbiAgICBjb25zdCBwb3MgPSB0aGlzLmFic29sdXRlUG9zaXRpb24odGhpcy5jb250YWluZXIpO1xyXG5cclxuICAgIC8vIFdlIG5lZWQgdG8gYWNjb3VudCBmb3IgdGhlIHNjcm9sbCBwb3NpdGlvblxyXG4gICAgY29uc3Qgc2Nyb2xsTGVmdCA9IHdpbmRvdy5wYWdlWE9mZnNldCA/IHdpbmRvdy5wYWdlWE9mZnNldCA6IGRvY3VtZW50LmJvZHkuc2Nyb2xsTGVmdDtcclxuICAgIGNvbnN0IHNjcm9sbFRvcCA9IHdpbmRvdy5wYWdlWU9mZnNldCA/IHdpbmRvdy5wYWdlWU9mZnNldCA6IGRvY3VtZW50LmJvZHkuc2Nyb2xsVG9wO1xyXG5cclxuICAgIGNvbnN0IHpvb21YID0gLXRoaXMueCArICgkZXZlbnQuY2VudGVyLnggLSBwb3MueCArIHNjcm9sbExlZnQpIC8gdGhpcy5zY2FsZTtcclxuICAgIGNvbnN0IHpvb21ZID0gLXRoaXMueSArICgkZXZlbnQuY2VudGVyLnkgLSBwb3MueSArIHNjcm9sbFRvcCkgLyB0aGlzLnNjYWxlO1xyXG5cclxuICAgIHJldHVybiB7eDogem9vbVgsIHk6IHpvb21ZfTtcclxuICB9O1xyXG5cclxuICB1cGRhdGVMYXN0U2NhbGUoKSB7XHJcbiAgICB0aGlzLmxhc3RTY2FsZSA9IHRoaXMuc2NhbGU7XHJcbiAgfTtcclxuXHJcbiAgem9vbUFyb3VuZChzY2FsZUJ5LCByYXdab29tWCwgcmF3Wm9vbVksIGRvTm90VXBkYXRlTGFzdCkge1xyXG4gICAgLy8gWm9vbVxyXG4gICAgdGhpcy5zdGFydFpvb20oc2NhbGVCeSk7XHJcblxyXG4gICAgLy8gTmV3IHJhdyBjZW50ZXIgb2Ygdmlld3BvcnRcclxuICAgIGNvbnN0IHJhd0NlbnRlclggPSAtdGhpcy54ICsgTWF0aC5taW4odGhpcy52aWV3cG9ydFdpZHRoLCB0aGlzLmN1cldpZHRoKSAvIDIgLyB0aGlzLnNjYWxlO1xyXG4gICAgY29uc3QgcmF3Q2VudGVyWSA9IC10aGlzLnkgKyBNYXRoLm1pbih0aGlzLnZpZXdwb3J0SGVpZ2h0LCB0aGlzLmN1ckhlaWdodCkgLyAyIC8gdGhpcy5zY2FsZTtcclxuXHJcbiAgICAvLyBEZWx0YVxyXG4gICAgY29uc3QgZGVsdGFYID0gKHJhd0NlbnRlclggLSByYXdab29tWCkgKiB0aGlzLnNjYWxlO1xyXG4gICAgY29uc3QgZGVsdGFZID0gKHJhd0NlbnRlclkgLSByYXdab29tWSkgKiB0aGlzLnNjYWxlO1xyXG5cclxuICAgIC8vIFRyYW5zbGF0ZSBiYWNrIHRvIHpvb20gY2VudGVyXHJcbiAgICB0aGlzLnRyYW5zbGF0ZShkZWx0YVgsIGRlbHRhWSk7XHJcblxyXG4gICAgaWYgKCFkb05vdFVwZGF0ZUxhc3QpIHtcclxuICAgICAgdGhpcy51cGRhdGVMYXN0U2NhbGUoKTtcclxuICAgICAgdGhpcy51cGRhdGVMYXN0UG9zKCk7XHJcbiAgICB9XHJcbiAgfTtcclxuXHJcbiAgb25QaW5jaCgkZXZlbnQpIHtcclxuICAgIGlmICh0aGlzLnBpbmNoQ2VudGVyID09PSBudWxsKSB7XHJcbiAgICAgIHRoaXMucGluY2hDZW50ZXIgPSB0aGlzLnJhd0NlbnRlcigkZXZlbnQpO1xyXG4gICAgICBjb25zdCBvZmZzZXRYID0gdGhpcy5waW5jaENlbnRlci54ICogdGhpcy5zY2FsZSAtICgtdGhpcy54ICogdGhpcy5zY2FsZSArIE1hdGgubWluKHRoaXMudmlld3BvcnRXaWR0aCwgdGhpcy5jdXJXaWR0aCkgLyAyKTtcclxuICAgICAgY29uc3Qgb2Zmc2V0WSA9IHRoaXMucGluY2hDZW50ZXIueSAqIHRoaXMuc2NhbGUgLSAoLXRoaXMueSAqIHRoaXMuc2NhbGUgKyBNYXRoLm1pbih0aGlzLnZpZXdwb3J0SGVpZ2h0LCB0aGlzLmN1ckhlaWdodCkgLyAyKTtcclxuICAgICAgdGhpcy5waW5jaENlbnRlck9mZnNldCA9IHt4OiBvZmZzZXRYLCB5OiBvZmZzZXRZfTtcclxuICAgIH1cclxuXHJcbiAgICBjb25zdCBuZXdTY2FsZSA9IHRoaXMuc2NhbGUgKiAkZXZlbnQuc2NhbGU7XHJcblxyXG4gICAgY29uc3Qgem9vbVggPSB0aGlzLnBpbmNoQ2VudGVyLnggKiBuZXdTY2FsZSAtIHRoaXMucGluY2hDZW50ZXJPZmZzZXQueDtcclxuICAgIGNvbnN0IHpvb21ZID0gdGhpcy5waW5jaENlbnRlci55ICogbmV3U2NhbGUgLSB0aGlzLnBpbmNoQ2VudGVyT2Zmc2V0Lnk7XHJcbiAgICBjb25zdCB6b29tQ2VudGVyID0ge3g6IHpvb21YIC8gbmV3U2NhbGUsIHk6IHpvb21ZIC8gbmV3U2NhbGV9O1xyXG5cclxuICAgIHRoaXMuem9vbUFyb3VuZCgkZXZlbnQuc2NhbGUsIHpvb21DZW50ZXIueCwgem9vbUNlbnRlci55LCB0cnVlKTtcclxuICB9XHJcblxyXG4gIG9uUGluY2hFbmQoJGV2ZW50KSB7XHJcbiAgICB0aGlzLnVwZGF0ZUxhc3RTY2FsZSgpO1xyXG4gICAgdGhpcy51cGRhdGVMYXN0UG9zKCk7XHJcbiAgICB0aGlzLnBpbmNoQ2VudGVyID0gbnVsbDtcclxuICB9XHJcblxyXG4gIG9uUGFuKCRldmVudCkge1xyXG4gICAgLy8gVE9ETzogbG9va3MgbGlrZSBuYXRpdmUgcGFuIHdvcmtzIGJldHRlclxyXG4gICAgLy8gaWYgKCF0aGlzLmlzRGVza3RvcCkge1xyXG4gICAgLy8gICB0aGlzLnRyYW5zbGF0ZSgkZXZlbnQuZGVsdGFYLCAkZXZlbnQuZGVsdGFZKTtcclxuICAgIC8vIH1cclxuICB9XHJcblxyXG4gIG9uUGFuRW5kKCRldmVudCkge1xyXG4gICAgLy8gaWYgKCF0aGlzLmlzRGVza3RvcCkge1xyXG4gICAgLy8gICB0aGlzLnVwZGF0ZUxhc3RQb3MoKTtcclxuICAgIC8vIH1cclxuICB9XHJcblxyXG4gIG9uRG91YmxlVGFwKCRldmVudCkge1xyXG4gICAgaWYgKCF0aGlzLmlzRGVza3RvcCkge1xyXG4gICAgICBpZiAoJGV2ZW50LnRhcENvdW50ID09PSAyKSB7XHJcbiAgICAgICAgY29uc3QgYyA9IHRoaXMucmF3Q2VudGVyKCRldmVudCk7XHJcbiAgICAgICAgdGhpcy56b29tQXJvdW5kKDIsIGMueCwgYy55LCBmYWxzZSk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuIl19 \ 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 ba94c93ec..05155f2b3 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 @@ -3276,8 +3276,10 @@ class EditHeaderFooterDirective { */ ngAfterViewInit() { this.footerRef = this.el.nativeElement.querySelectorAll('.footer')[0]; - this.footerRef.setAttribute("contenteditable", false); - this.footerRef.className += " disabled"; + if (this.footerRef) { + this.footerRef.setAttribute("contenteditable", false); + this.footerRef.className += " disabled"; + } } /** * @return {?} @@ -3306,7 +3308,6 @@ class EditHeaderFooterDirective { /** @type {?} */ const footer = event.target.closest('.footer'); if (footer && footer.classList.contains('disabled')) { - console.log('dblclick in footer fired'); footer.classList.remove('disabled'); footer.setAttribute("contenteditable", true); footer.before(footerTitle); @@ -3319,7 +3320,6 @@ class EditHeaderFooterDirective { * @return {?} */ clickEvent(event) { - console.log('click on el fired'); /** @type {?} */ const footer = event.target.closest('.footer'); if (!footer) { 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 cb0400526..09d2ac49d 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/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/page-preload.service.ts","ng://@groupdocs.examples.angular/common-components/lib/navigate.service.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/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/editheaderfooter.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 @Output() hideSidePanel = new EventEmitter();\r\n\r\n onlyTitle = false;\r\n\r\n constructor() {\r\n }\r\n\r\n openSidePanel() {\r\n this.hideSidePanel.emit(true);\r\n }\r\n\r\n toggleTitleMode(){\r\n this.onlyTitle = !this.onlyTitle;\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 EDITOR_APP = '/editor';\r\n public static COMPARISON_APP = '/comparison';\r\n public static CONVERSION_APP = '/conversion';\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 ROTATE_DOCUMENT_PAGE = '/rotateDocumentPages';\r\n public static UPLOAD_DOCUMENTS = '/uploadDocument';\r\n public static DOWNLOAD_DOCUMENTS = '/downloadDocument';\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 COMPARE_FILES = '/compare';\r\n public static CONVERT_FILE = '/convert';\r\n public static DELETE_SIGNATURE_FILE = '/deleteSignatureFile';\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\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 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","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}\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 {\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\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 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\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\r\n ngOnInit() {\r\n }\r\n\r\n ngOnChanges() {\r\n const panzoom = this._elementRef.nativeElement.children.item(0).children.item(0);\r\n (panzoom as any).style.transform = '';\r\n // TODO: this intersects with zooming by zoom directive, but still needed\r\n // for flush previous settings before opening another file\r\n //this._zoomService.changeZoom(100);\r\n //this.scale = 1;\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 getDimensionWithUnit(value: number) {\r\n return 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 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 absolutePosition(el) {\r\n let x = 0, y = 0;\r\n\r\n while (el !== null) {\r\n x += el.offsetLeft;\r\n y += el.offsetTop;\r\n el = el.offsetParent;\r\n }\r\n\r\n return {x: x, y: y};\r\n };\r\n\r\n restrictRawPos(pos, viewportDim, docDim) {\r\n if (pos < viewportDim / this.scale - docDim) { // too far left/up?\r\n pos = viewportDim / this.scale - docDim;\r\n } else if (pos > 0) { // too far right/down?\r\n pos = 0;\r\n }\r\n return pos;\r\n };\r\n\r\n updateLastPos() {\r\n this.lastX = this.x;\r\n this.lastY = this.y;\r\n };\r\n\r\n translate(deltaX, deltaY) {\r\n // We restrict to the min of the viewport width/height or current width/height as the\r\n // current width/height may be smaller than the viewport width/height\r\n const newX = this.restrictRawPos(this.lastX + deltaX / this.scale,\r\n Math.min(this.viewportWidth, this.curWidth), this.docWidth);\r\n this.x = newX;\r\n // TODO: value here and in the similar line below changes to positive to take any effect\r\n this.container.scrollLeft = -Math.ceil(newX * this.scale);\r\n\r\n const newY = this.restrictRawPos(this.lastY + deltaY / this.scale,\r\n Math.min(this.viewportHeight, this.curHeight), this.docHeight);\r\n this.y = newY;\r\n this.container.scrollTop = -Math.ceil(newY * this.scale);\r\n\r\n this.doc.style.transform = 'scale(' + this.scale + ')';\r\n };\r\n\r\n startZoom(scaleBy) {\r\n this.scale = this.lastScale * scaleBy;\r\n\r\n this.curWidth = this.docWidth * this.scale;\r\n this.curHeight = this.docHeight * this.scale;\r\n\r\n // Adjust margins to make sure that we aren't out of bounds\r\n this.translate(0, 0);\r\n };\r\n\r\n rawCenter($event) {\r\n const pos = this.absolutePosition(this.container);\r\n\r\n // We need to account for the scroll position\r\n const scrollLeft = window.pageXOffset ? window.pageXOffset : document.body.scrollLeft;\r\n const scrollTop = window.pageYOffset ? window.pageYOffset : document.body.scrollTop;\r\n\r\n const zoomX = -this.x + ($event.center.x - pos.x + scrollLeft) / this.scale;\r\n const zoomY = -this.y + ($event.center.y - pos.y + scrollTop) / this.scale;\r\n\r\n return {x: zoomX, y: zoomY};\r\n };\r\n\r\n updateLastScale() {\r\n this.lastScale = this.scale;\r\n };\r\n\r\n zoomAround(scaleBy, rawZoomX, rawZoomY, doNotUpdateLast) {\r\n // Zoom\r\n this.startZoom(scaleBy);\r\n\r\n // New raw center of viewport\r\n const rawCenterX = -this.x + Math.min(this.viewportWidth, this.curWidth) / 2 / this.scale;\r\n const rawCenterY = -this.y + Math.min(this.viewportHeight, this.curHeight) / 2 / this.scale;\r\n\r\n // Delta\r\n const deltaX = (rawCenterX - rawZoomX) * this.scale;\r\n const deltaY = (rawCenterY - rawZoomY) * this.scale;\r\n\r\n // Translate back to zoom center\r\n this.translate(deltaX, deltaY);\r\n\r\n if (!doNotUpdateLast) {\r\n this.updateLastScale();\r\n this.updateLastPos();\r\n }\r\n };\r\n\r\n onPinch($event) {\r\n if (this.pinchCenter === null) {\r\n this.pinchCenter = this.rawCenter($event);\r\n const offsetX = this.pinchCenter.x * this.scale - (-this.x * this.scale + Math.min(this.viewportWidth, this.curWidth) / 2);\r\n const offsetY = this.pinchCenter.y * this.scale - (-this.y * this.scale + Math.min(this.viewportHeight, this.curHeight) / 2);\r\n this.pinchCenterOffset = {x: offsetX, y: offsetY};\r\n }\r\n\r\n const newScale = this.scale * $event.scale;\r\n\r\n const zoomX = this.pinchCenter.x * newScale - this.pinchCenterOffset.x;\r\n const zoomY = this.pinchCenter.y * newScale - this.pinchCenterOffset.y;\r\n const zoomCenter = {x: zoomX / newScale, y: zoomY / newScale};\r\n\r\n this.zoomAround($event.scale, zoomCenter.x, zoomCenter.y, true);\r\n }\r\n\r\n onPinchEnd($event) {\r\n this.updateLastScale();\r\n this.updateLastPos();\r\n this.pinchCenter = null;\r\n }\r\n\r\n onPan($event) {\r\n // TODO: looks like native pan works better\r\n // if (!this.isDesktop) {\r\n // this.translate($event.deltaX, $event.deltaY);\r\n // }\r\n }\r\n\r\n onPanEnd($event) {\r\n // if (!this.isDesktop) {\r\n // this.updateLastPos();\r\n // }\r\n }\r\n\r\n onDoubleTap($event) {\r\n if (!this.isDesktop) {\r\n if ($event.tapCount === 2) {\r\n const c = this.rawCenter($event);\r\n this.zoomAround(2, c.x, c.y, false);\r\n }\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 // 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 !== null ? this.data.replace(/>\\s+<').replace(/\\uFEFF/g,\"\") : null;\r\n const dataImagePngBase64 = 'data:image/png;base64,';\r\n this.imgData = dataImagePngBase64;\r\n if (!this.isHtml) {\r\n this.imgData += 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 {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 {Observable, Observer} 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 readonly _navigate: Observable;\r\n private _observer: Observer;\r\n\r\n constructor(private _pagePreloadService: PagePreloadService) {\r\n this._navigate = new Observable(observer =>\r\n this._observer = observer);\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 {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\r\n private currentPage: number;\r\n private zoom = 100;\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 const count = Math.floor((this.getWidth() - offset) / (pageEl.getBoundingClientRect().width * this.getZoom()));\r\n return count === 0 ? 1 : count;\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 this._navigateService.currentPage = page;\r\n }\r\n currentPageSet = true;\r\n }\r\n this._pagePreloadService.changeLastPageInView(page);\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 {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.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 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 scrollWidth = this.getScrollWidth(this.el.nativeElement.parentElement);\r\n this.width = (viewPortWidth/zoomInt - scrollWidth/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 @Input() isOpen = false;\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 }\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 if (this.htmlMode) {\r\n for (const page of pages) {\r\n pagesHtml += '
' +\r\n '
' + page.data + '
' +\r\n '
';\r\n }\r\n } else {\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 windowObject.focus();\r\n windowObject.print();\r\n windowObject.close();\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 {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 constructor() {\r\n }\r\n\r\n get messageChange(): Observable {\r\n return this._messageChange;\r\n }\r\n\r\n changeMessage(message: string) {\r\n this._observer.next(message);\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 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._modalService.open(CommonModals.ErrorMessage);\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 {AfterViewInit, Directive, HostBinding, Input, OnDestroy, OnInit, ElementRef, OnChanges, HostListener} 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: '[gdEditHeaderFooter]'\r\n})\r\nexport class EditHeaderFooterDirective implements OnInit, OnDestroy, AfterViewInit, OnChanges {\r\n\r\n el: ElementRef;\r\n footerRef: any;\r\n\r\n constructor(private _zoomService: ZoomService, private _windowService: WindowService, el: ElementRef) {\r\n this.el = el;\r\n }\r\n\r\n ngAfterViewInit(): void {\r\n this.footerRef = this.el.nativeElement.querySelectorAll('.footer')[0];\r\n this.footerRef.setAttribute(\"contenteditable\", false);\r\n this.footerRef.className += \" disabled\";\r\n }\r\n\r\n ngOnDestroy(): void {\r\n }\r\n\r\n ngOnChanges(): void {\r\n }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n @HostListener('dblclick', ['$event'])\r\n dblclickEvent(event) {\r\n const footerTitle = document.createElement(\"div\");\r\n footerTitle.className = \"footer-title\";\r\n footerTitle.append('Footer');\r\n\r\n const footer = event.target.closest('.footer');\r\n if (footer && footer.classList.contains('disabled')) {\r\n console.log('dblclick in footer fired');\r\n footer.classList.remove('disabled');\r\n footer.setAttribute(\"contenteditable\", true);\r\n footer.before(footerTitle);\r\n }\r\n\r\n event.preventDefault();\r\n event.stopPropagation();\r\n }\r\n\r\n @HostListener('click', ['$event'])\r\n clickEvent(event) {\r\n console.log('click on el fired');\r\n const footer = event.target.closest('.footer');\r\n if (!footer) {\r\n this.footerRef.setAttribute(\"contenteditable\", false);\r\n if (!this.footerRef.classList.contains('disabled'))\r\n {\r\n this.footerRef.className += \" disabled\";\r\n }\r\n\r\n const section = this.el.nativeElement.querySelectorAll('.section')[0];\r\n const footerTitle = this.el.nativeElement.querySelectorAll('.footer-title')[0];\r\n if (section && footerTitle) {\r\n section.removeChild(footerTitle);\r\n }\r\n }\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 }\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 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} 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\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\r\n constructor(private _onCloseService: OnCloseService) {\r\n _onCloseService.onClose.subscribe(() => {\r\n this.colorPickerShow = false;\r\n });\r\n }\r\n\r\n ngOnInit() {\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} from '@angular/core';\r\nimport {Formatting} from \"../formatting.service\";\r\nimport {WindowService} from \"../window.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 this.isMobile = _windowService.isMobile();\r\n _windowService.onResize.subscribe((w) => {\r\n this.isMobile = _windowService.isMobile();\r\n });\r\n }\r\n\r\n ngOnInit() {\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 {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 {EditHeaderFooterDirective} from './editheaderfooter.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 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 EditHeaderFooterDirective,\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 SelectComponent,\r\n RotationDirective,\r\n InitStateComponent,\r\n RenderPrintDirective,\r\n ErrorModalComponent,\r\n PasswordRequiredComponent,\r\n SearchComponent,\r\n SearchableDirective,\r\n EditHeaderFooterDirective,\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 +{"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/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/page-preload.service.ts","ng://@groupdocs.examples.angular/common-components/lib/navigate.service.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/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/editheaderfooter.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 @Output() hideSidePanel = new EventEmitter();\r\n\r\n onlyTitle = false;\r\n\r\n constructor() {\r\n }\r\n\r\n openSidePanel() {\r\n this.hideSidePanel.emit(true);\r\n }\r\n\r\n toggleTitleMode(){\r\n this.onlyTitle = !this.onlyTitle;\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 EDITOR_APP = '/editor';\r\n public static COMPARISON_APP = '/comparison';\r\n public static CONVERSION_APP = '/conversion';\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 ROTATE_DOCUMENT_PAGE = '/rotateDocumentPages';\r\n public static UPLOAD_DOCUMENTS = '/uploadDocument';\r\n public static DOWNLOAD_DOCUMENTS = '/downloadDocument';\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 COMPARE_FILES = '/compare';\r\n public static CONVERT_FILE = '/convert';\r\n public static DELETE_SIGNATURE_FILE = '/deleteSignatureFile';\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\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 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","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}\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 {\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\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 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\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\r\n ngOnInit() {\r\n }\r\n\r\n ngOnChanges() {\r\n const panzoom = this._elementRef.nativeElement.children.item(0).children.item(0);\r\n (panzoom as any).style.transform = '';\r\n // TODO: this intersects with zooming by zoom directive, but still needed\r\n // for flush previous settings before opening another file\r\n //this._zoomService.changeZoom(100);\r\n //this.scale = 1;\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 getDimensionWithUnit(value: number) {\r\n return 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 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 absolutePosition(el) {\r\n let x = 0, y = 0;\r\n\r\n while (el !== null) {\r\n x += el.offsetLeft;\r\n y += el.offsetTop;\r\n el = el.offsetParent;\r\n }\r\n\r\n return {x: x, y: y};\r\n };\r\n\r\n restrictRawPos(pos, viewportDim, docDim) {\r\n if (pos < viewportDim / this.scale - docDim) { // too far left/up?\r\n pos = viewportDim / this.scale - docDim;\r\n } else if (pos > 0) { // too far right/down?\r\n pos = 0;\r\n }\r\n return pos;\r\n };\r\n\r\n updateLastPos() {\r\n this.lastX = this.x;\r\n this.lastY = this.y;\r\n };\r\n\r\n translate(deltaX, deltaY) {\r\n // We restrict to the min of the viewport width/height or current width/height as the\r\n // current width/height may be smaller than the viewport width/height\r\n const newX = this.restrictRawPos(this.lastX + deltaX / this.scale,\r\n Math.min(this.viewportWidth, this.curWidth), this.docWidth);\r\n this.x = newX;\r\n // TODO: value here and in the similar line below changes to positive to take any effect\r\n this.container.scrollLeft = -Math.ceil(newX * this.scale);\r\n\r\n const newY = this.restrictRawPos(this.lastY + deltaY / this.scale,\r\n Math.min(this.viewportHeight, this.curHeight), this.docHeight);\r\n this.y = newY;\r\n this.container.scrollTop = -Math.ceil(newY * this.scale);\r\n\r\n this.doc.style.transform = 'scale(' + this.scale + ')';\r\n };\r\n\r\n startZoom(scaleBy) {\r\n this.scale = this.lastScale * scaleBy;\r\n\r\n this.curWidth = this.docWidth * this.scale;\r\n this.curHeight = this.docHeight * this.scale;\r\n\r\n // Adjust margins to make sure that we aren't out of bounds\r\n this.translate(0, 0);\r\n };\r\n\r\n rawCenter($event) {\r\n const pos = this.absolutePosition(this.container);\r\n\r\n // We need to account for the scroll position\r\n const scrollLeft = window.pageXOffset ? window.pageXOffset : document.body.scrollLeft;\r\n const scrollTop = window.pageYOffset ? window.pageYOffset : document.body.scrollTop;\r\n\r\n const zoomX = -this.x + ($event.center.x - pos.x + scrollLeft) / this.scale;\r\n const zoomY = -this.y + ($event.center.y - pos.y + scrollTop) / this.scale;\r\n\r\n return {x: zoomX, y: zoomY};\r\n };\r\n\r\n updateLastScale() {\r\n this.lastScale = this.scale;\r\n };\r\n\r\n zoomAround(scaleBy, rawZoomX, rawZoomY, doNotUpdateLast) {\r\n // Zoom\r\n this.startZoom(scaleBy);\r\n\r\n // New raw center of viewport\r\n const rawCenterX = -this.x + Math.min(this.viewportWidth, this.curWidth) / 2 / this.scale;\r\n const rawCenterY = -this.y + Math.min(this.viewportHeight, this.curHeight) / 2 / this.scale;\r\n\r\n // Delta\r\n const deltaX = (rawCenterX - rawZoomX) * this.scale;\r\n const deltaY = (rawCenterY - rawZoomY) * this.scale;\r\n\r\n // Translate back to zoom center\r\n this.translate(deltaX, deltaY);\r\n\r\n if (!doNotUpdateLast) {\r\n this.updateLastScale();\r\n this.updateLastPos();\r\n }\r\n };\r\n\r\n onPinch($event) {\r\n if (this.pinchCenter === null) {\r\n this.pinchCenter = this.rawCenter($event);\r\n const offsetX = this.pinchCenter.x * this.scale - (-this.x * this.scale + Math.min(this.viewportWidth, this.curWidth) / 2);\r\n const offsetY = this.pinchCenter.y * this.scale - (-this.y * this.scale + Math.min(this.viewportHeight, this.curHeight) / 2);\r\n this.pinchCenterOffset = {x: offsetX, y: offsetY};\r\n }\r\n\r\n const newScale = this.scale * $event.scale;\r\n\r\n const zoomX = this.pinchCenter.x * newScale - this.pinchCenterOffset.x;\r\n const zoomY = this.pinchCenter.y * newScale - this.pinchCenterOffset.y;\r\n const zoomCenter = {x: zoomX / newScale, y: zoomY / newScale};\r\n\r\n this.zoomAround($event.scale, zoomCenter.x, zoomCenter.y, true);\r\n }\r\n\r\n onPinchEnd($event) {\r\n this.updateLastScale();\r\n this.updateLastPos();\r\n this.pinchCenter = null;\r\n }\r\n\r\n onPan($event) {\r\n // TODO: looks like native pan works better\r\n // if (!this.isDesktop) {\r\n // this.translate($event.deltaX, $event.deltaY);\r\n // }\r\n }\r\n\r\n onPanEnd($event) {\r\n // if (!this.isDesktop) {\r\n // this.updateLastPos();\r\n // }\r\n }\r\n\r\n onDoubleTap($event) {\r\n if (!this.isDesktop) {\r\n if ($event.tapCount === 2) {\r\n const c = this.rawCenter($event);\r\n this.zoomAround(2, c.x, c.y, false);\r\n }\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 // 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 !== null ? this.data.replace(/>\\s+<').replace(/\\uFEFF/g,\"\") : null;\r\n const dataImagePngBase64 = 'data:image/png;base64,';\r\n this.imgData = dataImagePngBase64;\r\n if (!this.isHtml) {\r\n this.imgData += 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 {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 {Observable, Observer} 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 readonly _navigate: Observable;\r\n private _observer: Observer;\r\n\r\n constructor(private _pagePreloadService: PagePreloadService) {\r\n this._navigate = new Observable(observer =>\r\n this._observer = observer);\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 {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\r\n private currentPage: number;\r\n private zoom = 100;\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 const count = Math.floor((this.getWidth() - offset) / (pageEl.getBoundingClientRect().width * this.getZoom()));\r\n return count === 0 ? 1 : count;\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 this._navigateService.currentPage = page;\r\n }\r\n currentPageSet = true;\r\n }\r\n this._pagePreloadService.changeLastPageInView(page);\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 {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.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 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 scrollWidth = this.getScrollWidth(this.el.nativeElement.parentElement);\r\n this.width = (viewPortWidth/zoomInt - scrollWidth/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 @Input() isOpen = false;\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 }\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 if (this.htmlMode) {\r\n for (const page of pages) {\r\n pagesHtml += '
' +\r\n '
' + page.data + '
' +\r\n '
';\r\n }\r\n } else {\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 windowObject.focus();\r\n windowObject.print();\r\n windowObject.close();\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 {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 constructor() {\r\n }\r\n\r\n get messageChange(): Observable {\r\n return this._messageChange;\r\n }\r\n\r\n changeMessage(message: string) {\r\n this._observer.next(message);\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 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._modalService.open(CommonModals.ErrorMessage);\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 {AfterViewInit, Directive, HostBinding, Input, OnDestroy, OnInit, ElementRef, OnChanges, HostListener} 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: '[gdEditHeaderFooter]'\r\n})\r\nexport class EditHeaderFooterDirective implements OnInit, OnDestroy, AfterViewInit, OnChanges {\r\n\r\n el: ElementRef;\r\n footerRef: any;\r\n\r\n constructor(private _zoomService: ZoomService, private _windowService: WindowService, el: ElementRef) {\r\n this.el = el;\r\n }\r\n\r\n ngAfterViewInit(): void {\r\n this.footerRef = this.el.nativeElement.querySelectorAll('.footer')[0];\r\n if (this.footerRef) {\r\n this.footerRef.setAttribute(\"contenteditable\", false);\r\n this.footerRef.className += \" disabled\";\r\n }\r\n }\r\n\r\n ngOnDestroy(): void {\r\n }\r\n\r\n ngOnChanges(): void {\r\n }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n @HostListener('dblclick', ['$event'])\r\n dblclickEvent(event) {\r\n const footerTitle = document.createElement(\"div\");\r\n footerTitle.className = \"footer-title\";\r\n footerTitle.append('Footer');\r\n\r\n const footer = event.target.closest('.footer');\r\n if (footer && footer.classList.contains('disabled')) {\r\n footer.classList.remove('disabled');\r\n footer.setAttribute(\"contenteditable\", true);\r\n footer.before(footerTitle);\r\n }\r\n\r\n event.preventDefault();\r\n event.stopPropagation();\r\n }\r\n\r\n @HostListener('click', ['$event'])\r\n clickEvent(event) {\r\n const footer = event.target.closest('.footer');\r\n if (!footer) {\r\n this.footerRef.setAttribute(\"contenteditable\", false);\r\n if (!this.footerRef.classList.contains('disabled'))\r\n {\r\n this.footerRef.className += \" disabled\";\r\n }\r\n\r\n const section = this.el.nativeElement.querySelectorAll('.section')[0];\r\n const footerTitle = this.el.nativeElement.querySelectorAll('.footer-title')[0];\r\n if (section && footerTitle) {\r\n section.removeChild(footerTitle);\r\n }\r\n }\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 }\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 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} 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\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\r\n constructor(private _onCloseService: OnCloseService) {\r\n _onCloseService.onClose.subscribe(() => {\r\n this.colorPickerShow = false;\r\n });\r\n }\r\n\r\n ngOnInit() {\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} from '@angular/core';\r\nimport {Formatting} from \"../formatting.service\";\r\nimport {WindowService} from \"../window.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 this.isMobile = _windowService.isMobile();\r\n _windowService.onResize.subscribe((w) => {\r\n this.isMobile = _windowService.isMobile();\r\n });\r\n }\r\n\r\n ngOnInit() {\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 {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 {EditHeaderFooterDirective} from './editheaderfooter.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 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 EditHeaderFooterDirective,\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 SelectComponent,\r\n RotationDirective,\r\n InitStateComponent,\r\n RenderPrintDirective,\r\n ErrorModalComponent,\r\n PasswordRequiredComponent,\r\n SearchComponent,\r\n SearchableDirective,\r\n EditHeaderFooterDirective,\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 f554b7b66..8041f7a22 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 @@ -3982,8 +3982,10 @@ var EditHeaderFooterDirective = /** @class */ (function () { */ function () { this.footerRef = this.el.nativeElement.querySelectorAll('.footer')[0]; - this.footerRef.setAttribute("contenteditable", false); - this.footerRef.className += " disabled"; + if (this.footerRef) { + this.footerRef.setAttribute("contenteditable", false); + this.footerRef.className += " disabled"; + } }; /** * @return {?} @@ -4025,7 +4027,6 @@ var EditHeaderFooterDirective = /** @class */ (function () { /** @type {?} */ var footer = event.target.closest('.footer'); if (footer && footer.classList.contains('disabled')) { - console.log('dblclick in footer fired'); footer.classList.remove('disabled'); footer.setAttribute("contenteditable", true); footer.before(footerTitle); @@ -4042,7 +4043,6 @@ var EditHeaderFooterDirective = /** @class */ (function () { * @return {?} */ function (event) { - console.log('click on el fired'); /** @type {?} */ var footer = event.target.closest('.footer'); if (!footer) { 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 acbf4f03e..9b7d356e3 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/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/page-preload.service.ts","ng://@groupdocs.examples.angular/common-components/lib/navigate.service.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/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/editheaderfooter.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 @Output() hideSidePanel = new EventEmitter();\r\n\r\n onlyTitle = false;\r\n\r\n constructor() {\r\n }\r\n\r\n openSidePanel() {\r\n this.hideSidePanel.emit(true);\r\n }\r\n\r\n toggleTitleMode(){\r\n this.onlyTitle = !this.onlyTitle;\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 EDITOR_APP = '/editor';\r\n public static COMPARISON_APP = '/comparison';\r\n public static CONVERSION_APP = '/conversion';\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 ROTATE_DOCUMENT_PAGE = '/rotateDocumentPages';\r\n public static UPLOAD_DOCUMENTS = '/uploadDocument';\r\n public static DOWNLOAD_DOCUMENTS = '/downloadDocument';\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 COMPARE_FILES = '/compare';\r\n public static CONVERT_FILE = '/convert';\r\n public static DELETE_SIGNATURE_FILE = '/deleteSignatureFile';\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\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 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","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}\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 {\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\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 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\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\r\n ngOnInit() {\r\n }\r\n\r\n ngOnChanges() {\r\n const panzoom = this._elementRef.nativeElement.children.item(0).children.item(0);\r\n (panzoom as any).style.transform = '';\r\n // TODO: this intersects with zooming by zoom directive, but still needed\r\n // for flush previous settings before opening another file\r\n //this._zoomService.changeZoom(100);\r\n //this.scale = 1;\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 getDimensionWithUnit(value: number) {\r\n return 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 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 absolutePosition(el) {\r\n let x = 0, y = 0;\r\n\r\n while (el !== null) {\r\n x += el.offsetLeft;\r\n y += el.offsetTop;\r\n el = el.offsetParent;\r\n }\r\n\r\n return {x: x, y: y};\r\n };\r\n\r\n restrictRawPos(pos, viewportDim, docDim) {\r\n if (pos < viewportDim / this.scale - docDim) { // too far left/up?\r\n pos = viewportDim / this.scale - docDim;\r\n } else if (pos > 0) { // too far right/down?\r\n pos = 0;\r\n }\r\n return pos;\r\n };\r\n\r\n updateLastPos() {\r\n this.lastX = this.x;\r\n this.lastY = this.y;\r\n };\r\n\r\n translate(deltaX, deltaY) {\r\n // We restrict to the min of the viewport width/height or current width/height as the\r\n // current width/height may be smaller than the viewport width/height\r\n const newX = this.restrictRawPos(this.lastX + deltaX / this.scale,\r\n Math.min(this.viewportWidth, this.curWidth), this.docWidth);\r\n this.x = newX;\r\n // TODO: value here and in the similar line below changes to positive to take any effect\r\n this.container.scrollLeft = -Math.ceil(newX * this.scale);\r\n\r\n const newY = this.restrictRawPos(this.lastY + deltaY / this.scale,\r\n Math.min(this.viewportHeight, this.curHeight), this.docHeight);\r\n this.y = newY;\r\n this.container.scrollTop = -Math.ceil(newY * this.scale);\r\n\r\n this.doc.style.transform = 'scale(' + this.scale + ')';\r\n };\r\n\r\n startZoom(scaleBy) {\r\n this.scale = this.lastScale * scaleBy;\r\n\r\n this.curWidth = this.docWidth * this.scale;\r\n this.curHeight = this.docHeight * this.scale;\r\n\r\n // Adjust margins to make sure that we aren't out of bounds\r\n this.translate(0, 0);\r\n };\r\n\r\n rawCenter($event) {\r\n const pos = this.absolutePosition(this.container);\r\n\r\n // We need to account for the scroll position\r\n const scrollLeft = window.pageXOffset ? window.pageXOffset : document.body.scrollLeft;\r\n const scrollTop = window.pageYOffset ? window.pageYOffset : document.body.scrollTop;\r\n\r\n const zoomX = -this.x + ($event.center.x - pos.x + scrollLeft) / this.scale;\r\n const zoomY = -this.y + ($event.center.y - pos.y + scrollTop) / this.scale;\r\n\r\n return {x: zoomX, y: zoomY};\r\n };\r\n\r\n updateLastScale() {\r\n this.lastScale = this.scale;\r\n };\r\n\r\n zoomAround(scaleBy, rawZoomX, rawZoomY, doNotUpdateLast) {\r\n // Zoom\r\n this.startZoom(scaleBy);\r\n\r\n // New raw center of viewport\r\n const rawCenterX = -this.x + Math.min(this.viewportWidth, this.curWidth) / 2 / this.scale;\r\n const rawCenterY = -this.y + Math.min(this.viewportHeight, this.curHeight) / 2 / this.scale;\r\n\r\n // Delta\r\n const deltaX = (rawCenterX - rawZoomX) * this.scale;\r\n const deltaY = (rawCenterY - rawZoomY) * this.scale;\r\n\r\n // Translate back to zoom center\r\n this.translate(deltaX, deltaY);\r\n\r\n if (!doNotUpdateLast) {\r\n this.updateLastScale();\r\n this.updateLastPos();\r\n }\r\n };\r\n\r\n onPinch($event) {\r\n if (this.pinchCenter === null) {\r\n this.pinchCenter = this.rawCenter($event);\r\n const offsetX = this.pinchCenter.x * this.scale - (-this.x * this.scale + Math.min(this.viewportWidth, this.curWidth) / 2);\r\n const offsetY = this.pinchCenter.y * this.scale - (-this.y * this.scale + Math.min(this.viewportHeight, this.curHeight) / 2);\r\n this.pinchCenterOffset = {x: offsetX, y: offsetY};\r\n }\r\n\r\n const newScale = this.scale * $event.scale;\r\n\r\n const zoomX = this.pinchCenter.x * newScale - this.pinchCenterOffset.x;\r\n const zoomY = this.pinchCenter.y * newScale - this.pinchCenterOffset.y;\r\n const zoomCenter = {x: zoomX / newScale, y: zoomY / newScale};\r\n\r\n this.zoomAround($event.scale, zoomCenter.x, zoomCenter.y, true);\r\n }\r\n\r\n onPinchEnd($event) {\r\n this.updateLastScale();\r\n this.updateLastPos();\r\n this.pinchCenter = null;\r\n }\r\n\r\n onPan($event) {\r\n // TODO: looks like native pan works better\r\n // if (!this.isDesktop) {\r\n // this.translate($event.deltaX, $event.deltaY);\r\n // }\r\n }\r\n\r\n onPanEnd($event) {\r\n // if (!this.isDesktop) {\r\n // this.updateLastPos();\r\n // }\r\n }\r\n\r\n onDoubleTap($event) {\r\n if (!this.isDesktop) {\r\n if ($event.tapCount === 2) {\r\n const c = this.rawCenter($event);\r\n this.zoomAround(2, c.x, c.y, false);\r\n }\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 // 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 !== null ? this.data.replace(/>\\s+<').replace(/\\uFEFF/g,\"\") : null;\r\n const dataImagePngBase64 = 'data:image/png;base64,';\r\n this.imgData = dataImagePngBase64;\r\n if (!this.isHtml) {\r\n this.imgData += 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 {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 {Observable, Observer} 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 readonly _navigate: Observable;\r\n private _observer: Observer;\r\n\r\n constructor(private _pagePreloadService: PagePreloadService) {\r\n this._navigate = new Observable(observer =>\r\n this._observer = observer);\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 {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\r\n private currentPage: number;\r\n private zoom = 100;\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 const count = Math.floor((this.getWidth() - offset) / (pageEl.getBoundingClientRect().width * this.getZoom()));\r\n return count === 0 ? 1 : count;\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 this._navigateService.currentPage = page;\r\n }\r\n currentPageSet = true;\r\n }\r\n this._pagePreloadService.changeLastPageInView(page);\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 {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.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 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 scrollWidth = this.getScrollWidth(this.el.nativeElement.parentElement);\r\n this.width = (viewPortWidth/zoomInt - scrollWidth/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 @Input() isOpen = false;\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 }\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 if (this.htmlMode) {\r\n for (const page of pages) {\r\n pagesHtml += '
' +\r\n '
' + page.data + '
' +\r\n '
';\r\n }\r\n } else {\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 windowObject.focus();\r\n windowObject.print();\r\n windowObject.close();\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 {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 constructor() {\r\n }\r\n\r\n get messageChange(): Observable {\r\n return this._messageChange;\r\n }\r\n\r\n changeMessage(message: string) {\r\n this._observer.next(message);\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 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._modalService.open(CommonModals.ErrorMessage);\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 {AfterViewInit, Directive, HostBinding, Input, OnDestroy, OnInit, ElementRef, OnChanges, HostListener} 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: '[gdEditHeaderFooter]'\r\n})\r\nexport class EditHeaderFooterDirective implements OnInit, OnDestroy, AfterViewInit, OnChanges {\r\n\r\n el: ElementRef;\r\n footerRef: any;\r\n\r\n constructor(private _zoomService: ZoomService, private _windowService: WindowService, el: ElementRef) {\r\n this.el = el;\r\n }\r\n\r\n ngAfterViewInit(): void {\r\n this.footerRef = this.el.nativeElement.querySelectorAll('.footer')[0];\r\n this.footerRef.setAttribute(\"contenteditable\", false);\r\n this.footerRef.className += \" disabled\";\r\n }\r\n\r\n ngOnDestroy(): void {\r\n }\r\n\r\n ngOnChanges(): void {\r\n }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n @HostListener('dblclick', ['$event'])\r\n dblclickEvent(event) {\r\n const footerTitle = document.createElement(\"div\");\r\n footerTitle.className = \"footer-title\";\r\n footerTitle.append('Footer');\r\n\r\n const footer = event.target.closest('.footer');\r\n if (footer && footer.classList.contains('disabled')) {\r\n console.log('dblclick in footer fired');\r\n footer.classList.remove('disabled');\r\n footer.setAttribute(\"contenteditable\", true);\r\n footer.before(footerTitle);\r\n }\r\n\r\n event.preventDefault();\r\n event.stopPropagation();\r\n }\r\n\r\n @HostListener('click', ['$event'])\r\n clickEvent(event) {\r\n console.log('click on el fired');\r\n const footer = event.target.closest('.footer');\r\n if (!footer) {\r\n this.footerRef.setAttribute(\"contenteditable\", false);\r\n if (!this.footerRef.classList.contains('disabled'))\r\n {\r\n this.footerRef.className += \" disabled\";\r\n }\r\n\r\n const section = this.el.nativeElement.querySelectorAll('.section')[0];\r\n const footerTitle = this.el.nativeElement.querySelectorAll('.footer-title')[0];\r\n if (section && footerTitle) {\r\n section.removeChild(footerTitle);\r\n }\r\n }\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 }\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 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} 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\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\r\n constructor(private _onCloseService: OnCloseService) {\r\n _onCloseService.onClose.subscribe(() => {\r\n this.colorPickerShow = false;\r\n });\r\n }\r\n\r\n ngOnInit() {\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} from '@angular/core';\r\nimport {Formatting} from \"../formatting.service\";\r\nimport {WindowService} from \"../window.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 this.isMobile = _windowService.isMobile();\r\n _windowService.onResize.subscribe((w) => {\r\n this.isMobile = _windowService.isMobile();\r\n });\r\n }\r\n\r\n ngOnInit() {\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 {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 {EditHeaderFooterDirective} from './editheaderfooter.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 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 EditHeaderFooterDirective,\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 SelectComponent,\r\n RotationDirective,\r\n InitStateComponent,\r\n RenderPrintDirective,\r\n ErrorModalComponent,\r\n PasswordRequiredComponent,\r\n SearchComponent,\r\n SearchableDirective,\r\n EditHeaderFooterDirective,\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 +{"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/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/page-preload.service.ts","ng://@groupdocs.examples.angular/common-components/lib/navigate.service.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/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/editheaderfooter.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 @Output() hideSidePanel = new EventEmitter();\r\n\r\n onlyTitle = false;\r\n\r\n constructor() {\r\n }\r\n\r\n openSidePanel() {\r\n this.hideSidePanel.emit(true);\r\n }\r\n\r\n toggleTitleMode(){\r\n this.onlyTitle = !this.onlyTitle;\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 EDITOR_APP = '/editor';\r\n public static COMPARISON_APP = '/comparison';\r\n public static CONVERSION_APP = '/conversion';\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 ROTATE_DOCUMENT_PAGE = '/rotateDocumentPages';\r\n public static UPLOAD_DOCUMENTS = '/uploadDocument';\r\n public static DOWNLOAD_DOCUMENTS = '/downloadDocument';\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 COMPARE_FILES = '/compare';\r\n public static CONVERT_FILE = '/convert';\r\n public static DELETE_SIGNATURE_FILE = '/deleteSignatureFile';\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\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 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","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}\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 {\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\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 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\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\r\n ngOnInit() {\r\n }\r\n\r\n ngOnChanges() {\r\n const panzoom = this._elementRef.nativeElement.children.item(0).children.item(0);\r\n (panzoom as any).style.transform = '';\r\n // TODO: this intersects with zooming by zoom directive, but still needed\r\n // for flush previous settings before opening another file\r\n //this._zoomService.changeZoom(100);\r\n //this.scale = 1;\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 getDimensionWithUnit(value: number) {\r\n return 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 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 absolutePosition(el) {\r\n let x = 0, y = 0;\r\n\r\n while (el !== null) {\r\n x += el.offsetLeft;\r\n y += el.offsetTop;\r\n el = el.offsetParent;\r\n }\r\n\r\n return {x: x, y: y};\r\n };\r\n\r\n restrictRawPos(pos, viewportDim, docDim) {\r\n if (pos < viewportDim / this.scale - docDim) { // too far left/up?\r\n pos = viewportDim / this.scale - docDim;\r\n } else if (pos > 0) { // too far right/down?\r\n pos = 0;\r\n }\r\n return pos;\r\n };\r\n\r\n updateLastPos() {\r\n this.lastX = this.x;\r\n this.lastY = this.y;\r\n };\r\n\r\n translate(deltaX, deltaY) {\r\n // We restrict to the min of the viewport width/height or current width/height as the\r\n // current width/height may be smaller than the viewport width/height\r\n const newX = this.restrictRawPos(this.lastX + deltaX / this.scale,\r\n Math.min(this.viewportWidth, this.curWidth), this.docWidth);\r\n this.x = newX;\r\n // TODO: value here and in the similar line below changes to positive to take any effect\r\n this.container.scrollLeft = -Math.ceil(newX * this.scale);\r\n\r\n const newY = this.restrictRawPos(this.lastY + deltaY / this.scale,\r\n Math.min(this.viewportHeight, this.curHeight), this.docHeight);\r\n this.y = newY;\r\n this.container.scrollTop = -Math.ceil(newY * this.scale);\r\n\r\n this.doc.style.transform = 'scale(' + this.scale + ')';\r\n };\r\n\r\n startZoom(scaleBy) {\r\n this.scale = this.lastScale * scaleBy;\r\n\r\n this.curWidth = this.docWidth * this.scale;\r\n this.curHeight = this.docHeight * this.scale;\r\n\r\n // Adjust margins to make sure that we aren't out of bounds\r\n this.translate(0, 0);\r\n };\r\n\r\n rawCenter($event) {\r\n const pos = this.absolutePosition(this.container);\r\n\r\n // We need to account for the scroll position\r\n const scrollLeft = window.pageXOffset ? window.pageXOffset : document.body.scrollLeft;\r\n const scrollTop = window.pageYOffset ? window.pageYOffset : document.body.scrollTop;\r\n\r\n const zoomX = -this.x + ($event.center.x - pos.x + scrollLeft) / this.scale;\r\n const zoomY = -this.y + ($event.center.y - pos.y + scrollTop) / this.scale;\r\n\r\n return {x: zoomX, y: zoomY};\r\n };\r\n\r\n updateLastScale() {\r\n this.lastScale = this.scale;\r\n };\r\n\r\n zoomAround(scaleBy, rawZoomX, rawZoomY, doNotUpdateLast) {\r\n // Zoom\r\n this.startZoom(scaleBy);\r\n\r\n // New raw center of viewport\r\n const rawCenterX = -this.x + Math.min(this.viewportWidth, this.curWidth) / 2 / this.scale;\r\n const rawCenterY = -this.y + Math.min(this.viewportHeight, this.curHeight) / 2 / this.scale;\r\n\r\n // Delta\r\n const deltaX = (rawCenterX - rawZoomX) * this.scale;\r\n const deltaY = (rawCenterY - rawZoomY) * this.scale;\r\n\r\n // Translate back to zoom center\r\n this.translate(deltaX, deltaY);\r\n\r\n if (!doNotUpdateLast) {\r\n this.updateLastScale();\r\n this.updateLastPos();\r\n }\r\n };\r\n\r\n onPinch($event) {\r\n if (this.pinchCenter === null) {\r\n this.pinchCenter = this.rawCenter($event);\r\n const offsetX = this.pinchCenter.x * this.scale - (-this.x * this.scale + Math.min(this.viewportWidth, this.curWidth) / 2);\r\n const offsetY = this.pinchCenter.y * this.scale - (-this.y * this.scale + Math.min(this.viewportHeight, this.curHeight) / 2);\r\n this.pinchCenterOffset = {x: offsetX, y: offsetY};\r\n }\r\n\r\n const newScale = this.scale * $event.scale;\r\n\r\n const zoomX = this.pinchCenter.x * newScale - this.pinchCenterOffset.x;\r\n const zoomY = this.pinchCenter.y * newScale - this.pinchCenterOffset.y;\r\n const zoomCenter = {x: zoomX / newScale, y: zoomY / newScale};\r\n\r\n this.zoomAround($event.scale, zoomCenter.x, zoomCenter.y, true);\r\n }\r\n\r\n onPinchEnd($event) {\r\n this.updateLastScale();\r\n this.updateLastPos();\r\n this.pinchCenter = null;\r\n }\r\n\r\n onPan($event) {\r\n // TODO: looks like native pan works better\r\n // if (!this.isDesktop) {\r\n // this.translate($event.deltaX, $event.deltaY);\r\n // }\r\n }\r\n\r\n onPanEnd($event) {\r\n // if (!this.isDesktop) {\r\n // this.updateLastPos();\r\n // }\r\n }\r\n\r\n onDoubleTap($event) {\r\n if (!this.isDesktop) {\r\n if ($event.tapCount === 2) {\r\n const c = this.rawCenter($event);\r\n this.zoomAround(2, c.x, c.y, false);\r\n }\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 // 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 !== null ? this.data.replace(/>\\s+<').replace(/\\uFEFF/g,\"\") : null;\r\n const dataImagePngBase64 = 'data:image/png;base64,';\r\n this.imgData = dataImagePngBase64;\r\n if (!this.isHtml) {\r\n this.imgData += 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 {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 {Observable, Observer} 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 readonly _navigate: Observable;\r\n private _observer: Observer;\r\n\r\n constructor(private _pagePreloadService: PagePreloadService) {\r\n this._navigate = new Observable(observer =>\r\n this._observer = observer);\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 {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\r\n private currentPage: number;\r\n private zoom = 100;\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 const count = Math.floor((this.getWidth() - offset) / (pageEl.getBoundingClientRect().width * this.getZoom()));\r\n return count === 0 ? 1 : count;\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 this._navigateService.currentPage = page;\r\n }\r\n currentPageSet = true;\r\n }\r\n this._pagePreloadService.changeLastPageInView(page);\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 {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.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 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 scrollWidth = this.getScrollWidth(this.el.nativeElement.parentElement);\r\n this.width = (viewPortWidth/zoomInt - scrollWidth/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 @Input() isOpen = false;\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 }\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 if (this.htmlMode) {\r\n for (const page of pages) {\r\n pagesHtml += '
' +\r\n '
' + page.data + '
' +\r\n '
';\r\n }\r\n } else {\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 windowObject.focus();\r\n windowObject.print();\r\n windowObject.close();\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 {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 constructor() {\r\n }\r\n\r\n get messageChange(): Observable {\r\n return this._messageChange;\r\n }\r\n\r\n changeMessage(message: string) {\r\n this._observer.next(message);\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 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._modalService.open(CommonModals.ErrorMessage);\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 {AfterViewInit, Directive, HostBinding, Input, OnDestroy, OnInit, ElementRef, OnChanges, HostListener} 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: '[gdEditHeaderFooter]'\r\n})\r\nexport class EditHeaderFooterDirective implements OnInit, OnDestroy, AfterViewInit, OnChanges {\r\n\r\n el: ElementRef;\r\n footerRef: any;\r\n\r\n constructor(private _zoomService: ZoomService, private _windowService: WindowService, el: ElementRef) {\r\n this.el = el;\r\n }\r\n\r\n ngAfterViewInit(): void {\r\n this.footerRef = this.el.nativeElement.querySelectorAll('.footer')[0];\r\n if (this.footerRef) {\r\n this.footerRef.setAttribute(\"contenteditable\", false);\r\n this.footerRef.className += \" disabled\";\r\n }\r\n }\r\n\r\n ngOnDestroy(): void {\r\n }\r\n\r\n ngOnChanges(): void {\r\n }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n @HostListener('dblclick', ['$event'])\r\n dblclickEvent(event) {\r\n const footerTitle = document.createElement(\"div\");\r\n footerTitle.className = \"footer-title\";\r\n footerTitle.append('Footer');\r\n\r\n const footer = event.target.closest('.footer');\r\n if (footer && footer.classList.contains('disabled')) {\r\n footer.classList.remove('disabled');\r\n footer.setAttribute(\"contenteditable\", true);\r\n footer.before(footerTitle);\r\n }\r\n\r\n event.preventDefault();\r\n event.stopPropagation();\r\n }\r\n\r\n @HostListener('click', ['$event'])\r\n clickEvent(event) {\r\n const footer = event.target.closest('.footer');\r\n if (!footer) {\r\n this.footerRef.setAttribute(\"contenteditable\", false);\r\n if (!this.footerRef.classList.contains('disabled'))\r\n {\r\n this.footerRef.className += \" disabled\";\r\n }\r\n\r\n const section = this.el.nativeElement.querySelectorAll('.section')[0];\r\n const footerTitle = this.el.nativeElement.querySelectorAll('.footer-title')[0];\r\n if (section && footerTitle) {\r\n section.removeChild(footerTitle);\r\n }\r\n }\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 }\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 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} 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\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\r\n constructor(private _onCloseService: OnCloseService) {\r\n _onCloseService.onClose.subscribe(() => {\r\n this.colorPickerShow = false;\r\n });\r\n }\r\n\r\n ngOnInit() {\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} from '@angular/core';\r\nimport {Formatting} from \"../formatting.service\";\r\nimport {WindowService} from \"../window.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 this.isMobile = _windowService.isMobile();\r\n _windowService.onResize.subscribe((w) => {\r\n this.isMobile = _windowService.isMobile();\r\n });\r\n }\r\n\r\n ngOnInit() {\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 {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 {EditHeaderFooterDirective} from './editheaderfooter.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 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 EditHeaderFooterDirective,\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 SelectComponent,\r\n RotationDirective,\r\n InitStateComponent,\r\n RenderPrintDirective,\r\n ErrorModalComponent,\r\n PasswordRequiredComponent,\r\n SearchComponent,\r\n SearchableDirective,\r\n EditHeaderFooterDirective,\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 d7d9a0e2a..b5de87b06 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":"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":"ɵa"},{"__symbolic":"reference","name":"TabbedToolbarsComponent"},{"__symbolic":"reference","name":"TabComponent"},{"__symbolic":"reference","name":"ɵb"},{"__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":"ɵc"},{"__symbolic":"reference","name":"HostDynamicDirective"},{"__symbolic":"reference","name":"ɵd"},{"__symbolic":"reference","name":"ɵe"},{"__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":"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":"ɵa"},{"__symbolic":"reference","name":"TabbedToolbarsComponent"},{"__symbolic":"reference","name":"TabComponent"},{"__symbolic":"reference","name":"ɵb"},{"__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":"ɵc"},{"__symbolic":"reference","name":"HostDynamicDirective"},{"__symbolic":"reference","name":"ɵd"},{"__symbolic":"reference","name":"ɵe"},{"__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","EDITOR_APP":"/editor","COMPARISON_APP":"/comparison","CONVERSION_APP":"/conversion","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","ROTATE_DOCUMENT_PAGE":"/rotateDocumentPages","UPLOAD_DOCUMENTS":"/uploadDocument","DOWNLOAD_DOCUMENTS":"/downloadDocument","LOAD_PRINT":"/loadPrint","LOAD_PRINT_PDF":"/printPdf","LOAD_THUMBNAILS":"/loadThumbnails","LOAD_FORMATS":"/loadFormats","SAVE_FILE":"/saveFile","COMPARE_FILES":"/compare","CONVERT_FILE":"/convert","DELETE_SIGNATURE_FILE":"/deleteSignatureFile","SAVE_OPTICAL_CODE":"/saveOpticalCode","SAVE_TEXT":"/saveText","SAVE_IMAGE":"/saveImage","SAVE_STAMP":"/saveStamp","SIGN":"/sign","DOWNLOAD_SIGNED":"/downloadSigned","LOAD_SIGNATURE_IMAGE":"/loadSignatureImage","ANNOTATE":"/annotate","httpOptionsJson":{"headers":{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@angular/common/http","name":"HttpHeaders","line":36,"character":17},"arguments":[{"Content-Type":"application/json","$quoted$":["Content-Type"]}]}},"httpOptionsJsonResponseTypeBlob":{"headers":{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@angular/common/http","name":"HttpHeaders","line":41,"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":48,"character":1}}],"members":{"__ctor__":[{"__symbolic":"constructor"}],"getConfigEndpoint":[{"__symbolic":"method"}],"getViewerApiEndpoint":[{"__symbolic":"method"}],"getEditorApiEndpoint":[{"__symbolic":"method"}],"getComparisonApiEndpoint":[{"__symbolic":"method"}],"getConversionApiEndpoint":[{"__symbolic":"method"}],"getSignatureApiEndpoint":[{"__symbolic":"method"}],"getAnnotationApiEndpoint":[{"__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":{"ngInjectableDef":{}}},"ExceptionMessageService":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor"}],"changeMessage":[{"__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:flex;width:90%;padding:18px 0 18px 24px;font-size:14px;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:flex;width:100%;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: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:flex;position:relative;width:100%}.upload-panel .context{display:flex;flex-direction:column;width:100%;margin-left:24px;margin-top:24px;margin-right:24px}.upload-panel .context .context-actions{display:flex;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;justify-content:center}.upload-panel .context .context-actions ::ng-deep .button ::ng-deep .text{font-size:10px}.upload-panel .context .context-panel{display:flex;flex-direction:row;width:100%;margin-top:20px}.upload-panel .context .context-panel .upload-url{display:flex;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:flex;justify-content:center;align-items:center}.dnd-wrapper{display:flex;flex-direction:column;align-items:center;justify-content:center;top:259px;position:absolute}.dnd-wrapper .text{color:#6e6e6e;font-size:14px}.dnd-wrapper .icon{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:flex;flex-direction:column;align-items:center;align-content: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:flex;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":17,"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{flex:1;transition:.4s;background-color:#e7e7e7;height:100%;overflow:scroll}.page{display:inline-block;background-color:#fff;margin:20px;box-shadow:0 3px 6px rgba(0,0,0,.16);transition:.3s}.page.excel{overflow:auto}.wait{position:absolute;top:55px;left:Calc(30%)}.panzoom{display:flex;flex-direction:row;flex-wrap:wrap;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":24,"character":3}}]}],"preloadPageCount":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":25,"character":3}}]}],"file":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":26,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"ElementRef","module":"@angular/core","arguments":[{"__symbolic":"error","message":"Could not resolve type","line":48,"character":48,"context":{"typeName":"HTMLElement"},"module":"./lib/document/document.component"}]},{"__symbolic":"reference","name":"ZoomService"},{"__symbolic":"reference","name":"WindowService"}]}],"ngOnInit":[{"__symbolic":"method"}],"ngOnChanges":[{"__symbolic":"method"}],"ngAfterViewInit":[{"__symbolic":"method"}],"ifExcel":[{"__symbolic":"method"}],"getDimensionWithUnit":[{"__symbolic":"method"}],"ifEdge":[{"__symbolic":"method"}],"ngAfterViewChecked":[{"__symbolic":"method"}],"absolutePosition":[{"__symbolic":"method"}],"restrictRawPos":[{"__symbolic":"method"}],"updateLastPos":[{"__symbolic":"method"}],"translate":[{"__symbolic":"method"}],"startZoom":[{"__symbolic":"method"}],"rawCenter":[{"__symbolic":"method"}],"updateLastScale":[{"__symbolic":"method"}],"zoomAround":[{"__symbolic":"method"}],"onPinch":[{"__symbolic":"method"}],"onPinchEnd":[{"__symbolic":"method"}],"onPan":[{"__symbolic":"method"}],"onPanEnd":[{"__symbolic":"method"}],"onDoubleTap":[{"__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:inline-flex;flex-direction:column;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:flex}#gd-error-section fa-icon{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:flex;flex-direction:column;justify-content:center;align-items:center;width:100%;height:100%}.icon{font-size:65px;margin-bottom:43px;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:flex;flex-direction:column;width:250px;height:250px;align-items: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:flex;align-items: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%;transform:translate(-50%,-50%);z-index:1051}.gd-modal-content{background-color:#fff;height:100%;display:flex;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%}/deep/ .gd-highlight{background-color:#ff0}/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:468px;height:164px}.gd-password-wrap{display:flex;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;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":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"ElementRef","module":"@angular/core","arguments":[{"__symbolic":"error","message":"Could not resolve type","line":26,"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":49,"character":3},"arguments":["scroll"]}]}],"resizing":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostListener","line":53,"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"}]}},"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;transform:translate(-50%,0);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
{{option.name}}
\r\n
\r\n
\r\n
\r\n
\r\n","styles":[".select{min-width:50px;display:flex;flex-direction:row;justify-content: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}}]}],"isOpen":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":20,"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:0!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:flex;align-items:center}.tools{width:100%;height:100%;display:flex;align-items:center}@media (max-width:1037px){.top-toolbar{height:60px}.tools{height:100%;overflow-x:auto;overflow-scrolling:touch;display:flex;align-items:center;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","styles":[".gd-side-panel-wrapper{margin-right:0;width:334px;z-index:999;background-color:#fff;transition:margin-right .2s;display:flex;flex-flow:column;height:100vh}.gd-side-panel-wrapper .gd-side-panel-header{height:60px;background-color:#222e35;display:flex;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{display:flex;align-items:center}.gd-side-panel-wrapper .gd-side-panel-header /deep/ gd-button .text{padding:0}.gd-side-panel-wrapper .gd-side-panel-body{display:flex;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}}]}],"hideSidePanel":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":11,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor"}],"openSidePanel":[{"__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:flex;align-content:center;flex-direction:column;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"]}]}],"minWidth":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostBinding","line":17,"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":20,"character":92}]}],"ngOnDestroy":[{"__symbolic":"method"}],"ngOnChanges":[{"__symbolic":"method"}],"ngOnInit":[{"__symbolic":"method"}],"setStyles":[{"__symbolic":"method"}],"getScrollWidth":[{"__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"}],"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:flex;flex-wrap:wrap;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%;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:flex;overflow:hidden;width:469px;height:183px}.sa-icon.sa-success{border-color:#4caf50;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;transform:rotate(-45deg);transform-origin:60px 60px}.sa-icon.sa-success::after{border-radius:0 120px 120px 0;top:-11px;left:30px;transform:rotate(-45deg);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;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;transform:rotate(45deg)}.sa-icon.sa-success .sa-line.sa-long{width:47px;right:8px;top:38px;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;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:flex}.gd-tab{text-align:center;font-size:11px;color:#e5e5e5;height:30px;line-height:30px;cursor:pointer;display:flex;align-items:center;justify-content:center}.gd-tab .icon{display:none;font-size:14px;margin:auto 23px}.gd-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}.gd-tab .title{display:none}.gd-tab .icon{display:block}}"]}]}],"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: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:flex;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:flex;flex-direction:row;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:flex;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:flex;flex-direction:row;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:flex;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:flex;flex-direction:row;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:flex;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:flex;flex-direction:row;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;transition:transform .3s ease-out;width:100%;height:100%;display:flex;justify-content: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":9,"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:flex;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:-34px}}"]}]}],"members":{"formatting":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":15,"character":3}}]}],"textMenu":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":16,"character":3}}]}],"topPosition":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":17,"character":3}}]}],"lock":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":18,"character":3}}]}],"translation":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":19,"character":3}}]}],"menuType":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":20,"character":3}}]}],"changeFormatting":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":21,"character":3}}]}],"removeItem":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":22,"character":3}}]}],"copySign":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":23,"character":3}}]}],"lockOut":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":24,"character":3}}]}],"comment":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":25,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"WindowService"}]}],"ngOnInit":[{"__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":8,"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:flex;flex-direction:row}.gd-text-menu .format-select{height:37px;display:flex;justify-content: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;bottom:0;left:0;right:0;width:100%;height:60px;align-items:center;padding:0;margin:0;background-color:#fff;border-top:2px solid #707070}.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:-200px}.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 .button{margin:3px!important}}"]}]}],"members":{"blur":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":14,"character":3}}]}],"fontSize":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":15,"character":3}}]}],"font":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":16,"character":3}}]}],"bold":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":17,"character":3}}]}],"italic":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":18,"character":3}}]}],"underline":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":19,"character":3}}]}],"color":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":20,"character":3}}]}],"decoration":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":21,"character":3}}]}],"showTooltips":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":22,"character":3}}]}],"outFontSize":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":24,"character":3}}]}],"outFont":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":25,"character":3}}]}],"outBold":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":26,"character":3}}]}],"outItalic":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":27,"character":3}}]}],"outUnderline":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":28,"character":3}}]}],"outColor":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":29,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"OnCloseService"}]}],"ngOnInit":[{"__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":"Directive","line":5,"character":1},"arguments":[{"selector":"[gdEditHeaderFooter]"}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"ZoomService"},{"__symbolic":"reference","name":"WindowService"},{"__symbolic":"reference","module":"@angular/core","name":"ElementRef","line":13,"character":92}]}],"ngAfterViewInit":[{"__symbolic":"method"}],"ngOnDestroy":[{"__symbolic":"method"}],"ngOnChanges":[{"__symbolic":"method"}],"ngOnInit":[{"__symbolic":"method"}],"dblclickEvent":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostListener","line":32,"character":3},"arguments":["dblclick",["$event"]]}]}],"clickEvent":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostListener","line":50,"character":3},"arguments":["click",["$event"]]}]}]}},"ɵb":{"__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:flex}"]}]}],"members":{"__ctor__":[{"__symbolic":"constructor"}]}},"ɵc":{"__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"]}]}]}},"ɵd":{"__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"}]}},"ɵe":{"__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:flex;flex-direction:column;align-items:center;align-content: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:flex;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","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/editheaderfooter.directive","ɵb":"./lib/tabs/tabs.component","ɵc":"./lib/tooltip.directive","ɵd":"./lib/resizing/resizing.component","ɵe":"./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":"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":"ɵa"},{"__symbolic":"reference","name":"TabbedToolbarsComponent"},{"__symbolic":"reference","name":"TabComponent"},{"__symbolic":"reference","name":"ɵb"},{"__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":"ɵc"},{"__symbolic":"reference","name":"HostDynamicDirective"},{"__symbolic":"reference","name":"ɵd"},{"__symbolic":"reference","name":"ɵe"},{"__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":"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":"ɵa"},{"__symbolic":"reference","name":"TabbedToolbarsComponent"},{"__symbolic":"reference","name":"TabComponent"},{"__symbolic":"reference","name":"ɵb"},{"__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":"ɵc"},{"__symbolic":"reference","name":"HostDynamicDirective"},{"__symbolic":"reference","name":"ɵd"},{"__symbolic":"reference","name":"ɵe"},{"__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","EDITOR_APP":"/editor","COMPARISON_APP":"/comparison","CONVERSION_APP":"/conversion","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","ROTATE_DOCUMENT_PAGE":"/rotateDocumentPages","UPLOAD_DOCUMENTS":"/uploadDocument","DOWNLOAD_DOCUMENTS":"/downloadDocument","LOAD_PRINT":"/loadPrint","LOAD_PRINT_PDF":"/printPdf","LOAD_THUMBNAILS":"/loadThumbnails","LOAD_FORMATS":"/loadFormats","SAVE_FILE":"/saveFile","COMPARE_FILES":"/compare","CONVERT_FILE":"/convert","DELETE_SIGNATURE_FILE":"/deleteSignatureFile","SAVE_OPTICAL_CODE":"/saveOpticalCode","SAVE_TEXT":"/saveText","SAVE_IMAGE":"/saveImage","SAVE_STAMP":"/saveStamp","SIGN":"/sign","DOWNLOAD_SIGNED":"/downloadSigned","LOAD_SIGNATURE_IMAGE":"/loadSignatureImage","ANNOTATE":"/annotate","httpOptionsJson":{"headers":{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@angular/common/http","name":"HttpHeaders","line":36,"character":17},"arguments":[{"Content-Type":"application/json","$quoted$":["Content-Type"]}]}},"httpOptionsJsonResponseTypeBlob":{"headers":{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@angular/common/http","name":"HttpHeaders","line":41,"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":48,"character":1}}],"members":{"__ctor__":[{"__symbolic":"constructor"}],"getConfigEndpoint":[{"__symbolic":"method"}],"getViewerApiEndpoint":[{"__symbolic":"method"}],"getEditorApiEndpoint":[{"__symbolic":"method"}],"getComparisonApiEndpoint":[{"__symbolic":"method"}],"getConversionApiEndpoint":[{"__symbolic":"method"}],"getSignatureApiEndpoint":[{"__symbolic":"method"}],"getAnnotationApiEndpoint":[{"__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":{"ngInjectableDef":{}}},"ExceptionMessageService":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor"}],"changeMessage":[{"__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:flex;width:90%;padding:18px 0 18px 24px;font-size:14px;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:flex;width:100%;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: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:flex;position:relative;width:100%}.upload-panel .context{display:flex;flex-direction:column;width:100%;margin-left:24px;margin-top:24px;margin-right:24px}.upload-panel .context .context-actions{display:flex;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;justify-content:center}.upload-panel .context .context-actions ::ng-deep .button ::ng-deep .text{font-size:10px}.upload-panel .context .context-panel{display:flex;flex-direction:row;width:100%;margin-top:20px}.upload-panel .context .context-panel .upload-url{display:flex;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:flex;justify-content:center;align-items:center}.dnd-wrapper{display:flex;flex-direction:column;align-items:center;justify-content:center;top:259px;position:absolute}.dnd-wrapper .text{color:#6e6e6e;font-size:14px}.dnd-wrapper .icon{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:flex;flex-direction:column;align-items:center;align-content: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:flex;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":17,"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{flex:1;transition:.4s;background-color:#e7e7e7;height:100%;overflow:scroll}.page{display:inline-block;background-color:#fff;margin:20px;box-shadow:0 3px 6px rgba(0,0,0,.16);transition:.3s}.page.excel{overflow:auto}.wait{position:absolute;top:55px;left:Calc(30%)}.panzoom{display:flex;flex-direction:row;flex-wrap:wrap;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":24,"character":3}}]}],"preloadPageCount":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":25,"character":3}}]}],"file":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":26,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"ElementRef","module":"@angular/core","arguments":[{"__symbolic":"error","message":"Could not resolve type","line":48,"character":48,"context":{"typeName":"HTMLElement"},"module":"./lib/document/document.component"}]},{"__symbolic":"reference","name":"ZoomService"},{"__symbolic":"reference","name":"WindowService"}]}],"ngOnInit":[{"__symbolic":"method"}],"ngOnChanges":[{"__symbolic":"method"}],"ngAfterViewInit":[{"__symbolic":"method"}],"ifExcel":[{"__symbolic":"method"}],"getDimensionWithUnit":[{"__symbolic":"method"}],"ifEdge":[{"__symbolic":"method"}],"ngAfterViewChecked":[{"__symbolic":"method"}],"absolutePosition":[{"__symbolic":"method"}],"restrictRawPos":[{"__symbolic":"method"}],"updateLastPos":[{"__symbolic":"method"}],"translate":[{"__symbolic":"method"}],"startZoom":[{"__symbolic":"method"}],"rawCenter":[{"__symbolic":"method"}],"updateLastScale":[{"__symbolic":"method"}],"zoomAround":[{"__symbolic":"method"}],"onPinch":[{"__symbolic":"method"}],"onPinchEnd":[{"__symbolic":"method"}],"onPan":[{"__symbolic":"method"}],"onPanEnd":[{"__symbolic":"method"}],"onDoubleTap":[{"__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:inline-flex;flex-direction:column;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:flex}#gd-error-section fa-icon{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:flex;flex-direction:column;justify-content:center;align-items:center;width:100%;height:100%}.icon{font-size:65px;margin-bottom:43px;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:flex;flex-direction:column;width:250px;height:250px;align-items: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:flex;align-items: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%;transform:translate(-50%,-50%);z-index:1051}.gd-modal-content{background-color:#fff;height:100%;display:flex;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%}/deep/ .gd-highlight{background-color:#ff0}/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:468px;height:164px}.gd-password-wrap{display:flex;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;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":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"ElementRef","module":"@angular/core","arguments":[{"__symbolic":"error","message":"Could not resolve type","line":26,"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":49,"character":3},"arguments":["scroll"]}]}],"resizing":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostListener","line":53,"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"}]}},"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;transform:translate(-50%,0);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
{{option.name}}
\r\n
\r\n
\r\n
\r\n
\r\n","styles":[".select{min-width:50px;display:flex;flex-direction:row;justify-content: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}}]}],"isOpen":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":20,"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:0!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:flex;align-items:center}.tools{width:100%;height:100%;display:flex;align-items:center}@media (max-width:1037px){.top-toolbar{height:60px}.tools{height:100%;overflow-x:auto;overflow-scrolling:touch;display:flex;align-items:center;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","styles":[".gd-side-panel-wrapper{margin-right:0;width:334px;z-index:999;background-color:#fff;transition:margin-right .2s;display:flex;flex-flow:column;height:100vh}.gd-side-panel-wrapper .gd-side-panel-header{height:60px;background-color:#222e35;display:flex;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{display:flex;align-items:center}.gd-side-panel-wrapper .gd-side-panel-header /deep/ gd-button .text{padding:0}.gd-side-panel-wrapper .gd-side-panel-body{display:flex;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}}]}],"hideSidePanel":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":11,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor"}],"openSidePanel":[{"__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:flex;align-content:center;flex-direction:column;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"]}]}],"minWidth":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostBinding","line":17,"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":20,"character":92}]}],"ngOnDestroy":[{"__symbolic":"method"}],"ngOnChanges":[{"__symbolic":"method"}],"ngOnInit":[{"__symbolic":"method"}],"setStyles":[{"__symbolic":"method"}],"getScrollWidth":[{"__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"}],"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:flex;flex-wrap:wrap;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%;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:flex;overflow:hidden;width:469px;height:183px}.sa-icon.sa-success{border-color:#4caf50;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;transform:rotate(-45deg);transform-origin:60px 60px}.sa-icon.sa-success::after{border-radius:0 120px 120px 0;top:-11px;left:30px;transform:rotate(-45deg);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;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;transform:rotate(45deg)}.sa-icon.sa-success .sa-line.sa-long{width:47px;right:8px;top:38px;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;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:flex}.gd-tab{text-align:center;font-size:11px;color:#e5e5e5;height:30px;line-height:30px;cursor:pointer;display:flex;align-items:center;justify-content:center}.gd-tab .icon{display:none;font-size:14px;margin:auto 23px}.gd-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}.gd-tab .title{display:none}.gd-tab .icon{display:block}}"]}]}],"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: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:flex;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:flex;flex-direction:row;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:flex;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:flex;flex-direction:row;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:flex;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:flex;flex-direction:row;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:flex;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:flex;flex-direction:row;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;transition:transform .3s ease-out;width:100%;height:100%;display:flex;justify-content: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":9,"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:flex;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:-34px}}"]}]}],"members":{"formatting":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":15,"character":3}}]}],"textMenu":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":16,"character":3}}]}],"topPosition":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":17,"character":3}}]}],"lock":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":18,"character":3}}]}],"translation":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":19,"character":3}}]}],"menuType":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":20,"character":3}}]}],"changeFormatting":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":21,"character":3}}]}],"removeItem":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":22,"character":3}}]}],"copySign":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":23,"character":3}}]}],"lockOut":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":24,"character":3}}]}],"comment":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":25,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"WindowService"}]}],"ngOnInit":[{"__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":8,"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:flex;flex-direction:row}.gd-text-menu .format-select{height:37px;display:flex;justify-content: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;bottom:0;left:0;right:0;width:100%;height:60px;align-items:center;padding:0;margin:0;background-color:#fff;border-top:2px solid #707070}.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:-200px}.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 .button{margin:3px!important}}"]}]}],"members":{"blur":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":14,"character":3}}]}],"fontSize":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":15,"character":3}}]}],"font":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":16,"character":3}}]}],"bold":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":17,"character":3}}]}],"italic":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":18,"character":3}}]}],"underline":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":19,"character":3}}]}],"color":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":20,"character":3}}]}],"decoration":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":21,"character":3}}]}],"showTooltips":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":22,"character":3}}]}],"outFontSize":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":24,"character":3}}]}],"outFont":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":25,"character":3}}]}],"outBold":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":26,"character":3}}]}],"outItalic":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":27,"character":3}}]}],"outUnderline":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":28,"character":3}}]}],"outColor":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":29,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"OnCloseService"}]}],"ngOnInit":[{"__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":"Directive","line":5,"character":1},"arguments":[{"selector":"[gdEditHeaderFooter]"}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"ZoomService"},{"__symbolic":"reference","name":"WindowService"},{"__symbolic":"reference","module":"@angular/core","name":"ElementRef","line":13,"character":92}]}],"ngAfterViewInit":[{"__symbolic":"method"}],"ngOnDestroy":[{"__symbolic":"method"}],"ngOnChanges":[{"__symbolic":"method"}],"ngOnInit":[{"__symbolic":"method"}],"dblclickEvent":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostListener","line":34,"character":3},"arguments":["dblclick",["$event"]]}]}],"clickEvent":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostListener","line":51,"character":3},"arguments":["click",["$event"]]}]}]}},"ɵb":{"__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:flex}"]}]}],"members":{"__ctor__":[{"__symbolic":"constructor"}]}},"ɵc":{"__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"]}]}]}},"ɵd":{"__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"}]}},"ɵe":{"__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:flex;flex-direction:column;align-items:center;align-content: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:flex;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","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/editheaderfooter.directive","ɵb":"./lib/tabs/tabs.component","ɵc":"./lib/tooltip.directive","ɵd":"./lib/resizing/resizing.component","ɵe":"./lib/top-tab/top-tab.component"},"importAs":"@groupdocs.examples.angular/common-components"} \ No newline at end of file diff --git a/libs/common-components/src/lib/editheaderfooter.directive.ts b/libs/common-components/src/lib/editheaderfooter.directive.ts index df27e5e9b..b8ca57dfb 100644 --- a/libs/common-components/src/lib/editheaderfooter.directive.ts +++ b/libs/common-components/src/lib/editheaderfooter.directive.ts @@ -17,8 +17,10 @@ export class EditHeaderFooterDirective implements OnInit, OnDestroy, AfterViewIn ngAfterViewInit(): void { this.footerRef = this.el.nativeElement.querySelectorAll('.footer')[0]; - this.footerRef.setAttribute("contenteditable", false); - this.footerRef.className += " disabled"; + if (this.footerRef) { + this.footerRef.setAttribute("contenteditable", false); + this.footerRef.className += " disabled"; + } } ngOnDestroy(): void { From 84e16520b4607ed1495570d2b957fa818d123c09 Mon Sep 17 00:00:00 2001 From: Egor Date: Wed, 26 Feb 2020 17:14:53 +0300 Subject: [PATCH 3/5] Current solution for editing footer replicated for header. --- ....examples.angular-common-components.umd.js | 45 ++++++++++++--- ...mples.angular-common-components.umd.js.map | 2 +- ...mples.angular-common-components.umd.min.js | 2 +- ...s.angular-common-components.umd.min.js.map | 2 +- .../esm2015/lib/editheaderfooter.directive.js | 57 +++++++++++++++---- .../esm5/lib/editheaderfooter.directive.js | 57 +++++++++++++++---- ...docs.examples.angular-common-components.js | 45 ++++++++++++--- ....examples.angular-common-components.js.map | 2 +- ...docs.examples.angular-common-components.js | 45 ++++++++++++--- ....examples.angular-common-components.js.map | 2 +- ...es.angular-common-components.metadata.json | 2 +- .../lib/editheaderfooter.directive.d.ts | 1 + .../src/lib/editheaderfooter.directive.ts | 47 ++++++++++++--- libs/editor/src/lib/editor-app.component.less | 4 +- libs/editor/src/lib/editor-app.component.ts | 8 +-- 15 files changed, 255 insertions(+), 66 deletions(-) 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 8015ff48f..1a9f11a30 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 @@ -4012,6 +4012,11 @@ * @return {?} */ function () { + this.headerRef = this.el.nativeElement.querySelectorAll('.header')[0]; + if (this.headerRef) { + this.headerRef.setAttribute("contenteditable", false); + this.headerRef.className += " disabled"; + } this.footerRef = this.el.nativeElement.querySelectorAll('.footer')[0]; if (this.footerRef) { this.footerRef.setAttribute("contenteditable", false); @@ -4051,16 +4056,27 @@ * @return {?} */ function (event) { + /** @type {?} */ + var headerTitle = document.createElement("div"); + headerTitle.className = "header-title"; + headerTitle.append('Header'); /** @type {?} */ var footerTitle = document.createElement("div"); footerTitle.className = "footer-title"; footerTitle.append('Footer'); /** @type {?} */ - var footer = event.target.closest('.footer'); - if (footer && footer.classList.contains('disabled')) { - footer.classList.remove('disabled'); - footer.setAttribute("contenteditable", true); - footer.before(footerTitle); + var closestHeader = event.target.closest('.header'); + if (closestHeader && closestHeader.classList.contains('disabled')) { + closestHeader.classList.remove('disabled'); + closestHeader.setAttribute("contenteditable", true); + closestHeader.after(headerTitle); + } + /** @type {?} */ + var closestFooter = event.target.closest('.footer'); + if (closestFooter && closestFooter.classList.contains('disabled')) { + closestFooter.classList.remove('disabled'); + closestFooter.setAttribute("contenteditable", true); + closestFooter.before(footerTitle); } event.preventDefault(); event.stopPropagation(); @@ -4075,8 +4091,23 @@ */ function (event) { /** @type {?} */ - var footer = event.target.closest('.footer'); - if (!footer) { + var closestHeader = event.target.closest('.header'); + if (!closestHeader) { + this.headerRef.setAttribute("contenteditable", false); + if (!this.headerRef.classList.contains('disabled')) { + this.headerRef.className += " disabled"; + } + /** @type {?} */ + var section = this.el.nativeElement.querySelectorAll('.section')[0]; + /** @type {?} */ + var headerTitle = this.el.nativeElement.querySelectorAll('.header-title')[0]; + if (section && headerTitle) { + section.removeChild(headerTitle); + } + } + /** @type {?} */ + var closestFooter = event.target.closest('.footer'); + if (!closestFooter) { this.footerRef.setAttribute("contenteditable", false); if (!this.footerRef.classList.contains('disabled')) { this.footerRef.className += " disabled"; 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 f5e1adf67..c9833137b 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/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/page-preload.service.ts","ng://@groupdocs.examples.angular/common-components/lib/navigate.service.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/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/editheaderfooter.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 @Output() hideSidePanel = new EventEmitter();\r\n\r\n onlyTitle = false;\r\n\r\n constructor() {\r\n }\r\n\r\n openSidePanel() {\r\n this.hideSidePanel.emit(true);\r\n }\r\n\r\n toggleTitleMode(){\r\n this.onlyTitle = !this.onlyTitle;\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 EDITOR_APP = '/editor';\r\n public static COMPARISON_APP = '/comparison';\r\n public static CONVERSION_APP = '/conversion';\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 ROTATE_DOCUMENT_PAGE = '/rotateDocumentPages';\r\n public static UPLOAD_DOCUMENTS = '/uploadDocument';\r\n public static DOWNLOAD_DOCUMENTS = '/downloadDocument';\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 COMPARE_FILES = '/compare';\r\n public static CONVERT_FILE = '/convert';\r\n public static DELETE_SIGNATURE_FILE = '/deleteSignatureFile';\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\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 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","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}\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 {\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\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 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\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\r\n ngOnInit() {\r\n }\r\n\r\n ngOnChanges() {\r\n const panzoom = this._elementRef.nativeElement.children.item(0).children.item(0);\r\n (panzoom as any).style.transform = '';\r\n // TODO: this intersects with zooming by zoom directive, but still needed\r\n // for flush previous settings before opening another file\r\n //this._zoomService.changeZoom(100);\r\n //this.scale = 1;\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 getDimensionWithUnit(value: number) {\r\n return 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 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 absolutePosition(el) {\r\n let x = 0, y = 0;\r\n\r\n while (el !== null) {\r\n x += el.offsetLeft;\r\n y += el.offsetTop;\r\n el = el.offsetParent;\r\n }\r\n\r\n return {x: x, y: y};\r\n };\r\n\r\n restrictRawPos(pos, viewportDim, docDim) {\r\n if (pos < viewportDim / this.scale - docDim) { // too far left/up?\r\n pos = viewportDim / this.scale - docDim;\r\n } else if (pos > 0) { // too far right/down?\r\n pos = 0;\r\n }\r\n return pos;\r\n };\r\n\r\n updateLastPos() {\r\n this.lastX = this.x;\r\n this.lastY = this.y;\r\n };\r\n\r\n translate(deltaX, deltaY) {\r\n // We restrict to the min of the viewport width/height or current width/height as the\r\n // current width/height may be smaller than the viewport width/height\r\n const newX = this.restrictRawPos(this.lastX + deltaX / this.scale,\r\n Math.min(this.viewportWidth, this.curWidth), this.docWidth);\r\n this.x = newX;\r\n // TODO: value here and in the similar line below changes to positive to take any effect\r\n this.container.scrollLeft = -Math.ceil(newX * this.scale);\r\n\r\n const newY = this.restrictRawPos(this.lastY + deltaY / this.scale,\r\n Math.min(this.viewportHeight, this.curHeight), this.docHeight);\r\n this.y = newY;\r\n this.container.scrollTop = -Math.ceil(newY * this.scale);\r\n\r\n this.doc.style.transform = 'scale(' + this.scale + ')';\r\n };\r\n\r\n startZoom(scaleBy) {\r\n this.scale = this.lastScale * scaleBy;\r\n\r\n this.curWidth = this.docWidth * this.scale;\r\n this.curHeight = this.docHeight * this.scale;\r\n\r\n // Adjust margins to make sure that we aren't out of bounds\r\n this.translate(0, 0);\r\n };\r\n\r\n rawCenter($event) {\r\n const pos = this.absolutePosition(this.container);\r\n\r\n // We need to account for the scroll position\r\n const scrollLeft = window.pageXOffset ? window.pageXOffset : document.body.scrollLeft;\r\n const scrollTop = window.pageYOffset ? window.pageYOffset : document.body.scrollTop;\r\n\r\n const zoomX = -this.x + ($event.center.x - pos.x + scrollLeft) / this.scale;\r\n const zoomY = -this.y + ($event.center.y - pos.y + scrollTop) / this.scale;\r\n\r\n return {x: zoomX, y: zoomY};\r\n };\r\n\r\n updateLastScale() {\r\n this.lastScale = this.scale;\r\n };\r\n\r\n zoomAround(scaleBy, rawZoomX, rawZoomY, doNotUpdateLast) {\r\n // Zoom\r\n this.startZoom(scaleBy);\r\n\r\n // New raw center of viewport\r\n const rawCenterX = -this.x + Math.min(this.viewportWidth, this.curWidth) / 2 / this.scale;\r\n const rawCenterY = -this.y + Math.min(this.viewportHeight, this.curHeight) / 2 / this.scale;\r\n\r\n // Delta\r\n const deltaX = (rawCenterX - rawZoomX) * this.scale;\r\n const deltaY = (rawCenterY - rawZoomY) * this.scale;\r\n\r\n // Translate back to zoom center\r\n this.translate(deltaX, deltaY);\r\n\r\n if (!doNotUpdateLast) {\r\n this.updateLastScale();\r\n this.updateLastPos();\r\n }\r\n };\r\n\r\n onPinch($event) {\r\n if (this.pinchCenter === null) {\r\n this.pinchCenter = this.rawCenter($event);\r\n const offsetX = this.pinchCenter.x * this.scale - (-this.x * this.scale + Math.min(this.viewportWidth, this.curWidth) / 2);\r\n const offsetY = this.pinchCenter.y * this.scale - (-this.y * this.scale + Math.min(this.viewportHeight, this.curHeight) / 2);\r\n this.pinchCenterOffset = {x: offsetX, y: offsetY};\r\n }\r\n\r\n const newScale = this.scale * $event.scale;\r\n\r\n const zoomX = this.pinchCenter.x * newScale - this.pinchCenterOffset.x;\r\n const zoomY = this.pinchCenter.y * newScale - this.pinchCenterOffset.y;\r\n const zoomCenter = {x: zoomX / newScale, y: zoomY / newScale};\r\n\r\n this.zoomAround($event.scale, zoomCenter.x, zoomCenter.y, true);\r\n }\r\n\r\n onPinchEnd($event) {\r\n this.updateLastScale();\r\n this.updateLastPos();\r\n this.pinchCenter = null;\r\n }\r\n\r\n onPan($event) {\r\n // TODO: looks like native pan works better\r\n // if (!this.isDesktop) {\r\n // this.translate($event.deltaX, $event.deltaY);\r\n // }\r\n }\r\n\r\n onPanEnd($event) {\r\n // if (!this.isDesktop) {\r\n // this.updateLastPos();\r\n // }\r\n }\r\n\r\n onDoubleTap($event) {\r\n if (!this.isDesktop) {\r\n if ($event.tapCount === 2) {\r\n const c = this.rawCenter($event);\r\n this.zoomAround(2, c.x, c.y, false);\r\n }\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 // 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 !== null ? this.data.replace(/>\\s+<').replace(/\\uFEFF/g,\"\") : null;\r\n const dataImagePngBase64 = 'data:image/png;base64,';\r\n this.imgData = dataImagePngBase64;\r\n if (!this.isHtml) {\r\n this.imgData += 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 {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 {Observable, Observer} 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 readonly _navigate: Observable;\r\n private _observer: Observer;\r\n\r\n constructor(private _pagePreloadService: PagePreloadService) {\r\n this._navigate = new Observable(observer =>\r\n this._observer = observer);\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 {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\r\n private currentPage: number;\r\n private zoom = 100;\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 const count = Math.floor((this.getWidth() - offset) / (pageEl.getBoundingClientRect().width * this.getZoom()));\r\n return count === 0 ? 1 : count;\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 this._navigateService.currentPage = page;\r\n }\r\n currentPageSet = true;\r\n }\r\n this._pagePreloadService.changeLastPageInView(page);\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 {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.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 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 scrollWidth = this.getScrollWidth(this.el.nativeElement.parentElement);\r\n this.width = (viewPortWidth/zoomInt - scrollWidth/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 @Input() isOpen = false;\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 }\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 if (this.htmlMode) {\r\n for (const page of pages) {\r\n pagesHtml += '
' +\r\n '
' + page.data + '
' +\r\n '
';\r\n }\r\n } else {\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 windowObject.focus();\r\n windowObject.print();\r\n windowObject.close();\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 {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 constructor() {\r\n }\r\n\r\n get messageChange(): Observable {\r\n return this._messageChange;\r\n }\r\n\r\n changeMessage(message: string) {\r\n this._observer.next(message);\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 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._modalService.open(CommonModals.ErrorMessage);\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 {AfterViewInit, Directive, HostBinding, Input, OnDestroy, OnInit, ElementRef, OnChanges, HostListener} 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: '[gdEditHeaderFooter]'\r\n})\r\nexport class EditHeaderFooterDirective implements OnInit, OnDestroy, AfterViewInit, OnChanges {\r\n\r\n el: ElementRef;\r\n footerRef: any;\r\n\r\n constructor(private _zoomService: ZoomService, private _windowService: WindowService, el: ElementRef) {\r\n this.el = el;\r\n }\r\n\r\n ngAfterViewInit(): void {\r\n this.footerRef = this.el.nativeElement.querySelectorAll('.footer')[0];\r\n if (this.footerRef) {\r\n this.footerRef.setAttribute(\"contenteditable\", false);\r\n this.footerRef.className += \" disabled\";\r\n }\r\n }\r\n\r\n ngOnDestroy(): void {\r\n }\r\n\r\n ngOnChanges(): void {\r\n }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n @HostListener('dblclick', ['$event'])\r\n dblclickEvent(event) {\r\n const footerTitle = document.createElement(\"div\");\r\n footerTitle.className = \"footer-title\";\r\n footerTitle.append('Footer');\r\n\r\n const footer = event.target.closest('.footer');\r\n if (footer && footer.classList.contains('disabled')) {\r\n footer.classList.remove('disabled');\r\n footer.setAttribute(\"contenteditable\", true);\r\n footer.before(footerTitle);\r\n }\r\n\r\n event.preventDefault();\r\n event.stopPropagation();\r\n }\r\n\r\n @HostListener('click', ['$event'])\r\n clickEvent(event) {\r\n const footer = event.target.closest('.footer');\r\n if (!footer) {\r\n this.footerRef.setAttribute(\"contenteditable\", false);\r\n if (!this.footerRef.classList.contains('disabled'))\r\n {\r\n this.footerRef.className += \" disabled\";\r\n }\r\n\r\n const section = this.el.nativeElement.querySelectorAll('.section')[0];\r\n const footerTitle = this.el.nativeElement.querySelectorAll('.footer-title')[0];\r\n if (section && footerTitle) {\r\n section.removeChild(footerTitle);\r\n }\r\n }\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 }\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 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} 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\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\r\n constructor(private _onCloseService: OnCloseService) {\r\n _onCloseService.onClose.subscribe(() => {\r\n this.colorPickerShow = false;\r\n });\r\n }\r\n\r\n ngOnInit() {\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} from '@angular/core';\r\nimport {Formatting} from \"../formatting.service\";\r\nimport {WindowService} from \"../window.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 this.isMobile = _windowService.isMobile();\r\n _windowService.onResize.subscribe((w) => {\r\n this.isMobile = _windowService.isMobile();\r\n });\r\n }\r\n\r\n ngOnInit() {\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 {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 {EditHeaderFooterDirective} from './editheaderfooter.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 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 EditHeaderFooterDirective,\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 SelectComponent,\r\n RotationDirective,\r\n InitStateComponent,\r\n RenderPrintDirective,\r\n ErrorModalComponent,\r\n PasswordRequiredComponent,\r\n SearchComponent,\r\n SearchableDirective,\r\n EditHeaderFooterDirective,\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","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/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/page-preload.service.ts","ng://@groupdocs.examples.angular/common-components/lib/navigate.service.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/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/editheaderfooter.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 @Output() hideSidePanel = new EventEmitter();\r\n\r\n onlyTitle = false;\r\n\r\n constructor() {\r\n }\r\n\r\n openSidePanel() {\r\n this.hideSidePanel.emit(true);\r\n }\r\n\r\n toggleTitleMode(){\r\n this.onlyTitle = !this.onlyTitle;\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 EDITOR_APP = '/editor';\r\n public static COMPARISON_APP = '/comparison';\r\n public static CONVERSION_APP = '/conversion';\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 ROTATE_DOCUMENT_PAGE = '/rotateDocumentPages';\r\n public static UPLOAD_DOCUMENTS = '/uploadDocument';\r\n public static DOWNLOAD_DOCUMENTS = '/downloadDocument';\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 COMPARE_FILES = '/compare';\r\n public static CONVERT_FILE = '/convert';\r\n public static DELETE_SIGNATURE_FILE = '/deleteSignatureFile';\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\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 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","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}\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 {\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\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 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\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\r\n ngOnInit() {\r\n }\r\n\r\n ngOnChanges() {\r\n const panzoom = this._elementRef.nativeElement.children.item(0).children.item(0);\r\n (panzoom as any).style.transform = '';\r\n // TODO: this intersects with zooming by zoom directive, but still needed\r\n // for flush previous settings before opening another file\r\n //this._zoomService.changeZoom(100);\r\n //this.scale = 1;\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 getDimensionWithUnit(value: number) {\r\n return 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 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 absolutePosition(el) {\r\n let x = 0, y = 0;\r\n\r\n while (el !== null) {\r\n x += el.offsetLeft;\r\n y += el.offsetTop;\r\n el = el.offsetParent;\r\n }\r\n\r\n return {x: x, y: y};\r\n };\r\n\r\n restrictRawPos(pos, viewportDim, docDim) {\r\n if (pos < viewportDim / this.scale - docDim) { // too far left/up?\r\n pos = viewportDim / this.scale - docDim;\r\n } else if (pos > 0) { // too far right/down?\r\n pos = 0;\r\n }\r\n return pos;\r\n };\r\n\r\n updateLastPos() {\r\n this.lastX = this.x;\r\n this.lastY = this.y;\r\n };\r\n\r\n translate(deltaX, deltaY) {\r\n // We restrict to the min of the viewport width/height or current width/height as the\r\n // current width/height may be smaller than the viewport width/height\r\n const newX = this.restrictRawPos(this.lastX + deltaX / this.scale,\r\n Math.min(this.viewportWidth, this.curWidth), this.docWidth);\r\n this.x = newX;\r\n // TODO: value here and in the similar line below changes to positive to take any effect\r\n this.container.scrollLeft = -Math.ceil(newX * this.scale);\r\n\r\n const newY = this.restrictRawPos(this.lastY + deltaY / this.scale,\r\n Math.min(this.viewportHeight, this.curHeight), this.docHeight);\r\n this.y = newY;\r\n this.container.scrollTop = -Math.ceil(newY * this.scale);\r\n\r\n this.doc.style.transform = 'scale(' + this.scale + ')';\r\n };\r\n\r\n startZoom(scaleBy) {\r\n this.scale = this.lastScale * scaleBy;\r\n\r\n this.curWidth = this.docWidth * this.scale;\r\n this.curHeight = this.docHeight * this.scale;\r\n\r\n // Adjust margins to make sure that we aren't out of bounds\r\n this.translate(0, 0);\r\n };\r\n\r\n rawCenter($event) {\r\n const pos = this.absolutePosition(this.container);\r\n\r\n // We need to account for the scroll position\r\n const scrollLeft = window.pageXOffset ? window.pageXOffset : document.body.scrollLeft;\r\n const scrollTop = window.pageYOffset ? window.pageYOffset : document.body.scrollTop;\r\n\r\n const zoomX = -this.x + ($event.center.x - pos.x + scrollLeft) / this.scale;\r\n const zoomY = -this.y + ($event.center.y - pos.y + scrollTop) / this.scale;\r\n\r\n return {x: zoomX, y: zoomY};\r\n };\r\n\r\n updateLastScale() {\r\n this.lastScale = this.scale;\r\n };\r\n\r\n zoomAround(scaleBy, rawZoomX, rawZoomY, doNotUpdateLast) {\r\n // Zoom\r\n this.startZoom(scaleBy);\r\n\r\n // New raw center of viewport\r\n const rawCenterX = -this.x + Math.min(this.viewportWidth, this.curWidth) / 2 / this.scale;\r\n const rawCenterY = -this.y + Math.min(this.viewportHeight, this.curHeight) / 2 / this.scale;\r\n\r\n // Delta\r\n const deltaX = (rawCenterX - rawZoomX) * this.scale;\r\n const deltaY = (rawCenterY - rawZoomY) * this.scale;\r\n\r\n // Translate back to zoom center\r\n this.translate(deltaX, deltaY);\r\n\r\n if (!doNotUpdateLast) {\r\n this.updateLastScale();\r\n this.updateLastPos();\r\n }\r\n };\r\n\r\n onPinch($event) {\r\n if (this.pinchCenter === null) {\r\n this.pinchCenter = this.rawCenter($event);\r\n const offsetX = this.pinchCenter.x * this.scale - (-this.x * this.scale + Math.min(this.viewportWidth, this.curWidth) / 2);\r\n const offsetY = this.pinchCenter.y * this.scale - (-this.y * this.scale + Math.min(this.viewportHeight, this.curHeight) / 2);\r\n this.pinchCenterOffset = {x: offsetX, y: offsetY};\r\n }\r\n\r\n const newScale = this.scale * $event.scale;\r\n\r\n const zoomX = this.pinchCenter.x * newScale - this.pinchCenterOffset.x;\r\n const zoomY = this.pinchCenter.y * newScale - this.pinchCenterOffset.y;\r\n const zoomCenter = {x: zoomX / newScale, y: zoomY / newScale};\r\n\r\n this.zoomAround($event.scale, zoomCenter.x, zoomCenter.y, true);\r\n }\r\n\r\n onPinchEnd($event) {\r\n this.updateLastScale();\r\n this.updateLastPos();\r\n this.pinchCenter = null;\r\n }\r\n\r\n onPan($event) {\r\n // TODO: looks like native pan works better\r\n // if (!this.isDesktop) {\r\n // this.translate($event.deltaX, $event.deltaY);\r\n // }\r\n }\r\n\r\n onPanEnd($event) {\r\n // if (!this.isDesktop) {\r\n // this.updateLastPos();\r\n // }\r\n }\r\n\r\n onDoubleTap($event) {\r\n if (!this.isDesktop) {\r\n if ($event.tapCount === 2) {\r\n const c = this.rawCenter($event);\r\n this.zoomAround(2, c.x, c.y, false);\r\n }\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 // 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 !== null ? this.data.replace(/>\\s+<').replace(/\\uFEFF/g,\"\") : null;\r\n const dataImagePngBase64 = 'data:image/png;base64,';\r\n this.imgData = dataImagePngBase64;\r\n if (!this.isHtml) {\r\n this.imgData += 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 {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 {Observable, Observer} 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 readonly _navigate: Observable;\r\n private _observer: Observer;\r\n\r\n constructor(private _pagePreloadService: PagePreloadService) {\r\n this._navigate = new Observable(observer =>\r\n this._observer = observer);\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 {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\r\n private currentPage: number;\r\n private zoom = 100;\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 const count = Math.floor((this.getWidth() - offset) / (pageEl.getBoundingClientRect().width * this.getZoom()));\r\n return count === 0 ? 1 : count;\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 this._navigateService.currentPage = page;\r\n }\r\n currentPageSet = true;\r\n }\r\n this._pagePreloadService.changeLastPageInView(page);\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 {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.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 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 scrollWidth = this.getScrollWidth(this.el.nativeElement.parentElement);\r\n this.width = (viewPortWidth/zoomInt - scrollWidth/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 @Input() isOpen = false;\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 }\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 if (this.htmlMode) {\r\n for (const page of pages) {\r\n pagesHtml += '
' +\r\n '
' + page.data + '
' +\r\n '
';\r\n }\r\n } else {\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 windowObject.focus();\r\n windowObject.print();\r\n windowObject.close();\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 {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 constructor() {\r\n }\r\n\r\n get messageChange(): Observable {\r\n return this._messageChange;\r\n }\r\n\r\n changeMessage(message: string) {\r\n this._observer.next(message);\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 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._modalService.open(CommonModals.ErrorMessage);\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 {AfterViewInit, Directive, HostBinding, Input, OnDestroy, OnInit, ElementRef, OnChanges, HostListener} 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: '[gdEditHeaderFooter]'\r\n})\r\nexport class EditHeaderFooterDirective implements OnInit, OnDestroy, AfterViewInit, OnChanges {\r\n\r\n el: ElementRef;\r\n footerRef: any;\r\n headerRef: any;\r\n\r\n constructor(private _zoomService: ZoomService, private _windowService: WindowService, el: ElementRef) {\r\n this.el = el;\r\n }\r\n\r\n ngAfterViewInit(): void {\r\n this.headerRef = this.el.nativeElement.querySelectorAll('.header')[0];\r\n if (this.headerRef) {\r\n this.headerRef.setAttribute(\"contenteditable\", false);\r\n this.headerRef.className += \" disabled\";\r\n }\r\n\r\n this.footerRef = this.el.nativeElement.querySelectorAll('.footer')[0];\r\n if (this.footerRef) {\r\n this.footerRef.setAttribute(\"contenteditable\", false);\r\n this.footerRef.className += \" disabled\";\r\n }\r\n }\r\n\r\n ngOnDestroy(): void {\r\n }\r\n\r\n ngOnChanges(): void {\r\n }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n @HostListener('dblclick', ['$event'])\r\n dblclickEvent(event) {\r\n const headerTitle = document.createElement(\"div\");\r\n headerTitle.className = \"header-title\";\r\n headerTitle.append('Header');\r\n\r\n const footerTitle = document.createElement(\"div\");\r\n footerTitle.className = \"footer-title\";\r\n footerTitle.append('Footer');\r\n\r\n const closestHeader = event.target.closest('.header');\r\n if (closestHeader && closestHeader.classList.contains('disabled')) {\r\n closestHeader.classList.remove('disabled');\r\n closestHeader.setAttribute(\"contenteditable\", true);\r\n closestHeader.after(headerTitle);\r\n }\r\n\r\n const closestFooter = event.target.closest('.footer');\r\n if (closestFooter && closestFooter.classList.contains('disabled')) {\r\n closestFooter.classList.remove('disabled');\r\n closestFooter.setAttribute(\"contenteditable\", true);\r\n closestFooter.before(footerTitle);\r\n }\r\n\r\n event.preventDefault();\r\n event.stopPropagation();\r\n }\r\n\r\n @HostListener('click', ['$event'])\r\n clickEvent(event) {\r\n const closestHeader = event.target.closest('.header');\r\n if (!closestHeader) {\r\n this.headerRef.setAttribute(\"contenteditable\", false);\r\n if (!this.headerRef.classList.contains('disabled'))\r\n {\r\n this.headerRef.className += \" disabled\";\r\n }\r\n\r\n const section = this.el.nativeElement.querySelectorAll('.section')[0];\r\n const headerTitle = this.el.nativeElement.querySelectorAll('.header-title')[0];\r\n if (section && headerTitle) {\r\n section.removeChild(headerTitle);\r\n }\r\n }\r\n\r\n const closestFooter = event.target.closest('.footer');\r\n if (!closestFooter) {\r\n this.footerRef.setAttribute(\"contenteditable\", false);\r\n if (!this.footerRef.classList.contains('disabled'))\r\n {\r\n this.footerRef.className += \" disabled\";\r\n }\r\n\r\n const section = this.el.nativeElement.querySelectorAll('.section')[0];\r\n const footerTitle = this.el.nativeElement.querySelectorAll('.footer-title')[0];\r\n if (section && footerTitle) {\r\n section.removeChild(footerTitle);\r\n }\r\n }\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 }\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 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} 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\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\r\n constructor(private _onCloseService: OnCloseService) {\r\n _onCloseService.onClose.subscribe(() => {\r\n this.colorPickerShow = false;\r\n });\r\n }\r\n\r\n ngOnInit() {\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} from '@angular/core';\r\nimport {Formatting} from \"../formatting.service\";\r\nimport {WindowService} from \"../window.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 this.isMobile = _windowService.isMobile();\r\n _windowService.onResize.subscribe((w) => {\r\n this.isMobile = _windowService.isMobile();\r\n });\r\n }\r\n\r\n ngOnInit() {\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 {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 {EditHeaderFooterDirective} from './editheaderfooter.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 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 EditHeaderFooterDirective,\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 SelectComponent,\r\n RotationDirective,\r\n InitStateComponent,\r\n RenderPrintDirective,\r\n ErrorModalComponent,\r\n PasswordRequiredComponent,\r\n SearchComponent,\r\n SearchableDirective,\r\n EditHeaderFooterDirective,\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","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 4fa9c3304..0c9bc402e 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 @@ -1,2 +1,2 @@ -!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports,require("@angular/core"),require("@angular/common"),require("rxjs"),require("rxjs/operators"),require("@fortawesome/angular-fontawesome"),require("@fortawesome/fontawesome-svg-core"),require("@fortawesome/free-solid-svg-icons"),require("@fortawesome/free-regular-svg-icons"),require("@angular/common/http"),require("jquery"),require("hammerjs"),require("@angular/platform-browser"),require("ng-click-outside")):"function"==typeof define&&define.amd?define("@groupdocs.examples.angular/common-components",["exports","@angular/core","@angular/common","rxjs","rxjs/operators","@fortawesome/angular-fontawesome","@fortawesome/fontawesome-svg-core","@fortawesome/free-solid-svg-icons","@fortawesome/free-regular-svg-icons","@angular/common/http","jquery","hammerjs","@angular/platform-browser","ng-click-outside"],e):e(((t=t||self).groupdocs=t.groupdocs||{},t.groupdocs.examples=t.groupdocs.examples||{},t.groupdocs.examples.angular=t.groupdocs.examples.angular||{},t.groupdocs.examples.angular["common-components"]={}),t.ng.core,t.ng.common,t.rxjs,t.rxjs.operators,t.angularFontawesome,t.fontawesomeSvgCore,t.freeSolidSvgIcons,t.freeRegularSvgIcons,t.ng.common.http,t.jquery,t.Hammer,t.ng.platformBrowser,t.ngClickOutside)}(this,function(t,e,o,n,i,r,s,a,c,p,l,d,u,g){"use strict";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 v=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:flex;align-items:center}.tools{width:100%;height:100%;display:flex;align-items:center}@media (max-width:1037px){.top-toolbar{height:60px}.tools{height:100%;overflow-x:auto;overflow-scrolling:touch;display:flex;align-items:center;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}(),y=function(){function t(){this.hideSidePanel=new e.EventEmitter,this.onlyTitle=!1}return t.prototype.openSidePanel=function(){this.hideSidePanel.emit(!0)},t.prototype.toggleTitleMode=function(){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',styles:[".gd-side-panel-wrapper{margin-right:0;width:334px;z-index:999;background-color:#fff;transition:margin-right .2s;display:flex;flex-flow:column;height:100vh}.gd-side-panel-wrapper .gd-side-panel-header{height:60px;background-color:#222e35;display:flex;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{display:flex;align-items:center}.gd-side-panel-wrapper .gd-side-panel-header /deep/ gd-button .text{padding:0}.gd-side-panel-wrapper .gd-side-panel-body{display:flex;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}],hideSidePanel:[{type:e.Output}]},t}(),b=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}(),x=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:flex;flex-direction:column;align-items:center;align-content: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:flex;flex-direction:column}@media (max-width:1037px){.button{font-size:22px}.arrow-button{margin:5px}}"]}]}],t.ctorParameters=function(){return[{type:b}]},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}(),w=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:flex;align-items: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}(),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:0!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}(),C=function(){function t(){}return t.VIEWER_APP="/viewer",t.SIGNATURE_APP="/signature",t.ANNOTATION_APP="/annotation",t.EDITOR_APP="/editor",t.COMPARISON_APP="/comparison",t.CONVERSION_APP="/conversion",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.ROTATE_DOCUMENT_PAGE="/rotateDocumentPages",t.UPLOAD_DOCUMENTS="/uploadDocument",t.DOWNLOAD_DOCUMENTS="/downloadDocument",t.LOAD_PRINT="/loadPrint",t.LOAD_PRINT_PDF="/printPdf",t.LOAD_THUMBNAILS="/loadThumbnails",t.LOAD_FORMATS="/loadFormats",t.SAVE_FILE="/saveFile",t.COMPARE_FILES="/compare",t.CONVERT_FILE="/convert",t.DELETE_SIGNATURE_FILE="/deleteSignatureFile",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.httpOptionsJson={headers:new p.HttpHeaders({"Content-Type":"application/json"})},t.httpOptionsJsonResponseTypeBlob={headers:new p.HttpHeaders({"Content-Type":"application/json"}),responseType:"blob"},t}(),_=function(){function t(){this.apiEndpoint=C.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)+C.LOAD_CONFIG},t.prototype.getViewerApiEndpoint=function(){return this._apiEndpoint.endsWith(C.VIEWER_APP)?this._apiEndpoint:this._apiEndpoint+C.VIEWER_APP},t.prototype.getEditorApiEndpoint=function(){return this._apiEndpoint.trim().endsWith(C.EDITOR_APP)?this._apiEndpoint:this._apiEndpoint+C.EDITOR_APP},t.prototype.getComparisonApiEndpoint=function(){return this._apiEndpoint.trim().endsWith(C.COMPARISON_APP)?this._apiEndpoint:this._apiEndpoint+C.COMPARISON_APP},t.prototype.getConversionApiEndpoint=function(){return this._apiEndpoint.trim().endsWith(C.CONVERSION_APP)?this._apiEndpoint:this._apiEndpoint+C.CONVERSION_APP},t.prototype.getSignatureApiEndpoint=function(){return this._apiEndpoint.endsWith(C.SIGNATURE_APP)?this._apiEndpoint:this._apiEndpoint+C.SIGNATURE_APP},t.prototype.getAnnotationApiEndpoint=function(){return this._apiEndpoint.endsWith(C.ANNOTATION_APP)?this._apiEndpoint:this._apiEndpoint+C.ANNOTATION_APP},t.decorators=[{type:e.Injectable}],t.ctorParameters=function(){return[]},t}(),P=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}(),I=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}(),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%;transform:translate(-50%,-50%);z-index:1051}.gd-modal-content{background-color:#fff;height:100%;display:flex;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:I},{type:e.ElementRef}]},t.propDecorators={id:[{type:e.Input}],title:[{type:e.Input}],visible:[{type:e.Output}],cancel:[{type:e.Output}]},t}(),O=function(){},k=function(){},F=function(t,e){this.guid=t,this.password=e},z=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}(F),D=function(){this.printAllowed=!0},T=function(){},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}(),j=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}(),L=function(){},R=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}(),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 M.find(t.name,t.directory).format},t.prototype.getFormatIcon=function(t){return M.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:flex;width:90%;padding:18px 0 18px 24px;font-size:14px;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:flex;width:100%;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: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:flex;position:relative;width:100%}.upload-panel .context{display:flex;flex-direction:column;width:100%;margin-left:24px;margin-top:24px;margin-right:24px}.upload-panel .context .context-actions{display:flex;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;justify-content:center}.upload-panel .context .context-actions ::ng-deep .button ::ng-deep .text{font-size:10px}.upload-panel .context .context-panel{display:flex;flex-direction:row;width:100%;margin-top:20px}.upload-panel .context .context-panel .upload-url{display:flex;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:flex;justify-content:center;align-items:center}.dnd-wrapper{display:flex;flex-direction:column;align-items:center;justify-content:center;top:259px;position:absolute}.dnd-wrapper .text{color:#6e6e6e;font-size:14px}.dnd-wrapper .icon{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:R}]},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}(),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}(),$=l,W=function(){function t(t,e,o){var n=this;this._elementRef=t,this._zoomService=e,this._windowService=o,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){n.zoom=t}),this.isDesktop=o.isDesktop()}return t.prototype.ngOnInit=function(){},t.prototype.ngOnChanges=function(){this._elementRef.nativeElement.children.item(0).children.item(0).style.transform=""},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"===M.find(this.file.guid,!1).format},t.prototype.getDimensionWithUnit=function(t){return t+(this.mode?M.find(this.file.guid,!1).unit:"px")},t.prototype.ifEdge=function(){return navigator.userAgent.toLowerCase().indexOf("edge")>-1},t.prototype.ngAfterViewChecked=function(){var t=this._elementRef.nativeElement.querySelectorAll(".gd-wrapper").item(0);t&&$(t).trigger("focus")},t.prototype.absolutePosition=function(t){for(var e=0,o=0;null!==t;)e+=t.offsetLeft,o+=t.offsetTop,t=t.offsetParent;return{x:e,y:o}},t.prototype.restrictRawPos=function(t,e,o){return t0&&(t=0),t},t.prototype.updateLastPos=function(){this.lastX=this.x,this.lastY=this.y},t.prototype.translate=function(t,e){var o=this.restrictRawPos(this.lastX+t/this.scale,Math.min(this.viewportWidth,this.curWidth),this.docWidth);this.x=o,this.container.scrollLeft=-Math.ceil(o*this.scale);var n=this.restrictRawPos(this.lastY+e/this.scale,Math.min(this.viewportHeight,this.curHeight),this.docHeight);this.y=n,this.container.scrollTop=-Math.ceil(n*this.scale),this.doc.style.transform="scale("+this.scale+")"},t.prototype.startZoom=function(t){this.scale=this.lastScale*t,this.curWidth=this.docWidth*this.scale,this.curHeight=this.docHeight*this.scale,this.translate(0,0)},t.prototype.rawCenter=function(t){var e=this.absolutePosition(this.container),o=window.pageXOffset?window.pageXOffset:document.body.scrollLeft,n=window.pageYOffset?window.pageYOffset:document.body.scrollTop;return{x:-this.x+(t.center.x-e.x+o)/this.scale,y:-this.y+(t.center.y-e.y+n)/this.scale}},t.prototype.updateLastScale=function(){this.lastScale=this.scale},t.prototype.zoomAround=function(t,e,o,n){this.startZoom(t);var i=-this.x+Math.min(this.viewportWidth,this.curWidth)/2/this.scale,r=-this.y+Math.min(this.viewportHeight,this.curHeight)/2/this.scale,s=(i-e)*this.scale,a=(r-o)*this.scale;this.translate(s,a),n||(this.updateLastScale(),this.updateLastPos())},t.prototype.onPinch=function(t){if(null===this.pinchCenter){this.pinchCenter=this.rawCenter(t);var e=this.pinchCenter.x*this.scale-(-this.x*this.scale+Math.min(this.viewportWidth,this.curWidth)/2),o=this.pinchCenter.y*this.scale-(-this.y*this.scale+Math.min(this.viewportHeight,this.curHeight)/2);this.pinchCenterOffset={x:e,y:o}}var n=this.scale*t.scale,i={x:(this.pinchCenter.x*n-this.pinchCenterOffset.x)/n,y:(this.pinchCenter.y*n-this.pinchCenterOffset.y)/n};this.zoomAround(t.scale,i.x,i.y,!0)},t.prototype.onPinchEnd=function(t){this.updateLastScale(),this.updateLastPos(),this.pinchCenter=null},t.prototype.onPan=function(t){},t.prototype.onPanEnd=function(t){},t.prototype.onDoubleTap=function(t){if(!this.isDesktop&&2===t.tapCount){var e=this.rawCenter(t);this.zoomAround(2,e.x,e.y,!1)}},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{flex:1;transition:.4s;background-color:#e7e7e7;height:100%;overflow:scroll}.page{display:inline-block;background-color:#fff;margin:20px;box-shadow:0 3px 6px rgba(0,0,0,.16);transition:.3s}.page.excel{overflow:auto}.wait{position:absolute;top:55px;left:Calc(30%)}.panzoom{display:flex;flex-direction:row;flex-wrap:wrap;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:b}]},t.propDecorators={mode:[{type:e.Input}],preloadPageCount:[{type:e.Input}],file:[{type:e.Input}]},t}(),q=function(){function t(){}return t.prototype.ngOnInit=function(){/*@cc_on!@*/!!/(MSIE|Trident\/|Edge\/)/i.test(navigator.userAgent)&&0===this.number&&(this.editable=!1)},t.prototype.ngOnChanges=function(t){this.data=null!==this.data?this.data.replace(/>\s+<").replace(/\uFEFF/g,""):null;this.imgData="data:image/png;base64,",this.isHtml||(this.imgData+=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%}/deep/ .gd-highlight{background-color:#ff0}/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}(),V=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}(),G=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}(),X=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}(),Z=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}(),Y=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:flex;align-content:center;flex-direction:column;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:R}]},t.propDecorators={closeUpload:[{type:e.Output}]},t}(),J=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:R}]},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}(),K=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}(),Q=function(){function t(t){var e=this;this._pagePreloadService=t,this._currentPage=0,this._countPages=0,this._navigate=new n.Observable(function(t){return e._observer=t})}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:K}]},t.ngInjectableDef=e.ɵɵdefineInjectable({factory:function(){return new t(e.ɵɵinject(K))},token:t,providedIn:"root"}),t}(),tt=l,et=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=tt(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=tt(t).outerHeight()*l,u=tt(t).outerWidth()*l;if(!u||!d)return!1;var g=tt(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)),v=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*v>=.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}(),ot=l,nt=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.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&&ot(n).offset().top===ot(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),e=Math.floor((this.getWidth()-150)/(t.getBoundingClientRect().width*this.getZoom()));return 0===e?1:e},t.prototype.refresh=function(){var t,e=!1,o=this.getPage(this.currentPage),n=this.currentPage&&o?o.getBoundingClientRect():null;for(t=1;to&&(o=t.width)}),this.minWidth=o+M.find(this.file.guid,!1).unit}},t.prototype.getScrollWidth=function(t){return t.offsetWidth-t.clientWidth},t.prototype.resizePages=function(t){var e=100===t?1:t/100,o=this.el.nativeElement.parentElement.offsetWidth,n=this.getScrollWidth(this.el.nativeElement.parentElement);this.width=o/e-n/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:b},{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"]}],minWidth:[{type:e.HostBinding,args:["style.min-width"]}]},t}(),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}(),st=function(){function t(t){var o=this;this._onCloseService=t,this.disabled=!1,this.selected=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)},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',styles:[".select{min-width:50px;display:flex;flex-direction:row;justify-content: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}],isOpen:[{type:e.Input}]},t}(),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}(),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}(),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:flex;flex-direction:column;justify-content:center;align-items:center;width:100%;height:100%}.icon{font-size:65px;margin-bottom:43px;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:flex;flex-direction:column;width:250px;height:250px;align-items: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}(),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}(),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,i,r="";if(this.htmlMode)try{for(var s=m(t),a=s.next();!a.done;a=s.next()){r+='
'+l.data+"
"}}catch(t){e={error:t}}finally{try{a&&!a.done&&(o=s.return)&&o.call(s)}finally{if(e)throw e.error}}else try{for(var c=m(t),p=c.next();!p.done;p=c.next()){var l;r+='
'}}catch(t){n={error:t}}finally{try{p&&!p.done&&(i=c.return)&&i.call(c)}finally{if(n)throw n.error}}this.openWindow(r,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(),s.focus(),s.print(),s.close()},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}(),ut=function(){function t(){this._observer=new n.BehaviorSubject("Server is not available"),this._messageChange=this._observer.asObservable()}return Object.defineProperty(t.prototype,"messageChange",{get:function(){return this._messageChange},enumerable:!0,configurable:!0}),t.prototype.changeMessage=function(t){this._observer.next(t)},t}(),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:inline-flex;flex-direction:column;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:flex}#gd-error-section fa-icon{flex:1;color:#e04e4e;font-size:40px;margin:13px 23px 90px;text-align:center;max-width:46px}"]}]}],t.ctorParameters=function(){return[{type:ut}]},t}(),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}(),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:468px;height:164px}.gd-password-wrap{display:flex;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;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}(),vt=function(){function t(t,e){this._modalService=t,this._messageService=e}return t.prototype.intercept=function(t,e){var o=this,r="background: maroon; color: white";return e.handle(t).pipe(i.map(function(t){return t}),i.catchError(function(t){if(t instanceof p.HttpErrorResponse)switch(t.status){case A.BadRequest:console.error("%c Bad Request 400",r);break;case A.Unauthorized:console.error("%c Unauthorized 401",r);break;case A.NotFound:console.error("%c Not Found 404",r);break;case A.TimeOut:console.error("%c TimeOut 408",r);break;case A.InternalServerError:console.error("%c big bad 500",r),o._messageService.changeMessage(t.error.message),o._modalService.open(P.ErrorMessage);break;case A.Forbidden:console.error("%c Forbidden 403",r),o._messageService.changeMessage(t.error.message),o._modalService.open(P.PasswordRequired)}return n.throwError(t)}))},t.decorators=[{type:e.Injectable,args:[{providedIn:"root"}]}],t.ctorParameters=function(){return[{type:I},{type:ut}]},t.ngInjectableDef=e.ɵɵdefineInjectable({factory:function(){return new t(e.ɵɵinject(I),e.ɵɵinject(ut))},token:t,providedIn:"root"}),t}(),yt=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}(),bt=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;transform:translate(-50%,0);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:yt}]},t.propDecorators={hidePanel:[{type:e.Output}],textElement:[{type:e.ViewChild,args:["text",{static:!0}]}]},t}(),xt=l,wt=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){xt(t).removeClass("gd-highlight-select")});var e=t.querySelectorAll(".gd-highlight")[this.current-1];if(xt(e).addClass("gd-highlight-select"),e){var o={left:0,top:xt(e).offset().top+t.parentElement.parentElement.scrollTop-150};t.parentElement.parentElement.scroll(o)}}}},t.prototype.highlightEl=function(t){var e=xt(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=xt(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: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}(),_t=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}(),Pt=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:flex}.gd-tab{text-align:center;font-size:11px;color:#e5e5e5;height:30px;line-height:30px;cursor:pointer;display:flex;align-items:center;justify-content:center}.gd-tab .icon{display:none;font-size:14px;margin:auto 23px}.gd-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}.gd-tab .title{display:none}.gd-tab .icon{display:block}}"]}]}],t.ctorParameters=function(){return[{type:_t}]},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}(),It=function(){function t(){}return t.decorators=[{type:e.Component,args:[{selector:"gd-tabs",template:'
\r\n \r\n
\r\n',styles:[".gd-tabs{display:flex}"]}]}],t.ctorParameters=function(){return[]},t}(),Et=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}(),Ot=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}(),kt=["#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"],Ft=function(){function t(){this.isOpen=!1,this.selectedColor=new e.EventEmitter,this.closeOutside=new e.EventEmitter,this.colors=kt,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:flex;flex-wrap:wrap;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}(),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}(Ot),Dt=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}(),Tt=l,At=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=/*@cc_on!@*/!!/(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=Tt(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"),Tt(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:Ot},{type:zt},{type:Dt}]},t.propDecorators={mouseup:[{type:e.HostListener,args:["mouseup"]}]},t}(),jt=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:flex;overflow:hidden;width:469px;height:183px}.sa-icon.sa-success{border-color:#4caf50;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;transform:rotate(-45deg);transform-origin:60px 60px}.sa-icon.sa-success::after{border-radius:0 120px 120px 0;top:-11px;left:30px;transform:rotate(-45deg);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;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;transform:rotate(45deg)}.sa-icon.sa-success .sa-line.sa-long{width:47px;right:8px;top:38px;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;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}(),Lt=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:Dt},{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}(),Rt=function(){function t(){this.onLoadingChanged=new e.EventEmitter,this.stopList=[],this.requests=[],this.stopList.push(C.SAVE_TEXT),this.stopList.push(C.SAVE_OPTICAL_CODE)}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.notify=function(){this.onLoadingChanged.emit(0!==this.requests.length)},t.decorators=[{type:e.Injectable}],t.ctorParameters=function(){return[]},t}(),Ut=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%;transform:translate(-50%,-50%)}"]}]}],t.ctorParameters=function(){return[{type:Rt}]},t.propDecorators={loadingMask:[{type:e.Input}]},t}(),Ht=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}(),Nt={center:{right:"auto"},left:{right:"100%"},right:{right:"-100%"}},Bt={center:{top:"0px"},top:{top:"-100%",right:"100%"},bottom:{top:"autos"}},$t=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:flex;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:flex;flex-direction:row;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}(),Wt=function(){function t(t){this.dropdown=t}return Object.defineProperty(t.prototype,"horizontalAlign",{get:function(){return Nt[this.dropdown.getPlacement().h].right},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"verticalAlign",{get:function(){return Bt[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:flex;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:flex;flex-direction:row;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}(),qt=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:flex;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:flex;flex-direction:row;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}(),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:flex;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:flex;flex-direction:row;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}(),Gt=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;transition:transform .3s ease-out;width:100%;height:100%;display:flex;justify-content: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}(),Xt=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}(),Zt=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}(),Yt=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}(),Jt=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:Yt}]},t.propDecorators={ident:[{type:e.Input}]},t}(),Kt=l,Qt=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=Kt(this.getElementId(this.SE)),o=Kt(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=j.getMousePosition(t)},t.prototype.resize=function(t,e){if(this.grab){var o=j.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}(),te=function(t){function e(){return t.call(this)||this}return f(e,t),e}(_t),ee=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(P.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:flex;flex-direction:column;align-items:center;align-content: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:flex;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:te},{type:I},{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}(),oe=l,ne=function(){function t(t){var o=this;this._onCloseService=t,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=Ot.getFontSizeOptions(),this.fontOptions=Ot.getFontOptions(),this.colorPickerShow=!1,t.onClose.subscribe(function(){o.colorPickerShow=!1})}return t.prototype.ngOnInit=function(){},t.prototype.selectFontSize=function(t){oe(".gd-wrapper").off("keyup"),this.outFontSize.emit(t.value),oe(".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:flex;flex-direction:row}.gd-text-menu .format-select{height:37px;display:flex;justify-content: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;bottom:0;left:0;right:0;width:100%;height:60px;align-items:center;padding:0;margin:0;background-color:#fff;border-top:2px solid #707070}.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:-200px}.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 .button{margin:3px!important}}"]}]}],t.ctorParameters=function(){return[{type:rt}]},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}(),ie=function(){function t(){}return t.FOR_SIGNATURE="signature",t.FOR_ANNOTATION="annotation",t}(),re=function(){function t(t){var o=this;this._windowService=t,this.formatting=Et.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){o.isMobile=t.isMobile()})}return t.prototype.ngOnInit=function(){},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===ie.FOR_SIGNATURE},t.prototype.isAnnotation=function(){return this.menuType===ie.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:flex;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:-34px}}"]}]}],t.ctorParameters=function(){return[{type:b}]},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}(),se=[_,C,I,L,T,M,j,V,G,X,Z,R,lt,Q,K,B,ut,ht,vt,yt,b,et,Ot,zt,rt,Ht,Rt,_t,Zt,Yt,te],ae=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:[v,y,x,w,S,E,N,W,q,V,G,X,Z,Y,J,nt,it,st,at,ct,pt,dt,gt,mt,bt,wt,St,Ct,Pt,It,Ft,At,jt,Lt,Ut,Vt,qt,Wt,$t,Gt,Xt,Jt,Qt,ee,ne,re],exports:[v,y,x,w,S,E,N,W,q,G,X,Z,V,Y,nt,st,ct,pt,dt,gt,mt,bt,wt,St,Ct,Pt,It,Ft,At,jt,Ut,J,Vt,qt,Wt,$t,it,$t,Gt,Xt,Jt,Qt,ee,ne,re],providers:se}]}],t.ctorParameters=function(){return[]},t}();t.AddDynamicComponentService=Zt,t.Api=C,t.BackFormattingService=zt,t.BrowseFilesModalComponent=N,t.ButtonComponent=x,t.ColorPickerComponent=Ft,t.CommonComponentsModule=ae,t.CommonModals=P,t.ConfigService=_,t.ContextMenuComponent=re,t.DisabledCursorDirective=at,t.DndDirective=J,t.DocumentComponent=W,t.DropDownComponent=Vt,t.DropDownItemComponent=qt,t.DropDownItemsComponent=Wt,t.DropDownToggleComponent=$t,t.EditHtmlService=Mt,t.EditorDirective=Lt,t.ErrorInterceptorService=vt,t.ErrorModalComponent=gt,t.ExceptionMessageService=ut,t.FileCredentials=F,t.FileDescription=D,t.FileModel=T,t.FileService=L,t.FileUtil=M,t.Formatting=Et,t.FormattingDirective=At,t.FormattingService=Ot,t.HighlightSearchPipe=Z,t.HostDynamicDirective=Jt,t.HostingDynamicComponentService=Yt,t.HttpError=A,t.InitStateComponent=pt,t.LeftSideBarComponent=Gt,t.LoadingMaskComponent=Ut,t.LoadingMaskInterceptorService=Ht,t.LoadingMaskService=Rt,t.LogoComponent=w,t.MenuType=ie,t.ModalComponent=E,t.ModalService=I,t.NavigateService=Q,t.OnCloseService=rt,t.PageComponent=q,t.PageModel=O,t.PagePreloadService=K,t.PasswordRequiredComponent=mt,t.PasswordService=ht,t.RenderPrintDirective=dt,t.RenderPrintService=lt,t.RotatedPage=k,t.RotationDirective=ct,t.SanitizeHtmlPipe=V,t.SanitizeResourceHtmlPipe=G,t.SanitizeStylePipe=X,t.SaveFile=z,t.ScrollableDirective=nt,t.SearchComponent=bt,t.SearchService=yt,t.SearchableDirective=wt,t.SelectComponent=st,t.SelectionService=Dt,t.SidePanelComponent=y,t.SuccessModalComponent=jt,t.TabActivatorService=_t,t.TabComponent=Pt,t.TabbedToolbarsComponent=Ct,t.TextMenuComponent=ne,t.TooltipComponent=S,t.TopTabActivatorService=te,t.TopToolbarComponent=v,t.UploadFileZoneComponent=Y,t.UploadFilesService=R,t.Utils=j,t.ViewportService=et,t.WindowService=b,t.ZoomDirective=it,t.ZoomService=B,t.ɵa=St,t.ɵb=It,t.ɵc=Xt,t.ɵd=Qt,t.ɵe=ee,Object.defineProperty(t,"__esModule",{value:!0})}); +!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports,require("@angular/core"),require("@angular/common"),require("rxjs"),require("rxjs/operators"),require("@fortawesome/angular-fontawesome"),require("@fortawesome/fontawesome-svg-core"),require("@fortawesome/free-solid-svg-icons"),require("@fortawesome/free-regular-svg-icons"),require("@angular/common/http"),require("jquery"),require("hammerjs"),require("@angular/platform-browser"),require("ng-click-outside")):"function"==typeof define&&define.amd?define("@groupdocs.examples.angular/common-components",["exports","@angular/core","@angular/common","rxjs","rxjs/operators","@fortawesome/angular-fontawesome","@fortawesome/fontawesome-svg-core","@fortawesome/free-solid-svg-icons","@fortawesome/free-regular-svg-icons","@angular/common/http","jquery","hammerjs","@angular/platform-browser","ng-click-outside"],e):e(((t=t||self).groupdocs=t.groupdocs||{},t.groupdocs.examples=t.groupdocs.examples||{},t.groupdocs.examples.angular=t.groupdocs.examples.angular||{},t.groupdocs.examples.angular["common-components"]={}),t.ng.core,t.ng.common,t.rxjs,t.rxjs.operators,t.angularFontawesome,t.fontawesomeSvgCore,t.freeSolidSvgIcons,t.freeRegularSvgIcons,t.ng.common.http,t.jquery,t.Hammer,t.ng.platformBrowser,t.ngClickOutside)}(this,function(t,e,o,n,i,r,s,a,c,p,l,d,u,h){"use strict";var g=function(t,e){return(g=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}g(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 v=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:flex;align-items:center}.tools{width:100%;height:100%;display:flex;align-items:center}@media (max-width:1037px){.top-toolbar{height:60px}.tools{height:100%;overflow-x:auto;overflow-scrolling:touch;display:flex;align-items:center;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}(),y=function(){function t(){this.hideSidePanel=new e.EventEmitter,this.onlyTitle=!1}return t.prototype.openSidePanel=function(){this.hideSidePanel.emit(!0)},t.prototype.toggleTitleMode=function(){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',styles:[".gd-side-panel-wrapper{margin-right:0;width:334px;z-index:999;background-color:#fff;transition:margin-right .2s;display:flex;flex-flow:column;height:100vh}.gd-side-panel-wrapper .gd-side-panel-header{height:60px;background-color:#222e35;display:flex;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{display:flex;align-items:center}.gd-side-panel-wrapper .gd-side-panel-header /deep/ gd-button .text{padding:0}.gd-side-panel-wrapper .gd-side-panel-body{display:flex;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}],hideSidePanel:[{type:e.Output}]},t}(),b=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}(),x=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:flex;flex-direction:column;align-items:center;align-content: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:flex;flex-direction:column}@media (max-width:1037px){.button{font-size:22px}.arrow-button{margin:5px}}"]}]}],t.ctorParameters=function(){return[{type:b}]},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}(),w=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:flex;align-items: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}(),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:0!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}(),C=function(){function t(){}return t.VIEWER_APP="/viewer",t.SIGNATURE_APP="/signature",t.ANNOTATION_APP="/annotation",t.EDITOR_APP="/editor",t.COMPARISON_APP="/comparison",t.CONVERSION_APP="/conversion",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.ROTATE_DOCUMENT_PAGE="/rotateDocumentPages",t.UPLOAD_DOCUMENTS="/uploadDocument",t.DOWNLOAD_DOCUMENTS="/downloadDocument",t.LOAD_PRINT="/loadPrint",t.LOAD_PRINT_PDF="/printPdf",t.LOAD_THUMBNAILS="/loadThumbnails",t.LOAD_FORMATS="/loadFormats",t.SAVE_FILE="/saveFile",t.COMPARE_FILES="/compare",t.CONVERT_FILE="/convert",t.DELETE_SIGNATURE_FILE="/deleteSignatureFile",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.httpOptionsJson={headers:new p.HttpHeaders({"Content-Type":"application/json"})},t.httpOptionsJsonResponseTypeBlob={headers:new p.HttpHeaders({"Content-Type":"application/json"}),responseType:"blob"},t}(),_=function(){function t(){this.apiEndpoint=C.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)+C.LOAD_CONFIG},t.prototype.getViewerApiEndpoint=function(){return this._apiEndpoint.endsWith(C.VIEWER_APP)?this._apiEndpoint:this._apiEndpoint+C.VIEWER_APP},t.prototype.getEditorApiEndpoint=function(){return this._apiEndpoint.trim().endsWith(C.EDITOR_APP)?this._apiEndpoint:this._apiEndpoint+C.EDITOR_APP},t.prototype.getComparisonApiEndpoint=function(){return this._apiEndpoint.trim().endsWith(C.COMPARISON_APP)?this._apiEndpoint:this._apiEndpoint+C.COMPARISON_APP},t.prototype.getConversionApiEndpoint=function(){return this._apiEndpoint.trim().endsWith(C.CONVERSION_APP)?this._apiEndpoint:this._apiEndpoint+C.CONVERSION_APP},t.prototype.getSignatureApiEndpoint=function(){return this._apiEndpoint.endsWith(C.SIGNATURE_APP)?this._apiEndpoint:this._apiEndpoint+C.SIGNATURE_APP},t.prototype.getAnnotationApiEndpoint=function(){return this._apiEndpoint.endsWith(C.ANNOTATION_APP)?this._apiEndpoint:this._apiEndpoint+C.ANNOTATION_APP},t.decorators=[{type:e.Injectable}],t.ctorParameters=function(){return[]},t}(),P=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}(),I=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}(),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%;transform:translate(-50%,-50%);z-index:1051}.gd-modal-content{background-color:#fff;height:100%;display:flex;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:I},{type:e.ElementRef}]},t.propDecorators={id:[{type:e.Input}],title:[{type:e.Input}],visible:[{type:e.Output}],cancel:[{type:e.Output}]},t}(),O=function(){},k=function(){},F=function(t,e){this.guid=t,this.password=e},z=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}(F),D=function(){this.printAllowed=!0},T=function(){},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}(),j=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}(),L=function(){},R=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}(),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 M.find(t.name,t.directory).format},t.prototype.getFormatIcon=function(t){return M.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:flex;width:90%;padding:18px 0 18px 24px;font-size:14px;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:flex;width:100%;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: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:flex;position:relative;width:100%}.upload-panel .context{display:flex;flex-direction:column;width:100%;margin-left:24px;margin-top:24px;margin-right:24px}.upload-panel .context .context-actions{display:flex;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;justify-content:center}.upload-panel .context .context-actions ::ng-deep .button ::ng-deep .text{font-size:10px}.upload-panel .context .context-panel{display:flex;flex-direction:row;width:100%;margin-top:20px}.upload-panel .context .context-panel .upload-url{display:flex;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:flex;justify-content:center;align-items:center}.dnd-wrapper{display:flex;flex-direction:column;align-items:center;justify-content:center;top:259px;position:absolute}.dnd-wrapper .text{color:#6e6e6e;font-size:14px}.dnd-wrapper .icon{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:R}]},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}(),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}(),$=l,W=function(){function t(t,e,o){var n=this;this._elementRef=t,this._zoomService=e,this._windowService=o,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){n.zoom=t}),this.isDesktop=o.isDesktop()}return t.prototype.ngOnInit=function(){},t.prototype.ngOnChanges=function(){this._elementRef.nativeElement.children.item(0).children.item(0).style.transform=""},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"===M.find(this.file.guid,!1).format},t.prototype.getDimensionWithUnit=function(t){return t+(this.mode?M.find(this.file.guid,!1).unit:"px")},t.prototype.ifEdge=function(){return navigator.userAgent.toLowerCase().indexOf("edge")>-1},t.prototype.ngAfterViewChecked=function(){var t=this._elementRef.nativeElement.querySelectorAll(".gd-wrapper").item(0);t&&$(t).trigger("focus")},t.prototype.absolutePosition=function(t){for(var e=0,o=0;null!==t;)e+=t.offsetLeft,o+=t.offsetTop,t=t.offsetParent;return{x:e,y:o}},t.prototype.restrictRawPos=function(t,e,o){return t0&&(t=0),t},t.prototype.updateLastPos=function(){this.lastX=this.x,this.lastY=this.y},t.prototype.translate=function(t,e){var o=this.restrictRawPos(this.lastX+t/this.scale,Math.min(this.viewportWidth,this.curWidth),this.docWidth);this.x=o,this.container.scrollLeft=-Math.ceil(o*this.scale);var n=this.restrictRawPos(this.lastY+e/this.scale,Math.min(this.viewportHeight,this.curHeight),this.docHeight);this.y=n,this.container.scrollTop=-Math.ceil(n*this.scale),this.doc.style.transform="scale("+this.scale+")"},t.prototype.startZoom=function(t){this.scale=this.lastScale*t,this.curWidth=this.docWidth*this.scale,this.curHeight=this.docHeight*this.scale,this.translate(0,0)},t.prototype.rawCenter=function(t){var e=this.absolutePosition(this.container),o=window.pageXOffset?window.pageXOffset:document.body.scrollLeft,n=window.pageYOffset?window.pageYOffset:document.body.scrollTop;return{x:-this.x+(t.center.x-e.x+o)/this.scale,y:-this.y+(t.center.y-e.y+n)/this.scale}},t.prototype.updateLastScale=function(){this.lastScale=this.scale},t.prototype.zoomAround=function(t,e,o,n){this.startZoom(t);var i=-this.x+Math.min(this.viewportWidth,this.curWidth)/2/this.scale,r=-this.y+Math.min(this.viewportHeight,this.curHeight)/2/this.scale,s=(i-e)*this.scale,a=(r-o)*this.scale;this.translate(s,a),n||(this.updateLastScale(),this.updateLastPos())},t.prototype.onPinch=function(t){if(null===this.pinchCenter){this.pinchCenter=this.rawCenter(t);var e=this.pinchCenter.x*this.scale-(-this.x*this.scale+Math.min(this.viewportWidth,this.curWidth)/2),o=this.pinchCenter.y*this.scale-(-this.y*this.scale+Math.min(this.viewportHeight,this.curHeight)/2);this.pinchCenterOffset={x:e,y:o}}var n=this.scale*t.scale,i={x:(this.pinchCenter.x*n-this.pinchCenterOffset.x)/n,y:(this.pinchCenter.y*n-this.pinchCenterOffset.y)/n};this.zoomAround(t.scale,i.x,i.y,!0)},t.prototype.onPinchEnd=function(t){this.updateLastScale(),this.updateLastPos(),this.pinchCenter=null},t.prototype.onPan=function(t){},t.prototype.onPanEnd=function(t){},t.prototype.onDoubleTap=function(t){if(!this.isDesktop&&2===t.tapCount){var e=this.rawCenter(t);this.zoomAround(2,e.x,e.y,!1)}},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{flex:1;transition:.4s;background-color:#e7e7e7;height:100%;overflow:scroll}.page{display:inline-block;background-color:#fff;margin:20px;box-shadow:0 3px 6px rgba(0,0,0,.16);transition:.3s}.page.excel{overflow:auto}.wait{position:absolute;top:55px;left:Calc(30%)}.panzoom{display:flex;flex-direction:row;flex-wrap:wrap;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:b}]},t.propDecorators={mode:[{type:e.Input}],preloadPageCount:[{type:e.Input}],file:[{type:e.Input}]},t}(),q=function(){function t(){}return t.prototype.ngOnInit=function(){/*@cc_on!@*/!!/(MSIE|Trident\/|Edge\/)/i.test(navigator.userAgent)&&0===this.number&&(this.editable=!1)},t.prototype.ngOnChanges=function(t){this.data=null!==this.data?this.data.replace(/>\s+<").replace(/\uFEFF/g,""):null;this.imgData="data:image/png;base64,",this.isHtml||(this.imgData+=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%}/deep/ .gd-highlight{background-color:#ff0}/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}(),V=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}(),G=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}(),X=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}(),Z=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}(),Y=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:flex;align-content:center;flex-direction:column;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:R}]},t.propDecorators={closeUpload:[{type:e.Output}]},t}(),J=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:R}]},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}(),K=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}(),Q=function(){function t(t){var e=this;this._pagePreloadService=t,this._currentPage=0,this._countPages=0,this._navigate=new n.Observable(function(t){return e._observer=t})}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:K}]},t.ngInjectableDef=e.ɵɵdefineInjectable({factory:function(){return new t(e.ɵɵinject(K))},token:t,providedIn:"root"}),t}(),tt=l,et=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=tt(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=tt(t).outerHeight()*l,u=tt(t).outerWidth()*l;if(!u||!d)return!1;var h=tt(t).offset(),g=h.left*l+u,f=h.top*l+d;if(!!(cg||pf))return!1;var m=parseFloat(Math.min(1,(f-s)/d).toFixed(2)),v=parseFloat(Math.min(1,(p-h.top*l)/d).toFixed(2));return parseFloat(Math.min(1,(g-a)/u).toFixed(2))*parseFloat(Math.min(1,(c-h.left*l)/u).toFixed(2))>=i&&m*v>=.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}(),ot=l,nt=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.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&&ot(n).offset().top===ot(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),e=Math.floor((this.getWidth()-150)/(t.getBoundingClientRect().width*this.getZoom()));return 0===e?1:e},t.prototype.refresh=function(){var t,e=!1,o=this.getPage(this.currentPage),n=this.currentPage&&o?o.getBoundingClientRect():null;for(t=1;to&&(o=t.width)}),this.minWidth=o+M.find(this.file.guid,!1).unit}},t.prototype.getScrollWidth=function(t){return t.offsetWidth-t.clientWidth},t.prototype.resizePages=function(t){var e=100===t?1:t/100,o=this.el.nativeElement.parentElement.offsetWidth,n=this.getScrollWidth(this.el.nativeElement.parentElement);this.width=o/e-n/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:b},{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"]}],minWidth:[{type:e.HostBinding,args:["style.min-width"]}]},t}(),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}(),st=function(){function t(t){var o=this;this._onCloseService=t,this.disabled=!1,this.selected=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)},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',styles:[".select{min-width:50px;display:flex;flex-direction:row;justify-content: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}],isOpen:[{type:e.Input}]},t}(),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}(),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}(),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:flex;flex-direction:column;justify-content:center;align-items:center;width:100%;height:100%}.icon{font-size:65px;margin-bottom:43px;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:flex;flex-direction:column;width:250px;height:250px;align-items: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}(),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}(),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,i,r="";if(this.htmlMode)try{for(var s=m(t),a=s.next();!a.done;a=s.next()){r+='
'+l.data+"
"}}catch(t){e={error:t}}finally{try{a&&!a.done&&(o=s.return)&&o.call(s)}finally{if(e)throw e.error}}else try{for(var c=m(t),p=c.next();!p.done;p=c.next()){var l;r+='
'}}catch(t){n={error:t}}finally{try{p&&!p.done&&(i=c.return)&&i.call(c)}finally{if(n)throw n.error}}this.openWindow(r,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(),s.focus(),s.print(),s.close()},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}(),ut=function(){function t(){this._observer=new n.BehaviorSubject("Server is not available"),this._messageChange=this._observer.asObservable()}return Object.defineProperty(t.prototype,"messageChange",{get:function(){return this._messageChange},enumerable:!0,configurable:!0}),t.prototype.changeMessage=function(t){this._observer.next(t)},t}(),ht=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:inline-flex;flex-direction:column;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:flex}#gd-error-section fa-icon{flex:1;color:#e04e4e;font-size:40px;margin:13px 23px 90px;text-align:center;max-width:46px}"]}]}],t.ctorParameters=function(){return[{type:ut}]},t}(),gt=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}(),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:468px;height:164px}.gd-password-wrap{display:flex;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;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:gt}]},t.propDecorators={cancelEvent:[{type:e.Output}]},t}(),vt=function(){function t(t,e){this._modalService=t,this._messageService=e}return t.prototype.intercept=function(t,e){var o=this,r="background: maroon; color: white";return e.handle(t).pipe(i.map(function(t){return t}),i.catchError(function(t){if(t instanceof p.HttpErrorResponse)switch(t.status){case A.BadRequest:console.error("%c Bad Request 400",r);break;case A.Unauthorized:console.error("%c Unauthorized 401",r);break;case A.NotFound:console.error("%c Not Found 404",r);break;case A.TimeOut:console.error("%c TimeOut 408",r);break;case A.InternalServerError:console.error("%c big bad 500",r),o._messageService.changeMessage(t.error.message),o._modalService.open(P.ErrorMessage);break;case A.Forbidden:console.error("%c Forbidden 403",r),o._messageService.changeMessage(t.error.message),o._modalService.open(P.PasswordRequired)}return n.throwError(t)}))},t.decorators=[{type:e.Injectable,args:[{providedIn:"root"}]}],t.ctorParameters=function(){return[{type:I},{type:ut}]},t.ngInjectableDef=e.ɵɵdefineInjectable({factory:function(){return new t(e.ɵɵinject(I),e.ɵɵinject(ut))},token:t,providedIn:"root"}),t}(),yt=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}(),bt=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;transform:translate(-50%,0);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:yt}]},t.propDecorators={hidePanel:[{type:e.Output}],textElement:[{type:e.ViewChild,args:["text",{static:!0}]}]},t}(),xt=l,wt=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){xt(t).removeClass("gd-highlight-select")});var e=t.querySelectorAll(".gd-highlight")[this.current-1];if(xt(e).addClass("gd-highlight-select"),e){var o={left:0,top:xt(e).offset().top+t.parentElement.parentElement.scrollTop-150};t.parentElement.parentElement.scroll(o)}}}},t.prototype.highlightEl=function(t){var e=xt(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=xt(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: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}(),_t=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}(),Pt=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:flex}.gd-tab{text-align:center;font-size:11px;color:#e5e5e5;height:30px;line-height:30px;cursor:pointer;display:flex;align-items:center;justify-content:center}.gd-tab .icon{display:none;font-size:14px;margin:auto 23px}.gd-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}.gd-tab .title{display:none}.gd-tab .icon{display:block}}"]}]}],t.ctorParameters=function(){return[{type:_t}]},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}(),It=function(){function t(){}return t.decorators=[{type:e.Component,args:[{selector:"gd-tabs",template:'
\r\n \r\n
\r\n',styles:[".gd-tabs{display:flex}"]}]}],t.ctorParameters=function(){return[]},t}(),Et=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}(),Ot=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}(),kt=["#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"],Ft=function(){function t(){this.isOpen=!1,this.selectedColor=new e.EventEmitter,this.closeOutside=new e.EventEmitter,this.colors=kt,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:flex;flex-wrap:wrap;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}(),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}(Ot),Dt=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}(),Tt=l,At=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=/*@cc_on!@*/!!/(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=Tt(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"),Tt(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:Ot},{type:zt},{type:Dt}]},t.propDecorators={mouseup:[{type:e.HostListener,args:["mouseup"]}]},t}(),jt=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:flex;overflow:hidden;width:469px;height:183px}.sa-icon.sa-success{border-color:#4caf50;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;transform:rotate(-45deg);transform-origin:60px 60px}.sa-icon.sa-success::after{border-radius:0 120px 120px 0;top:-11px;left:30px;transform:rotate(-45deg);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;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;transform:rotate(45deg)}.sa-icon.sa-success .sa-line.sa-long{width:47px;right:8px;top:38px;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;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}(),Lt=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:Dt},{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}(),Rt=function(){function t(){this.onLoadingChanged=new e.EventEmitter,this.stopList=[],this.requests=[],this.stopList.push(C.SAVE_TEXT),this.stopList.push(C.SAVE_OPTICAL_CODE)}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.notify=function(){this.onLoadingChanged.emit(0!==this.requests.length)},t.decorators=[{type:e.Injectable}],t.ctorParameters=function(){return[]},t}(),Ut=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%;transform:translate(-50%,-50%)}"]}]}],t.ctorParameters=function(){return[{type:Rt}]},t.propDecorators={loadingMask:[{type:e.Input}]},t}(),Ht=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}(),Nt={center:{right:"auto"},left:{right:"100%"},right:{right:"-100%"}},Bt={center:{top:"0px"},top:{top:"-100%",right:"100%"},bottom:{top:"autos"}},$t=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:flex;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:flex;flex-direction:row;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}(),Wt=function(){function t(t){this.dropdown=t}return Object.defineProperty(t.prototype,"horizontalAlign",{get:function(){return Nt[this.dropdown.getPlacement().h].right},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"verticalAlign",{get:function(){return Bt[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:flex;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:flex;flex-direction:row;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}(),qt=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:flex;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:flex;flex-direction:row;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}(),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:flex;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:flex;flex-direction:row;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}(),Gt=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;transition:transform .3s ease-out;width:100%;height:100%;display:flex;justify-content: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}(),Xt=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}(),Zt=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}(),Yt=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}(),Jt=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:Yt}]},t.propDecorators={ident:[{type:e.Input}]},t}(),Kt=l,Qt=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=Kt(this.getElementId(this.SE)),o=Kt(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=j.getMousePosition(t)},t.prototype.resize=function(t,e){if(this.grab){var o=j.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}(),te=function(t){function e(){return t.call(this)||this}return f(e,t),e}(_t),ee=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(P.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:flex;flex-direction:column;align-items:center;align-content: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:flex;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:te},{type:I},{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}(),oe=l,ne=function(){function t(t){var o=this;this._onCloseService=t,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=Ot.getFontSizeOptions(),this.fontOptions=Ot.getFontOptions(),this.colorPickerShow=!1,t.onClose.subscribe(function(){o.colorPickerShow=!1})}return t.prototype.ngOnInit=function(){},t.prototype.selectFontSize=function(t){oe(".gd-wrapper").off("keyup"),this.outFontSize.emit(t.value),oe(".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:flex;flex-direction:row}.gd-text-menu .format-select{height:37px;display:flex;justify-content: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;bottom:0;left:0;right:0;width:100%;height:60px;align-items:center;padding:0;margin:0;background-color:#fff;border-top:2px solid #707070}.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:-200px}.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 .button{margin:3px!important}}"]}]}],t.ctorParameters=function(){return[{type:rt}]},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}(),ie=function(){function t(){}return t.FOR_SIGNATURE="signature",t.FOR_ANNOTATION="annotation",t}(),re=function(){function t(t){var o=this;this._windowService=t,this.formatting=Et.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){o.isMobile=t.isMobile()})}return t.prototype.ngOnInit=function(){},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===ie.FOR_SIGNATURE},t.prototype.isAnnotation=function(){return this.menuType===ie.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:flex;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:-34px}}"]}]}],t.ctorParameters=function(){return[{type:b}]},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}(),se=[_,C,I,L,T,M,j,V,G,X,Z,R,lt,Q,K,B,ut,gt,vt,yt,b,et,Ot,zt,rt,Ht,Rt,_t,Zt,Yt,te],ae=function(){function t(){s.library.add(a.fas,c.far)}return t.decorators=[{type:e.NgModule,args:[{imports:[o.CommonModule,r.FontAwesomeModule,h.ClickOutsideModule],declarations:[v,y,x,w,S,E,N,W,q,V,G,X,Z,Y,J,nt,it,st,at,ct,pt,dt,ht,mt,bt,wt,St,Ct,Pt,It,Ft,At,jt,Lt,Ut,Vt,qt,Wt,$t,Gt,Xt,Jt,Qt,ee,ne,re],exports:[v,y,x,w,S,E,N,W,q,G,X,Z,V,Y,nt,st,ct,pt,dt,ht,mt,bt,wt,St,Ct,Pt,It,Ft,At,jt,Ut,J,Vt,qt,Wt,$t,it,$t,Gt,Xt,Jt,Qt,ee,ne,re],providers:se}]}],t.ctorParameters=function(){return[]},t}();t.AddDynamicComponentService=Zt,t.Api=C,t.BackFormattingService=zt,t.BrowseFilesModalComponent=N,t.ButtonComponent=x,t.ColorPickerComponent=Ft,t.CommonComponentsModule=ae,t.CommonModals=P,t.ConfigService=_,t.ContextMenuComponent=re,t.DisabledCursorDirective=at,t.DndDirective=J,t.DocumentComponent=W,t.DropDownComponent=Vt,t.DropDownItemComponent=qt,t.DropDownItemsComponent=Wt,t.DropDownToggleComponent=$t,t.EditHtmlService=Mt,t.EditorDirective=Lt,t.ErrorInterceptorService=vt,t.ErrorModalComponent=ht,t.ExceptionMessageService=ut,t.FileCredentials=F,t.FileDescription=D,t.FileModel=T,t.FileService=L,t.FileUtil=M,t.Formatting=Et,t.FormattingDirective=At,t.FormattingService=Ot,t.HighlightSearchPipe=Z,t.HostDynamicDirective=Jt,t.HostingDynamicComponentService=Yt,t.HttpError=A,t.InitStateComponent=pt,t.LeftSideBarComponent=Gt,t.LoadingMaskComponent=Ut,t.LoadingMaskInterceptorService=Ht,t.LoadingMaskService=Rt,t.LogoComponent=w,t.MenuType=ie,t.ModalComponent=E,t.ModalService=I,t.NavigateService=Q,t.OnCloseService=rt,t.PageComponent=q,t.PageModel=O,t.PagePreloadService=K,t.PasswordRequiredComponent=mt,t.PasswordService=gt,t.RenderPrintDirective=dt,t.RenderPrintService=lt,t.RotatedPage=k,t.RotationDirective=ct,t.SanitizeHtmlPipe=V,t.SanitizeResourceHtmlPipe=G,t.SanitizeStylePipe=X,t.SaveFile=z,t.ScrollableDirective=nt,t.SearchComponent=bt,t.SearchService=yt,t.SearchableDirective=wt,t.SelectComponent=st,t.SelectionService=Dt,t.SidePanelComponent=y,t.SuccessModalComponent=jt,t.TabActivatorService=_t,t.TabComponent=Pt,t.TabbedToolbarsComponent=Ct,t.TextMenuComponent=ne,t.TooltipComponent=S,t.TopTabActivatorService=te,t.TopToolbarComponent=v,t.UploadFileZoneComponent=Y,t.UploadFilesService=R,t.Utils=j,t.ViewportService=et,t.WindowService=b,t.ZoomDirective=it,t.ZoomService=B,t.ɵa=St,t.ɵb=It,t.ɵc=Xt,t.ɵd=Qt,t.ɵe=ee,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 277ea5373..37ce8e3b2 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/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/page-preload.service.ts","ng://@groupdocs.examples.angular/common-components/lib/navigate.service.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/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/editheaderfooter.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","hideSidePanel","EventEmitter","onlyTitle","openSidePanel","emit","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","EDITOR_APP","COMPARISON_APP","CONVERSION_APP","DEFAULT_API_ENDPOINT","location","href","LOAD_FILE_TREE","LOAD_CONFIG","LOAD_DOCUMENT_DESCRIPTION","LOAD_DOCUMENT_PAGE","ROTATE_DOCUMENT_PAGE","UPLOAD_DOCUMENTS","DOWNLOAD_DOCUMENTS","LOAD_PRINT","LOAD_PRINT_PDF","LOAD_THUMBNAILS","LOAD_FORMATS","SAVE_FILE","COMPARE_FILES","CONVERT_FILE","DELETE_SIGNATURE_FILE","SAVE_OPTICAL_CODE","SAVE_TEXT","SAVE_IMAGE","SAVE_STAMP","SIGN","DOWNLOAD_SIGNED","LOAD_SIGNATURE_IMAGE","ANNOTATE","httpOptionsJson","headers","HttpHeaders","Content-Type","httpOptionsJsonResponseTypeBlob","responseType","ConfigService","apiEndpoint","_apiEndpoint","url","trim","endsWith","substring","getConfigEndpoint","app","getViewerApiEndpoint","getEditorApiEndpoint","getComparisonApiEndpoint","getConversionApiEndpoint","getSignatureApiEndpoint","getAnnotationApiEndpoint","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","guid","password","SaveFile","content","_super","tslib_1.__extends","FileCredentials","printAllowed","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","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","DocumentComponent","_elementRef","_zoomService","_windowService","wait","docWidth","docHeight","viewportWidth","viewportHeight","scale","lastScale","container","lastX","lastY","pinchCenter","pinchCenterOffset","curWidth","curHeight","zoomChange","ngOnChanges","children","item","style","transform","ngAfterViewInit","clientWidth","clientHeight","offsetWidth","offsetHeight","Hammer","ifExcel","getDimensionWithUnit","mode","ifEdge","ngAfterViewChecked","querySelectorAll","absolutePosition","offsetLeft","offsetTop","offsetParent","restrictRawPos","pos","viewportDim","docDim","updateLastPos","translate","deltaX","deltaY","newX","min","ceil","newY","startZoom","scaleBy","rawCenter","pageXOffset","pageYOffset","center","updateLastScale","zoomAround","rawZoomX","rawZoomY","doNotUpdateLast","rawCenterX","rawCenterY","onPinch","offsetX","offsetY","newScale","zoomCenter","onPinchEnd","onPan","onPanEnd","onDoubleTap","tapCount","PageComponent","test","number","editable","changes","data","imgData","isHtml","SanitizeHtmlPipe","sanitizer","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","PagePreloadService","_checkPreload","changeLastPageInView","page","NavigateService","_pagePreloadService","_currentPage","_countPages","_navigate","nextPage","navigateTo","prevPage","toLastPage","toFirstPage","currentPage","providedIn","ViewportService","checkInViewport","leftOffset","win","viewport","isNaN","zoomN","outerHeight","outerWidth","bounds","offset","right","left","bottom","top","deltas","parseFloat","toFixed","ScrollableDirective","_navigateService","_viewportService","navigate","scrollToPage","scrolling","resizing","pageNumber","getPage","prev","isSameTop","options","calculateOffset","scroll","getChildren","count","countPagesOnWidth","margin","pagesHeight","getZoom","pageEl","floor","getBoundingClientRect","currentPageSet","pageElem","currentPageRect","ZoomDirective","zoomActive","setStyles","resizePages","zoomInt","transformOrigin","maxWidth","pages","forEach","minWidth","getScrollWidth","elm","viewPortWidth","parentElement","scrollWidth","OnCloseService","_onClose","SelectComponent","_onCloseService","selected","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","htmlMode","pages_1","tslib_1.__values","pages_1_1","pages_2","pages_2_1","openWindow","imageA4Adjusted","cssPrint","windowObject","focus","writeln","print","fileURL","URL","createObjectURL","ExceptionMessageService","BehaviorSubject","_messageChange","changeMessage","message","ErrorModalComponent","messageService","messageChange","PasswordService","_passChange","setPassword","pass","PasswordRequiredComponent","_passwordService","cancelEvent","onCloseOpen","setTimeout","ErrorInterceptorService","_modalService","_messageService","intercept","req","logFormat","handle","catchError","exception","HttpErrorResponse","status","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","removeClass","currentEl","addClass","textNodes","contents","nodeName","checkClass","classList","contains","nodeType","textContent","highlight","each","$this","replaceWith","normalize","nodeListOf","innerText","EditHeaderFooterDirective","footerRef","setAttribute","dblclickEvent","footerTitle","createElement","append","footer","closest","before","clickEvent","section","removeChild","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","LoadingMaskComponent","_loadingMaskService","loadingMask","loading","LoadingMaskInterceptorService","finalize","horizontalAlignment","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","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","decoration","showTooltips","outFontSize","outFont","outBold","outItalic","outUnderline","outColor","fontSizeOptions","colorPickerShow","selectFontSize","off","on","fontElements","getElementsByTagName","getAttribute","removeAttribute","selectFont","toggleColorPicker","selectColor","closePicker","MenuType","FOR_SIGNATURE","FOR_ANNOTATION","ContextMenuComponent","formatting","lock","translation","changeFormatting","removeItem","copySign","lockOut","comment","saveChanges","deleteItem","toggleLock","onCopySign","isSignature","menuType","isAnnotation","addComment","providers","FileService","FileModel","CommonComponentsModule","library","fas","far","NgModule","imports","CommonModule","FontAwesomeModule","ClickOutsideModule","declarations","exports"],"mappings":"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C3CC,aAAc,CACZz8B,EACAK,EACAyC,EACAmB,EACAE,EACA+E,EACAuK,EACAuC,EACA2E,EACAQ,EACAK,EACAE,EACAE,EACAE,EACAG,EACAmD,GACA0B,GACAiB,GACAM,GACAI,GACAO,GACAQ,GACA0B,GACAO,GACA6B,GACAQ,GACA0B,GACAa,GACAK,GACAK,GACAwD,GACAqB,GACAgD,GACAG,GACAgB,GACAgB,GACAK,GACAJ,GACAT,GACAiB,GACAC,GACAoB,GACAI,GACA8B,GACAI,GACAyB,IAEF8B,QAAS,CACP18B,EACAK,EACAyC,EACAmB,EACAE,EACA+E,EACAuK,EACAuC,EACA2E,EACAa,EACAE,EACAE,EACAT,EACAW,EACAsD,GACA2C,GACAU,GACAO,GACAQ,GACA0B,GACAO,GACA6B,GACAQ,GACA0B,GACAa,GACAK,GACAK,GACAwD,GACAqB,GACAgD,GACAmB,GACA9X,EACA8Y,GACAK,GACAJ,GACAT,GACAzT,GACAyT,GACAiB,GACAC,GACAoB,GACAI,GACA8B,GACAI,GACAyB,IAEFiB,UAAWA,6CAMbG,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 @Output() hideSidePanel = new EventEmitter();\r\n\r\n onlyTitle = false;\r\n\r\n constructor() {\r\n }\r\n\r\n openSidePanel() {\r\n this.hideSidePanel.emit(true);\r\n }\r\n\r\n toggleTitleMode(){\r\n this.onlyTitle = !this.onlyTitle;\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 EDITOR_APP = '/editor';\r\n public static COMPARISON_APP = '/comparison';\r\n public static CONVERSION_APP = '/conversion';\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 ROTATE_DOCUMENT_PAGE = '/rotateDocumentPages';\r\n public static UPLOAD_DOCUMENTS = '/uploadDocument';\r\n public static DOWNLOAD_DOCUMENTS = '/downloadDocument';\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 COMPARE_FILES = '/compare';\r\n public static CONVERT_FILE = '/convert';\r\n public static DELETE_SIGNATURE_FILE = '/deleteSignatureFile';\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\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 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","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}\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 {\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\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 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\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\r\n ngOnInit() {\r\n }\r\n\r\n ngOnChanges() {\r\n const panzoom = this._elementRef.nativeElement.children.item(0).children.item(0);\r\n (panzoom as any).style.transform = '';\r\n // TODO: this intersects with zooming by zoom directive, but still needed\r\n // for flush previous settings before opening another file\r\n //this._zoomService.changeZoom(100);\r\n //this.scale = 1;\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 getDimensionWithUnit(value: number) {\r\n return 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 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 absolutePosition(el) {\r\n let x = 0, y = 0;\r\n\r\n while (el !== null) {\r\n x += el.offsetLeft;\r\n y += el.offsetTop;\r\n el = el.offsetParent;\r\n }\r\n\r\n return {x: x, y: y};\r\n };\r\n\r\n restrictRawPos(pos, viewportDim, docDim) {\r\n if (pos < viewportDim / this.scale - docDim) { // too far left/up?\r\n pos = viewportDim / this.scale - docDim;\r\n } else if (pos > 0) { // too far right/down?\r\n pos = 0;\r\n }\r\n return pos;\r\n };\r\n\r\n updateLastPos() {\r\n this.lastX = this.x;\r\n this.lastY = this.y;\r\n };\r\n\r\n translate(deltaX, deltaY) {\r\n // We restrict to the min of the viewport width/height or current width/height as the\r\n // current width/height may be smaller than the viewport width/height\r\n const newX = this.restrictRawPos(this.lastX + deltaX / this.scale,\r\n Math.min(this.viewportWidth, this.curWidth), this.docWidth);\r\n this.x = newX;\r\n // TODO: value here and in the similar line below changes to positive to take any effect\r\n this.container.scrollLeft = -Math.ceil(newX * this.scale);\r\n\r\n const newY = this.restrictRawPos(this.lastY + deltaY / this.scale,\r\n Math.min(this.viewportHeight, this.curHeight), this.docHeight);\r\n this.y = newY;\r\n this.container.scrollTop = -Math.ceil(newY * this.scale);\r\n\r\n this.doc.style.transform = 'scale(' + this.scale + ')';\r\n };\r\n\r\n startZoom(scaleBy) {\r\n this.scale = this.lastScale * scaleBy;\r\n\r\n this.curWidth = this.docWidth * this.scale;\r\n this.curHeight = this.docHeight * this.scale;\r\n\r\n // Adjust margins to make sure that we aren't out of bounds\r\n this.translate(0, 0);\r\n };\r\n\r\n rawCenter($event) {\r\n const pos = this.absolutePosition(this.container);\r\n\r\n // We need to account for the scroll position\r\n const scrollLeft = window.pageXOffset ? window.pageXOffset : document.body.scrollLeft;\r\n const scrollTop = window.pageYOffset ? window.pageYOffset : document.body.scrollTop;\r\n\r\n const zoomX = -this.x + ($event.center.x - pos.x + scrollLeft) / this.scale;\r\n const zoomY = -this.y + ($event.center.y - pos.y + scrollTop) / this.scale;\r\n\r\n return {x: zoomX, y: zoomY};\r\n };\r\n\r\n updateLastScale() {\r\n this.lastScale = this.scale;\r\n };\r\n\r\n zoomAround(scaleBy, rawZoomX, rawZoomY, doNotUpdateLast) {\r\n // Zoom\r\n this.startZoom(scaleBy);\r\n\r\n // New raw center of viewport\r\n const rawCenterX = -this.x + Math.min(this.viewportWidth, this.curWidth) / 2 / this.scale;\r\n const rawCenterY = -this.y + Math.min(this.viewportHeight, this.curHeight) / 2 / this.scale;\r\n\r\n // Delta\r\n const deltaX = (rawCenterX - rawZoomX) * this.scale;\r\n const deltaY = (rawCenterY - rawZoomY) * this.scale;\r\n\r\n // Translate back to zoom center\r\n this.translate(deltaX, deltaY);\r\n\r\n if (!doNotUpdateLast) {\r\n this.updateLastScale();\r\n this.updateLastPos();\r\n }\r\n };\r\n\r\n onPinch($event) {\r\n if (this.pinchCenter === null) {\r\n this.pinchCenter = this.rawCenter($event);\r\n const offsetX = this.pinchCenter.x * this.scale - (-this.x * this.scale + Math.min(this.viewportWidth, this.curWidth) / 2);\r\n const offsetY = this.pinchCenter.y * this.scale - (-this.y * this.scale + Math.min(this.viewportHeight, this.curHeight) / 2);\r\n this.pinchCenterOffset = {x: offsetX, y: offsetY};\r\n }\r\n\r\n const newScale = this.scale * $event.scale;\r\n\r\n const zoomX = this.pinchCenter.x * newScale - this.pinchCenterOffset.x;\r\n const zoomY = this.pinchCenter.y * newScale - this.pinchCenterOffset.y;\r\n const zoomCenter = {x: zoomX / newScale, y: zoomY / newScale};\r\n\r\n this.zoomAround($event.scale, zoomCenter.x, zoomCenter.y, true);\r\n }\r\n\r\n onPinchEnd($event) {\r\n this.updateLastScale();\r\n this.updateLastPos();\r\n this.pinchCenter = null;\r\n }\r\n\r\n onPan($event) {\r\n // TODO: looks like native pan works better\r\n // if (!this.isDesktop) {\r\n // this.translate($event.deltaX, $event.deltaY);\r\n // }\r\n }\r\n\r\n onPanEnd($event) {\r\n // if (!this.isDesktop) {\r\n // this.updateLastPos();\r\n // }\r\n }\r\n\r\n onDoubleTap($event) {\r\n if (!this.isDesktop) {\r\n if ($event.tapCount === 2) {\r\n const c = this.rawCenter($event);\r\n this.zoomAround(2, c.x, c.y, false);\r\n }\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 // 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 !== null ? this.data.replace(/>\\s+<').replace(/\\uFEFF/g,\"\") : null;\r\n const dataImagePngBase64 = 'data:image/png;base64,';\r\n this.imgData = dataImagePngBase64;\r\n if (!this.isHtml) {\r\n this.imgData += 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 {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 {Observable, Observer} 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 readonly _navigate: Observable;\r\n private _observer: Observer;\r\n\r\n constructor(private _pagePreloadService: PagePreloadService) {\r\n this._navigate = new Observable(observer =>\r\n this._observer = observer);\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 {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\r\n private currentPage: number;\r\n private zoom = 100;\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 const count = Math.floor((this.getWidth() - offset) / (pageEl.getBoundingClientRect().width * this.getZoom()));\r\n return count === 0 ? 1 : count;\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 this._navigateService.currentPage = page;\r\n }\r\n currentPageSet = true;\r\n }\r\n this._pagePreloadService.changeLastPageInView(page);\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 {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.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 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 scrollWidth = this.getScrollWidth(this.el.nativeElement.parentElement);\r\n this.width = (viewPortWidth/zoomInt - scrollWidth/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 @Input() isOpen = false;\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 }\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 if (this.htmlMode) {\r\n for (const page of pages) {\r\n pagesHtml += '
' +\r\n '
' + page.data + '
' +\r\n '
';\r\n }\r\n } else {\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 windowObject.focus();\r\n windowObject.print();\r\n windowObject.close();\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 {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 constructor() {\r\n }\r\n\r\n get messageChange(): Observable {\r\n return this._messageChange;\r\n }\r\n\r\n changeMessage(message: string) {\r\n this._observer.next(message);\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 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._modalService.open(CommonModals.ErrorMessage);\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 {AfterViewInit, Directive, HostBinding, Input, OnDestroy, OnInit, ElementRef, OnChanges, HostListener} 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: '[gdEditHeaderFooter]'\r\n})\r\nexport class EditHeaderFooterDirective implements OnInit, OnDestroy, AfterViewInit, OnChanges {\r\n\r\n el: ElementRef;\r\n footerRef: any;\r\n\r\n constructor(private _zoomService: ZoomService, private _windowService: WindowService, el: ElementRef) {\r\n this.el = el;\r\n }\r\n\r\n ngAfterViewInit(): void {\r\n this.footerRef = this.el.nativeElement.querySelectorAll('.footer')[0];\r\n if (this.footerRef) {\r\n this.footerRef.setAttribute(\"contenteditable\", false);\r\n this.footerRef.className += \" disabled\";\r\n }\r\n }\r\n\r\n ngOnDestroy(): void {\r\n }\r\n\r\n ngOnChanges(): void {\r\n }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n @HostListener('dblclick', ['$event'])\r\n dblclickEvent(event) {\r\n const footerTitle = document.createElement(\"div\");\r\n footerTitle.className = \"footer-title\";\r\n footerTitle.append('Footer');\r\n\r\n const footer = event.target.closest('.footer');\r\n if (footer && footer.classList.contains('disabled')) {\r\n footer.classList.remove('disabled');\r\n footer.setAttribute(\"contenteditable\", true);\r\n footer.before(footerTitle);\r\n }\r\n\r\n event.preventDefault();\r\n event.stopPropagation();\r\n }\r\n\r\n @HostListener('click', ['$event'])\r\n clickEvent(event) {\r\n const footer = event.target.closest('.footer');\r\n if (!footer) {\r\n this.footerRef.setAttribute(\"contenteditable\", false);\r\n if (!this.footerRef.classList.contains('disabled'))\r\n {\r\n this.footerRef.className += \" disabled\";\r\n }\r\n\r\n const section = this.el.nativeElement.querySelectorAll('.section')[0];\r\n const footerTitle = this.el.nativeElement.querySelectorAll('.footer-title')[0];\r\n if (section && footerTitle) {\r\n section.removeChild(footerTitle);\r\n }\r\n }\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 }\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 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} 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\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\r\n constructor(private _onCloseService: OnCloseService) {\r\n _onCloseService.onClose.subscribe(() => {\r\n this.colorPickerShow = false;\r\n });\r\n }\r\n\r\n ngOnInit() {\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} from '@angular/core';\r\nimport {Formatting} from \"../formatting.service\";\r\nimport {WindowService} from \"../window.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 this.isMobile = _windowService.isMobile();\r\n _windowService.onResize.subscribe((w) => {\r\n this.isMobile = _windowService.isMobile();\r\n });\r\n }\r\n\r\n ngOnInit() {\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 {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 {EditHeaderFooterDirective} from './editheaderfooter.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 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 EditHeaderFooterDirective,\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 SelectComponent,\r\n RotationDirective,\r\n InitStateComponent,\r\n RenderPrintDirective,\r\n ErrorModalComponent,\r\n PasswordRequiredComponent,\r\n SearchComponent,\r\n SearchableDirective,\r\n EditHeaderFooterDirective,\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 +{"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/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/page-preload.service.ts","ng://@groupdocs.examples.angular/common-components/lib/navigate.service.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/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/editheaderfooter.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","hideSidePanel","EventEmitter","onlyTitle","openSidePanel","emit","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","EDITOR_APP","COMPARISON_APP","CONVERSION_APP","DEFAULT_API_ENDPOINT","location","href","LOAD_FILE_TREE","LOAD_CONFIG","LOAD_DOCUMENT_DESCRIPTION","LOAD_DOCUMENT_PAGE","ROTATE_DOCUMENT_PAGE","UPLOAD_DOCUMENTS","DOWNLOAD_DOCUMENTS","LOAD_PRINT","LOAD_PRINT_PDF","LOAD_THUMBNAILS","LOAD_FORMATS","SAVE_FILE","COMPARE_FILES","CONVERT_FILE","DELETE_SIGNATURE_FILE","SAVE_OPTICAL_CODE","SAVE_TEXT","SAVE_IMAGE","SAVE_STAMP","SIGN","DOWNLOAD_SIGNED","LOAD_SIGNATURE_IMAGE","ANNOTATE","httpOptionsJson","headers","HttpHeaders","Content-Type","httpOptionsJsonResponseTypeBlob","responseType","ConfigService","apiEndpoint","_apiEndpoint","url","trim","endsWith","substring","getConfigEndpoint","app","getViewerApiEndpoint","getEditorApiEndpoint","getComparisonApiEndpoint","getConversionApiEndpoint","getSignatureApiEndpoint","getAnnotationApiEndpoint","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","guid","password","SaveFile","content","_super","tslib_1.__extends","FileCredentials","printAllowed","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","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","DocumentComponent","_elementRef","_zoomService","_windowService","wait","docWidth","docHeight","viewportWidth","viewportHeight","scale","lastScale","container","lastX","lastY","pinchCenter","pinchCenterOffset","curWidth","curHeight","zoomChange","ngOnChanges","children","item","style","transform","ngAfterViewInit","clientWidth","clientHeight","offsetWidth","offsetHeight","Hammer","ifExcel","getDimensionWithUnit","mode","ifEdge","ngAfterViewChecked","querySelectorAll","absolutePosition","offsetLeft","offsetTop","offsetParent","restrictRawPos","pos","viewportDim","docDim","updateLastPos","translate","deltaX","deltaY","newX","min","ceil","newY","startZoom","scaleBy","rawCenter","pageXOffset","pageYOffset","center","updateLastScale","zoomAround","rawZoomX","rawZoomY","doNotUpdateLast","rawCenterX","rawCenterY","onPinch","offsetX","offsetY","newScale","zoomCenter","onPinchEnd","onPan","onPanEnd","onDoubleTap","tapCount","PageComponent","test","number","editable","changes","data","imgData","isHtml","SanitizeHtmlPipe","sanitizer","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","PagePreloadService","_checkPreload","changeLastPageInView","page","NavigateService","_pagePreloadService","_currentPage","_countPages","_navigate","nextPage","navigateTo","prevPage","toLastPage","toFirstPage","currentPage","providedIn","ViewportService","checkInViewport","leftOffset","win","viewport","isNaN","zoomN","outerHeight","outerWidth","bounds","offset","right","left","bottom","top","deltas","parseFloat","toFixed","ScrollableDirective","_navigateService","_viewportService","navigate","scrollToPage","scrolling","resizing","pageNumber","getPage","prev","isSameTop","options","calculateOffset","scroll","getChildren","count","countPagesOnWidth","margin","pagesHeight","getZoom","pageEl","floor","getBoundingClientRect","currentPageSet","pageElem","currentPageRect","ZoomDirective","zoomActive","setStyles","resizePages","zoomInt","transformOrigin","maxWidth","pages","forEach","minWidth","getScrollWidth","elm","viewPortWidth","parentElement","scrollWidth","OnCloseService","_onClose","SelectComponent","_onCloseService","selected","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","htmlMode","pages_1","tslib_1.__values","pages_1_1","pages_2","pages_2_1","openWindow","imageA4Adjusted","cssPrint","windowObject","focus","writeln","print","fileURL","URL","createObjectURL","ExceptionMessageService","BehaviorSubject","_messageChange","changeMessage","message","ErrorModalComponent","messageService","messageChange","PasswordService","_passChange","setPassword","pass","PasswordRequiredComponent","_passwordService","cancelEvent","onCloseOpen","setTimeout","ErrorInterceptorService","_modalService","_messageService","intercept","req","logFormat","handle","catchError","exception","HttpErrorResponse","status","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","removeClass","currentEl","addClass","textNodes","contents","nodeName","checkClass","classList","contains","nodeType","textContent","highlight","each","$this","replaceWith","normalize","nodeListOf","innerText","EditHeaderFooterDirective","headerRef","setAttribute","footerRef","dblclickEvent","headerTitle","createElement","append","footerTitle","closestHeader","closest","after","closestFooter","before","clickEvent","section","removeChild","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","LoadingMaskComponent","_loadingMaskService","loadingMask","loading","LoadingMaskInterceptorService","finalize","horizontalAlignment","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","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","decoration","showTooltips","outFontSize","outFont","outBold","outItalic","outUnderline","outColor","fontSizeOptions","colorPickerShow","selectFontSize","off","on","fontElements","getElementsByTagName","getAttribute","removeAttribute","selectFont","toggleColorPicker","selectColor","closePicker","MenuType","FOR_SIGNATURE","FOR_ANNOTATION","ContextMenuComponent","formatting","lock","translation","changeFormatting","removeItem","copySign","lockOut","comment","saveChanges","deleteItem","toggleLock","onCopySign","isSignature","menuType","isAnnotation","addComment","providers","FileService","FileModel","CommonComponentsModule","library","fas","far","NgModule","imports","CommonModule","FontAwesomeModule","ClickOutsideModule","declarations","exports"],"mappings":"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,KAAKu8B,QAAQ96B,MAAK,wBAtFrBT,EAAAA,UAASC,KAAA,CAAC,CACTC,SAAU,kBACVC,SAAA,ioEATMU,yCAaLF,EAAAA,wBACAA,EAAAA,2BACAA,EAAAA,oBACAA,EAAAA,2BACAA,EAAAA,wBACAA,EAAAA,gCACAC,EAAAA,2BACAA,EAAAA,yBACAA,EAAAA,wBACAA,EAAAA,wBACAA,EAAAA,UAwEHm6B,KCrBMiB,GAAY,CAACn1B,EACjBvC,EACAgE,EACA2zB,EACAC,EACA3uB,EACAnC,EACA8P,EACAK,EACAE,EACAE,EACA9I,EACAoQ,GACA5F,EACAJ,EACA3H,EACAsP,GACAQ,GACAS,GACAY,GACA5lB,EACAod,GACA6N,GACAiD,GACAnN,GACA0S,GACAd,GACA/I,GACAoL,GACAe,GACAqC,IAEFkD,GAAA,WAoGE,SAAAA,IACEC,EAAAA,QAAQ5zB,IAAI6zB,EAAAA,IAAKC,EAAAA,KAErB,2BAvGCC,EAAAA,SAAQt8B,KAAA,CAAC,CACRu8B,QAAS,CAACC,EAAAA,aAAcC,EAAAA,kBAAmBC,EAAAA,oBAC3CC,aAAc,CACZ78B,EACAK,EACAyC,EACAmB,EACAE,EACA+E,EACAuK,EACAuC,EACA2E,EACAQ,EACAK,EACAE,EACAE,EACAE,EACAG,EACAmD,GACA0B,GACAiB,GACAM,GACAI,GACAO,GACAQ,GACA0B,GACAO,GACA6B,GACAQ,GACA0B,GACAiB,GACAK,GACAK,GACAwD,GACAqB,GACAgD,GACAG,GACAgB,GACAgB,GACAK,GACAJ,GACAT,GACAiB,GACAC,GACAoB,GACAI,GACA8B,GACAI,GACAyB,IAEF8B,QAAS,CACP98B,EACAK,EACAyC,EACAmB,EACAE,EACA+E,EACAuK,EACAuC,EACA2E,EACAa,EACAE,EACAE,EACAT,EACAW,EACAsD,GACA2C,GACAU,GACAO,GACAQ,GACA0B,GACAO,GACA6B,GACAQ,GACA0B,GACAiB,GACAK,GACAK,GACAwD,GACAqB,GACAgD,GACAmB,GACAlY,EACAkZ,GACAK,GACAJ,GACAT,GACA7T,GACA6T,GACAiB,GACAC,GACAoB,GACAI,GACA8B,GACAI,GACAyB,IAEFiB,UAAWA,6CAMbG,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 @Output() hideSidePanel = new EventEmitter();\r\n\r\n onlyTitle = false;\r\n\r\n constructor() {\r\n }\r\n\r\n openSidePanel() {\r\n this.hideSidePanel.emit(true);\r\n }\r\n\r\n toggleTitleMode(){\r\n this.onlyTitle = !this.onlyTitle;\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 EDITOR_APP = '/editor';\r\n public static COMPARISON_APP = '/comparison';\r\n public static CONVERSION_APP = '/conversion';\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 ROTATE_DOCUMENT_PAGE = '/rotateDocumentPages';\r\n public static UPLOAD_DOCUMENTS = '/uploadDocument';\r\n public static DOWNLOAD_DOCUMENTS = '/downloadDocument';\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 COMPARE_FILES = '/compare';\r\n public static CONVERT_FILE = '/convert';\r\n public static DELETE_SIGNATURE_FILE = '/deleteSignatureFile';\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\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 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","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}\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 {\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\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 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\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\r\n ngOnInit() {\r\n }\r\n\r\n ngOnChanges() {\r\n const panzoom = this._elementRef.nativeElement.children.item(0).children.item(0);\r\n (panzoom as any).style.transform = '';\r\n // TODO: this intersects with zooming by zoom directive, but still needed\r\n // for flush previous settings before opening another file\r\n //this._zoomService.changeZoom(100);\r\n //this.scale = 1;\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 getDimensionWithUnit(value: number) {\r\n return 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 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 absolutePosition(el) {\r\n let x = 0, y = 0;\r\n\r\n while (el !== null) {\r\n x += el.offsetLeft;\r\n y += el.offsetTop;\r\n el = el.offsetParent;\r\n }\r\n\r\n return {x: x, y: y};\r\n };\r\n\r\n restrictRawPos(pos, viewportDim, docDim) {\r\n if (pos < viewportDim / this.scale - docDim) { // too far left/up?\r\n pos = viewportDim / this.scale - docDim;\r\n } else if (pos > 0) { // too far right/down?\r\n pos = 0;\r\n }\r\n return pos;\r\n };\r\n\r\n updateLastPos() {\r\n this.lastX = this.x;\r\n this.lastY = this.y;\r\n };\r\n\r\n translate(deltaX, deltaY) {\r\n // We restrict to the min of the viewport width/height or current width/height as the\r\n // current width/height may be smaller than the viewport width/height\r\n const newX = this.restrictRawPos(this.lastX + deltaX / this.scale,\r\n Math.min(this.viewportWidth, this.curWidth), this.docWidth);\r\n this.x = newX;\r\n // TODO: value here and in the similar line below changes to positive to take any effect\r\n this.container.scrollLeft = -Math.ceil(newX * this.scale);\r\n\r\n const newY = this.restrictRawPos(this.lastY + deltaY / this.scale,\r\n Math.min(this.viewportHeight, this.curHeight), this.docHeight);\r\n this.y = newY;\r\n this.container.scrollTop = -Math.ceil(newY * this.scale);\r\n\r\n this.doc.style.transform = 'scale(' + this.scale + ')';\r\n };\r\n\r\n startZoom(scaleBy) {\r\n this.scale = this.lastScale * scaleBy;\r\n\r\n this.curWidth = this.docWidth * this.scale;\r\n this.curHeight = this.docHeight * this.scale;\r\n\r\n // Adjust margins to make sure that we aren't out of bounds\r\n this.translate(0, 0);\r\n };\r\n\r\n rawCenter($event) {\r\n const pos = this.absolutePosition(this.container);\r\n\r\n // We need to account for the scroll position\r\n const scrollLeft = window.pageXOffset ? window.pageXOffset : document.body.scrollLeft;\r\n const scrollTop = window.pageYOffset ? window.pageYOffset : document.body.scrollTop;\r\n\r\n const zoomX = -this.x + ($event.center.x - pos.x + scrollLeft) / this.scale;\r\n const zoomY = -this.y + ($event.center.y - pos.y + scrollTop) / this.scale;\r\n\r\n return {x: zoomX, y: zoomY};\r\n };\r\n\r\n updateLastScale() {\r\n this.lastScale = this.scale;\r\n };\r\n\r\n zoomAround(scaleBy, rawZoomX, rawZoomY, doNotUpdateLast) {\r\n // Zoom\r\n this.startZoom(scaleBy);\r\n\r\n // New raw center of viewport\r\n const rawCenterX = -this.x + Math.min(this.viewportWidth, this.curWidth) / 2 / this.scale;\r\n const rawCenterY = -this.y + Math.min(this.viewportHeight, this.curHeight) / 2 / this.scale;\r\n\r\n // Delta\r\n const deltaX = (rawCenterX - rawZoomX) * this.scale;\r\n const deltaY = (rawCenterY - rawZoomY) * this.scale;\r\n\r\n // Translate back to zoom center\r\n this.translate(deltaX, deltaY);\r\n\r\n if (!doNotUpdateLast) {\r\n this.updateLastScale();\r\n this.updateLastPos();\r\n }\r\n };\r\n\r\n onPinch($event) {\r\n if (this.pinchCenter === null) {\r\n this.pinchCenter = this.rawCenter($event);\r\n const offsetX = this.pinchCenter.x * this.scale - (-this.x * this.scale + Math.min(this.viewportWidth, this.curWidth) / 2);\r\n const offsetY = this.pinchCenter.y * this.scale - (-this.y * this.scale + Math.min(this.viewportHeight, this.curHeight) / 2);\r\n this.pinchCenterOffset = {x: offsetX, y: offsetY};\r\n }\r\n\r\n const newScale = this.scale * $event.scale;\r\n\r\n const zoomX = this.pinchCenter.x * newScale - this.pinchCenterOffset.x;\r\n const zoomY = this.pinchCenter.y * newScale - this.pinchCenterOffset.y;\r\n const zoomCenter = {x: zoomX / newScale, y: zoomY / newScale};\r\n\r\n this.zoomAround($event.scale, zoomCenter.x, zoomCenter.y, true);\r\n }\r\n\r\n onPinchEnd($event) {\r\n this.updateLastScale();\r\n this.updateLastPos();\r\n this.pinchCenter = null;\r\n }\r\n\r\n onPan($event) {\r\n // TODO: looks like native pan works better\r\n // if (!this.isDesktop) {\r\n // this.translate($event.deltaX, $event.deltaY);\r\n // }\r\n }\r\n\r\n onPanEnd($event) {\r\n // if (!this.isDesktop) {\r\n // this.updateLastPos();\r\n // }\r\n }\r\n\r\n onDoubleTap($event) {\r\n if (!this.isDesktop) {\r\n if ($event.tapCount === 2) {\r\n const c = this.rawCenter($event);\r\n this.zoomAround(2, c.x, c.y, false);\r\n }\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 // 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 !== null ? this.data.replace(/>\\s+<').replace(/\\uFEFF/g,\"\") : null;\r\n const dataImagePngBase64 = 'data:image/png;base64,';\r\n this.imgData = dataImagePngBase64;\r\n if (!this.isHtml) {\r\n this.imgData += 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 {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 {Observable, Observer} 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 readonly _navigate: Observable;\r\n private _observer: Observer;\r\n\r\n constructor(private _pagePreloadService: PagePreloadService) {\r\n this._navigate = new Observable(observer =>\r\n this._observer = observer);\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 {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\r\n private currentPage: number;\r\n private zoom = 100;\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 const count = Math.floor((this.getWidth() - offset) / (pageEl.getBoundingClientRect().width * this.getZoom()));\r\n return count === 0 ? 1 : count;\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 this._navigateService.currentPage = page;\r\n }\r\n currentPageSet = true;\r\n }\r\n this._pagePreloadService.changeLastPageInView(page);\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 {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.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 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 scrollWidth = this.getScrollWidth(this.el.nativeElement.parentElement);\r\n this.width = (viewPortWidth/zoomInt - scrollWidth/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 @Input() isOpen = false;\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 }\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 if (this.htmlMode) {\r\n for (const page of pages) {\r\n pagesHtml += '
' +\r\n '
' + page.data + '
' +\r\n '
';\r\n }\r\n } else {\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 windowObject.focus();\r\n windowObject.print();\r\n windowObject.close();\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 {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 constructor() {\r\n }\r\n\r\n get messageChange(): Observable {\r\n return this._messageChange;\r\n }\r\n\r\n changeMessage(message: string) {\r\n this._observer.next(message);\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 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._modalService.open(CommonModals.ErrorMessage);\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 {AfterViewInit, Directive, HostBinding, Input, OnDestroy, OnInit, ElementRef, OnChanges, HostListener} 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: '[gdEditHeaderFooter]'\r\n})\r\nexport class EditHeaderFooterDirective implements OnInit, OnDestroy, AfterViewInit, OnChanges {\r\n\r\n el: ElementRef;\r\n footerRef: any;\r\n headerRef: any;\r\n\r\n constructor(private _zoomService: ZoomService, private _windowService: WindowService, el: ElementRef) {\r\n this.el = el;\r\n }\r\n\r\n ngAfterViewInit(): void {\r\n this.headerRef = this.el.nativeElement.querySelectorAll('.header')[0];\r\n if (this.headerRef) {\r\n this.headerRef.setAttribute(\"contenteditable\", false);\r\n this.headerRef.className += \" disabled\";\r\n }\r\n\r\n this.footerRef = this.el.nativeElement.querySelectorAll('.footer')[0];\r\n if (this.footerRef) {\r\n this.footerRef.setAttribute(\"contenteditable\", false);\r\n this.footerRef.className += \" disabled\";\r\n }\r\n }\r\n\r\n ngOnDestroy(): void {\r\n }\r\n\r\n ngOnChanges(): void {\r\n }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n @HostListener('dblclick', ['$event'])\r\n dblclickEvent(event) {\r\n const headerTitle = document.createElement(\"div\");\r\n headerTitle.className = \"header-title\";\r\n headerTitle.append('Header');\r\n\r\n const footerTitle = document.createElement(\"div\");\r\n footerTitle.className = \"footer-title\";\r\n footerTitle.append('Footer');\r\n\r\n const closestHeader = event.target.closest('.header');\r\n if (closestHeader && closestHeader.classList.contains('disabled')) {\r\n closestHeader.classList.remove('disabled');\r\n closestHeader.setAttribute(\"contenteditable\", true);\r\n closestHeader.after(headerTitle);\r\n }\r\n\r\n const closestFooter = event.target.closest('.footer');\r\n if (closestFooter && closestFooter.classList.contains('disabled')) {\r\n closestFooter.classList.remove('disabled');\r\n closestFooter.setAttribute(\"contenteditable\", true);\r\n closestFooter.before(footerTitle);\r\n }\r\n\r\n event.preventDefault();\r\n event.stopPropagation();\r\n }\r\n\r\n @HostListener('click', ['$event'])\r\n clickEvent(event) {\r\n const closestHeader = event.target.closest('.header');\r\n if (!closestHeader) {\r\n this.headerRef.setAttribute(\"contenteditable\", false);\r\n if (!this.headerRef.classList.contains('disabled'))\r\n {\r\n this.headerRef.className += \" disabled\";\r\n }\r\n\r\n const section = this.el.nativeElement.querySelectorAll('.section')[0];\r\n const headerTitle = this.el.nativeElement.querySelectorAll('.header-title')[0];\r\n if (section && headerTitle) {\r\n section.removeChild(headerTitle);\r\n }\r\n }\r\n\r\n const closestFooter = event.target.closest('.footer');\r\n if (!closestFooter) {\r\n this.footerRef.setAttribute(\"contenteditable\", false);\r\n if (!this.footerRef.classList.contains('disabled'))\r\n {\r\n this.footerRef.className += \" disabled\";\r\n }\r\n\r\n const section = this.el.nativeElement.querySelectorAll('.section')[0];\r\n const footerTitle = this.el.nativeElement.querySelectorAll('.footer-title')[0];\r\n if (section && footerTitle) {\r\n section.removeChild(footerTitle);\r\n }\r\n }\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 }\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 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} 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\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\r\n constructor(private _onCloseService: OnCloseService) {\r\n _onCloseService.onClose.subscribe(() => {\r\n this.colorPickerShow = false;\r\n });\r\n }\r\n\r\n ngOnInit() {\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} from '@angular/core';\r\nimport {Formatting} from \"../formatting.service\";\r\nimport {WindowService} from \"../window.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 this.isMobile = _windowService.isMobile();\r\n _windowService.onResize.subscribe((w) => {\r\n this.isMobile = _windowService.isMobile();\r\n });\r\n }\r\n\r\n ngOnInit() {\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 {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 {EditHeaderFooterDirective} from './editheaderfooter.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 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 EditHeaderFooterDirective,\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 SelectComponent,\r\n RotationDirective,\r\n InitStateComponent,\r\n RenderPrintDirective,\r\n ErrorModalComponent,\r\n PasswordRequiredComponent,\r\n SearchComponent,\r\n SearchableDirective,\r\n EditHeaderFooterDirective,\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/editheaderfooter.directive.js b/dist/libs/common-components/esm2015/lib/editheaderfooter.directive.js index 5781f606a..fded98a92 100644 --- a/dist/libs/common-components/esm2015/lib/editheaderfooter.directive.js +++ b/dist/libs/common-components/esm2015/lib/editheaderfooter.directive.js @@ -20,9 +20,16 @@ export class EditHeaderFooterDirective { * @return {?} */ ngAfterViewInit() { + this.headerRef = this.el.nativeElement.querySelectorAll('.header')[0]; + if (this.headerRef) { + this.headerRef.setAttribute("contenteditable", false); + this.headerRef.className += " disabled"; + } this.footerRef = this.el.nativeElement.querySelectorAll('.footer')[0]; - this.footerRef.setAttribute("contenteditable", false); - this.footerRef.className += " disabled"; + if (this.footerRef) { + this.footerRef.setAttribute("contenteditable", false); + this.footerRef.className += " disabled"; + } } /** * @return {?} @@ -44,17 +51,27 @@ export class EditHeaderFooterDirective { * @return {?} */ dblclickEvent(event) { + /** @type {?} */ + const headerTitle = document.createElement("div"); + headerTitle.className = "header-title"; + headerTitle.append('Header'); /** @type {?} */ const footerTitle = document.createElement("div"); footerTitle.className = "footer-title"; footerTitle.append('Footer'); /** @type {?} */ - const footer = event.target.closest('.footer'); - if (footer && footer.classList.contains('disabled')) { - console.log('dblclick in footer fired'); - footer.classList.remove('disabled'); - footer.setAttribute("contenteditable", true); - footer.before(footerTitle); + const closestHeader = event.target.closest('.header'); + if (closestHeader && closestHeader.classList.contains('disabled')) { + closestHeader.classList.remove('disabled'); + closestHeader.setAttribute("contenteditable", true); + closestHeader.after(headerTitle); + } + /** @type {?} */ + const closestFooter = event.target.closest('.footer'); + if (closestFooter && closestFooter.classList.contains('disabled')) { + closestFooter.classList.remove('disabled'); + closestFooter.setAttribute("contenteditable", true); + closestFooter.before(footerTitle); } event.preventDefault(); event.stopPropagation(); @@ -64,10 +81,24 @@ export class EditHeaderFooterDirective { * @return {?} */ clickEvent(event) { - console.log('click on el fired'); /** @type {?} */ - const footer = event.target.closest('.footer'); - if (!footer) { + const closestHeader = event.target.closest('.header'); + if (!closestHeader) { + this.headerRef.setAttribute("contenteditable", false); + if (!this.headerRef.classList.contains('disabled')) { + this.headerRef.className += " disabled"; + } + /** @type {?} */ + const section = this.el.nativeElement.querySelectorAll('.section')[0]; + /** @type {?} */ + const headerTitle = this.el.nativeElement.querySelectorAll('.header-title')[0]; + if (section && headerTitle) { + section.removeChild(headerTitle); + } + } + /** @type {?} */ + const closestFooter = event.target.closest('.footer'); + if (!closestFooter) { this.footerRef.setAttribute("contenteditable", false); if (!this.footerRef.classList.contains('disabled')) { this.footerRef.className += " disabled"; @@ -102,6 +133,8 @@ if (false) { EditHeaderFooterDirective.prototype.el; /** @type {?} */ EditHeaderFooterDirective.prototype.footerRef; + /** @type {?} */ + EditHeaderFooterDirective.prototype.headerRef; /** * @type {?} * @private @@ -113,4 +146,4 @@ if (false) { */ EditHeaderFooterDirective.prototype._windowService; } -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWRpdGhlYWRlcmZvb3Rlci5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AZ3JvdXBkb2NzLmV4YW1wbGVzLmFuZ3VsYXIvY29tbW9uLWNvbXBvbmVudHMvIiwic291cmNlcyI6WyJsaWIvZWRpdGhlYWRlcmZvb3Rlci5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE9BQU8sRUFBZ0IsU0FBUyxFQUF5QyxVQUFVLEVBQWEsWUFBWSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ25JLE9BQU8sRUFBQyxXQUFXLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUUzQyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFLakQsTUFBTSxPQUFPLHlCQUF5Qjs7Ozs7O0lBS3BDLFlBQW9CLFlBQXlCLEVBQVUsY0FBNkIsRUFBRSxFQUFjO1FBQWhGLGlCQUFZLEdBQVosWUFBWSxDQUFhO1FBQVUsbUJBQWMsR0FBZCxjQUFjLENBQWU7UUFDbEYsSUFBSSxDQUFDLEVBQUUsR0FBRyxFQUFFLENBQUM7SUFDZixDQUFDOzs7O0lBRUQsZUFBZTtRQUNiLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLEVBQUUsQ0FBQyxhQUFhLENBQUMsZ0JBQWdCLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDdEUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxZQUFZLENBQUMsaUJBQWlCLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFDdEQsSUFBSSxDQUFDLFNBQVMsQ0FBQyxTQUFTLElBQUksV0FBVyxDQUFDO0lBQzFDLENBQUM7Ozs7SUFFRCxXQUFXO0lBQ1gsQ0FBQzs7OztJQUVELFdBQVc7SUFDWCxDQUFDOzs7O0lBRUQsUUFBUTtJQUNSLENBQUM7Ozs7O0lBR0QsYUFBYSxDQUFDLEtBQUs7O2NBQ1gsV0FBVyxHQUFHLFFBQVEsQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDO1FBQ2pELFdBQVcsQ0FBQyxTQUFTLEdBQUcsY0FBYyxDQUFDO1FBQ3ZDLFdBQVcsQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUM7O2NBRXZCLE1BQU0sR0FBRyxLQUFLLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUM7UUFDOUMsSUFBSSxNQUFNLElBQUksTUFBTSxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsVUFBVSxDQUFDLEVBQUU7WUFDbkQsT0FBTyxDQUFDLEdBQUcsQ0FBQywwQkFBMEIsQ0FBQyxDQUFDO1lBQ3hDLE1BQU0sQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1lBQ3BDLE1BQU0sQ0FBQyxZQUFZLENBQUMsaUJBQWlCLEVBQUUsSUFBSSxDQUFDLENBQUM7WUFDN0MsTUFBTSxDQUFDLE1BQU0sQ0FBQyxXQUFXLENBQUMsQ0FBQztTQUM1QjtRQUVELEtBQUssQ0FBQyxjQUFjLEVBQUUsQ0FBQztRQUN2QixLQUFLLENBQUMsZUFBZSxFQUFFLENBQUM7SUFDMUIsQ0FBQzs7Ozs7SUFHRCxVQUFVLENBQUMsS0FBSztRQUNkLE9BQU8sQ0FBQyxHQUFHLENBQUMsbUJBQW1CLENBQUMsQ0FBQzs7Y0FDM0IsTUFBTSxHQUFHLEtBQUssQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQztRQUM5QyxJQUFJLENBQUMsTUFBTSxFQUFFO1lBQ1gsSUFBSSxDQUFDLFNBQVMsQ0FBQyxZQUFZLENBQUMsaUJBQWlCLEVBQUUsS0FBSyxDQUFDLENBQUM7WUFDdEQsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxVQUFVLENBQUMsRUFDbEQ7Z0JBQ0UsSUFBSSxDQUFDLFNBQVMsQ0FBQyxTQUFTLElBQUksV0FBVyxDQUFDO2FBQ3pDOztrQkFFSyxPQUFPLEdBQUcsSUFBSSxDQUFDLEVBQUUsQ0FBQyxhQUFhLENBQUMsZ0JBQWdCLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDOztrQkFDL0QsV0FBVyxHQUFHLElBQUksQ0FBQyxFQUFFLENBQUMsYUFBYSxDQUFDLGdCQUFnQixDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUM5RSxJQUFJLE9BQU8sSUFBSSxXQUFXLEVBQUU7Z0JBQzFCLE9BQU8sQ0FBQyxXQUFXLENBQUMsV0FBVyxDQUFDLENBQUM7YUFDbEM7U0FDRjtJQUNILENBQUM7OztZQTlERixTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLHNCQUFzQjthQUNqQzs7OztZQU5PLFdBQVc7WUFFVixhQUFhO1lBSG1ELFVBQVU7Ozs0QkFnQ2hGLFlBQVksU0FBQyxVQUFVLEVBQUUsQ0FBQyxRQUFRLENBQUM7eUJBa0JuQyxZQUFZLFNBQUMsT0FBTyxFQUFFLENBQUMsUUFBUSxDQUFDOzs7O0lBeENqQyx1Q0FBb0I7O0lBQ3BCLDhDQUFlOzs7OztJQUVILGlEQUFpQzs7Ozs7SUFBRSxtREFBcUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0FmdGVyVmlld0luaXQsIERpcmVjdGl2ZSwgSG9zdEJpbmRpbmcsIElucHV0LCBPbkRlc3Ryb3ksIE9uSW5pdCwgRWxlbWVudFJlZiwgT25DaGFuZ2VzLCBIb3N0TGlzdGVuZXJ9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQge1pvb21TZXJ2aWNlfSBmcm9tIFwiLi96b29tLnNlcnZpY2VcIjtcclxuaW1wb3J0IHtGaWxlVXRpbH0gZnJvbSBcIi4vZmlsZS5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7IFdpbmRvd1NlcnZpY2UgfSBmcm9tICcuL3dpbmRvdy5zZXJ2aWNlJztcclxuXHJcbkBEaXJlY3RpdmUoe1xyXG4gIHNlbGVjdG9yOiAnW2dkRWRpdEhlYWRlckZvb3Rlcl0nXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBFZGl0SGVhZGVyRm9vdGVyRGlyZWN0aXZlIGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3ksIEFmdGVyVmlld0luaXQsIE9uQ2hhbmdlcyB7XHJcblxyXG4gIGVsOiBFbGVtZW50UmVmPGFueT47XHJcbiAgZm9vdGVyUmVmOiBhbnk7XHJcblxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgX3pvb21TZXJ2aWNlOiBab29tU2VydmljZSwgcHJpdmF0ZSBfd2luZG93U2VydmljZTogV2luZG93U2VydmljZSwgZWw6IEVsZW1lbnRSZWYpIHtcclxuICAgIHRoaXMuZWwgPSBlbDtcclxuICB9XHJcblxyXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMuZm9vdGVyUmVmID0gdGhpcy5lbC5uYXRpdmVFbGVtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJy5mb290ZXInKVswXTtcclxuICAgIHRoaXMuZm9vdGVyUmVmLnNldEF0dHJpYnV0ZShcImNvbnRlbnRlZGl0YWJsZVwiLCBmYWxzZSk7XHJcbiAgICB0aGlzLmZvb3RlclJlZi5jbGFzc05hbWUgKz0gXCIgZGlzYWJsZWRcIjtcclxuICB9XHJcblxyXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gIH1cclxuXHJcbiAgbmdPbkNoYW5nZXMoKTogdm9pZCB7XHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICB9XHJcblxyXG4gIEBIb3N0TGlzdGVuZXIoJ2RibGNsaWNrJywgWyckZXZlbnQnXSlcclxuICBkYmxjbGlja0V2ZW50KGV2ZW50KSB7XHJcbiAgICBjb25zdCBmb290ZXJUaXRsZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoXCJkaXZcIik7XHJcbiAgICBmb290ZXJUaXRsZS5jbGFzc05hbWUgPSBcImZvb3Rlci10aXRsZVwiO1xyXG4gICAgZm9vdGVyVGl0bGUuYXBwZW5kKCdGb290ZXInKTtcclxuXHJcbiAgICBjb25zdCBmb290ZXIgPSBldmVudC50YXJnZXQuY2xvc2VzdCgnLmZvb3RlcicpO1xyXG4gICAgaWYgKGZvb3RlciAmJiBmb290ZXIuY2xhc3NMaXN0LmNvbnRhaW5zKCdkaXNhYmxlZCcpKSB7XHJcbiAgICAgIGNvbnNvbGUubG9nKCdkYmxjbGljayBpbiBmb290ZXIgZmlyZWQnKTtcclxuICAgICAgZm9vdGVyLmNsYXNzTGlzdC5yZW1vdmUoJ2Rpc2FibGVkJyk7XHJcbiAgICAgIGZvb3Rlci5zZXRBdHRyaWJ1dGUoXCJjb250ZW50ZWRpdGFibGVcIiwgdHJ1ZSk7XHJcbiAgICAgIGZvb3Rlci5iZWZvcmUoZm9vdGVyVGl0bGUpO1xyXG4gICAgfVxyXG5cclxuICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XHJcbiAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcclxuICB9XHJcblxyXG4gIEBIb3N0TGlzdGVuZXIoJ2NsaWNrJywgWyckZXZlbnQnXSlcclxuICBjbGlja0V2ZW50KGV2ZW50KSB7XHJcbiAgICBjb25zb2xlLmxvZygnY2xpY2sgb24gZWwgZmlyZWQnKTtcclxuICAgIGNvbnN0IGZvb3RlciA9IGV2ZW50LnRhcmdldC5jbG9zZXN0KCcuZm9vdGVyJyk7XHJcbiAgICBpZiAoIWZvb3Rlcikge1xyXG4gICAgICB0aGlzLmZvb3RlclJlZi5zZXRBdHRyaWJ1dGUoXCJjb250ZW50ZWRpdGFibGVcIiwgZmFsc2UpO1xyXG4gICAgICBpZiAoIXRoaXMuZm9vdGVyUmVmLmNsYXNzTGlzdC5jb250YWlucygnZGlzYWJsZWQnKSlcclxuICAgICAge1xyXG4gICAgICAgIHRoaXMuZm9vdGVyUmVmLmNsYXNzTmFtZSArPSBcIiBkaXNhYmxlZFwiO1xyXG4gICAgICB9XHJcblxyXG4gICAgICBjb25zdCBzZWN0aW9uID0gdGhpcy5lbC5uYXRpdmVFbGVtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJy5zZWN0aW9uJylbMF07XHJcbiAgICAgIGNvbnN0IGZvb3RlclRpdGxlID0gdGhpcy5lbC5uYXRpdmVFbGVtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJy5mb290ZXItdGl0bGUnKVswXTtcclxuICAgICAgaWYgKHNlY3Rpb24gJiYgZm9vdGVyVGl0bGUpIHtcclxuICAgICAgICBzZWN0aW9uLnJlbW92ZUNoaWxkKGZvb3RlclRpdGxlKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iXX0= \ No newline at end of file +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWRpdGhlYWRlcmZvb3Rlci5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AZ3JvdXBkb2NzLmV4YW1wbGVzLmFuZ3VsYXIvY29tbW9uLWNvbXBvbmVudHMvIiwic291cmNlcyI6WyJsaWIvZWRpdGhlYWRlcmZvb3Rlci5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE9BQU8sRUFBZ0IsU0FBUyxFQUF5QyxVQUFVLEVBQWEsWUFBWSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ25JLE9BQU8sRUFBQyxXQUFXLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUUzQyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFLakQsTUFBTSxPQUFPLHlCQUF5Qjs7Ozs7O0lBTXBDLFlBQW9CLFlBQXlCLEVBQVUsY0FBNkIsRUFBRSxFQUFjO1FBQWhGLGlCQUFZLEdBQVosWUFBWSxDQUFhO1FBQVUsbUJBQWMsR0FBZCxjQUFjLENBQWU7UUFDbEYsSUFBSSxDQUFDLEVBQUUsR0FBRyxFQUFFLENBQUM7SUFDZixDQUFDOzs7O0lBRUQsZUFBZTtRQUNiLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLEVBQUUsQ0FBQyxhQUFhLENBQUMsZ0JBQWdCLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDdEUsSUFBSSxJQUFJLENBQUMsU0FBUyxFQUFFO1lBQ2xCLElBQUksQ0FBQyxTQUFTLENBQUMsWUFBWSxDQUFDLGlCQUFpQixFQUFFLEtBQUssQ0FBQyxDQUFDO1lBQ3RELElBQUksQ0FBQyxTQUFTLENBQUMsU0FBUyxJQUFJLFdBQVcsQ0FBQztTQUN6QztRQUVELElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLEVBQUUsQ0FBQyxhQUFhLENBQUMsZ0JBQWdCLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDdEUsSUFBSSxJQUFJLENBQUMsU0FBUyxFQUFFO1lBQ2xCLElB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QUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxVQUFVLENBQUMsRUFDbEQ7Z0JBQ0UsSUFBSSxDQUFDLFNBQVMsQ0FBQyxTQUFTLElBQUksV0FBVyxDQUFDO2FBQ3pDOztrQkFFSyxPQUFPLEdBQUcsSUFBSSxDQUFDLEVBQUUsQ0FBQyxhQUFhLENBQUMsZ0JBQWdCLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDOztrQkFDL0QsV0FBVyxHQUFHLElBQUksQ0FBQyxFQUFFLENBQUMsYUFBYSxDQUFDLGdCQUFnQixDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUM5RSxJQUFJLE9BQU8sSUFBSSxXQUFXLEVBQUU7Z0JBQzFCLE9BQU8sQ0FBQyxXQUFXLENBQUMsV0FBVyxDQUFDLENBQUM7YUFDbEM7U0FDRjtJQUNILENBQUM7OztZQS9GRixTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLHNCQUFzQjthQUNqQzs7OztZQU5PLFdBQVc7WUFFVixhQUFhO1lBSG1ELFVBQVU7Ozs0QkF5Q2hGLFlBQVksU0FBQyxVQUFVLEVBQUUsQ0FBQyxRQUFRLENBQUM7eUJBNEJuQyxZQUFZLFNBQUMsT0FBTyxFQUFFLENBQUMsUUFBUSxDQUFDOzs7O0lBM0RqQyx1Q0FBb0I7O0lBQ3BCLDhDQUFlOztJQUNmLDhDQUFlOzs7OztJQUVILGlEQUFpQzs7Ozs7SUFBRSxtREFBcUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0FmdGVyVmlld0luaXQsIERpcmVjdGl2ZSwgSG9zdEJpbmRpbmcsIElucHV0LCBPbkRlc3Ryb3ksIE9uSW5pdCwgRWxlbWVudFJlZiwgT25DaGFuZ2VzLCBIb3N0TGlzdGVuZXJ9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQge1pvb21TZXJ2aWNlfSBmcm9tIFwiLi96b29tLnNlcnZpY2VcIjtcclxuaW1wb3J0IHtGaWxlVXRpbH0gZnJvbSBcIi4vZmlsZS5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7IFdpbmRvd1NlcnZpY2UgfSBmcm9tICcuL3dpbmRvdy5zZXJ2aWNlJztcclxuXHJcbkBEaXJlY3RpdmUoe1xyXG4gIHNlbGVjdG9yOiAnW2dkRWRpdEhlYWRlckZvb3Rlcl0nXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBFZGl0SGVhZGVyRm9vdGVyRGlyZWN0aXZlIGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3ksIEFmdGVyVmlld0luaXQsIE9uQ2hhbmdlcyB7XHJcblxyXG4gIGVsOiBFbGVtZW50UmVmPGFueT47XHJcbiAgZm9vdGVyUmVmOiBhbnk7XHJcbiAgaGVhZGVyUmVmOiBhbnk7XHJcblxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgX3pvb21TZXJ2aWNlOiBab29tU2VydmljZSwgcHJpdmF0ZSBfd2luZG93U2VydmljZTogV2luZG93U2VydmljZSwgZWw6IEVsZW1lbnRSZWYpIHtcclxuICAgIHRoaXMuZWwgPSBlbDtcclxuICB9XHJcblxyXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMuaGVhZGVyUmVmID0gdGhpcy5lbC5uYXRpdmVFbGVtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJy5oZWFkZXInKVswXTtcclxuICAgIGlmICh0aGlzLmhlYWRlclJlZikge1xyXG4gICAgICB0aGlzLmhlYWRlclJlZi5zZXRBdHRyaWJ1dGUoXCJjb250ZW50ZWRpdGFibGVcIiwgZmFsc2UpO1xyXG4gICAgICB0aGlzLmhlYWRlclJlZi5jbGFzc05hbWUgKz0gXCIgZGlzYWJsZWRcIjtcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLmZvb3RlclJlZiA9IHRoaXMuZWwubmF0aXZlRWxlbWVudC5xdWVyeVNlbGVjdG9yQWxsKCcuZm9vdGVyJylbMF07XHJcbiAgICBpZiAodGhpcy5mb290ZXJSZWYpIHtcclxuICAgICAgdGhpcy5mb290ZXJSZWYuc2V0QXR0cmlidXRlKFwiY29udGVudGVkaXRhYmxlXCIsIGZhbHNlKTtcclxuICAgICAgdGhpcy5mb290ZXJSZWYuY2xhc3NOYW1lICs9IFwiIGRpc2FibGVkXCI7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcclxuICB9XHJcblxyXG4gIG5nT25DaGFuZ2VzKCk6IHZvaWQge1xyXG4gIH1cclxuXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgfVxyXG5cclxuICBASG9zdExpc3RlbmVyKCdkYmxjbGljaycsIFsnJGV2ZW50J10pXHJcbiAgZGJsY2xpY2tFdmVudChldmVudCkge1xyXG4gICAgY29uc3QgaGVhZGVyVGl0bGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KFwiZGl2XCIpO1xyXG4gICAgaGVhZGVyVGl0bGUuY2xhc3NOYW1lID0gXCJoZWFkZXItdGl0bGVcIjtcclxuICAgIGhlYWRlclRpdGxlLmFwcGVuZCgnSGVhZGVyJyk7XHJcblxyXG4gICAgY29uc3QgZm9vdGVyVGl0bGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KFwiZGl2XCIpO1xyXG4gICAgZm9vdGVyVGl0bGUuY2xhc3NOYW1lID0gXCJmb290ZXItdGl0bGVcIjtcclxuICAgIGZvb3RlclRpdGxlLmFwcGVuZCgnRm9vdGVyJyk7XHJcblxyXG4gICAgY29uc3QgY2xvc2VzdEhlYWRlciA9IGV2ZW50LnRhcmdldC5jbG9zZXN0KCcuaGVhZGVyJyk7XHJcbiAgICBpZiAoY2xvc2VzdEhlYWRlciAmJiBjbG9zZXN0SGVhZGVyLmNsYXNzTGlzdC5jb250YWlucygnZGlzYWJsZWQnKSkge1xyXG4gICAgICBjbG9zZXN0SGVhZGVyLmNsYXNzTGlzdC5yZW1vdmUoJ2Rpc2FibGVkJyk7XHJcbiAgICAgIGNsb3Nlc3RIZWFkZXIuc2V0QXR0cmlidXRlKFwiY29udGVudGVkaXRhYmxlXCIsIHRydWUpO1xyXG4gICAgICBjbG9zZXN0SGVhZGVyLmFmdGVyKGhlYWRlclRpdGxlKTtcclxuICAgIH1cclxuXHJcbiAgICBjb25zdCBjbG9zZXN0Rm9vdGVyID0gZXZlbnQudGFyZ2V0LmNsb3Nlc3QoJy5mb290ZXInKTtcclxuICAgIGlmIChjbG9zZXN0Rm9vdGVyICYmIGNsb3Nlc3RGb290ZXIuY2xhc3NMaXN0LmNvbnRhaW5zKCdkaXNhYmxlZCcpKSB7XHJcbiAgICAgIGNsb3Nlc3RGb290ZXIuY2xhc3NMaXN0LnJlbW92ZSgnZGlzYWJsZWQnKTtcclxuICAgICAgY2xvc2VzdEZvb3Rlci5zZXRBdHRyaWJ1dGUoXCJjb250ZW50ZWRpdGFibGVcIiwgdHJ1ZSk7XHJcbiAgICAgIGNsb3Nlc3RGb290ZXIuYmVmb3JlKGZvb3RlclRpdGxlKTtcclxuICAgIH1cclxuXHJcbiAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xyXG4gICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XHJcbiAgfVxyXG5cclxuICBASG9zdExpc3RlbmVyKCdjbGljaycsIFsnJGV2ZW50J10pXHJcbiAgY2xpY2tFdmVudChldmVudCkge1xyXG4gICAgY29uc3QgY2xvc2VzdEhlYWRlciA9IGV2ZW50LnRhcmdldC5jbG9zZXN0KCcuaGVhZGVyJyk7XHJcbiAgICBpZiAoIWNsb3Nlc3RIZWFkZXIpIHtcclxuICAgICAgdGhpcy5oZWFkZXJSZWYuc2V0QXR0cmlidXRlKFwiY29udGVudGVkaXRhYmxlXCIsIGZhbHNlKTtcclxuICAgICAgaWYgKCF0aGlzLmhlYWRlclJlZi5jbGFzc0xpc3QuY29udGFpbnMoJ2Rpc2FibGVkJykpXHJcbiAgICAgIHtcclxuICAgICAgICB0aGlzLmhlYWRlclJlZi5jbGFzc05hbWUgKz0gXCIgZGlzYWJsZWRcIjtcclxuICAgICAgfVxyXG5cclxuICAgICAgY29uc3Qgc2VjdGlvbiA9IHRoaXMuZWwubmF0aXZlRWxlbWVudC5xdWVyeVNlbGVjdG9yQWxsKCcuc2VjdGlvbicpWzBdO1xyXG4gICAgICBjb25zdCBoZWFkZXJUaXRsZSA9IHRoaXMuZWwubmF0aXZlRWxlbWVudC5xdWVyeVNlbGVjdG9yQWxsKCcuaGVhZGVyLXRpdGxlJylbMF07XHJcbiAgICAgIGlmIChzZWN0aW9uICYmIGhlYWRlclRpdGxlKSB7XHJcbiAgICAgICAgc2VjdGlvbi5yZW1vdmVDaGlsZChoZWFkZXJUaXRsZSk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBjb25zdCBjbG9zZXN0Rm9vdGVyID0gZXZlbnQudGFyZ2V0LmNsb3Nlc3QoJy5mb290ZXInKTtcclxuICAgIGlmICghY2xvc2VzdEZvb3Rlcikge1xyXG4gICAgICB0aGlzLmZvb3RlclJlZi5zZXRBdHRyaWJ1dGUoXCJjb250ZW50ZWRpdGFibGVcIiwgZmFsc2UpO1xyXG4gICAgICBpZiAoIXRoaXMuZm9vdGVyUmVmLmNsYXNzTGlzdC5jb250YWlucygnZGlzYWJsZWQnKSlcclxuICAgICAge1xyXG4gICAgICAgIHRoaXMuZm9vdGVyUmVmLmNsYXNzTmFtZSArPSBcIiBkaXNhYmxlZFwiO1xyXG4gICAgICB9XHJcblxyXG4gICAgICBjb25zdCBzZWN0aW9uID0gdGhpcy5lbC5uYXRpdmVFbGVtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJy5zZWN0aW9uJylbMF07XHJcbiAgICAgIGNvbnN0IGZvb3RlclRpdGxlID0gdGhpcy5lbC5uYXRpdmVFbGVtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJy5mb290ZXItdGl0bGUnKVswXTtcclxuICAgICAgaWYgKHNlY3Rpb24gJiYgZm9vdGVyVGl0bGUpIHtcclxuICAgICAgICBzZWN0aW9uLnJlbW92ZUNoaWxkKGZvb3RlclRpdGxlKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iXX0= \ No newline at end of file diff --git a/dist/libs/common-components/esm5/lib/editheaderfooter.directive.js b/dist/libs/common-components/esm5/lib/editheaderfooter.directive.js index 0d6ed99e3..f36f00b51 100644 --- a/dist/libs/common-components/esm5/lib/editheaderfooter.directive.js +++ b/dist/libs/common-components/esm5/lib/editheaderfooter.directive.js @@ -18,9 +18,16 @@ var EditHeaderFooterDirective = /** @class */ (function () { * @return {?} */ function () { + this.headerRef = this.el.nativeElement.querySelectorAll('.header')[0]; + if (this.headerRef) { + this.headerRef.setAttribute("contenteditable", false); + this.headerRef.className += " disabled"; + } this.footerRef = this.el.nativeElement.querySelectorAll('.footer')[0]; - this.footerRef.setAttribute("contenteditable", false); - this.footerRef.className += " disabled"; + if (this.footerRef) { + this.footerRef.setAttribute("contenteditable", false); + this.footerRef.className += " disabled"; + } }; /** * @return {?} @@ -55,17 +62,27 @@ var EditHeaderFooterDirective = /** @class */ (function () { * @return {?} */ function (event) { + /** @type {?} */ + var headerTitle = document.createElement("div"); + headerTitle.className = "header-title"; + headerTitle.append('Header'); /** @type {?} */ var footerTitle = document.createElement("div"); footerTitle.className = "footer-title"; footerTitle.append('Footer'); /** @type {?} */ - var footer = event.target.closest('.footer'); - if (footer && footer.classList.contains('disabled')) { - console.log('dblclick in footer fired'); - footer.classList.remove('disabled'); - footer.setAttribute("contenteditable", true); - footer.before(footerTitle); + var closestHeader = event.target.closest('.header'); + if (closestHeader && closestHeader.classList.contains('disabled')) { + closestHeader.classList.remove('disabled'); + closestHeader.setAttribute("contenteditable", true); + closestHeader.after(headerTitle); + } + /** @type {?} */ + var closestFooter = event.target.closest('.footer'); + if (closestFooter && closestFooter.classList.contains('disabled')) { + closestFooter.classList.remove('disabled'); + closestFooter.setAttribute("contenteditable", true); + closestFooter.before(footerTitle); } event.preventDefault(); event.stopPropagation(); @@ -79,10 +96,24 @@ var EditHeaderFooterDirective = /** @class */ (function () { * @return {?} */ function (event) { - console.log('click on el fired'); /** @type {?} */ - var footer = event.target.closest('.footer'); - if (!footer) { + var closestHeader = event.target.closest('.header'); + if (!closestHeader) { + this.headerRef.setAttribute("contenteditable", false); + if (!this.headerRef.classList.contains('disabled')) { + this.headerRef.className += " disabled"; + } + /** @type {?} */ + var section = this.el.nativeElement.querySelectorAll('.section')[0]; + /** @type {?} */ + var headerTitle = this.el.nativeElement.querySelectorAll('.header-title')[0]; + if (section && headerTitle) { + section.removeChild(headerTitle); + } + } + /** @type {?} */ + var closestFooter = event.target.closest('.footer'); + if (!closestFooter) { this.footerRef.setAttribute("contenteditable", false); if (!this.footerRef.classList.contains('disabled')) { this.footerRef.className += " disabled"; @@ -119,6 +150,8 @@ if (false) { EditHeaderFooterDirective.prototype.el; /** @type {?} */ EditHeaderFooterDirective.prototype.footerRef; + /** @type {?} */ + EditHeaderFooterDirective.prototype.headerRef; /** * @type {?} * @private @@ -130,4 +163,4 @@ if (false) { */ EditHeaderFooterDirective.prototype._windowService; } -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWRpdGhlYWRlcmZvb3Rlci5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AZ3JvdXBkb2NzLmV4YW1wbGVzLmFuZ3VsYXIvY29tbW9uLWNvbXBvbmVudHMvIiwic291cmNlcyI6WyJsaWIvZWRpdGhlYWRlcmZvb3Rlci5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE9BQU8sRUFBZ0IsU0FBUyxFQUF5QyxVQUFVLEVBQWEsWUFBWSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ25JLE9BQU8sRUFBQyxXQUFXLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUUzQyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFFakQ7SUFRRSxtQ0FBb0IsWUFBeUIsRUFBVSxjQUE2QixFQUFFLEVBQWM7UUFBaEYsaUJBQVksR0FBWixZQUFZLENBQWE7UUFBVSxtQkFBYyxHQUFkLGNBQWMsQ0FBZTtRQUNsRixJQUFJLENBQUMsRUFBRSxHQUFHLEVBQUUsQ0FBQztJQUNmLENBQUM7Ozs7SUFFRCxtREFBZTs7O0lBQWY7UUFDRSxJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxFQUFFLENBQUMsYUFBYSxDQUFDLGdCQUFnQixDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ3RFLElBQUksQ0FBQyxTQUFTLENBQUMsWUFBWSxDQUFDLGlCQUFpQixFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQ3RELElBQUksQ0FBQyxTQUFTLENBQUMsU0FBUyxJQUFJLFdBQVcsQ0FBQztJQUMxQyxDQUFDOzs7O0lBRUQsK0NBQVc7OztJQUFYO0lBQ0EsQ0FBQzs7OztJQUVELCtDQUFXOzs7SUFBWDtJQUNBLENBQUM7Ozs7SUFFRCw0Q0FBUTs7O0lBQVI7SUFDQSxDQUFDOzs7OztJQUdELGlEQUFhOzs7O0lBRGIsVUFDYyxLQUFLOztZQUNYLFdBQVcsR0FBRyxRQUFRLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQztRQUNqRCxXQUFXLENBQUMsU0FBUyxHQUFHLGNBQWMsQ0FBQztRQUN2QyxXQUFXLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDOztZQUV2QixNQUFNLEdBQUcsS0FBSyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDO1FBQzlDLElBQUksTUFBTSxJQUFJLE1BQU0sQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLFVBQVUsQ0FBQyxFQUFFO1lBQ25ELE9BQU8sQ0FBQyxHQUFHLENBQUMsMEJBQTBCLENBQUMsQ0FBQztZQUN4QyxNQUFNLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQztZQUNwQyxNQUFNLENBQUMsWUFBWSxDQUFDLGlCQUFpQixFQUFFLElBQUksQ0FBQyxDQUFDO1lBQzdDLE1BQU0sQ0FBQyxNQUFNLENBQUMsV0FBVyxDQUFDLENBQUM7U0FDNUI7UUFFRCxLQUFLLENBQUMsY0FBYyxFQUFFLENBQUM7UUFDdkIsS0FBSyxDQUFDLGVBQWUsRUFBRSxDQUFDO0lBQzFCLENBQUM7Ozs7O0lBR0QsOENBQVU7Ozs7SUFEVixVQUNXLEtBQUs7UUFDZCxPQUFPLENBQUMsR0FBRyxDQUFDLG1CQUFtQixDQUFDLENBQUM7O1lBQzNCLE1BQU0sR0FBRyxLQUFLLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUM7UUFDOUMsSUFBSSxDQUFDLE1BQU0sRUFBRTtZQUNYLElBQUksQ0FBQyxTQUFTLENBQUMsWUFBWSxDQUFDLGlCQUFpQixFQUFFLEtBQUssQ0FBQyxDQUFDO1lBQ3RELElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsVUFBVSxDQUFDLEVBQ2xEO2dCQUNFLElBQUksQ0FBQyxTQUFTLENBQUMsU0FBUyxJQUFJLFdBQVcsQ0FBQzthQUN6Qzs7Z0JBRUssT0FBTyxHQUFHLElBQUksQ0FBQyxFQUFFLENBQUMsYUFBYSxDQUFDLGdCQUFnQixDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQzs7Z0JBQy9ELFdBQVcsR0FBRyxJQUFJLENBQUMsRUFBRSxDQUFDLGFBQWEsQ0FBQyxnQkFBZ0IsQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDOUUsSUFBSSxPQUFPLElBQUksV0FBVyxFQUFFO2dCQUMxQixPQUFPLENBQUMsV0FBVyxDQUFDLFdBQVcsQ0FBQyxDQUFDO2FBQ2xDO1NBQ0Y7SUFDSCxDQUFDOztnQkE5REYsU0FBUyxTQUFDO29CQUNULFFBQVEsRUFBRSxzQkFBc0I7aUJBQ2pDOzs7O2dCQU5PLFdBQVc7Z0JBRVYsYUFBYTtnQkFIbUQsVUFBVTs7O2dDQWdDaEYsWUFBWSxTQUFDLFVBQVUsRUFBRSxDQUFDLFFBQVEsQ0FBQzs2QkFrQm5DLFlBQVksU0FBQyxPQUFPLEVBQUUsQ0FBQyxRQUFRLENBQUM7O0lBa0JuQyxnQ0FBQztDQUFBLEFBL0RELElBK0RDO1NBNURZLHlCQUF5Qjs7O0lBRXBDLHVDQUFvQjs7SUFDcEIsOENBQWU7Ozs7O0lBRUgsaURBQWlDOzs7OztJQUFFLG1EQUFxQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7QWZ0ZXJWaWV3SW5pdCwgRGlyZWN0aXZlLCBIb3N0QmluZGluZywgSW5wdXQsIE9uRGVzdHJveSwgT25Jbml0LCBFbGVtZW50UmVmLCBPbkNoYW5nZXMsIEhvc3RMaXN0ZW5lcn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7Wm9vbVNlcnZpY2V9IGZyb20gXCIuL3pvb20uc2VydmljZVwiO1xyXG5pbXBvcnQge0ZpbGVVdGlsfSBmcm9tIFwiLi9maWxlLnNlcnZpY2VcIjtcclxuaW1wb3J0IHsgV2luZG93U2VydmljZSB9IGZyb20gJy4vd2luZG93LnNlcnZpY2UnO1xyXG5cclxuQERpcmVjdGl2ZSh7XHJcbiAgc2VsZWN0b3I6ICdbZ2RFZGl0SGVhZGVyRm9vdGVyXSdcclxufSlcclxuZXhwb3J0IGNsYXNzIEVkaXRIZWFkZXJGb290ZXJEaXJlY3RpdmUgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSwgQWZ0ZXJWaWV3SW5pdCwgT25DaGFuZ2VzIHtcclxuXHJcbiAgZWw6IEVsZW1lbnRSZWY8YW55PjtcclxuICBmb290ZXJSZWY6IGFueTtcclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBfem9vbVNlcnZpY2U6IFpvb21TZXJ2aWNlLCBwcml2YXRlIF93aW5kb3dTZXJ2aWNlOiBXaW5kb3dTZXJ2aWNlLCBlbDogRWxlbWVudFJlZikge1xyXG4gICAgdGhpcy5lbCA9IGVsO1xyXG4gIH1cclxuXHJcbiAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5mb290ZXJSZWYgPSB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQucXVlcnlTZWxlY3RvckFsbCgnLmZvb3RlcicpWzBdO1xyXG4gICAgdGhpcy5mb290ZXJSZWYuc2V0QXR0cmlidXRlKFwiY29udGVudGVkaXRhYmxlXCIsIGZhbHNlKTtcclxuICAgIHRoaXMuZm9vdGVyUmVmLmNsYXNzTmFtZSArPSBcIiBkaXNhYmxlZFwiO1xyXG4gIH1cclxuXHJcbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XHJcbiAgfVxyXG5cclxuICBuZ09uQ2hhbmdlcygpOiB2b2lkIHtcclxuICB9XHJcblxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gIH1cclxuXHJcbiAgQEhvc3RMaXN0ZW5lcignZGJsY2xpY2snLCBbJyRldmVudCddKVxyXG4gIGRibGNsaWNrRXZlbnQoZXZlbnQpIHtcclxuICAgIGNvbnN0IGZvb3RlclRpdGxlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudChcImRpdlwiKTtcclxuICAgIGZvb3RlclRpdGxlLmNsYXNzTmFtZSA9IFwiZm9vdGVyLXRpdGxlXCI7XHJcbiAgICBmb290ZXJUaXRsZS5hcHBlbmQoJ0Zvb3RlcicpO1xyXG5cclxuICAgIGNvbnN0IGZvb3RlciA9IGV2ZW50LnRhcmdldC5jbG9zZXN0KCcuZm9vdGVyJyk7XHJcbiAgICBpZiAoZm9vdGVyICYmIGZvb3Rlci5jbGFzc0xpc3QuY29udGFpbnMoJ2Rpc2FibGVkJykpIHtcclxuICAgICAgY29uc29sZS5sb2coJ2RibGNsaWNrIGluIGZvb3RlciBmaXJlZCcpO1xyXG4gICAgICBmb290ZXIuY2xhc3NMaXN0LnJlbW92ZSgnZGlzYWJsZWQnKTtcclxuICAgICAgZm9vdGVyLnNldEF0dHJpYnV0ZShcImNvbnRlbnRlZGl0YWJsZVwiLCB0cnVlKTtcclxuICAgICAgZm9vdGVyLmJlZm9yZShmb290ZXJUaXRsZSk7XHJcbiAgICB9XHJcblxyXG4gICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcclxuICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xyXG4gIH1cclxuXHJcbiAgQEhvc3RMaXN0ZW5lcignY2xpY2snLCBbJyRldmVudCddKVxyXG4gIGNsaWNrRXZlbnQoZXZlbnQpIHtcclxuICAgIGNvbnNvbGUubG9nKCdjbGljayBvbiBlbCBmaXJlZCcpO1xyXG4gICAgY29uc3QgZm9vdGVyID0gZXZlbnQudGFyZ2V0LmNsb3Nlc3QoJy5mb290ZXInKTtcclxuICAgIGlmICghZm9vdGVyKSB7XHJcbiAgICAgIHRoaXMuZm9vdGVyUmVmLnNldEF0dHJpYnV0ZShcImNvbnRlbnRlZGl0YWJsZVwiLCBmYWxzZSk7XHJcbiAgICAgIGlmICghdGhpcy5mb290ZXJSZWYuY2xhc3NMaXN0LmNvbnRhaW5zKCdkaXNhYmxlZCcpKVxyXG4gICAgICB7XHJcbiAgICAgICAgdGhpcy5mb290ZXJSZWYuY2xhc3NOYW1lICs9IFwiIGRpc2FibGVkXCI7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIGNvbnN0IHNlY3Rpb24gPSB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQucXVlcnlTZWxlY3RvckFsbCgnLnNlY3Rpb24nKVswXTtcclxuICAgICAgY29uc3QgZm9vdGVyVGl0bGUgPSB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQucXVlcnlTZWxlY3RvckFsbCgnLmZvb3Rlci10aXRsZScpWzBdO1xyXG4gICAgICBpZiAoc2VjdGlvbiAmJiBmb290ZXJUaXRsZSkge1xyXG4gICAgICAgIHNlY3Rpb24ucmVtb3ZlQ2hpbGQoZm9vdGVyVGl0bGUpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiJdfQ== \ No newline at end of file +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWRpdGhlYWRlcmZvb3Rlci5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AZ3JvdXBkb2NzLmV4YW1wbGVzLmFuZ3VsYXIvY29tbW9uLWNvbXBvbmVudHMvIiwic291cmNlcyI6WyJsaWIvZWRpdGhlYWRlcmZvb3Rlci5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE9BQU8sRUFBZ0IsU0FBUyxFQUF5QyxVQUFVLEVBQWEsWUFBWSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ25JLE9BQU8sRUFBQyxXQUFXLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUUzQyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFFakQ7SUFTRSxtQ0FBb0IsWUFBeUIsRUFBVSxjQUE2QixFQUFFLEVBQWM7UUFBaEYsaUJBQVksR0FBWixZQUFZLENBQWE7UUFBVSxtQkFBYyxHQUFkLGNBQWMsQ0FBZTtRQUNsRixJQUFJLENBQUMsRUFBRSxHQUFHLEVBQUUsQ0FBQztJQUNmLENBQUM7Ozs7SUFFRCxtREFBZTs7O0lBQWY7UUFDRSxJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxFQUFFLENBQUMsYUFBYSxDQUFDLGdCQUFnQixDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ3RFLElBQUksSUFBSSxDQUFDLFNBQVMsRUFBRTtZQUNsQixJQUFJLENBQUMsU0FBUyxDQUFDLFlBQVksQ0FBQyxpQkFBaUIsRUFBRSxLQUFLLENBQUMsQ0FBQztZQUN0RCxJQUFJLENBQUMsU0FBUyxDQUFDLFNBQVMsSUFBSSxXQUFXLENBQUM7U0FDekM7UUFFRCxJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxFQUFFLENBQUMsYUFBYSxDQUFDLGdCQUFnQixDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ3RFLElBQUksSUFBSSxDQUFDLFNBQVMsRUFBRTtZQUNsQixJQUFJLENBQUMsU0FBUyxD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LElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsVUFBVSxDQUFDLEVBQ2xEO2dCQUNFLElBQUksQ0FBQyxTQUFTLENBQUMsU0FBUyxJQUFJLFdBQVcsQ0FBQzthQUN6Qzs7Z0JBRUssT0FBTyxHQUFHLElBQUksQ0FBQyxFQUFFLENBQUMsYUFBYSxDQUFDLGdCQUFnQixDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQzs7Z0JBQy9ELFdBQVcsR0FBRyxJQUFJLENBQUMsRUFBRSxDQUFDLGFBQWEsQ0FBQyxnQkFBZ0IsQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDOUUsSUFBSSxPQUFPLElBQUksV0FBVyxFQUFFO2dCQUMxQixPQUFPLENBQUMsV0FBVyxDQUFDLFdBQVcsQ0FBQyxDQUFDO2FBQ2xDO1NBQ0Y7SUFDSCxDQUFDOztnQkEvRkYsU0FBUyxTQUFDO29CQUNULFFBQVEsRUFBRSxzQkFBc0I7aUJBQ2pDOzs7O2dCQU5PLFdBQVc7Z0JBRVYsYUFBYTtnQkFIbUQsVUFBVTs7O2dDQXlDaEYsWUFBWSxTQUFDLFVBQVUsRUFBRSxDQUFDLFFBQVEsQ0FBQzs2QkE0Qm5DLFlBQVksU0FBQyxPQUFPLEVBQUUsQ0FBQyxRQUFRLENBQUM7O0lBZ0NuQyxnQ0FBQztDQUFBLEFBaEdELElBZ0dDO1NBN0ZZLHlCQUF5Qjs7O0lBRXBDLHVDQUFvQjs7SUFDcEIsOENBQWU7O0lBQ2YsOENBQWU7Ozs7O0lBRUgsaURBQWlDOzs7OztJQUFFLG1EQUFxQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7QWZ0ZXJWaWV3SW5pdCwgRGlyZWN0aXZlLCBIb3N0QmluZGluZywgSW5wdXQsIE9uRGVzdHJveSwgT25Jbml0LCBFbGVtZW50UmVmLCBPbkNoYW5nZXMsIEhvc3RMaXN0ZW5lcn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7Wm9vbVNlcnZpY2V9IGZyb20gXCIuL3pvb20uc2VydmljZVwiO1xyXG5pbXBvcnQge0ZpbGVVdGlsfSBmcm9tIFwiLi9maWxlLnNlcnZpY2VcIjtcclxuaW1wb3J0IHsgV2luZG93U2VydmljZSB9IGZyb20gJy4vd2luZG93LnNlcnZpY2UnO1xyXG5cclxuQERpcmVjdGl2ZSh7XHJcbiAgc2VsZWN0b3I6ICdbZ2RFZGl0SGVhZGVyRm9vdGVyXSdcclxufSlcclxuZXhwb3J0IGNsYXNzIEVkaXRIZWFkZXJGb290ZXJEaXJlY3RpdmUgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSwgQWZ0ZXJWaWV3SW5pdCwgT25DaGFuZ2VzIHtcclxuXHJcbiAgZWw6IEVsZW1lbnRSZWY8YW55PjtcclxuICBmb290ZXJSZWY6IGFueTtcclxuICBoZWFkZXJSZWY6IGFueTtcclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBfem9vbVNlcnZpY2U6IFpvb21TZXJ2aWNlLCBwcml2YXRlIF93aW5kb3dTZXJ2aWNlOiBXaW5kb3dTZXJ2aWNlLCBlbDogRWxlbWVudFJlZikge1xyXG4gICAgdGhpcy5lbCA9IGVsO1xyXG4gIH1cclxuXHJcbiAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5oZWFkZXJSZWYgPSB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQucXVlcnlTZWxlY3RvckFsbCgnLmhlYWRlcicpWzBdO1xyXG4gICAgaWYgKHRoaXMuaGVhZGVyUmVmKSB7XHJcbiAgICAgIHRoaXMuaGVhZGVyUmVmLnNldEF0dHJpYnV0ZShcImNvbnRlbnRlZGl0YWJsZVwiLCBmYWxzZSk7XHJcbiAgICAgIHRoaXMuaGVhZGVyUmVmLmNsYXNzTmFtZSArPSBcIiBkaXNhYmxlZFwiO1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMuZm9vdGVyUmVmID0gdGhpcy5lbC5uYXRpdmVFbGVtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJy5mb290ZXInKVswXTtcclxuICAgIGlmICh0aGlzLmZvb3RlclJlZikge1xyXG4gICAgICB0aGlzLmZvb3RlclJlZi5zZXRBdHRyaWJ1dGUoXCJjb250ZW50ZWRpdGFibGVcIiwgZmFsc2UpO1xyXG4gICAgICB0aGlzLmZvb3RlclJlZi5jbGFzc05hbWUgKz0gXCIgZGlzYWJsZWRcIjtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gIH1cclxuXHJcbiAgbmdPbkNoYW5nZXMoKTogdm9pZCB7XHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICB9XHJcblxyXG4gIEBIb3N0TGlzdGVuZXIoJ2RibGNsaWNrJywgWyckZXZlbnQnXSlcclxuICBkYmxjbGlja0V2ZW50KGV2ZW50KSB7XHJcbiAgICBjb25zdCBoZWFkZXJUaXRsZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoXCJkaXZcIik7XHJcbiAgICBoZWFkZXJUaXRsZS5jbGFzc05hbWUgPSBcImhlYWRlci10aXRsZVwiO1xyXG4gICAgaGVhZGVyVGl0bGUuYXBwZW5kKCdIZWFkZXInKTtcclxuXHJcbiAgICBjb25zdCBmb290ZXJUaXRsZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoXCJkaXZcIik7XHJcbiAgICBmb290ZXJUaXRsZS5jbGFzc05hbWUgPSBcImZvb3Rlci10aXRsZVwiO1xyXG4gICAgZm9vdGVyVGl0bGUuYXBwZW5kKCdGb290ZXInKTtcclxuXHJcbiAgICBjb25zdCBjbG9zZXN0SGVhZGVyID0gZXZlbnQudGFyZ2V0LmNsb3Nlc3QoJy5oZWFkZXInKTtcclxuICAgIGlmIChjbG9zZXN0SGVhZGVyICYmIGNsb3Nlc3RIZWFkZXIuY2xhc3NMaXN0LmNvbnRhaW5zKCdkaXNhYmxlZCcpKSB7XHJcbiAgICAgIGNsb3Nlc3RIZWFkZXIuY2xhc3NMaXN0LnJlbW92ZSgnZGlzYWJsZWQnKTtcclxuICAgICAgY2xvc2VzdEhlYWRlci5zZXRBdHRyaWJ1dGUoXCJjb250ZW50ZWRpdGFibGVcIiwgdHJ1ZSk7XHJcbiAgICAgIGNsb3Nlc3RIZWFkZXIuYWZ0ZXIoaGVhZGVyVGl0bGUpO1xyXG4gICAgfVxyXG5cclxuICAgIGNvbnN0IGNsb3Nlc3RGb290ZXIgPSBldmVudC50YXJnZXQuY2xvc2VzdCgnLmZvb3RlcicpO1xyXG4gICAgaWYgKGNsb3Nlc3RGb290ZXIgJiYgY2xvc2VzdEZvb3Rlci5jbGFzc0xpc3QuY29udGFpbnMoJ2Rpc2FibGVkJykpIHtcclxuICAgICAgY2xvc2VzdEZvb3Rlci5jbGFzc0xpc3QucmVtb3ZlKCdkaXNhYmxlZCcpO1xyXG4gICAgICBjbG9zZXN0Rm9vdGVyLnNldEF0dHJpYnV0ZShcImNvbnRlbnRlZGl0YWJsZVwiLCB0cnVlKTtcclxuICAgICAgY2xvc2VzdEZvb3Rlci5iZWZvcmUoZm9vdGVyVGl0bGUpO1xyXG4gICAgfVxyXG5cclxuICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XHJcbiAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcclxuICB9XHJcblxyXG4gIEBIb3N0TGlzdGVuZXIoJ2NsaWNrJywgWyckZXZlbnQnXSlcclxuICBjbGlja0V2ZW50KGV2ZW50KSB7XHJcbiAgICBjb25zdCBjbG9zZXN0SGVhZGVyID0gZXZlbnQudGFyZ2V0LmNsb3Nlc3QoJy5oZWFkZXInKTtcclxuICAgIGlmICghY2xvc2VzdEhlYWRlcikge1xyXG4gICAgICB0aGlzLmhlYWRlclJlZi5zZXRBdHRyaWJ1dGUoXCJjb250ZW50ZWRpdGFibGVcIiwgZmFsc2UpO1xyXG4gICAgICBpZiAoIXRoaXMuaGVhZGVyUmVmLmNsYXNzTGlzdC5jb250YWlucygnZGlzYWJsZWQnKSlcclxuICAgICAge1xyXG4gICAgICAgIHRoaXMuaGVhZGVyUmVmLmNsYXNzTmFtZSArPSBcIiBkaXNhYmxlZFwiO1xyXG4gICAgICB9XHJcblxyXG4gICAgICBjb25zdCBzZWN0aW9uID0gdGhpcy5lbC5uYXRpdmVFbGVtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJy5zZWN0aW9uJylbMF07XHJcbiAgICAgIGNvbnN0IGhlYWRlclRpdGxlID0gdGhpcy5lbC5uYXRpdmVFbGVtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJy5oZWFkZXItdGl0bGUnKVswXTtcclxuICAgICAgaWYgKHNlY3Rpb24gJiYgaGVhZGVyVGl0bGUpIHtcclxuICAgICAgICBzZWN0aW9uLnJlbW92ZUNoaWxkKGhlYWRlclRpdGxlKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIGNvbnN0IGNsb3Nlc3RGb290ZXIgPSBldmVudC50YXJnZXQuY2xvc2VzdCgnLmZvb3RlcicpO1xyXG4gICAgaWYgKCFjbG9zZXN0Rm9vdGVyKSB7XHJcbiAgICAgIHRoaXMuZm9vdGVyUmVmLnNldEF0dHJpYnV0ZShcImNvbnRlbnRlZGl0YWJsZVwiLCBmYWxzZSk7XHJcbiAgICAgIGlmICghdGhpcy5mb290ZXJSZWYuY2xhc3NMaXN0LmNvbnRhaW5zKCdkaXNhYmxlZCcpKVxyXG4gICAgICB7XHJcbiAgICAgICAgdGhpcy5mb290ZXJSZWYuY2xhc3NOYW1lICs9IFwiIGRpc2FibGVkXCI7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIGNvbnN0IHNlY3Rpb24gPSB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQucXVlcnlTZWxlY3RvckFsbCgnLnNlY3Rpb24nKVswXTtcclxuICAgICAgY29uc3QgZm9vdGVyVGl0bGUgPSB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQucXVlcnlTZWxlY3RvckFsbCgnLmZvb3Rlci10aXRsZScpWzBdO1xyXG4gICAgICBpZiAoc2VjdGlvbiAmJiBmb290ZXJUaXRsZSkge1xyXG4gICAgICAgIHNlY3Rpb24ucmVtb3ZlQ2hpbGQoZm9vdGVyVGl0bGUpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiJdfQ== \ 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 05155f2b3..7be7bc4c4 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 @@ -3275,6 +3275,11 @@ class EditHeaderFooterDirective { * @return {?} */ ngAfterViewInit() { + this.headerRef = this.el.nativeElement.querySelectorAll('.header')[0]; + if (this.headerRef) { + this.headerRef.setAttribute("contenteditable", false); + this.headerRef.className += " disabled"; + } this.footerRef = this.el.nativeElement.querySelectorAll('.footer')[0]; if (this.footerRef) { this.footerRef.setAttribute("contenteditable", false); @@ -3301,16 +3306,27 @@ class EditHeaderFooterDirective { * @return {?} */ dblclickEvent(event) { + /** @type {?} */ + const headerTitle = document.createElement("div"); + headerTitle.className = "header-title"; + headerTitle.append('Header'); /** @type {?} */ const footerTitle = document.createElement("div"); footerTitle.className = "footer-title"; footerTitle.append('Footer'); /** @type {?} */ - const footer = event.target.closest('.footer'); - if (footer && footer.classList.contains('disabled')) { - footer.classList.remove('disabled'); - footer.setAttribute("contenteditable", true); - footer.before(footerTitle); + const closestHeader = event.target.closest('.header'); + if (closestHeader && closestHeader.classList.contains('disabled')) { + closestHeader.classList.remove('disabled'); + closestHeader.setAttribute("contenteditable", true); + closestHeader.after(headerTitle); + } + /** @type {?} */ + const closestFooter = event.target.closest('.footer'); + if (closestFooter && closestFooter.classList.contains('disabled')) { + closestFooter.classList.remove('disabled'); + closestFooter.setAttribute("contenteditable", true); + closestFooter.before(footerTitle); } event.preventDefault(); event.stopPropagation(); @@ -3321,8 +3337,23 @@ class EditHeaderFooterDirective { */ clickEvent(event) { /** @type {?} */ - const footer = event.target.closest('.footer'); - if (!footer) { + const closestHeader = event.target.closest('.header'); + if (!closestHeader) { + this.headerRef.setAttribute("contenteditable", false); + if (!this.headerRef.classList.contains('disabled')) { + this.headerRef.className += " disabled"; + } + /** @type {?} */ + const section = this.el.nativeElement.querySelectorAll('.section')[0]; + /** @type {?} */ + const headerTitle = this.el.nativeElement.querySelectorAll('.header-title')[0]; + if (section && headerTitle) { + section.removeChild(headerTitle); + } + } + /** @type {?} */ + const closestFooter = event.target.closest('.footer'); + if (!closestFooter) { this.footerRef.setAttribute("contenteditable", false); if (!this.footerRef.classList.contains('disabled')) { this.footerRef.className += " disabled"; 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 09d2ac49d..df09473c1 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/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/page-preload.service.ts","ng://@groupdocs.examples.angular/common-components/lib/navigate.service.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/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/editheaderfooter.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 @Output() hideSidePanel = new EventEmitter();\r\n\r\n onlyTitle = false;\r\n\r\n constructor() {\r\n }\r\n\r\n openSidePanel() {\r\n this.hideSidePanel.emit(true);\r\n }\r\n\r\n toggleTitleMode(){\r\n this.onlyTitle = !this.onlyTitle;\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 EDITOR_APP = '/editor';\r\n public static COMPARISON_APP = '/comparison';\r\n public static CONVERSION_APP = '/conversion';\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 ROTATE_DOCUMENT_PAGE = '/rotateDocumentPages';\r\n public static UPLOAD_DOCUMENTS = '/uploadDocument';\r\n public static DOWNLOAD_DOCUMENTS = '/downloadDocument';\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 COMPARE_FILES = '/compare';\r\n public static CONVERT_FILE = '/convert';\r\n public static DELETE_SIGNATURE_FILE = '/deleteSignatureFile';\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\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 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","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}\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 {\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\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 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\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\r\n ngOnInit() {\r\n }\r\n\r\n ngOnChanges() {\r\n const panzoom = this._elementRef.nativeElement.children.item(0).children.item(0);\r\n (panzoom as any).style.transform = '';\r\n // TODO: this intersects with zooming by zoom directive, but still needed\r\n // for flush previous settings before opening another file\r\n //this._zoomService.changeZoom(100);\r\n //this.scale = 1;\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 getDimensionWithUnit(value: number) {\r\n return 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 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 absolutePosition(el) {\r\n let x = 0, y = 0;\r\n\r\n while (el !== null) {\r\n x += el.offsetLeft;\r\n y += el.offsetTop;\r\n el = el.offsetParent;\r\n }\r\n\r\n return {x: x, y: y};\r\n };\r\n\r\n restrictRawPos(pos, viewportDim, docDim) {\r\n if (pos < viewportDim / this.scale - docDim) { // too far left/up?\r\n pos = viewportDim / this.scale - docDim;\r\n } else if (pos > 0) { // too far right/down?\r\n pos = 0;\r\n }\r\n return pos;\r\n };\r\n\r\n updateLastPos() {\r\n this.lastX = this.x;\r\n this.lastY = this.y;\r\n };\r\n\r\n translate(deltaX, deltaY) {\r\n // We restrict to the min of the viewport width/height or current width/height as the\r\n // current width/height may be smaller than the viewport width/height\r\n const newX = this.restrictRawPos(this.lastX + deltaX / this.scale,\r\n Math.min(this.viewportWidth, this.curWidth), this.docWidth);\r\n this.x = newX;\r\n // TODO: value here and in the similar line below changes to positive to take any effect\r\n this.container.scrollLeft = -Math.ceil(newX * this.scale);\r\n\r\n const newY = this.restrictRawPos(this.lastY + deltaY / this.scale,\r\n Math.min(this.viewportHeight, this.curHeight), this.docHeight);\r\n this.y = newY;\r\n this.container.scrollTop = -Math.ceil(newY * this.scale);\r\n\r\n this.doc.style.transform = 'scale(' + this.scale + ')';\r\n };\r\n\r\n startZoom(scaleBy) {\r\n this.scale = this.lastScale * scaleBy;\r\n\r\n this.curWidth = this.docWidth * this.scale;\r\n this.curHeight = this.docHeight * this.scale;\r\n\r\n // Adjust margins to make sure that we aren't out of bounds\r\n this.translate(0, 0);\r\n };\r\n\r\n rawCenter($event) {\r\n const pos = this.absolutePosition(this.container);\r\n\r\n // We need to account for the scroll position\r\n const scrollLeft = window.pageXOffset ? window.pageXOffset : document.body.scrollLeft;\r\n const scrollTop = window.pageYOffset ? window.pageYOffset : document.body.scrollTop;\r\n\r\n const zoomX = -this.x + ($event.center.x - pos.x + scrollLeft) / this.scale;\r\n const zoomY = -this.y + ($event.center.y - pos.y + scrollTop) / this.scale;\r\n\r\n return {x: zoomX, y: zoomY};\r\n };\r\n\r\n updateLastScale() {\r\n this.lastScale = this.scale;\r\n };\r\n\r\n zoomAround(scaleBy, rawZoomX, rawZoomY, doNotUpdateLast) {\r\n // Zoom\r\n this.startZoom(scaleBy);\r\n\r\n // New raw center of viewport\r\n const rawCenterX = -this.x + Math.min(this.viewportWidth, this.curWidth) / 2 / this.scale;\r\n const rawCenterY = -this.y + Math.min(this.viewportHeight, this.curHeight) / 2 / this.scale;\r\n\r\n // Delta\r\n const deltaX = (rawCenterX - rawZoomX) * this.scale;\r\n const deltaY = (rawCenterY - rawZoomY) * this.scale;\r\n\r\n // Translate back to zoom center\r\n this.translate(deltaX, deltaY);\r\n\r\n if (!doNotUpdateLast) {\r\n this.updateLastScale();\r\n this.updateLastPos();\r\n }\r\n };\r\n\r\n onPinch($event) {\r\n if (this.pinchCenter === null) {\r\n this.pinchCenter = this.rawCenter($event);\r\n const offsetX = this.pinchCenter.x * this.scale - (-this.x * this.scale + Math.min(this.viewportWidth, this.curWidth) / 2);\r\n const offsetY = this.pinchCenter.y * this.scale - (-this.y * this.scale + Math.min(this.viewportHeight, this.curHeight) / 2);\r\n this.pinchCenterOffset = {x: offsetX, y: offsetY};\r\n }\r\n\r\n const newScale = this.scale * $event.scale;\r\n\r\n const zoomX = this.pinchCenter.x * newScale - this.pinchCenterOffset.x;\r\n const zoomY = this.pinchCenter.y * newScale - this.pinchCenterOffset.y;\r\n const zoomCenter = {x: zoomX / newScale, y: zoomY / newScale};\r\n\r\n this.zoomAround($event.scale, zoomCenter.x, zoomCenter.y, true);\r\n }\r\n\r\n onPinchEnd($event) {\r\n this.updateLastScale();\r\n this.updateLastPos();\r\n this.pinchCenter = null;\r\n }\r\n\r\n onPan($event) {\r\n // TODO: looks like native pan works better\r\n // if (!this.isDesktop) {\r\n // this.translate($event.deltaX, $event.deltaY);\r\n // }\r\n }\r\n\r\n onPanEnd($event) {\r\n // if (!this.isDesktop) {\r\n // this.updateLastPos();\r\n // }\r\n }\r\n\r\n onDoubleTap($event) {\r\n if (!this.isDesktop) {\r\n if ($event.tapCount === 2) {\r\n const c = this.rawCenter($event);\r\n this.zoomAround(2, c.x, c.y, false);\r\n }\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 // 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 !== null ? this.data.replace(/>\\s+<').replace(/\\uFEFF/g,\"\") : null;\r\n const dataImagePngBase64 = 'data:image/png;base64,';\r\n this.imgData = dataImagePngBase64;\r\n if (!this.isHtml) {\r\n this.imgData += 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 {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 {Observable, Observer} 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 readonly _navigate: Observable;\r\n private _observer: Observer;\r\n\r\n constructor(private _pagePreloadService: PagePreloadService) {\r\n this._navigate = new Observable(observer =>\r\n this._observer = observer);\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 {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\r\n private currentPage: number;\r\n private zoom = 100;\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 const count = Math.floor((this.getWidth() - offset) / (pageEl.getBoundingClientRect().width * this.getZoom()));\r\n return count === 0 ? 1 : count;\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 this._navigateService.currentPage = page;\r\n }\r\n currentPageSet = true;\r\n }\r\n this._pagePreloadService.changeLastPageInView(page);\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 {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.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 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 scrollWidth = this.getScrollWidth(this.el.nativeElement.parentElement);\r\n this.width = (viewPortWidth/zoomInt - scrollWidth/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 @Input() isOpen = false;\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 }\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 if (this.htmlMode) {\r\n for (const page of pages) {\r\n pagesHtml += '
' +\r\n '
' + page.data + '
' +\r\n '
';\r\n }\r\n } else {\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 windowObject.focus();\r\n windowObject.print();\r\n windowObject.close();\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 {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 constructor() {\r\n }\r\n\r\n get messageChange(): Observable {\r\n return this._messageChange;\r\n }\r\n\r\n changeMessage(message: string) {\r\n this._observer.next(message);\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 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._modalService.open(CommonModals.ErrorMessage);\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 {AfterViewInit, Directive, HostBinding, Input, OnDestroy, OnInit, ElementRef, OnChanges, HostListener} 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: '[gdEditHeaderFooter]'\r\n})\r\nexport class EditHeaderFooterDirective implements OnInit, OnDestroy, AfterViewInit, OnChanges {\r\n\r\n el: ElementRef;\r\n footerRef: any;\r\n\r\n constructor(private _zoomService: ZoomService, private _windowService: WindowService, el: ElementRef) {\r\n this.el = el;\r\n }\r\n\r\n ngAfterViewInit(): void {\r\n this.footerRef = this.el.nativeElement.querySelectorAll('.footer')[0];\r\n if (this.footerRef) {\r\n this.footerRef.setAttribute(\"contenteditable\", false);\r\n this.footerRef.className += \" disabled\";\r\n }\r\n }\r\n\r\n ngOnDestroy(): void {\r\n }\r\n\r\n ngOnChanges(): void {\r\n }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n @HostListener('dblclick', ['$event'])\r\n dblclickEvent(event) {\r\n const footerTitle = document.createElement(\"div\");\r\n footerTitle.className = \"footer-title\";\r\n footerTitle.append('Footer');\r\n\r\n const footer = event.target.closest('.footer');\r\n if (footer && footer.classList.contains('disabled')) {\r\n footer.classList.remove('disabled');\r\n footer.setAttribute(\"contenteditable\", true);\r\n footer.before(footerTitle);\r\n }\r\n\r\n event.preventDefault();\r\n event.stopPropagation();\r\n }\r\n\r\n @HostListener('click', ['$event'])\r\n clickEvent(event) {\r\n const footer = event.target.closest('.footer');\r\n if (!footer) {\r\n this.footerRef.setAttribute(\"contenteditable\", false);\r\n if (!this.footerRef.classList.contains('disabled'))\r\n {\r\n this.footerRef.className += \" disabled\";\r\n }\r\n\r\n const section = this.el.nativeElement.querySelectorAll('.section')[0];\r\n const footerTitle = this.el.nativeElement.querySelectorAll('.footer-title')[0];\r\n if (section && footerTitle) {\r\n section.removeChild(footerTitle);\r\n }\r\n }\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 }\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 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} 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\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\r\n constructor(private _onCloseService: OnCloseService) {\r\n _onCloseService.onClose.subscribe(() => {\r\n this.colorPickerShow = false;\r\n });\r\n }\r\n\r\n ngOnInit() {\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} from '@angular/core';\r\nimport {Formatting} from \"../formatting.service\";\r\nimport {WindowService} from \"../window.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 this.isMobile = _windowService.isMobile();\r\n _windowService.onResize.subscribe((w) => {\r\n this.isMobile = _windowService.isMobile();\r\n });\r\n }\r\n\r\n ngOnInit() {\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 {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 {EditHeaderFooterDirective} from './editheaderfooter.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 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 EditHeaderFooterDirective,\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 SelectComponent,\r\n RotationDirective,\r\n InitStateComponent,\r\n RenderPrintDirective,\r\n ErrorModalComponent,\r\n PasswordRequiredComponent,\r\n SearchComponent,\r\n SearchableDirective,\r\n EditHeaderFooterDirective,\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 +{"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/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/page-preload.service.ts","ng://@groupdocs.examples.angular/common-components/lib/navigate.service.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/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/editheaderfooter.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 @Output() hideSidePanel = new EventEmitter();\r\n\r\n onlyTitle = false;\r\n\r\n constructor() {\r\n }\r\n\r\n openSidePanel() {\r\n this.hideSidePanel.emit(true);\r\n }\r\n\r\n toggleTitleMode(){\r\n this.onlyTitle = !this.onlyTitle;\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 EDITOR_APP = '/editor';\r\n public static COMPARISON_APP = '/comparison';\r\n public static CONVERSION_APP = '/conversion';\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 ROTATE_DOCUMENT_PAGE = '/rotateDocumentPages';\r\n public static UPLOAD_DOCUMENTS = '/uploadDocument';\r\n public static DOWNLOAD_DOCUMENTS = '/downloadDocument';\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 COMPARE_FILES = '/compare';\r\n public static CONVERT_FILE = '/convert';\r\n public static DELETE_SIGNATURE_FILE = '/deleteSignatureFile';\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\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 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","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}\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 {\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\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 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\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\r\n ngOnInit() {\r\n }\r\n\r\n ngOnChanges() {\r\n const panzoom = this._elementRef.nativeElement.children.item(0).children.item(0);\r\n (panzoom as any).style.transform = '';\r\n // TODO: this intersects with zooming by zoom directive, but still needed\r\n // for flush previous settings before opening another file\r\n //this._zoomService.changeZoom(100);\r\n //this.scale = 1;\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 getDimensionWithUnit(value: number) {\r\n return 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 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 absolutePosition(el) {\r\n let x = 0, y = 0;\r\n\r\n while (el !== null) {\r\n x += el.offsetLeft;\r\n y += el.offsetTop;\r\n el = el.offsetParent;\r\n }\r\n\r\n return {x: x, y: y};\r\n };\r\n\r\n restrictRawPos(pos, viewportDim, docDim) {\r\n if (pos < viewportDim / this.scale - docDim) { // too far left/up?\r\n pos = viewportDim / this.scale - docDim;\r\n } else if (pos > 0) { // too far right/down?\r\n pos = 0;\r\n }\r\n return pos;\r\n };\r\n\r\n updateLastPos() {\r\n this.lastX = this.x;\r\n this.lastY = this.y;\r\n };\r\n\r\n translate(deltaX, deltaY) {\r\n // We restrict to the min of the viewport width/height or current width/height as the\r\n // current width/height may be smaller than the viewport width/height\r\n const newX = this.restrictRawPos(this.lastX + deltaX / this.scale,\r\n Math.min(this.viewportWidth, this.curWidth), this.docWidth);\r\n this.x = newX;\r\n // TODO: value here and in the similar line below changes to positive to take any effect\r\n this.container.scrollLeft = -Math.ceil(newX * this.scale);\r\n\r\n const newY = this.restrictRawPos(this.lastY + deltaY / this.scale,\r\n Math.min(this.viewportHeight, this.curHeight), this.docHeight);\r\n this.y = newY;\r\n this.container.scrollTop = -Math.ceil(newY * this.scale);\r\n\r\n this.doc.style.transform = 'scale(' + this.scale + ')';\r\n };\r\n\r\n startZoom(scaleBy) {\r\n this.scale = this.lastScale * scaleBy;\r\n\r\n this.curWidth = this.docWidth * this.scale;\r\n this.curHeight = this.docHeight * this.scale;\r\n\r\n // Adjust margins to make sure that we aren't out of bounds\r\n this.translate(0, 0);\r\n };\r\n\r\n rawCenter($event) {\r\n const pos = this.absolutePosition(this.container);\r\n\r\n // We need to account for the scroll position\r\n const scrollLeft = window.pageXOffset ? window.pageXOffset : document.body.scrollLeft;\r\n const scrollTop = window.pageYOffset ? window.pageYOffset : document.body.scrollTop;\r\n\r\n const zoomX = -this.x + ($event.center.x - pos.x + scrollLeft) / this.scale;\r\n const zoomY = -this.y + ($event.center.y - pos.y + scrollTop) / this.scale;\r\n\r\n return {x: zoomX, y: zoomY};\r\n };\r\n\r\n updateLastScale() {\r\n this.lastScale = this.scale;\r\n };\r\n\r\n zoomAround(scaleBy, rawZoomX, rawZoomY, doNotUpdateLast) {\r\n // Zoom\r\n this.startZoom(scaleBy);\r\n\r\n // New raw center of viewport\r\n const rawCenterX = -this.x + Math.min(this.viewportWidth, this.curWidth) / 2 / this.scale;\r\n const rawCenterY = -this.y + Math.min(this.viewportHeight, this.curHeight) / 2 / this.scale;\r\n\r\n // Delta\r\n const deltaX = (rawCenterX - rawZoomX) * this.scale;\r\n const deltaY = (rawCenterY - rawZoomY) * this.scale;\r\n\r\n // Translate back to zoom center\r\n this.translate(deltaX, deltaY);\r\n\r\n if (!doNotUpdateLast) {\r\n this.updateLastScale();\r\n this.updateLastPos();\r\n }\r\n };\r\n\r\n onPinch($event) {\r\n if (this.pinchCenter === null) {\r\n this.pinchCenter = this.rawCenter($event);\r\n const offsetX = this.pinchCenter.x * this.scale - (-this.x * this.scale + Math.min(this.viewportWidth, this.curWidth) / 2);\r\n const offsetY = this.pinchCenter.y * this.scale - (-this.y * this.scale + Math.min(this.viewportHeight, this.curHeight) / 2);\r\n this.pinchCenterOffset = {x: offsetX, y: offsetY};\r\n }\r\n\r\n const newScale = this.scale * $event.scale;\r\n\r\n const zoomX = this.pinchCenter.x * newScale - this.pinchCenterOffset.x;\r\n const zoomY = this.pinchCenter.y * newScale - this.pinchCenterOffset.y;\r\n const zoomCenter = {x: zoomX / newScale, y: zoomY / newScale};\r\n\r\n this.zoomAround($event.scale, zoomCenter.x, zoomCenter.y, true);\r\n }\r\n\r\n onPinchEnd($event) {\r\n this.updateLastScale();\r\n this.updateLastPos();\r\n this.pinchCenter = null;\r\n }\r\n\r\n onPan($event) {\r\n // TODO: looks like native pan works better\r\n // if (!this.isDesktop) {\r\n // this.translate($event.deltaX, $event.deltaY);\r\n // }\r\n }\r\n\r\n onPanEnd($event) {\r\n // if (!this.isDesktop) {\r\n // this.updateLastPos();\r\n // }\r\n }\r\n\r\n onDoubleTap($event) {\r\n if (!this.isDesktop) {\r\n if ($event.tapCount === 2) {\r\n const c = this.rawCenter($event);\r\n this.zoomAround(2, c.x, c.y, false);\r\n }\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 // 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 !== null ? this.data.replace(/>\\s+<').replace(/\\uFEFF/g,\"\") : null;\r\n const dataImagePngBase64 = 'data:image/png;base64,';\r\n this.imgData = dataImagePngBase64;\r\n if (!this.isHtml) {\r\n this.imgData += 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 {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 {Observable, Observer} 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 readonly _navigate: Observable;\r\n private _observer: Observer;\r\n\r\n constructor(private _pagePreloadService: PagePreloadService) {\r\n this._navigate = new Observable(observer =>\r\n this._observer = observer);\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 {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\r\n private currentPage: number;\r\n private zoom = 100;\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 const count = Math.floor((this.getWidth() - offset) / (pageEl.getBoundingClientRect().width * this.getZoom()));\r\n return count === 0 ? 1 : count;\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 this._navigateService.currentPage = page;\r\n }\r\n currentPageSet = true;\r\n }\r\n this._pagePreloadService.changeLastPageInView(page);\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 {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.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 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 scrollWidth = this.getScrollWidth(this.el.nativeElement.parentElement);\r\n this.width = (viewPortWidth/zoomInt - scrollWidth/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 @Input() isOpen = false;\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 }\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 if (this.htmlMode) {\r\n for (const page of pages) {\r\n pagesHtml += '
' +\r\n '
' + page.data + '
' +\r\n '
';\r\n }\r\n } else {\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 windowObject.focus();\r\n windowObject.print();\r\n windowObject.close();\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 {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 constructor() {\r\n }\r\n\r\n get messageChange(): Observable {\r\n return this._messageChange;\r\n }\r\n\r\n changeMessage(message: string) {\r\n this._observer.next(message);\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 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._modalService.open(CommonModals.ErrorMessage);\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 {AfterViewInit, Directive, HostBinding, Input, OnDestroy, OnInit, ElementRef, OnChanges, HostListener} 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: '[gdEditHeaderFooter]'\r\n})\r\nexport class EditHeaderFooterDirective implements OnInit, OnDestroy, AfterViewInit, OnChanges {\r\n\r\n el: ElementRef;\r\n footerRef: any;\r\n headerRef: any;\r\n\r\n constructor(private _zoomService: ZoomService, private _windowService: WindowService, el: ElementRef) {\r\n this.el = el;\r\n }\r\n\r\n ngAfterViewInit(): void {\r\n this.headerRef = this.el.nativeElement.querySelectorAll('.header')[0];\r\n if (this.headerRef) {\r\n this.headerRef.setAttribute(\"contenteditable\", false);\r\n this.headerRef.className += \" disabled\";\r\n }\r\n\r\n this.footerRef = this.el.nativeElement.querySelectorAll('.footer')[0];\r\n if (this.footerRef) {\r\n this.footerRef.setAttribute(\"contenteditable\", false);\r\n this.footerRef.className += \" disabled\";\r\n }\r\n }\r\n\r\n ngOnDestroy(): void {\r\n }\r\n\r\n ngOnChanges(): void {\r\n }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n @HostListener('dblclick', ['$event'])\r\n dblclickEvent(event) {\r\n const headerTitle = document.createElement(\"div\");\r\n headerTitle.className = \"header-title\";\r\n headerTitle.append('Header');\r\n\r\n const footerTitle = document.createElement(\"div\");\r\n footerTitle.className = \"footer-title\";\r\n footerTitle.append('Footer');\r\n\r\n const closestHeader = event.target.closest('.header');\r\n if (closestHeader && closestHeader.classList.contains('disabled')) {\r\n closestHeader.classList.remove('disabled');\r\n closestHeader.setAttribute(\"contenteditable\", true);\r\n closestHeader.after(headerTitle);\r\n }\r\n\r\n const closestFooter = event.target.closest('.footer');\r\n if (closestFooter && closestFooter.classList.contains('disabled')) {\r\n closestFooter.classList.remove('disabled');\r\n closestFooter.setAttribute(\"contenteditable\", true);\r\n closestFooter.before(footerTitle);\r\n }\r\n\r\n event.preventDefault();\r\n event.stopPropagation();\r\n }\r\n\r\n @HostListener('click', ['$event'])\r\n clickEvent(event) {\r\n const closestHeader = event.target.closest('.header');\r\n if (!closestHeader) {\r\n this.headerRef.setAttribute(\"contenteditable\", false);\r\n if (!this.headerRef.classList.contains('disabled'))\r\n {\r\n this.headerRef.className += \" disabled\";\r\n }\r\n\r\n const section = this.el.nativeElement.querySelectorAll('.section')[0];\r\n const headerTitle = this.el.nativeElement.querySelectorAll('.header-title')[0];\r\n if (section && headerTitle) {\r\n section.removeChild(headerTitle);\r\n }\r\n }\r\n\r\n const closestFooter = event.target.closest('.footer');\r\n if (!closestFooter) {\r\n this.footerRef.setAttribute(\"contenteditable\", false);\r\n if (!this.footerRef.classList.contains('disabled'))\r\n {\r\n this.footerRef.className += \" disabled\";\r\n }\r\n\r\n const section = this.el.nativeElement.querySelectorAll('.section')[0];\r\n const footerTitle = this.el.nativeElement.querySelectorAll('.footer-title')[0];\r\n if (section && footerTitle) {\r\n section.removeChild(footerTitle);\r\n }\r\n }\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 }\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 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} 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\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\r\n constructor(private _onCloseService: OnCloseService) {\r\n _onCloseService.onClose.subscribe(() => {\r\n this.colorPickerShow = false;\r\n });\r\n }\r\n\r\n ngOnInit() {\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} from '@angular/core';\r\nimport {Formatting} from \"../formatting.service\";\r\nimport {WindowService} from \"../window.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 this.isMobile = _windowService.isMobile();\r\n _windowService.onResize.subscribe((w) => {\r\n this.isMobile = _windowService.isMobile();\r\n });\r\n }\r\n\r\n ngOnInit() {\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 {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 {EditHeaderFooterDirective} from './editheaderfooter.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 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 EditHeaderFooterDirective,\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 SelectComponent,\r\n RotationDirective,\r\n InitStateComponent,\r\n RenderPrintDirective,\r\n ErrorModalComponent,\r\n PasswordRequiredComponent,\r\n SearchComponent,\r\n SearchableDirective,\r\n EditHeaderFooterDirective,\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 8041f7a22..806731adb 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 @@ -3981,6 +3981,11 @@ var EditHeaderFooterDirective = /** @class */ (function () { * @return {?} */ function () { + this.headerRef = this.el.nativeElement.querySelectorAll('.header')[0]; + if (this.headerRef) { + this.headerRef.setAttribute("contenteditable", false); + this.headerRef.className += " disabled"; + } this.footerRef = this.el.nativeElement.querySelectorAll('.footer')[0]; if (this.footerRef) { this.footerRef.setAttribute("contenteditable", false); @@ -4020,16 +4025,27 @@ var EditHeaderFooterDirective = /** @class */ (function () { * @return {?} */ function (event) { + /** @type {?} */ + var headerTitle = document.createElement("div"); + headerTitle.className = "header-title"; + headerTitle.append('Header'); /** @type {?} */ var footerTitle = document.createElement("div"); footerTitle.className = "footer-title"; footerTitle.append('Footer'); /** @type {?} */ - var footer = event.target.closest('.footer'); - if (footer && footer.classList.contains('disabled')) { - footer.classList.remove('disabled'); - footer.setAttribute("contenteditable", true); - footer.before(footerTitle); + var closestHeader = event.target.closest('.header'); + if (closestHeader && closestHeader.classList.contains('disabled')) { + closestHeader.classList.remove('disabled'); + closestHeader.setAttribute("contenteditable", true); + closestHeader.after(headerTitle); + } + /** @type {?} */ + var closestFooter = event.target.closest('.footer'); + if (closestFooter && closestFooter.classList.contains('disabled')) { + closestFooter.classList.remove('disabled'); + closestFooter.setAttribute("contenteditable", true); + closestFooter.before(footerTitle); } event.preventDefault(); event.stopPropagation(); @@ -4044,8 +4060,23 @@ var EditHeaderFooterDirective = /** @class */ (function () { */ function (event) { /** @type {?} */ - var footer = event.target.closest('.footer'); - if (!footer) { + var closestHeader = event.target.closest('.header'); + if (!closestHeader) { + this.headerRef.setAttribute("contenteditable", false); + if (!this.headerRef.classList.contains('disabled')) { + this.headerRef.className += " disabled"; + } + /** @type {?} */ + var section = this.el.nativeElement.querySelectorAll('.section')[0]; + /** @type {?} */ + var headerTitle = this.el.nativeElement.querySelectorAll('.header-title')[0]; + if (section && headerTitle) { + section.removeChild(headerTitle); + } + } + /** @type {?} */ + var closestFooter = event.target.closest('.footer'); + if (!closestFooter) { this.footerRef.setAttribute("contenteditable", false); if (!this.footerRef.classList.contains('disabled')) { this.footerRef.className += " disabled"; 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 9b7d356e3..f9d9f926d 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/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/page-preload.service.ts","ng://@groupdocs.examples.angular/common-components/lib/navigate.service.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/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/editheaderfooter.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 @Output() hideSidePanel = new EventEmitter();\r\n\r\n onlyTitle = false;\r\n\r\n constructor() {\r\n }\r\n\r\n openSidePanel() {\r\n this.hideSidePanel.emit(true);\r\n }\r\n\r\n toggleTitleMode(){\r\n this.onlyTitle = !this.onlyTitle;\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 EDITOR_APP = '/editor';\r\n public static COMPARISON_APP = '/comparison';\r\n public static CONVERSION_APP = '/conversion';\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 ROTATE_DOCUMENT_PAGE = '/rotateDocumentPages';\r\n public static UPLOAD_DOCUMENTS = '/uploadDocument';\r\n public static DOWNLOAD_DOCUMENTS = '/downloadDocument';\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 COMPARE_FILES = '/compare';\r\n public static CONVERT_FILE = '/convert';\r\n public static DELETE_SIGNATURE_FILE = '/deleteSignatureFile';\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\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 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","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}\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 {\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\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 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\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\r\n ngOnInit() {\r\n }\r\n\r\n ngOnChanges() {\r\n const panzoom = this._elementRef.nativeElement.children.item(0).children.item(0);\r\n (panzoom as any).style.transform = '';\r\n // TODO: this intersects with zooming by zoom directive, but still needed\r\n // for flush previous settings before opening another file\r\n //this._zoomService.changeZoom(100);\r\n //this.scale = 1;\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 getDimensionWithUnit(value: number) {\r\n return 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 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 absolutePosition(el) {\r\n let x = 0, y = 0;\r\n\r\n while (el !== null) {\r\n x += el.offsetLeft;\r\n y += el.offsetTop;\r\n el = el.offsetParent;\r\n }\r\n\r\n return {x: x, y: y};\r\n };\r\n\r\n restrictRawPos(pos, viewportDim, docDim) {\r\n if (pos < viewportDim / this.scale - docDim) { // too far left/up?\r\n pos = viewportDim / this.scale - docDim;\r\n } else if (pos > 0) { // too far right/down?\r\n pos = 0;\r\n }\r\n return pos;\r\n };\r\n\r\n updateLastPos() {\r\n this.lastX = this.x;\r\n this.lastY = this.y;\r\n };\r\n\r\n translate(deltaX, deltaY) {\r\n // We restrict to the min of the viewport width/height or current width/height as the\r\n // current width/height may be smaller than the viewport width/height\r\n const newX = this.restrictRawPos(this.lastX + deltaX / this.scale,\r\n Math.min(this.viewportWidth, this.curWidth), this.docWidth);\r\n this.x = newX;\r\n // TODO: value here and in the similar line below changes to positive to take any effect\r\n this.container.scrollLeft = -Math.ceil(newX * this.scale);\r\n\r\n const newY = this.restrictRawPos(this.lastY + deltaY / this.scale,\r\n Math.min(this.viewportHeight, this.curHeight), this.docHeight);\r\n this.y = newY;\r\n this.container.scrollTop = -Math.ceil(newY * this.scale);\r\n\r\n this.doc.style.transform = 'scale(' + this.scale + ')';\r\n };\r\n\r\n startZoom(scaleBy) {\r\n this.scale = this.lastScale * scaleBy;\r\n\r\n this.curWidth = this.docWidth * this.scale;\r\n this.curHeight = this.docHeight * this.scale;\r\n\r\n // Adjust margins to make sure that we aren't out of bounds\r\n this.translate(0, 0);\r\n };\r\n\r\n rawCenter($event) {\r\n const pos = this.absolutePosition(this.container);\r\n\r\n // We need to account for the scroll position\r\n const scrollLeft = window.pageXOffset ? window.pageXOffset : document.body.scrollLeft;\r\n const scrollTop = window.pageYOffset ? window.pageYOffset : document.body.scrollTop;\r\n\r\n const zoomX = -this.x + ($event.center.x - pos.x + scrollLeft) / this.scale;\r\n const zoomY = -this.y + ($event.center.y - pos.y + scrollTop) / this.scale;\r\n\r\n return {x: zoomX, y: zoomY};\r\n };\r\n\r\n updateLastScale() {\r\n this.lastScale = this.scale;\r\n };\r\n\r\n zoomAround(scaleBy, rawZoomX, rawZoomY, doNotUpdateLast) {\r\n // Zoom\r\n this.startZoom(scaleBy);\r\n\r\n // New raw center of viewport\r\n const rawCenterX = -this.x + Math.min(this.viewportWidth, this.curWidth) / 2 / this.scale;\r\n const rawCenterY = -this.y + Math.min(this.viewportHeight, this.curHeight) / 2 / this.scale;\r\n\r\n // Delta\r\n const deltaX = (rawCenterX - rawZoomX) * this.scale;\r\n const deltaY = (rawCenterY - rawZoomY) * this.scale;\r\n\r\n // Translate back to zoom center\r\n this.translate(deltaX, deltaY);\r\n\r\n if (!doNotUpdateLast) {\r\n this.updateLastScale();\r\n this.updateLastPos();\r\n }\r\n };\r\n\r\n onPinch($event) {\r\n if (this.pinchCenter === null) {\r\n this.pinchCenter = this.rawCenter($event);\r\n const offsetX = this.pinchCenter.x * this.scale - (-this.x * this.scale + Math.min(this.viewportWidth, this.curWidth) / 2);\r\n const offsetY = this.pinchCenter.y * this.scale - (-this.y * this.scale + Math.min(this.viewportHeight, this.curHeight) / 2);\r\n this.pinchCenterOffset = {x: offsetX, y: offsetY};\r\n }\r\n\r\n const newScale = this.scale * $event.scale;\r\n\r\n const zoomX = this.pinchCenter.x * newScale - this.pinchCenterOffset.x;\r\n const zoomY = this.pinchCenter.y * newScale - this.pinchCenterOffset.y;\r\n const zoomCenter = {x: zoomX / newScale, y: zoomY / newScale};\r\n\r\n this.zoomAround($event.scale, zoomCenter.x, zoomCenter.y, true);\r\n }\r\n\r\n onPinchEnd($event) {\r\n this.updateLastScale();\r\n this.updateLastPos();\r\n this.pinchCenter = null;\r\n }\r\n\r\n onPan($event) {\r\n // TODO: looks like native pan works better\r\n // if (!this.isDesktop) {\r\n // this.translate($event.deltaX, $event.deltaY);\r\n // }\r\n }\r\n\r\n onPanEnd($event) {\r\n // if (!this.isDesktop) {\r\n // this.updateLastPos();\r\n // }\r\n }\r\n\r\n onDoubleTap($event) {\r\n if (!this.isDesktop) {\r\n if ($event.tapCount === 2) {\r\n const c = this.rawCenter($event);\r\n this.zoomAround(2, c.x, c.y, false);\r\n }\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 // 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 !== null ? this.data.replace(/>\\s+<').replace(/\\uFEFF/g,\"\") : null;\r\n const dataImagePngBase64 = 'data:image/png;base64,';\r\n this.imgData = dataImagePngBase64;\r\n if (!this.isHtml) {\r\n this.imgData += 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 {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 {Observable, Observer} 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 readonly _navigate: Observable;\r\n private _observer: Observer;\r\n\r\n constructor(private _pagePreloadService: PagePreloadService) {\r\n this._navigate = new Observable(observer =>\r\n this._observer = observer);\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 {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\r\n private currentPage: number;\r\n private zoom = 100;\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 const count = Math.floor((this.getWidth() - offset) / (pageEl.getBoundingClientRect().width * this.getZoom()));\r\n return count === 0 ? 1 : count;\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 this._navigateService.currentPage = page;\r\n }\r\n currentPageSet = true;\r\n }\r\n this._pagePreloadService.changeLastPageInView(page);\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 {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.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 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 scrollWidth = this.getScrollWidth(this.el.nativeElement.parentElement);\r\n this.width = (viewPortWidth/zoomInt - scrollWidth/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 @Input() isOpen = false;\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 }\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 if (this.htmlMode) {\r\n for (const page of pages) {\r\n pagesHtml += '
' +\r\n '
' + page.data + '
' +\r\n '
';\r\n }\r\n } else {\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 windowObject.focus();\r\n windowObject.print();\r\n windowObject.close();\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 {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 constructor() {\r\n }\r\n\r\n get messageChange(): Observable {\r\n return this._messageChange;\r\n }\r\n\r\n changeMessage(message: string) {\r\n this._observer.next(message);\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 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._modalService.open(CommonModals.ErrorMessage);\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 {AfterViewInit, Directive, HostBinding, Input, OnDestroy, OnInit, ElementRef, OnChanges, HostListener} 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: '[gdEditHeaderFooter]'\r\n})\r\nexport class EditHeaderFooterDirective implements OnInit, OnDestroy, AfterViewInit, OnChanges {\r\n\r\n el: ElementRef;\r\n footerRef: any;\r\n\r\n constructor(private _zoomService: ZoomService, private _windowService: WindowService, el: ElementRef) {\r\n this.el = el;\r\n }\r\n\r\n ngAfterViewInit(): void {\r\n this.footerRef = this.el.nativeElement.querySelectorAll('.footer')[0];\r\n if (this.footerRef) {\r\n this.footerRef.setAttribute(\"contenteditable\", false);\r\n this.footerRef.className += \" disabled\";\r\n }\r\n }\r\n\r\n ngOnDestroy(): void {\r\n }\r\n\r\n ngOnChanges(): void {\r\n }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n @HostListener('dblclick', ['$event'])\r\n dblclickEvent(event) {\r\n const footerTitle = document.createElement(\"div\");\r\n footerTitle.className = \"footer-title\";\r\n footerTitle.append('Footer');\r\n\r\n const footer = event.target.closest('.footer');\r\n if (footer && footer.classList.contains('disabled')) {\r\n footer.classList.remove('disabled');\r\n footer.setAttribute(\"contenteditable\", true);\r\n footer.before(footerTitle);\r\n }\r\n\r\n event.preventDefault();\r\n event.stopPropagation();\r\n }\r\n\r\n @HostListener('click', ['$event'])\r\n clickEvent(event) {\r\n const footer = event.target.closest('.footer');\r\n if (!footer) {\r\n this.footerRef.setAttribute(\"contenteditable\", false);\r\n if (!this.footerRef.classList.contains('disabled'))\r\n {\r\n this.footerRef.className += \" disabled\";\r\n }\r\n\r\n const section = this.el.nativeElement.querySelectorAll('.section')[0];\r\n const footerTitle = this.el.nativeElement.querySelectorAll('.footer-title')[0];\r\n if (section && footerTitle) {\r\n section.removeChild(footerTitle);\r\n }\r\n }\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 }\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 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} 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\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\r\n constructor(private _onCloseService: OnCloseService) {\r\n _onCloseService.onClose.subscribe(() => {\r\n this.colorPickerShow = false;\r\n });\r\n }\r\n\r\n ngOnInit() {\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} from '@angular/core';\r\nimport {Formatting} from \"../formatting.service\";\r\nimport {WindowService} from \"../window.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 this.isMobile = _windowService.isMobile();\r\n _windowService.onResize.subscribe((w) => {\r\n this.isMobile = _windowService.isMobile();\r\n });\r\n }\r\n\r\n ngOnInit() {\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 {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 {EditHeaderFooterDirective} from './editheaderfooter.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 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 EditHeaderFooterDirective,\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 SelectComponent,\r\n RotationDirective,\r\n InitStateComponent,\r\n RenderPrintDirective,\r\n ErrorModalComponent,\r\n PasswordRequiredComponent,\r\n SearchComponent,\r\n SearchableDirective,\r\n EditHeaderFooterDirective,\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 +{"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/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/page-preload.service.ts","ng://@groupdocs.examples.angular/common-components/lib/navigate.service.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/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/editheaderfooter.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 @Output() hideSidePanel = new EventEmitter();\r\n\r\n onlyTitle = false;\r\n\r\n constructor() {\r\n }\r\n\r\n openSidePanel() {\r\n this.hideSidePanel.emit(true);\r\n }\r\n\r\n toggleTitleMode(){\r\n this.onlyTitle = !this.onlyTitle;\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 EDITOR_APP = '/editor';\r\n public static COMPARISON_APP = '/comparison';\r\n public static CONVERSION_APP = '/conversion';\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 ROTATE_DOCUMENT_PAGE = '/rotateDocumentPages';\r\n public static UPLOAD_DOCUMENTS = '/uploadDocument';\r\n public static DOWNLOAD_DOCUMENTS = '/downloadDocument';\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 COMPARE_FILES = '/compare';\r\n public static CONVERT_FILE = '/convert';\r\n public static DELETE_SIGNATURE_FILE = '/deleteSignatureFile';\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\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 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","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}\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 {\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\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 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\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\r\n ngOnInit() {\r\n }\r\n\r\n ngOnChanges() {\r\n const panzoom = this._elementRef.nativeElement.children.item(0).children.item(0);\r\n (panzoom as any).style.transform = '';\r\n // TODO: this intersects with zooming by zoom directive, but still needed\r\n // for flush previous settings before opening another file\r\n //this._zoomService.changeZoom(100);\r\n //this.scale = 1;\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 getDimensionWithUnit(value: number) {\r\n return 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 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 absolutePosition(el) {\r\n let x = 0, y = 0;\r\n\r\n while (el !== null) {\r\n x += el.offsetLeft;\r\n y += el.offsetTop;\r\n el = el.offsetParent;\r\n }\r\n\r\n return {x: x, y: y};\r\n };\r\n\r\n restrictRawPos(pos, viewportDim, docDim) {\r\n if (pos < viewportDim / this.scale - docDim) { // too far left/up?\r\n pos = viewportDim / this.scale - docDim;\r\n } else if (pos > 0) { // too far right/down?\r\n pos = 0;\r\n }\r\n return pos;\r\n };\r\n\r\n updateLastPos() {\r\n this.lastX = this.x;\r\n this.lastY = this.y;\r\n };\r\n\r\n translate(deltaX, deltaY) {\r\n // We restrict to the min of the viewport width/height or current width/height as the\r\n // current width/height may be smaller than the viewport width/height\r\n const newX = this.restrictRawPos(this.lastX + deltaX / this.scale,\r\n Math.min(this.viewportWidth, this.curWidth), this.docWidth);\r\n this.x = newX;\r\n // TODO: value here and in the similar line below changes to positive to take any effect\r\n this.container.scrollLeft = -Math.ceil(newX * this.scale);\r\n\r\n const newY = this.restrictRawPos(this.lastY + deltaY / this.scale,\r\n Math.min(this.viewportHeight, this.curHeight), this.docHeight);\r\n this.y = newY;\r\n this.container.scrollTop = -Math.ceil(newY * this.scale);\r\n\r\n this.doc.style.transform = 'scale(' + this.scale + ')';\r\n };\r\n\r\n startZoom(scaleBy) {\r\n this.scale = this.lastScale * scaleBy;\r\n\r\n this.curWidth = this.docWidth * this.scale;\r\n this.curHeight = this.docHeight * this.scale;\r\n\r\n // Adjust margins to make sure that we aren't out of bounds\r\n this.translate(0, 0);\r\n };\r\n\r\n rawCenter($event) {\r\n const pos = this.absolutePosition(this.container);\r\n\r\n // We need to account for the scroll position\r\n const scrollLeft = window.pageXOffset ? window.pageXOffset : document.body.scrollLeft;\r\n const scrollTop = window.pageYOffset ? window.pageYOffset : document.body.scrollTop;\r\n\r\n const zoomX = -this.x + ($event.center.x - pos.x + scrollLeft) / this.scale;\r\n const zoomY = -this.y + ($event.center.y - pos.y + scrollTop) / this.scale;\r\n\r\n return {x: zoomX, y: zoomY};\r\n };\r\n\r\n updateLastScale() {\r\n this.lastScale = this.scale;\r\n };\r\n\r\n zoomAround(scaleBy, rawZoomX, rawZoomY, doNotUpdateLast) {\r\n // Zoom\r\n this.startZoom(scaleBy);\r\n\r\n // New raw center of viewport\r\n const rawCenterX = -this.x + Math.min(this.viewportWidth, this.curWidth) / 2 / this.scale;\r\n const rawCenterY = -this.y + Math.min(this.viewportHeight, this.curHeight) / 2 / this.scale;\r\n\r\n // Delta\r\n const deltaX = (rawCenterX - rawZoomX) * this.scale;\r\n const deltaY = (rawCenterY - rawZoomY) * this.scale;\r\n\r\n // Translate back to zoom center\r\n this.translate(deltaX, deltaY);\r\n\r\n if (!doNotUpdateLast) {\r\n this.updateLastScale();\r\n this.updateLastPos();\r\n }\r\n };\r\n\r\n onPinch($event) {\r\n if (this.pinchCenter === null) {\r\n this.pinchCenter = this.rawCenter($event);\r\n const offsetX = this.pinchCenter.x * this.scale - (-this.x * this.scale + Math.min(this.viewportWidth, this.curWidth) / 2);\r\n const offsetY = this.pinchCenter.y * this.scale - (-this.y * this.scale + Math.min(this.viewportHeight, this.curHeight) / 2);\r\n this.pinchCenterOffset = {x: offsetX, y: offsetY};\r\n }\r\n\r\n const newScale = this.scale * $event.scale;\r\n\r\n const zoomX = this.pinchCenter.x * newScale - this.pinchCenterOffset.x;\r\n const zoomY = this.pinchCenter.y * newScale - this.pinchCenterOffset.y;\r\n const zoomCenter = {x: zoomX / newScale, y: zoomY / newScale};\r\n\r\n this.zoomAround($event.scale, zoomCenter.x, zoomCenter.y, true);\r\n }\r\n\r\n onPinchEnd($event) {\r\n this.updateLastScale();\r\n this.updateLastPos();\r\n this.pinchCenter = null;\r\n }\r\n\r\n onPan($event) {\r\n // TODO: looks like native pan works better\r\n // if (!this.isDesktop) {\r\n // this.translate($event.deltaX, $event.deltaY);\r\n // }\r\n }\r\n\r\n onPanEnd($event) {\r\n // if (!this.isDesktop) {\r\n // this.updateLastPos();\r\n // }\r\n }\r\n\r\n onDoubleTap($event) {\r\n if (!this.isDesktop) {\r\n if ($event.tapCount === 2) {\r\n const c = this.rawCenter($event);\r\n this.zoomAround(2, c.x, c.y, false);\r\n }\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 // 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 !== null ? this.data.replace(/>\\s+<').replace(/\\uFEFF/g,\"\") : null;\r\n const dataImagePngBase64 = 'data:image/png;base64,';\r\n this.imgData = dataImagePngBase64;\r\n if (!this.isHtml) {\r\n this.imgData += 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 {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 {Observable, Observer} 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 readonly _navigate: Observable;\r\n private _observer: Observer;\r\n\r\n constructor(private _pagePreloadService: PagePreloadService) {\r\n this._navigate = new Observable(observer =>\r\n this._observer = observer);\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 {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\r\n private currentPage: number;\r\n private zoom = 100;\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 const count = Math.floor((this.getWidth() - offset) / (pageEl.getBoundingClientRect().width * this.getZoom()));\r\n return count === 0 ? 1 : count;\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 this._navigateService.currentPage = page;\r\n }\r\n currentPageSet = true;\r\n }\r\n this._pagePreloadService.changeLastPageInView(page);\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 {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.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 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 scrollWidth = this.getScrollWidth(this.el.nativeElement.parentElement);\r\n this.width = (viewPortWidth/zoomInt - scrollWidth/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 @Input() isOpen = false;\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 }\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 if (this.htmlMode) {\r\n for (const page of pages) {\r\n pagesHtml += '
' +\r\n '
' + page.data + '
' +\r\n '
';\r\n }\r\n } else {\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 windowObject.focus();\r\n windowObject.print();\r\n windowObject.close();\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 {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 constructor() {\r\n }\r\n\r\n get messageChange(): Observable {\r\n return this._messageChange;\r\n }\r\n\r\n changeMessage(message: string) {\r\n this._observer.next(message);\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 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._modalService.open(CommonModals.ErrorMessage);\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 {AfterViewInit, Directive, HostBinding, Input, OnDestroy, OnInit, ElementRef, OnChanges, HostListener} 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: '[gdEditHeaderFooter]'\r\n})\r\nexport class EditHeaderFooterDirective implements OnInit, OnDestroy, AfterViewInit, OnChanges {\r\n\r\n el: ElementRef;\r\n footerRef: any;\r\n headerRef: any;\r\n\r\n constructor(private _zoomService: ZoomService, private _windowService: WindowService, el: ElementRef) {\r\n this.el = el;\r\n }\r\n\r\n ngAfterViewInit(): void {\r\n this.headerRef = this.el.nativeElement.querySelectorAll('.header')[0];\r\n if (this.headerRef) {\r\n this.headerRef.setAttribute(\"contenteditable\", false);\r\n this.headerRef.className += \" disabled\";\r\n }\r\n\r\n this.footerRef = this.el.nativeElement.querySelectorAll('.footer')[0];\r\n if (this.footerRef) {\r\n this.footerRef.setAttribute(\"contenteditable\", false);\r\n this.footerRef.className += \" disabled\";\r\n }\r\n }\r\n\r\n ngOnDestroy(): void {\r\n }\r\n\r\n ngOnChanges(): void {\r\n }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n @HostListener('dblclick', ['$event'])\r\n dblclickEvent(event) {\r\n const headerTitle = document.createElement(\"div\");\r\n headerTitle.className = \"header-title\";\r\n headerTitle.append('Header');\r\n\r\n const footerTitle = document.createElement(\"div\");\r\n footerTitle.className = \"footer-title\";\r\n footerTitle.append('Footer');\r\n\r\n const closestHeader = event.target.closest('.header');\r\n if (closestHeader && closestHeader.classList.contains('disabled')) {\r\n closestHeader.classList.remove('disabled');\r\n closestHeader.setAttribute(\"contenteditable\", true);\r\n closestHeader.after(headerTitle);\r\n }\r\n\r\n const closestFooter = event.target.closest('.footer');\r\n if (closestFooter && closestFooter.classList.contains('disabled')) {\r\n closestFooter.classList.remove('disabled');\r\n closestFooter.setAttribute(\"contenteditable\", true);\r\n closestFooter.before(footerTitle);\r\n }\r\n\r\n event.preventDefault();\r\n event.stopPropagation();\r\n }\r\n\r\n @HostListener('click', ['$event'])\r\n clickEvent(event) {\r\n const closestHeader = event.target.closest('.header');\r\n if (!closestHeader) {\r\n this.headerRef.setAttribute(\"contenteditable\", false);\r\n if (!this.headerRef.classList.contains('disabled'))\r\n {\r\n this.headerRef.className += \" disabled\";\r\n }\r\n\r\n const section = this.el.nativeElement.querySelectorAll('.section')[0];\r\n const headerTitle = this.el.nativeElement.querySelectorAll('.header-title')[0];\r\n if (section && headerTitle) {\r\n section.removeChild(headerTitle);\r\n }\r\n }\r\n\r\n const closestFooter = event.target.closest('.footer');\r\n if (!closestFooter) {\r\n this.footerRef.setAttribute(\"contenteditable\", false);\r\n if (!this.footerRef.classList.contains('disabled'))\r\n {\r\n this.footerRef.className += \" disabled\";\r\n }\r\n\r\n const section = this.el.nativeElement.querySelectorAll('.section')[0];\r\n const footerTitle = this.el.nativeElement.querySelectorAll('.footer-title')[0];\r\n if (section && footerTitle) {\r\n section.removeChild(footerTitle);\r\n }\r\n }\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 }\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 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} 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\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\r\n constructor(private _onCloseService: OnCloseService) {\r\n _onCloseService.onClose.subscribe(() => {\r\n this.colorPickerShow = false;\r\n });\r\n }\r\n\r\n ngOnInit() {\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} from '@angular/core';\r\nimport {Formatting} from \"../formatting.service\";\r\nimport {WindowService} from \"../window.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 this.isMobile = _windowService.isMobile();\r\n _windowService.onResize.subscribe((w) => {\r\n this.isMobile = _windowService.isMobile();\r\n });\r\n }\r\n\r\n ngOnInit() {\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 {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 {EditHeaderFooterDirective} from './editheaderfooter.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 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 EditHeaderFooterDirective,\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 SelectComponent,\r\n RotationDirective,\r\n InitStateComponent,\r\n RenderPrintDirective,\r\n ErrorModalComponent,\r\n PasswordRequiredComponent,\r\n SearchComponent,\r\n SearchableDirective,\r\n EditHeaderFooterDirective,\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 b5de87b06..f1b3d1731 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":"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":"ɵa"},{"__symbolic":"reference","name":"TabbedToolbarsComponent"},{"__symbolic":"reference","name":"TabComponent"},{"__symbolic":"reference","name":"ɵb"},{"__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":"ɵc"},{"__symbolic":"reference","name":"HostDynamicDirective"},{"__symbolic":"reference","name":"ɵd"},{"__symbolic":"reference","name":"ɵe"},{"__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":"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":"ɵa"},{"__symbolic":"reference","name":"TabbedToolbarsComponent"},{"__symbolic":"reference","name":"TabComponent"},{"__symbolic":"reference","name":"ɵb"},{"__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":"ɵc"},{"__symbolic":"reference","name":"HostDynamicDirective"},{"__symbolic":"reference","name":"ɵd"},{"__symbolic":"reference","name":"ɵe"},{"__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","EDITOR_APP":"/editor","COMPARISON_APP":"/comparison","CONVERSION_APP":"/conversion","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","ROTATE_DOCUMENT_PAGE":"/rotateDocumentPages","UPLOAD_DOCUMENTS":"/uploadDocument","DOWNLOAD_DOCUMENTS":"/downloadDocument","LOAD_PRINT":"/loadPrint","LOAD_PRINT_PDF":"/printPdf","LOAD_THUMBNAILS":"/loadThumbnails","LOAD_FORMATS":"/loadFormats","SAVE_FILE":"/saveFile","COMPARE_FILES":"/compare","CONVERT_FILE":"/convert","DELETE_SIGNATURE_FILE":"/deleteSignatureFile","SAVE_OPTICAL_CODE":"/saveOpticalCode","SAVE_TEXT":"/saveText","SAVE_IMAGE":"/saveImage","SAVE_STAMP":"/saveStamp","SIGN":"/sign","DOWNLOAD_SIGNED":"/downloadSigned","LOAD_SIGNATURE_IMAGE":"/loadSignatureImage","ANNOTATE":"/annotate","httpOptionsJson":{"headers":{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@angular/common/http","name":"HttpHeaders","line":36,"character":17},"arguments":[{"Content-Type":"application/json","$quoted$":["Content-Type"]}]}},"httpOptionsJsonResponseTypeBlob":{"headers":{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@angular/common/http","name":"HttpHeaders","line":41,"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":48,"character":1}}],"members":{"__ctor__":[{"__symbolic":"constructor"}],"getConfigEndpoint":[{"__symbolic":"method"}],"getViewerApiEndpoint":[{"__symbolic":"method"}],"getEditorApiEndpoint":[{"__symbolic":"method"}],"getComparisonApiEndpoint":[{"__symbolic":"method"}],"getConversionApiEndpoint":[{"__symbolic":"method"}],"getSignatureApiEndpoint":[{"__symbolic":"method"}],"getAnnotationApiEndpoint":[{"__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":{"ngInjectableDef":{}}},"ExceptionMessageService":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor"}],"changeMessage":[{"__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:flex;width:90%;padding:18px 0 18px 24px;font-size:14px;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:flex;width:100%;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: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:flex;position:relative;width:100%}.upload-panel .context{display:flex;flex-direction:column;width:100%;margin-left:24px;margin-top:24px;margin-right:24px}.upload-panel .context .context-actions{display:flex;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;justify-content:center}.upload-panel .context .context-actions ::ng-deep .button ::ng-deep .text{font-size:10px}.upload-panel .context .context-panel{display:flex;flex-direction:row;width:100%;margin-top:20px}.upload-panel .context .context-panel .upload-url{display:flex;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:flex;justify-content:center;align-items:center}.dnd-wrapper{display:flex;flex-direction:column;align-items:center;justify-content:center;top:259px;position:absolute}.dnd-wrapper .text{color:#6e6e6e;font-size:14px}.dnd-wrapper .icon{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:flex;flex-direction:column;align-items:center;align-content: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:flex;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":17,"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{flex:1;transition:.4s;background-color:#e7e7e7;height:100%;overflow:scroll}.page{display:inline-block;background-color:#fff;margin:20px;box-shadow:0 3px 6px rgba(0,0,0,.16);transition:.3s}.page.excel{overflow:auto}.wait{position:absolute;top:55px;left:Calc(30%)}.panzoom{display:flex;flex-direction:row;flex-wrap:wrap;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":24,"character":3}}]}],"preloadPageCount":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":25,"character":3}}]}],"file":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":26,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"ElementRef","module":"@angular/core","arguments":[{"__symbolic":"error","message":"Could not resolve type","line":48,"character":48,"context":{"typeName":"HTMLElement"},"module":"./lib/document/document.component"}]},{"__symbolic":"reference","name":"ZoomService"},{"__symbolic":"reference","name":"WindowService"}]}],"ngOnInit":[{"__symbolic":"method"}],"ngOnChanges":[{"__symbolic":"method"}],"ngAfterViewInit":[{"__symbolic":"method"}],"ifExcel":[{"__symbolic":"method"}],"getDimensionWithUnit":[{"__symbolic":"method"}],"ifEdge":[{"__symbolic":"method"}],"ngAfterViewChecked":[{"__symbolic":"method"}],"absolutePosition":[{"__symbolic":"method"}],"restrictRawPos":[{"__symbolic":"method"}],"updateLastPos":[{"__symbolic":"method"}],"translate":[{"__symbolic":"method"}],"startZoom":[{"__symbolic":"method"}],"rawCenter":[{"__symbolic":"method"}],"updateLastScale":[{"__symbolic":"method"}],"zoomAround":[{"__symbolic":"method"}],"onPinch":[{"__symbolic":"method"}],"onPinchEnd":[{"__symbolic":"method"}],"onPan":[{"__symbolic":"method"}],"onPanEnd":[{"__symbolic":"method"}],"onDoubleTap":[{"__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:inline-flex;flex-direction:column;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:flex}#gd-error-section fa-icon{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:flex;flex-direction:column;justify-content:center;align-items:center;width:100%;height:100%}.icon{font-size:65px;margin-bottom:43px;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:flex;flex-direction:column;width:250px;height:250px;align-items: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:flex;align-items: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%;transform:translate(-50%,-50%);z-index:1051}.gd-modal-content{background-color:#fff;height:100%;display:flex;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%}/deep/ .gd-highlight{background-color:#ff0}/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:468px;height:164px}.gd-password-wrap{display:flex;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;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":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"ElementRef","module":"@angular/core","arguments":[{"__symbolic":"error","message":"Could not resolve type","line":26,"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":49,"character":3},"arguments":["scroll"]}]}],"resizing":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostListener","line":53,"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"}]}},"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;transform:translate(-50%,0);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
{{option.name}}
\r\n
\r\n
\r\n
\r\n
\r\n","styles":[".select{min-width:50px;display:flex;flex-direction:row;justify-content: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}}]}],"isOpen":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":20,"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:0!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:flex;align-items:center}.tools{width:100%;height:100%;display:flex;align-items:center}@media (max-width:1037px){.top-toolbar{height:60px}.tools{height:100%;overflow-x:auto;overflow-scrolling:touch;display:flex;align-items:center;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","styles":[".gd-side-panel-wrapper{margin-right:0;width:334px;z-index:999;background-color:#fff;transition:margin-right .2s;display:flex;flex-flow:column;height:100vh}.gd-side-panel-wrapper .gd-side-panel-header{height:60px;background-color:#222e35;display:flex;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{display:flex;align-items:center}.gd-side-panel-wrapper .gd-side-panel-header /deep/ gd-button .text{padding:0}.gd-side-panel-wrapper .gd-side-panel-body{display:flex;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}}]}],"hideSidePanel":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":11,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor"}],"openSidePanel":[{"__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:flex;align-content:center;flex-direction:column;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"]}]}],"minWidth":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostBinding","line":17,"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":20,"character":92}]}],"ngOnDestroy":[{"__symbolic":"method"}],"ngOnChanges":[{"__symbolic":"method"}],"ngOnInit":[{"__symbolic":"method"}],"setStyles":[{"__symbolic":"method"}],"getScrollWidth":[{"__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"}],"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:flex;flex-wrap:wrap;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%;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:flex;overflow:hidden;width:469px;height:183px}.sa-icon.sa-success{border-color:#4caf50;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;transform:rotate(-45deg);transform-origin:60px 60px}.sa-icon.sa-success::after{border-radius:0 120px 120px 0;top:-11px;left:30px;transform:rotate(-45deg);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;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;transform:rotate(45deg)}.sa-icon.sa-success .sa-line.sa-long{width:47px;right:8px;top:38px;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;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:flex}.gd-tab{text-align:center;font-size:11px;color:#e5e5e5;height:30px;line-height:30px;cursor:pointer;display:flex;align-items:center;justify-content:center}.gd-tab .icon{display:none;font-size:14px;margin:auto 23px}.gd-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}.gd-tab .title{display:none}.gd-tab .icon{display:block}}"]}]}],"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: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:flex;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:flex;flex-direction:row;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:flex;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:flex;flex-direction:row;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:flex;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:flex;flex-direction:row;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:flex;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:flex;flex-direction:row;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;transition:transform .3s ease-out;width:100%;height:100%;display:flex;justify-content: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":9,"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:flex;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:-34px}}"]}]}],"members":{"formatting":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":15,"character":3}}]}],"textMenu":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":16,"character":3}}]}],"topPosition":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":17,"character":3}}]}],"lock":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":18,"character":3}}]}],"translation":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":19,"character":3}}]}],"menuType":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":20,"character":3}}]}],"changeFormatting":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":21,"character":3}}]}],"removeItem":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":22,"character":3}}]}],"copySign":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":23,"character":3}}]}],"lockOut":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":24,"character":3}}]}],"comment":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":25,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"WindowService"}]}],"ngOnInit":[{"__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":8,"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:flex;flex-direction:row}.gd-text-menu .format-select{height:37px;display:flex;justify-content: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;bottom:0;left:0;right:0;width:100%;height:60px;align-items:center;padding:0;margin:0;background-color:#fff;border-top:2px solid #707070}.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:-200px}.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 .button{margin:3px!important}}"]}]}],"members":{"blur":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":14,"character":3}}]}],"fontSize":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":15,"character":3}}]}],"font":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":16,"character":3}}]}],"bold":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":17,"character":3}}]}],"italic":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":18,"character":3}}]}],"underline":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":19,"character":3}}]}],"color":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":20,"character":3}}]}],"decoration":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":21,"character":3}}]}],"showTooltips":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":22,"character":3}}]}],"outFontSize":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":24,"character":3}}]}],"outFont":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":25,"character":3}}]}],"outBold":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":26,"character":3}}]}],"outItalic":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":27,"character":3}}]}],"outUnderline":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":28,"character":3}}]}],"outColor":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":29,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"OnCloseService"}]}],"ngOnInit":[{"__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":"Directive","line":5,"character":1},"arguments":[{"selector":"[gdEditHeaderFooter]"}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"ZoomService"},{"__symbolic":"reference","name":"WindowService"},{"__symbolic":"reference","module":"@angular/core","name":"ElementRef","line":13,"character":92}]}],"ngAfterViewInit":[{"__symbolic":"method"}],"ngOnDestroy":[{"__symbolic":"method"}],"ngOnChanges":[{"__symbolic":"method"}],"ngOnInit":[{"__symbolic":"method"}],"dblclickEvent":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostListener","line":34,"character":3},"arguments":["dblclick",["$event"]]}]}],"clickEvent":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostListener","line":51,"character":3},"arguments":["click",["$event"]]}]}]}},"ɵb":{"__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:flex}"]}]}],"members":{"__ctor__":[{"__symbolic":"constructor"}]}},"ɵc":{"__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"]}]}]}},"ɵd":{"__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"}]}},"ɵe":{"__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:flex;flex-direction:column;align-items:center;align-content: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:flex;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","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/editheaderfooter.directive","ɵb":"./lib/tabs/tabs.component","ɵc":"./lib/tooltip.directive","ɵd":"./lib/resizing/resizing.component","ɵe":"./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":"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":"ɵa"},{"__symbolic":"reference","name":"TabbedToolbarsComponent"},{"__symbolic":"reference","name":"TabComponent"},{"__symbolic":"reference","name":"ɵb"},{"__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":"ɵc"},{"__symbolic":"reference","name":"HostDynamicDirective"},{"__symbolic":"reference","name":"ɵd"},{"__symbolic":"reference","name":"ɵe"},{"__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":"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":"ɵa"},{"__symbolic":"reference","name":"TabbedToolbarsComponent"},{"__symbolic":"reference","name":"TabComponent"},{"__symbolic":"reference","name":"ɵb"},{"__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":"ɵc"},{"__symbolic":"reference","name":"HostDynamicDirective"},{"__symbolic":"reference","name":"ɵd"},{"__symbolic":"reference","name":"ɵe"},{"__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","EDITOR_APP":"/editor","COMPARISON_APP":"/comparison","CONVERSION_APP":"/conversion","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","ROTATE_DOCUMENT_PAGE":"/rotateDocumentPages","UPLOAD_DOCUMENTS":"/uploadDocument","DOWNLOAD_DOCUMENTS":"/downloadDocument","LOAD_PRINT":"/loadPrint","LOAD_PRINT_PDF":"/printPdf","LOAD_THUMBNAILS":"/loadThumbnails","LOAD_FORMATS":"/loadFormats","SAVE_FILE":"/saveFile","COMPARE_FILES":"/compare","CONVERT_FILE":"/convert","DELETE_SIGNATURE_FILE":"/deleteSignatureFile","SAVE_OPTICAL_CODE":"/saveOpticalCode","SAVE_TEXT":"/saveText","SAVE_IMAGE":"/saveImage","SAVE_STAMP":"/saveStamp","SIGN":"/sign","DOWNLOAD_SIGNED":"/downloadSigned","LOAD_SIGNATURE_IMAGE":"/loadSignatureImage","ANNOTATE":"/annotate","httpOptionsJson":{"headers":{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@angular/common/http","name":"HttpHeaders","line":36,"character":17},"arguments":[{"Content-Type":"application/json","$quoted$":["Content-Type"]}]}},"httpOptionsJsonResponseTypeBlob":{"headers":{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@angular/common/http","name":"HttpHeaders","line":41,"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":48,"character":1}}],"members":{"__ctor__":[{"__symbolic":"constructor"}],"getConfigEndpoint":[{"__symbolic":"method"}],"getViewerApiEndpoint":[{"__symbolic":"method"}],"getEditorApiEndpoint":[{"__symbolic":"method"}],"getComparisonApiEndpoint":[{"__symbolic":"method"}],"getConversionApiEndpoint":[{"__symbolic":"method"}],"getSignatureApiEndpoint":[{"__symbolic":"method"}],"getAnnotationApiEndpoint":[{"__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":{"ngInjectableDef":{}}},"ExceptionMessageService":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor"}],"changeMessage":[{"__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:flex;width:90%;padding:18px 0 18px 24px;font-size:14px;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:flex;width:100%;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: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:flex;position:relative;width:100%}.upload-panel .context{display:flex;flex-direction:column;width:100%;margin-left:24px;margin-top:24px;margin-right:24px}.upload-panel .context .context-actions{display:flex;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;justify-content:center}.upload-panel .context .context-actions ::ng-deep .button ::ng-deep .text{font-size:10px}.upload-panel .context .context-panel{display:flex;flex-direction:row;width:100%;margin-top:20px}.upload-panel .context .context-panel .upload-url{display:flex;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:flex;justify-content:center;align-items:center}.dnd-wrapper{display:flex;flex-direction:column;align-items:center;justify-content:center;top:259px;position:absolute}.dnd-wrapper .text{color:#6e6e6e;font-size:14px}.dnd-wrapper .icon{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:flex;flex-direction:column;align-items:center;align-content: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:flex;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":17,"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{flex:1;transition:.4s;background-color:#e7e7e7;height:100%;overflow:scroll}.page{display:inline-block;background-color:#fff;margin:20px;box-shadow:0 3px 6px rgba(0,0,0,.16);transition:.3s}.page.excel{overflow:auto}.wait{position:absolute;top:55px;left:Calc(30%)}.panzoom{display:flex;flex-direction:row;flex-wrap:wrap;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":24,"character":3}}]}],"preloadPageCount":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":25,"character":3}}]}],"file":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":26,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"ElementRef","module":"@angular/core","arguments":[{"__symbolic":"error","message":"Could not resolve type","line":48,"character":48,"context":{"typeName":"HTMLElement"},"module":"./lib/document/document.component"}]},{"__symbolic":"reference","name":"ZoomService"},{"__symbolic":"reference","name":"WindowService"}]}],"ngOnInit":[{"__symbolic":"method"}],"ngOnChanges":[{"__symbolic":"method"}],"ngAfterViewInit":[{"__symbolic":"method"}],"ifExcel":[{"__symbolic":"method"}],"getDimensionWithUnit":[{"__symbolic":"method"}],"ifEdge":[{"__symbolic":"method"}],"ngAfterViewChecked":[{"__symbolic":"method"}],"absolutePosition":[{"__symbolic":"method"}],"restrictRawPos":[{"__symbolic":"method"}],"updateLastPos":[{"__symbolic":"method"}],"translate":[{"__symbolic":"method"}],"startZoom":[{"__symbolic":"method"}],"rawCenter":[{"__symbolic":"method"}],"updateLastScale":[{"__symbolic":"method"}],"zoomAround":[{"__symbolic":"method"}],"onPinch":[{"__symbolic":"method"}],"onPinchEnd":[{"__symbolic":"method"}],"onPan":[{"__symbolic":"method"}],"onPanEnd":[{"__symbolic":"method"}],"onDoubleTap":[{"__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:inline-flex;flex-direction:column;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:flex}#gd-error-section fa-icon{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:flex;flex-direction:column;justify-content:center;align-items:center;width:100%;height:100%}.icon{font-size:65px;margin-bottom:43px;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:flex;flex-direction:column;width:250px;height:250px;align-items: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:flex;align-items: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%;transform:translate(-50%,-50%);z-index:1051}.gd-modal-content{background-color:#fff;height:100%;display:flex;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%}/deep/ .gd-highlight{background-color:#ff0}/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:468px;height:164px}.gd-password-wrap{display:flex;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;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":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"ElementRef","module":"@angular/core","arguments":[{"__symbolic":"error","message":"Could not resolve type","line":26,"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":49,"character":3},"arguments":["scroll"]}]}],"resizing":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostListener","line":53,"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"}]}},"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;transform:translate(-50%,0);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
{{option.name}}
\r\n
\r\n
\r\n
\r\n
\r\n","styles":[".select{min-width:50px;display:flex;flex-direction:row;justify-content: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}}]}],"isOpen":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":20,"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:0!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:flex;align-items:center}.tools{width:100%;height:100%;display:flex;align-items:center}@media (max-width:1037px){.top-toolbar{height:60px}.tools{height:100%;overflow-x:auto;overflow-scrolling:touch;display:flex;align-items:center;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","styles":[".gd-side-panel-wrapper{margin-right:0;width:334px;z-index:999;background-color:#fff;transition:margin-right .2s;display:flex;flex-flow:column;height:100vh}.gd-side-panel-wrapper .gd-side-panel-header{height:60px;background-color:#222e35;display:flex;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{display:flex;align-items:center}.gd-side-panel-wrapper .gd-side-panel-header /deep/ gd-button .text{padding:0}.gd-side-panel-wrapper .gd-side-panel-body{display:flex;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}}]}],"hideSidePanel":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":11,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor"}],"openSidePanel":[{"__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:flex;align-content:center;flex-direction:column;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"]}]}],"minWidth":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostBinding","line":17,"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":20,"character":92}]}],"ngOnDestroy":[{"__symbolic":"method"}],"ngOnChanges":[{"__symbolic":"method"}],"ngOnInit":[{"__symbolic":"method"}],"setStyles":[{"__symbolic":"method"}],"getScrollWidth":[{"__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"}],"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:flex;flex-wrap:wrap;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%;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:flex;overflow:hidden;width:469px;height:183px}.sa-icon.sa-success{border-color:#4caf50;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;transform:rotate(-45deg);transform-origin:60px 60px}.sa-icon.sa-success::after{border-radius:0 120px 120px 0;top:-11px;left:30px;transform:rotate(-45deg);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;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;transform:rotate(45deg)}.sa-icon.sa-success .sa-line.sa-long{width:47px;right:8px;top:38px;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;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:flex}.gd-tab{text-align:center;font-size:11px;color:#e5e5e5;height:30px;line-height:30px;cursor:pointer;display:flex;align-items:center;justify-content:center}.gd-tab .icon{display:none;font-size:14px;margin:auto 23px}.gd-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}.gd-tab .title{display:none}.gd-tab .icon{display:block}}"]}]}],"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: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:flex;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:flex;flex-direction:row;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:flex;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:flex;flex-direction:row;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:flex;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:flex;flex-direction:row;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:flex;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:flex;flex-direction:row;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;transition:transform .3s ease-out;width:100%;height:100%;display:flex;justify-content: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":9,"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:flex;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:-34px}}"]}]}],"members":{"formatting":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":15,"character":3}}]}],"textMenu":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":16,"character":3}}]}],"topPosition":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":17,"character":3}}]}],"lock":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":18,"character":3}}]}],"translation":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":19,"character":3}}]}],"menuType":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":20,"character":3}}]}],"changeFormatting":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":21,"character":3}}]}],"removeItem":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":22,"character":3}}]}],"copySign":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":23,"character":3}}]}],"lockOut":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":24,"character":3}}]}],"comment":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":25,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"WindowService"}]}],"ngOnInit":[{"__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":8,"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:flex;flex-direction:row}.gd-text-menu .format-select{height:37px;display:flex;justify-content: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;bottom:0;left:0;right:0;width:100%;height:60px;align-items:center;padding:0;margin:0;background-color:#fff;border-top:2px solid #707070}.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:-200px}.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 .button{margin:3px!important}}"]}]}],"members":{"blur":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":14,"character":3}}]}],"fontSize":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":15,"character":3}}]}],"font":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":16,"character":3}}]}],"bold":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":17,"character":3}}]}],"italic":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":18,"character":3}}]}],"underline":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":19,"character":3}}]}],"color":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":20,"character":3}}]}],"decoration":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":21,"character":3}}]}],"showTooltips":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":22,"character":3}}]}],"outFontSize":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":24,"character":3}}]}],"outFont":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":25,"character":3}}]}],"outBold":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":26,"character":3}}]}],"outItalic":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":27,"character":3}}]}],"outUnderline":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":28,"character":3}}]}],"outColor":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":29,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"OnCloseService"}]}],"ngOnInit":[{"__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":"Directive","line":5,"character":1},"arguments":[{"selector":"[gdEditHeaderFooter]"}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"ZoomService"},{"__symbolic":"reference","name":"WindowService"},{"__symbolic":"reference","module":"@angular/core","name":"ElementRef","line":14,"character":92}]}],"ngAfterViewInit":[{"__symbolic":"method"}],"ngOnDestroy":[{"__symbolic":"method"}],"ngOnChanges":[{"__symbolic":"method"}],"ngOnInit":[{"__symbolic":"method"}],"dblclickEvent":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostListener","line":41,"character":3},"arguments":["dblclick",["$event"]]}]}],"clickEvent":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostListener","line":69,"character":3},"arguments":["click",["$event"]]}]}]}},"ɵb":{"__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:flex}"]}]}],"members":{"__ctor__":[{"__symbolic":"constructor"}]}},"ɵc":{"__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"]}]}]}},"ɵd":{"__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"}]}},"ɵe":{"__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:flex;flex-direction:column;align-items:center;align-content: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:flex;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","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/editheaderfooter.directive","ɵb":"./lib/tabs/tabs.component","ɵc":"./lib/tooltip.directive","ɵd":"./lib/resizing/resizing.component","ɵe":"./lib/top-tab/top-tab.component"},"importAs":"@groupdocs.examples.angular/common-components"} \ No newline at end of file diff --git a/dist/libs/common-components/lib/editheaderfooter.directive.d.ts b/dist/libs/common-components/lib/editheaderfooter.directive.d.ts index 0f652a01e..739173cdc 100644 --- a/dist/libs/common-components/lib/editheaderfooter.directive.d.ts +++ b/dist/libs/common-components/lib/editheaderfooter.directive.d.ts @@ -6,6 +6,7 @@ export declare class EditHeaderFooterDirective implements OnInit, OnDestroy, Aft private _windowService; el: ElementRef; footerRef: any; + headerRef: any; constructor(_zoomService: ZoomService, _windowService: WindowService, el: ElementRef); ngAfterViewInit(): void; ngOnDestroy(): void; diff --git a/libs/common-components/src/lib/editheaderfooter.directive.ts b/libs/common-components/src/lib/editheaderfooter.directive.ts index b8ca57dfb..8e529263d 100644 --- a/libs/common-components/src/lib/editheaderfooter.directive.ts +++ b/libs/common-components/src/lib/editheaderfooter.directive.ts @@ -10,12 +10,19 @@ export class EditHeaderFooterDirective implements OnInit, OnDestroy, AfterViewIn el: ElementRef; footerRef: any; + headerRef: any; constructor(private _zoomService: ZoomService, private _windowService: WindowService, el: ElementRef) { this.el = el; } ngAfterViewInit(): void { + this.headerRef = this.el.nativeElement.querySelectorAll('.header')[0]; + if (this.headerRef) { + this.headerRef.setAttribute("contenteditable", false); + this.headerRef.className += " disabled"; + } + this.footerRef = this.el.nativeElement.querySelectorAll('.footer')[0]; if (this.footerRef) { this.footerRef.setAttribute("contenteditable", false); @@ -34,15 +41,26 @@ export class EditHeaderFooterDirective implements OnInit, OnDestroy, AfterViewIn @HostListener('dblclick', ['$event']) dblclickEvent(event) { + const headerTitle = document.createElement("div"); + headerTitle.className = "header-title"; + headerTitle.append('Header'); + const footerTitle = document.createElement("div"); footerTitle.className = "footer-title"; footerTitle.append('Footer'); - const footer = event.target.closest('.footer'); - if (footer && footer.classList.contains('disabled')) { - footer.classList.remove('disabled'); - footer.setAttribute("contenteditable", true); - footer.before(footerTitle); + const closestHeader = event.target.closest('.header'); + if (closestHeader && closestHeader.classList.contains('disabled')) { + closestHeader.classList.remove('disabled'); + closestHeader.setAttribute("contenteditable", true); + closestHeader.after(headerTitle); + } + + const closestFooter = event.target.closest('.footer'); + if (closestFooter && closestFooter.classList.contains('disabled')) { + closestFooter.classList.remove('disabled'); + closestFooter.setAttribute("contenteditable", true); + closestFooter.before(footerTitle); } event.preventDefault(); @@ -51,8 +69,23 @@ export class EditHeaderFooterDirective implements OnInit, OnDestroy, AfterViewIn @HostListener('click', ['$event']) clickEvent(event) { - const footer = event.target.closest('.footer'); - if (!footer) { + const closestHeader = event.target.closest('.header'); + if (!closestHeader) { + this.headerRef.setAttribute("contenteditable", false); + if (!this.headerRef.classList.contains('disabled')) + { + this.headerRef.className += " disabled"; + } + + const section = this.el.nativeElement.querySelectorAll('.section')[0]; + const headerTitle = this.el.nativeElement.querySelectorAll('.header-title')[0]; + if (section && headerTitle) { + section.removeChild(headerTitle); + } + } + + const closestFooter = event.target.closest('.footer'); + if (!closestFooter) { this.footerRef.setAttribute("contenteditable", false); if (!this.footerRef.classList.contains('disabled')) { diff --git a/libs/editor/src/lib/editor-app.component.less b/libs/editor/src/lib/editor-app.component.less index b52e02d2e..4ffd104c6 100644 --- a/libs/editor/src/lib/editor-app.component.less +++ b/libs/editor/src/lib/editor-app.component.less @@ -186,13 +186,13 @@ width: fit-content; } } - .footer { + .header, .footer { &.disabled { cursor: pointer; opacity: 0.5; } } - .footer-title { + .header-title, .footer-title { background-color: @mercury; padding: 2px 8px; margin-bottom: 10px; diff --git a/libs/editor/src/lib/editor-app.component.ts b/libs/editor/src/lib/editor-app.component.ts index 4d90c5ea2..17d5f6b50 100644 --- a/libs/editor/src/lib/editor-app.component.ts +++ b/libs/editor/src/lib/editor-app.component.ts @@ -164,6 +164,8 @@ export class EditorAppComponent implements OnInit, AfterViewInit { this._htmlService.htmlContent.subscribe((text: string) => { if (this.file && this.file.pages) { + text = text.replace('', ""); + text = text.replace('
Header
', ""); this.textBackup = text; } }); @@ -530,18 +532,12 @@ export class EditorAppComponent implements OnInit, AfterViewInit { } getPageWithRootTags(data) { - data = this.RemoveFooterTitle(data); - let resultData = "" + data + ""; resultData = resultData.replace('
', '
'); resultData = resultData.replace('
', '
'); return resultData; } - RemoveFooterTitle(textBackup: string): string { - return this.textBackup.replace('', ""); - } - printFile() { if (this.formatDisabled) return; From ba8eb66e5efa605dcc739f3cf0368d3876ca5417 Mon Sep 17 00:00:00 2001 From: Egor Date: Thu, 19 Nov 2020 00:08:10 +0300 Subject: [PATCH 4/5] Update editable header/footer styles. --- libs/editor/src/lib/editor-app.component.less | 62 ++++--------------- 1 file changed, 13 insertions(+), 49 deletions(-) diff --git a/libs/editor/src/lib/editor-app.component.less b/libs/editor/src/lib/editor-app.component.less index 88d1757fa..1b7f047d4 100644 --- a/libs/editor/src/lib/editor-app.component.less +++ b/libs/editor/src/lib/editor-app.component.less @@ -213,57 +213,21 @@ margin: 0px !important; } - >div { - display : flex; - flex-direction : column; - justify-content: flex-end; - - .footer-1 { - position : absolute; - bottom : 0; - width : calc(100% - 2 * 96px); - display : flex; - justify-content: space-between; - - .Normal { - margin: 0 0 0 auto; - } - - p { - width: fit-content; - } - } - .header, .footer { - &.disabled { - cursor: pointer; - opacity: 0.5; - } - } - .header-title, .footer-title { - background-color: @mercury; - padding: 2px 8px; - margin-bottom: 10px; - border-top: 1px solid @silver; - border-bottom: 1px solid @silver; + .header, + .footer { + &.disabled { + cursor : pointer; + opacity: 0.5; } - .header-0 { - padding-bottom : 10px; - display : flex; - justify-content: space-between; - - .Normal, - .Header { - margin: 0 0 0 auto; - } - - p { - width: fit-content; + } - &:last-of-type { - margin: 0 !important; - } - } - } + .header-title, + .footer-title { + background-color: @mercury; + padding : 2px 8px; + margin-bottom : 10px; + border-top : 1px solid @silver; + border-bottom : 1px solid @silver; } } From aedaeee8822470b59c9737004438c9d72e1e06cb Mon Sep 17 00:00:00 2001 From: Egor Date: Thu, 19 Nov 2020 13:28:15 +0300 Subject: [PATCH 5/5] Remove classes added by directive before save. --- libs/editor/src/lib/editor-app.component.ts | 12 ++++-------- 1 file changed, 4 insertions(+), 8 deletions(-) diff --git a/libs/editor/src/lib/editor-app.component.ts b/libs/editor/src/lib/editor-app.component.ts index 05e0cf141..89bcf9a1f 100644 --- a/libs/editor/src/lib/editor-app.component.ts +++ b/libs/editor/src/lib/editor-app.component.ts @@ -163,14 +163,6 @@ export class EditorAppComponent implements OnInit, AfterViewInit { this._formattingService.formatListChange.subscribe((list: string) => { this.formatting.list = list; }); - - this._htmlService.htmlContent.subscribe((text: string) => { - if (this.file && this.file.pages) { - text = text.replace('', ""); - text = text.replace('
Header
', ""); - this.textBackup = text; - } - }); } ngOnInit() { @@ -618,6 +610,10 @@ export class EditorAppComponent implements OnInit, AfterViewInit { { // for Word files resultData = resultData.replace('
', '
'); + resultData = resultData.replace('
Footer
', ""); + resultData = resultData.replace('
Header
', ""); // for Presentations files resultData = resultData.replace('